{"_id":"@goodrequest/react_grid_layout","_rev":"30-518082587cbc2948378c71c3a15da47c","name":"@goodrequest/react_grid_layout","dist-tags":{"latest":"1.1.17"},"versions":{"1.1.6":{"name":"@goodrequest/react_grid_layout","version":"1.1.6","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.6","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"312e773f244e23876306beda9e0e6f48e732e8f6","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.6.tgz","fileCount":34,"integrity":"sha512-ystBBY3U8l2M+sCsiQP3+QNlbHdxNTbHnLttn0LFRsVu320NO8qwQ8wNu4xeJw96BW9q4nJhW9dqYU1yE2w2TQ==","signatures":[{"sig":"MEQCIBkKr+c5s2VZf/kopHDUHRyajUkJerxCgX8R6xm5o4vhAiAJdDutrZSMLGDppvDuIarSEtAILSX5eBbXFAkYLLA7BA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":727889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpOErCRA9TVsSAnZWagAA0+IP/Riqn6QAYfID9UZR8xGH\nSQneAcjZP8r2/tar+u/pX2g7HkkLywE4uiidpbqJwiPqyRJweomY31iltJUG\nV4nLjXOqmdxl/HeyW5yp67kV1jccA88kMrBhn3SNwL9h4sitCXC+rh5Y4dgm\nbJ+SOK7ND5d7IQXQOnBmtZnrHg/maKCKPu/kL7pBk5VDz8zgEN6K5cyTVIm5\nM0UXeoUyzqK7UR6nxXmIuHrw1WOkeySyLkP7v2RQkvAacPk3dX5y8h2wUUBB\nkG95E/W4SVnsqmZHcbdmkMCxt0/U1lQyc0m/mvvVo4ktfzAvIdqfmjgP47Ww\nYgu3TezkIRlyIlJmR0Q4KSfAwhhEhCOXlALq+39cTOXF29gBRqsX61f/aYzI\no6f+DFcOBxuDZSND5JwJ6SrKTG6jwVHF6WjyO3TJ0tzL8VLECy2zukKDjbT0\nfXEfCPBTo9yWBvz7NRreTGMs6epYp7oESoFiW3aa805TthcG9La4mydyY7fI\ndFrG7jdw+1O2SxPap7CfNgVZiG5gWY2XpdXrWn1L0Txa8jBcmZSWikdWKmL8\nkkOQAYUkvFHquzjYCEtN/OFznwaS/zcMvod7N5T9bfSShxgURBAcB/RbCR3P\nOsX2lrbSmi/OEHwP3jx9BNxErXhiw+tUry/LwBaQXXE3x2ultPVb6GLqM9L8\nIpmM\r\n=k3Ob\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"3ab5ae59ce2501866a40910323cefe330f8563ab","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.6_1621418283296_0.4413284629151861","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"@goodrequest/react_grid_layout","version":"1.1.7","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.7","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"770499647580d3e928031816ad9b89b1c8e8c63a","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.7.tgz","fileCount":34,"integrity":"sha512-zWQitVpwErqpGEVwgcXDJ3dn8OBRoENk2eUisXp/pl6xYxjV7Y4IlvRc5xcfw0bBuGG+vhnKa85zjMurJReDaw==","signatures":[{"sig":"MEQCIAS6p8b1naqvSHb5oGAh49GwGRNMsT+ByqXgBZCA1pycAiBRcc22KEXFUZe8EJpndD3UCESAnUk+Yc9lVJbr7MBovA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":728085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpPpjCRA9TVsSAnZWagAAmZ4P/3IGgHiouONW1QfENrFn\nuEkJt00EfQDvKnTuAP2sMjRtOJ1eiBjhjQkC1UHPewX0szgKz3ckJ4bwcNwD\n5uUsgX80an5mkjwWRz9WQ7ZDygzl0SJLOkCIct2Og2OQL0C0zw8EdeIGc5D8\n0kRBjqQUIDDjV9B3/GOTXlTjfSHVdwPrUW3rI4Csq+f3+kna7kr65NC6/s37\nr861KYRTNOlA5j8w5RPO0UJgrmT1F7mRW6+QXKktaIe9WcfmcRqOmb5tdLSc\nWGqQbsto/e7RJm+l9TJe6v0ZI0Q8cMZDnJv6fqsDCDafbQbLS5cpdIvJd/bA\naWmrUJjzR+T85WaXEpK3ETklXsopMMoq+TTah7kVTYC8VuFUrsbjS6SSJXpK\nN7/gDZMXZcvBl+2BGJRwWEZRZuXA92fM+ztXKcABRD+p/z/fUgIGw2eOPM4y\nPkry49qL44llO+zcbU4uF+svG+WCb+Vr5awgKWcY3YeVJ+zE/6B376Ix1STW\nIhAynjL/vXp0I2AufHqsuyBqhogFq7UShAVOIGnivG63z3qOyQeGyMxeRKVG\nH2KUe/szOLdZD8s1jrXJYrNAR5y2LzR+wVo5kC9YW+sqi7YgYCjotgtNGVic\nlFOHckjSxLOan+2VaAHk0guBHfkUQQ8KZFHX6gEEbB8wiFvNTT7mnTUEnoIV\n4RHM\r\n=Zknz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"c0012d0e21d95b24aaa44ee5f595daa25ed8d10f","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.7_1621424738444_0.1862815822209003","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"@goodrequest/react_grid_layout","version":"1.1.8","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.8","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"fdfdd3a5942b43445698f9381e701d7d13aadf89","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.8.tgz","fileCount":34,"integrity":"sha512-aiI1BIW/eLjJ0Qu9urUPyixB80yKQi0SrLvvitZOm1oXNJAtf4LOVciy0fMqI5shqQyjzIdmLRoT/U5+cuqccQ==","signatures":[{"sig":"MEUCIDbkaPOvA38y5eltNsGPXs0BvxBjdiEHShDlce/09/lcAiEA3eeKgQnjQhwGvPguBi4Cle/QxM8RMPOIEPHpighNiiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":728021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpPyACRA9TVsSAnZWagAAZi4QAIH3wzSdubIFZrWnTlJq\nIJKeR61xZU5qPh+TFx/EsjNLUKbZbhbjK2MJysaPOUeH/5UYz98qt0Z32My9\nL4T0fU3NGV/7lc4TOLAY8YVkJnEv7AhDvHWioxfowXciy77Lh8FUIV7EQ9Yh\nuVPjkaMEP6fEPNYOJfOIw37lGdrzO8JzQaaAaxDv5z8Q853VxMvVhzepZx4R\nyNP0nzJP4NNsT5tLWhkHP6tf5loBnmYZYz6pwGwIuLrmNL7480yZFjyeUT9L\n9/VskQwZdXT/Y1zJG4B5ZBKUGIlmLBgQOofP8re1dPMajs3Kdu51eOdB4ocV\nueyGB/bqWPn7KqanvYbtae27/Og4W3yIoKAM5ozWyit1xCwvBJNIC5LHj4fJ\nQYG0BA8kWEbtpvfto7HWKx1GTh7M/2nvOtrwGEll6fexCxqueFJckgPs3N3a\na6/s1v0Af9F/GT1r9zkU49d1ckpvUBiiWfSx2S3qRveKS4Uu8PjTbFbEwdbe\n1VrEkh3BXksH32FM5nUZZyu2mQ+tUUkDxCg4pyiwST93lqq/jzJtoiSGv59u\n8T1eXKj/9arWkfcdOeKELwr9rtJhTfTFMiHJwnfxK3D7O0x3W2US4uQ9P1FZ\nLlwkTdzW87hrhrMHe5yYhO6VQ3eYJgl0kTk9u85pss6j9gnnDKqWaAdDM6C1\nuMgf\r\n=Hr94\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"f8c0c39e8af77f2141308786206a395d16f541c4","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.8_1621425279599_0.8080057613135225","host":"s3://npm-registry-packages"}},"1.1.9":{"name":"@goodrequest/react_grid_layout","version":"1.1.9","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.9","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"5efc2a3b58ef623c34835c15bb921ac429e7d7a0","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.9.tgz","fileCount":34,"integrity":"sha512-rAUheqh/568ypJ1rBVR8YEHYOsivyxg+IIASmXtwv3dg6j/qoP6O7hO7AYZboUxr7+GGPNiAYaPwNeq6TaIJPA==","signatures":[{"sig":"MEQCIBLms082bX3pUG8SI5iyMVlZdYbS7TcxQ3CrP7ahKy5yAiAvQwO/sm+6KQfSnGEz5KFD8RD8jMHnvB5oBjsllSLHmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":728202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwLMwCRA9TVsSAnZWagAASaAP/32pcZ0Hj0oJFqzTtW3J\ngqOPltSro4DOk5n9xOLkX3Id64f59ZlqtsrmvZ1XADxp1z7mZqy3lNk2qWvQ\n4qSVHhCzuEa1AZF2n8nOsbTZdaOzUeLWBl5ZXNqueT30/YnXrOGjQzPt2fzN\n72O451fVwGoWp0txT1P8UV1tjY1ztezH5MlbWTSbiM958ALrhIZ7MwcuYnl5\nrYxj4wM0nSDz0ysW+rvnjlCm3WHSY0YKguTtHOWPBVkEDW3xrrmfQrO0ec9/\nurzJmeWLWexlhmTOMthDGYskxgmcnVOLVBOJIjOul/SzdI79I/zW5W5NOKeJ\nBroHQr9ELohRX3F1M1GOIsQMoW8lDmBuFeFPU/CNbuyYQxkMwLqAds6Fsi7o\n85zebKi6PJYRDVBBUV0j1DYVrbRj9Pr0cyocOdxQZCpwbtL3yDXIDEQbLyt/\nFKKE+EGEu3LYmuYBKULEYwcPAD4/mM+VBshtJYuNwPnquPp+gpihDYPVEsM7\nhjO3O/lEaLHYNpDSb5VaVoviXeeMI9AzKOLaNOI+GgDv8A8gFxOiYWp4UFsY\n4n1hIaxqp5jDHuY7CQZxQ8P31f8U/qwJEgCZBMtQBIa6jmbDjtds6x9Dyu2d\nuGgvXq/CKyduW3FGHEir3FT34eTwXmnmkzSW6nHjNYZvPRm3wmlqyUESz0g4\nL6cY\r\n=F6Jd\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"18f48ae1d373452660e773a2a23b881651b42d95","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.9_1623241520065_0.6077126307373877","host":"s3://npm-registry-packages"}},"1.1.10":{"name":"@goodrequest/react_grid_layout","version":"1.1.10","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.10","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"b9d5f30ccc50a46a42c7fb455dae4283d62ebc2c","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.10.tgz","fileCount":34,"integrity":"sha512-vq/QiAJo2MaIHEO33c9h4ER6VuNuisW06dsCOkzCDvCccuYMP/IQDh25WnmCPbn9DAIvY7M3u/tg6w3mxw1VTQ==","signatures":[{"sig":"MEYCIQDb3OJ229hCRfGqSsqfuiEq3wRm1Gb1BV3+MiaZBpeYOgIhANjzobBJJA0io6YTgcnuR+DlzIm466RS+xn6Qy0cCVA4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":728902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/lppCRA9TVsSAnZWagAAoh8P/0j75PtnwVK5GQl7P5f+\n0j1x8a7QFQmTifr94gJqPxMaqaGBJPJ9D9sXOqkCJIq3PyiTWicklVPBuA7X\n9xIZH4vBbvrVcic5k1B+tO862evY9W0Div/aOPgT8b1zWmPL7sl04chMsytS\nxtq6+iVMQ81s+4ZcI2NzKzvSfFmxq7PAvjYZuX+IuGIkjLn4XY3vMh9OzCxt\n0cM9eARsRQz2RMB3ojCPSGeUOQgcPjAtBKK/8blS0swq2M70ZKGLOTd2wUQa\nTBTkm/J3pnxxmPO21RqhoCCOve/p6lqWUwRrb3+pU55FbFc2q30qbswJ5Q9h\ng9Ok2WPhIV38lh/8bYMWcYse3r42HTQ6kqqFuKC9Oh/r60xO1oGHdNC3RYdE\n3SFxbvjDl0IcadNx/IB87J6+YpxoZ04qB6BpZaczzYroH0fTMGy8LgLdt7At\n3rwHV5Asabdq0gG63ZB85K8zL6CXgn9JbDb6CPbUDj/wayDHZbJM4OvDqnm9\ncy5VOieZORGYEBiFxIOR8f7J6Y5gppGDzOEy2pVJ+CISCspvfbClGjb4kPpv\nOjpF+3MIlz4XwxM1mt4b208dzOm0m6tmRUPwvNOQrvn511AdXZi0RKtP+2GB\nmf00o3u0VfL92NOku0CyrNAwFEv2oNv7HtkJ/azkZMhqHgs+eEr+qT4K9RWO\nH/UQ\r\n=VOnX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"72af2f6a5524a60407317eebf46a7464bf37f88a","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.10_1627282025711_0.918321592960486","host":"s3://npm-registry-packages"}},"1.1.11":{"name":"@goodrequest/react_grid_layout","version":"1.1.11","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.11","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"e989a93fb9cdfbcff9371cdd1cc6c6f86b62853b","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.11.tgz","fileCount":34,"integrity":"sha512-vRhEpQ2XCkThHHtnu/GrH5RMhlx7zmWE8dRLDHCP8aareUw2sZCKslTHzc9Fhqj19tFwwpbXSKp4u/4cDB+Tjg==","signatures":[{"sig":"MEQCIH+nYajw0BgQhxhGAcv6qUuqelDnWX2WH4Qvv/Xkt4v3AiAiEJ2qDRYxEsDTPIgQLHZ5Z43NnTX28UHiO1myc8SFgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCTiuCRA9TVsSAnZWagAAocEP/3rfA6uCogS0Ov6Eu9PD\nTXFWV3uaw4aOB4tSapRpK3xqm7UeuSUkR7qb0wm9fZt7DkaikT7i2W03ifVA\nqnZbNkVVso2bYge7ZUWh8VfeA855+TMe8saoa3Y6EYIQ3/iYHZN91kmTyCvV\nTPWF3uClfmtw+a8iXM/w75D2ACi++RmCJEZJoOzRnJgwJfDNyUAxw5dmbxpm\nHIOBDvBSYGiN+0TFbz4V7/y4VimV43p84GZav/vDAs51/9zOq+RG6/seFdf8\n50GCDx4fspaP2rHc7EpsN5X1LihOwV+WHabTNcK4vN9qcKWaa0vb59tvkvgG\nIQrf+gO/8DAJFHf34M2X62+XJslwy+O6UUEX77aMXV4HOGYU3b49e8pE/FHR\n7MbRqR2Byc2XKGVJyjIT3vUZ5Ril/Pgbbq8lXkiTvLR+Vf6pPp4gzZZNBE28\ntHxsP4ANe5mgHUgSbb9HVnwaDL9Y1YskEyvFtBvqeHlK3nDQ0R753oVdMl64\nibkJ9Up6rXjeDfTE5kbfCyeMwg/DOQlk0v5+4eP2QVRSMnVkgED6msWn7JfF\n+hlaW96aImH9u9Ha7vbiLGZsqlWVATsJyYggVzoPyc8+FpySn8jmTxmHCHzC\n0KZr1OFwO2HLOldEhC2fI/6onoz+0GZuwXuAqxtS8I/KuTubzeWgKdPkhQs5\n1tA2\r\n=752i\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"c8265ae1f5f3ce2ed7ac6a60f89bcf465af924f4","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.11_1627994286329_0.42093984481790225","host":"s3://npm-registry-packages"}},"1.1.12":{"name":"@goodrequest/react_grid_layout","version":"1.1.12","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.12","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"d43647b48563f626f26b05aab094f2eb70aafc65","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.12.tgz","fileCount":34,"integrity":"sha512-afWbyz3enc1TmnkI4aXhlsW2K/N6nvHaeA8HAO9Ez5bAdyuJ+oIPdpUqDPIWyNbX99xCT1Bzkm+Ve6xntsH0rg==","signatures":[{"sig":"MEUCIDtDbHFutDrK/GDzwXOD4KQ5YStId2AXiOa2DJqTZgaLAiEAqTAr8hUPh7kkfggnN2iopv1DQVIDf42t+wtTsksGnmo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCTnwCRA9TVsSAnZWagAAyBoQAJfqjZZj9o1CBhDHdM9H\nx7V9i7k8iSI0EUrU7tk3gKnhfz9u/Z3Pz3UmKNGZhFXVE7vNy6GaRGouz+W5\n9sc7VflmHciHegCMdRgTmIso8Wojn7vIasQIacDO6ht0wUifMMmaaQSnqbLM\nP91bmkqhC/XuIiWZDO60usRDXoM3FdM8LKrkdZyMpmJ76QA7k4Us8QYQeVJv\nGGZmjGu7oqz/X5sltaEEvnng16SPVXmJ31Wa5RtW5QCA7e18beK272CbK2U6\nvgQBQcoUUtZIWLAc1Uc3zSmdGkJi+EZ8FKrGWGEf6FzMPY/7rzw1BGmC5Q5u\n5rSmJ7IF//8pzPYJT9Kdj0gCDYpXqEBhWdubOfGzDYwrIST47iNmX/M6zZmg\nl0PJdSPvSumjamagyEMKWjuQ2wNkkNLoOOUzUjQGFqdNEIEFuUyB2BERbqvr\ngedz3GWiW/q8WO/hhyz+ZLqfBR0NULwYtzf0YcH9RurRBJl2pPCnyQkTU/S/\n4hNi8G8E7+0T3cqngBdn/HI2+1RWsSQyCVKI6xkCPYrF01etdCAPrsX+mujO\n1CZOFNxQ885zX0yO1MaKzhf+HKYktM8Xe/6zxUkvOne+wrJ1x+865l2kk9Tl\nJ079MKAfLdycD0kb1OeyIOzd4hkz7UZh19U6/v2kAIy6ugg54AgMvCxnc/pU\n0de5\r\n=qs2G\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"30ec32f4f56e7c4dc88bf4b0f4d8a66ac93fb99d","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.12_1627994608006_0.3530639749133333","host":"s3://npm-registry-packages"}},"1.1.13":{"name":"@goodrequest/react_grid_layout","version":"1.1.13","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.13","maintainers":[{"name":"goodrequest","email":"login@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"51c664667461619edc24f7be68191725245757e4","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.13.tgz","fileCount":34,"integrity":"sha512-3eAoW/K6eS23ERC52IuhG1ZmiBYJWUO+SX17YHvftnQHdVoiN2dbMVvHr04X06uh4VxCwAMR9qrrECWxEjy6ew==","signatures":[{"sig":"MEUCIQD1UlU8NdyEcyVOchH1ZmitsAJCMkfH7jvhtPLiCXm63gIgG4CGmW+j+0E+2yViHRPXAk3MxT/myy9/Izjev4AB5go=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCUW6CRA9TVsSAnZWagAAZdcQAJptpJrFrQbtgyeFMAz8\nMivu6ygnNrjJo7/rrAkfJWXGLf5dApZwu1Q1StCpa+UDJh3SqZ4PNxPR+H8k\njlXxGJEUIFs+k4yikvMEW23/y9hrHdVuwo1fsLeZqQ/4+g0db0zzj8hiVbLG\nSNoFQ+3qA3Cl7oWDNsskYMFqFJAD1sJ1NDpg5RI541rMkRV/R7+22dglTrGc\nLTrEFKK44xDascWCmR4Oa4q8hjU5blcAAv3Cfkf06TnjgWncQhzHNkgmm9ds\npEGp9Q/xZEo7Hu34ytgZ8bPHnc3OXvYn2gtiLvzMH6tPsgSe8s9Gz8puLGYO\nKBq0cG7mpF08YtGpX9F2WkTUdz40wuBZ0b6dBV9Jlgl0WDjNb71iMPHJQima\nQfwcmDTbXk5R7D/KLq0c3s4/WIvqj2sQgeB8/SsrnAtmpOOBcILrS5F3uwRY\nAcyCOMhyi3tsKyAUZVzw6xXn2ON5Y1L9Oah2rFqW+kSdlco4u+oR1u3ptS3Q\niYmTAyUdd80ym4Ddy1QSacMyTINvifI7SbBy1vFWAHiic+y44UTQk7YymIh2\nh8Yf1aIo8VmyNVzz5bsd5LVKO0TRM3CD0AWdf57Q77/DXLkbm4w6k6qV1yR9\neCVwCGCOZLW/jsVmzvi0BV2sIsjED+4+EUzmN+JZQBPptMW5fsZ2/Ck4BAvD\nFVd2\r\n=h/aA\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"4ce7cea3d70d78b03d3d91215f389fe8362903c9","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"goodrequest","email":"login@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.13_1627997626750_0.48209590586407636","host":"s3://npm-registry-packages"}},"1.1.14":{"name":"@goodrequest/react_grid_layout","version":"1.1.14","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.14","maintainers":[{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},{"name":"logingoodrequest","email":"login@goodrequest.com"},{"name":"martin.durny","email":"martin.durny@goodrequest.com"},{"name":"richardsolar","email":"richard.solar@goodrequest.com"},{"name":"lubomirigonda","email":"lubomir.igonda@goodrequest.com"},{"name":"miroslavafilcakova","email":"miroslava.filcakova@goodrequest.com"},{"name":"peterreguli","email":"peter.reguli@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"3c81be8b9c4954080e5d5e1d72b2259d51c405e8","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.14.tgz","fileCount":34,"integrity":"sha512-vCCrEkfWuTiR18Ack9KZqhjixPKxbKzO3wdrCHhzRb6XdDaoDdn3xsG5nwJcdoOcN13vq0LFLU4SUpive+O74Q==","signatures":[{"sig":"MEQCIE6QVq+WAXvc1c5UGcAEAH5+XM03LMyc7ol7T/NJnkV9AiA+Pe/Z8KRD65Z6u8G+kUYq8O5pPgtExuumqL/6jNM2lA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730837},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"c5243b23e519e48ca08d885402ecb39f8fa3d1dc","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"15.0.0","lodash.isequal":"4.0.0","react-draggable":"4.0.0","react-resizable":"3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"3.1.6","jest":"26.6.3","husky":"6.0.0","react":"16.13.1","enzyme":"3.11.0","eslint":"7.26.0","lodash":"4.17.21","opener":"1.5.2","timsort":"0.3.0","webpack":"5.36.2","flow-bin":"0.150.1","prettier":"2.3.0","react-dom":"16.13.1","@babel/cli":"7.13.16","babel-jest":"26.6.3","css-loader":"5.2.4","@babel/core":"7.14.0","lint-staged":"11.0.0","webpack-cli":"4.7.0","babel-eslint":"10.1.0","babel-loader":"8.2.2","style-loader":"2.0.0","enzyme-to-json":"3.6.2","exports-loader":"2.0.0","imports-loader":"2.0.0","@babel/register":"7.13.16","react-hot-loader":"4.13.0","@babel/preset-env":"7.14.1","@babel/preset-flow":"7.13.13","@webpack-cli/serve":"1.4.0","webpack-dev-server":"3.11.2","@babel/preset-react":"7.13.13","babel-plugin-preval":"5.0.0","eslint-plugin-mocha":"8.1.0","eslint-plugin-react":"7.23.2","react-transform-hmr":"1.0.2","eslint-plugin-flowtype":"5.7.2","enzyme-adapter-react-16":"1.15.6","@babel/plugin-transform-flow-comments":"7.12.13","@babel/plugin-proposal-class-properties":"7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.14_1632818789728_0.1459541284234953","host":"s3://npm-registry-packages"}},"1.1.15":{"name":"@goodrequest/react_grid_layout","version":"1.1.15","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.15","maintainers":[{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},{"name":"logingoodrequest","email":"login@goodrequest.com"},{"name":"martin.durny","email":"martin.durny@goodrequest.com"},{"name":"richardsolar","email":"richard.solar@goodrequest.com"},{"name":"lubomirigonda","email":"lubomir.igonda@goodrequest.com"},{"name":"miroslavafilcakova","email":"miroslava.filcakova@goodrequest.com"},{"name":"peterreguli","email":"peter.reguli@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"65c493ec32b51149b17b9dd13005c7715f591282","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.15.tgz","fileCount":34,"integrity":"sha512-vpNYf8ZiDIBiDI/FYTCcFGEVhZdR2aIuAWtU9qJavpmRzJ0CDM3ZGG917UJk4nWv7ugHVJGK9oOzghz3Liu80Q==","signatures":[{"sig":"MEUCIQDlfKNiEJBYZRSX7xuB21ePn3jFUw4tV8RlG4YDXgQrxwIgHWwr6Xs/XZti+ML6/dAGhWcbMeetp3clAbSAgZKVSJ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730881},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"2840f1ab6b64f875b386d4d09f66da17992c291b","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"classnames":"2.3.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^26.6.3","husky":"^6.0.0","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.26.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.36.2","flow-bin":"^0.150.1","prettier":"^2.3.0","react-dom":"^16.13.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","css-loader":"^5.2.4","@babel/core":"^7.14.0","lint-staged":"^11.0.0","webpack-cli":"^4.7.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","enzyme-to-json":"^3.6.2","exports-loader":"^2.0.0","imports-loader":"^2.0.0","@babel/register":"^7.13.16","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.14.1","@babel/preset-flow":"^7.13.13","@webpack-cli/serve":"^1.4.0","webpack-dev-server":"^3.11.2","@babel/preset-react":"^7.13.13","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^8.1.0","eslint-plugin-react":"^7.23.2","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.7.2","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.12.13","@babel/plugin-proposal-class-properties":"^7.13.0"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.15_1632820914343_0.8583340690431807","host":"s3://npm-registry-packages"}},"1.1.16":{"name":"@goodrequest/react_grid_layout","version":"1.1.16","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.16","maintainers":[{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},{"name":"logingoodrequest","email":"login@goodrequest.com"},{"name":"martin.durny","email":"martin.durny@goodrequest.com"},{"name":"richardsolar","email":"richard.solar@goodrequest.com"},{"name":"lubomirigonda","email":"lubomir.igonda@goodrequest.com"},{"name":"miroslavafilcakova","email":"miroslava.filcakova@goodrequest.com"},{"name":"peterreguli","email":"peter.reguli@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"011de09e3b84086c218f6638bf79e947168e1414","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.16.tgz","fileCount":33,"integrity":"sha512-WDJpJDPxyQWYUq5HTjP5eeAwHoD9HQJjtIQXMBWj5ZDvHMM//fPE8RTqDv3m50PTZS1gt5ISRt3dbAFUg+zMPg==","signatures":[{"sig":"MEUCIQCTLPYKpgR6S2qq0ULMvtK5ZjzT5cnHIlciE6wZftBa9gIgN4dCXwBAyPN2MGshixaxKHZ/s9Et7JEJnk5QSYK6kr8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":744004},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"3747a5c0f3a1a32c3d21816177aa10a4a8ccc177","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"clsx":"^1.1.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^27.0.6","husky":"^7.0.2","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.32.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.51.1","flow-bin":"^0.158.0","prettier":"^2.3.2","react-dom":"^16.13.1","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","css-loader":"^6.2.0","@babel/core":"^7.15.0","lint-staged":"^11.1.2","webpack-cli":"^4.8.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^3.2.1","enzyme-to-json":"^3.6.2","exports-loader":"^3.0.0","imports-loader":"^3.0.0","@babel/register":"^7.15.3","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.15.0","@babel/preset-flow":"^7.14.5","@webpack-cli/serve":"^1.5.2","webpack-dev-server":"^4.0.0","@babel/preset-react":"^7.14.5","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^9.0.0","eslint-plugin-react":"^7.24.0","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.9.0","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.16_1633677787112_0.7708902796213524","host":"s3://npm-registry-packages"}},"1.1.17":{"name":"@goodrequest/react_grid_layout","version":"1.1.17","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","_id":"@goodrequest/react_grid_layout@1.1.17","maintainers":[{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},{"name":"logingoodrequest","email":"login@goodrequest.com"},{"name":"martin.durny","email":"martin.durny@goodrequest.com"},{"name":"richardsolar","email":"richard.solar@goodrequest.com"},{"name":"lubomirigonda","email":"lubomir.igonda@goodrequest.com"},{"name":"miroslavafilcakova","email":"miroslava.filcakova@goodrequest.com"},{"name":"peterreguli","email":"peter.reguli@goodrequest.com"}],"homepage":"https://github.com/STRML/react-grid-layout","bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"dist":{"shasum":"8d985d476b030edb00a23bcfe606d118e7790f69","tarball":"https://registry.npmjs.org/@goodrequest/react_grid_layout/-/react_grid_layout-1.1.17.tgz","fileCount":33,"integrity":"sha512-yJR1bFL6a1dYI6E6fLx1PcLz0vf7tTWPeSHUIszSqKt0rwYQZgO43kLCdEejNsB8ha4LAuO6nMnNo1guKfo1TQ==","signatures":[{"sig":"MEUCIQDjQtbTgCVEfINsCwZ0OZfjW4Cs2NkvpiB40hBqEapuSAIgbpUWPtDLGxO27bmkhLtahQYWHqrpDGzqtMbsDTjj8T4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":743784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2JMdCRA9TVsSAnZWagAAOlMQAIc8ikA/7bRadirlWQGA\njPMRA+qc/Qvd9eeTPleB1EUg3PlWZds6/nW8asY1zaX7j6K8Xksf72VF82Re\nw83/eZNNHVDFA58b8ZmCuBDEwj/MFQe6bzYNnFV3+NlgAl2Bzi+yxvpwMCvB\ng65PxlsjJlf+Hu2R4Co8ZEs5e1KZ2RUIovNgGom1Yi4N7WZI/dS4NP7rTGxu\nKqzrHH3NLAXkbKfm7ws5Xenwven2ci2oDeeByaXWGjiqTZ5v3OEYWc+6Zkru\ng8A+bm9E5bGODTKwfDuENyFTVm5yRtZE0gBBdWEUOojj8imFgRLTUwmpqkj7\najJVJ4KY7AEcnj1/xCuIjhX3VIKNtzb902RKRH1HBg4bnWPtPyza/+APF35s\ndZ/aETCP6PF0x4A7O3+yXNJfv8bFv5/g+b9TY1MPtWqMYkM17EiGSq6Y2WGP\nxAgEjj1m7/3PuiZpTzlzRJYIr/YDy6rpu+KjOfExTiMfFn5cZjf5uXLf8M6R\nmcrisgisfhh3hV23v4lLGoUzCqa5nSnRUkvNZD7WFdiqXUliUuKzkTBFMR1m\noP+2l/fSnay6dbvglADnBYNJL23/m7Xuf+w4XBsLpYXz3rjAN2GGKHp0anuT\ngkjc0sj3sLKNt5P93GEPhxt1aRqS2BeiFYITTH9brYuFhMlXfEaNpo2O0+qg\n2CR5\r\n=ZGUi\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testURL":"http://localhost","testMatch":["<rootDir>/test/spec/*.js"],"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>test/util/setupTests.js"],"snapshotSerializers":["enzyme-to-json/serializer"]},"main":"index.js","gitHead":"946b18d0f2c8d47b1747e12446cd4b62252259f4","scripts":{"dev":"make dev","flow":"flow","lint":"make lint","test":"make test","build":"make build","validate":"npm ls","view-example":"make view-example","build-example":"make build-example","prepublishOnly":"make build"},"_npmUser":{"name":"roman_haluska","email":"roman.haluska@goodrequest.com"},"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"_npmVersion":"6.14.11","description":"A draggable and resizable grid layout with responsive breakpoints, for React.","directories":{},"lint-staged":{"*.{js,jsx,css}":["prettier --write"]},"_nodeVersion":"14.16.0","dependencies":{"clsx":"^1.1.1","prop-types":"^15.0.0","lodash.isequal":"^4.0.0","react-draggable":"^4.0.0","react-resizable":"^3.0.4"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ejs":"^3.1.6","jest":"^27.0.6","husky":"^7.0.2","react":"^16.13.1","enzyme":"^3.11.0","eslint":"^7.32.0","lodash":"^4.17.21","opener":"^1.5.2","timsort":"^0.3.0","webpack":"^5.51.1","flow-bin":"^0.158.0","prettier":"^2.3.2","react-dom":"^16.13.1","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","css-loader":"^6.2.0","@babel/core":"^7.15.0","lint-staged":"^11.1.2","webpack-cli":"^4.8.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","style-loader":"^3.2.1","enzyme-to-json":"^3.6.2","exports-loader":"^3.0.0","imports-loader":"^3.0.0","@babel/register":"^7.15.3","react-hot-loader":"^4.13.0","@babel/preset-env":"^7.15.0","@babel/preset-flow":"^7.14.5","@webpack-cli/serve":"^1.5.2","webpack-dev-server":"^4.0.0","@babel/preset-react":"^7.14.5","babel-plugin-preval":"^5.0.0","eslint-plugin-mocha":"^9.0.0","eslint-plugin-react":"^7.24.0","react-transform-hmr":"^1.0.2","eslint-plugin-flowtype":"^5.9.0","enzyme-adapter-react-16":"^1.15.6","@babel/plugin-transform-flow-comments":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5"},"peerDependencies":{"react":">= 16.3.0","react-dom":">= 16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react_grid_layout_1.1.17_1633684211206_0.9072826894738142","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-05-19T09:58:03.294Z","modified":"2026-03-23T11:18:01.699Z","1.1.6":"2021-05-19T09:58:03.478Z","1.1.7":"2021-05-19T11:45:38.679Z","1.1.8":"2021-05-19T11:54:39.817Z","1.1.9":"2021-06-09T12:25:20.237Z","1.1.10":"2021-07-26T06:47:05.925Z","1.1.11":"2021-08-03T12:38:06.510Z","1.1.12":"2021-08-03T12:43:28.206Z","1.1.13":"2021-08-03T13:33:46.944Z","1.1.14":"2021-09-28T08:46:29.946Z","1.1.15":"2021-09-28T09:21:54.527Z","1.1.16":"2021-10-08T07:23:07.397Z","1.1.17":"2021-10-08T09:10:11.378Z"},"bugs":{"url":"https://github.com/STRML/react-grid-layout/issues"},"author":{"url":"http://strml.net/","name":"Samuel Reed","email":"samuel.trace.reed@gmail.com"},"license":"MIT","homepage":"https://github.com/STRML/react-grid-layout","keywords":["react","grid","drag","draggable","resize","resizable","fluid","responsive"],"repository":{"url":"git+ssh://git@github.com/RomanHalushka/react-grid-layout.git","type":"git"},"description":"A draggable and resizable grid layout with responsive breakpoints, for React.","maintainers":[{"email":"login@goodrequest.com","name":"logingoodrequest"}],"readme":"# React-Grid-Layout\n\n[![travis build](https://travis-ci.org/STRML/react-grid-layout.svg?branch=master)](https://travis-ci.org/STRML/react-grid-layout)\n[![CDNJS](https://img.shields.io/cdnjs/v/react-grid-layout.svg)](https://cdnjs.com/libraries/react-grid-layout)\n[![npm package](https://img.shields.io/npm/v/react-grid-layout.svg?style=flat-square)](https://www.npmjs.org/package/react-grid-layout)\n[![npm downloads](https://img.shields.io/npm/dt/react-grid-layout.svg?maxAge=2592000)]()\n\nReact-Grid-Layout is a grid layout system much like [Packery](http://packery.metafizzy.co/) or\n[Gridster](http://dsmorse.github.io/gridster.js/), for React.\n\nUnlike those systems, it is responsive and supports breakpoints. Breakpoint layouts can be provided by the user\nor autogenerated.\n\nRGL is React-only and does not require jQuery.\n\n![BitMEX UI](http://i.imgur.com/oo1NT6c.gif)\n> GIF from production usage on [BitMEX.com](https://www.bitmex.com)\n\n[**[Demo](https://react-grid-layout.github.io/react-grid-layout/) | [Changelog](/CHANGELOG.md) | [CodeSandbox Editable demo](https://codesandbox.io/s/5wy3rz5z1x?module=%2Fsrc%2FShowcaseLayout.js)**]\n\n## Table of Contents\n\n- [Demos](#demos)\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Responsive Usage](#responsive-usage)\n- [Providing Grid Width](#providing-grid-width)\n- [Grid Layout Props](#grid-layout-props)\n- [Responsive Grid Layout Props](#responsive-grid-layout-props)\n- [Grid Item Props](#grid-item-props)\n- [User Recipes](../../wiki/Users-recipes)\n- [Performance](#performance)\n- [Contribute](#contribute)\n- [TODO List](#todo-list)\n\n## Demos\n\n1. [Showcase](https://react-grid-layout.github.io/react-grid-layout/examples/0-showcase.html)\n1. [Basic](https://react-grid-layout.github.io/react-grid-layout/examples/1-basic.html)\n1. [No Dragging/Resizing (Layout Only)](https://react-grid-layout.github.io/react-grid-layout/examples/2-no-dragging.html)\n1. [Messy Layout Autocorrect](https://react-grid-layout.github.io/react-grid-layout/examples/3-messy.html)\n1. [Layout Defined on Children](https://react-grid-layout.github.io/react-grid-layout/examples/4-grid-property.html)\n1. [Static Elements](https://react-grid-layout.github.io/react-grid-layout/examples/5-static-elements.html)\n1. [Adding/Removing Elements](https://react-grid-layout.github.io/react-grid-layout/examples/6-dynamic-add-remove.html)\n1. [Saving Layout to LocalStorage](https://react-grid-layout.github.io/react-grid-layout/examples/7-localstorage.html)\n1. [Saving a Responsive Layout to LocalStorage](https://react-grid-layout.github.io/react-grid-layout/examples/8-localstorage-responsive.html)\n1. [Minimum and Maximum Width/Height](https://react-grid-layout.github.io/react-grid-layout/examples/9-min-max-wh.html)\n1. [Dynamic Minimum and Maximum Width/Height](https://react-grid-layout.github.io/react-grid-layout/examples/10-dynamic-min-max-wh.html)\n1. [No Vertical Compacting (Free Movement)](https://react-grid-layout.github.io/react-grid-layout/examples/11-no-vertical-compact.html)\n1. [Prevent Collision](https://react-grid-layout.github.io/react-grid-layout/examples/12-prevent-collision.html)\n1. [Error Case](https://react-grid-layout.github.io/react-grid-layout/examples/13-error-case.html)\n1. [Toolbox](https://react-grid-layout.github.io/react-grid-layout/examples/14-toolbox.html)\n1. [Drag From Outside](https://react-grid-layout.github.io/react-grid-layout/examples/15-drag-from-outside.html)\n1. [Bounded Layout](https://react-grid-layout.github.io/react-grid-layout/examples/16-bounded.html)\n1. [Resizable Handles](https://react-grid-layout.github.io/react-grid-layout/examples/17-resizable-handles.html)\n1. [Scaled Containers](https://react-grid-layout.github.io/react-grid-layout/examples/18-scale.html)\n1. [Allow Overlap](https://react-grid-layout.github.io/react-grid-layout/examples/19-allow-overlap.html)\n\n#### Projects Using React-Grid-Layout\n\n- [BitMEX](https://www.bitmex.com/)\n- [AWS CloudFront Dashboards](https://aws.amazon.com/blogs/aws/cloudwatch-dashboards-create-use-customized-metrics-views/)\n- [Grafana](https://grafana.com/)\n- [Metabase](http://www.metabase.com/)\n- [HubSpot](http://www.hubspot.com)\n- [ComNetViz](http://www.grotto-networking.com/ComNetViz/ComNetViz.html)\n- [Stoplight](https://app.stoplight.io)\n- [Reflect](https://reflect.io)\n- [ez-Dashing](https://github.com/ylacaute/ez-Dashing)\n- [Kibana](https://www.elastic.co/products/kibana)\n- [Graphext](https://graphext.com/)\n- [Monday](https://support.monday.com/hc/en-us/articles/360002187819-What-are-the-Dashboards-)\n- [Quadency](https://quadency.com/)\n- [Hakkiri](https://www.hakkiri.io)\n- [Ubidots](https://help.ubidots.com/en/articles/2400308-create-dashboards-and-widgets)\n- [Statsout](https://statsout.com/)\n- [Datto RMM](https://www.datto.com/uk/products/rmm/)\n\n*Know of others? Create a PR to let me know!*\n\n## Features\n\n* 100% React - no jQuery\n* Compatible with server-rendered apps\n* Draggable widgets\n* Resizable widgets\n* Static widgets\n* Configurable packing: horizontal, vertical, or off\n* Bounds checking for dragging and resizing\n* Widgets may be added or removed without rebuilding grid\n* Layout can be serialized and restored\n* Responsive breakpoints\n* Separate layouts per responsive breakpoint\n* Grid Items placed using CSS Transforms\n  * Performance with CSS Transforms: [on](http://i.imgur.com/FTogpLp.jpg) / [off](http://i.imgur.com/gOveMm8.jpg), note paint (green) as % of time\n* Compatibility with `<React.StrictMode>`\n\n|Version         | Compatibility    |\n|----------------|------------------|\n| >= 0.17.0      | React 16 & 17    |\n| >= 0.11.3      | React 0.14 & 15  |\n| >= 0.10.0      | React 0.14       |\n| 0.8. - 0.9.2   | React 0.13       |\n| < 0.8          | React 0.12       |\n\n## Installation\n\nInstall the React-Grid-Layout [package](https://www.npmjs.org/package/react-grid-layout) package using [npm](https://www.npmjs.com/):\n\n```bash\nnpm install react-grid-layout\n```\n\nInclude the following stylesheets in your application:\n\n```\n/node_modules/react-grid-layout/css/styles.css\n/node_modules/react-resizable/css/styles.css\n```\n\n## Usage\n\nUse ReactGridLayout like any other component. The following example below will\nproduce a grid with three items where:\n\n- users will not be able to drag or resize item `a`\n- item `b` will be restricted to a minimum width of 2 grid blocks and a maximum width of 4 grid blocks\n- users will be able to freely drag and resize item `c`\n\n```js\nimport GridLayout from 'react-grid-layout';\n\nclass MyFirstGrid extends React.Component {\n  render() {\n    // layout is an array of objects, see the demo for more complete usage\n    const layout = [\n      {i: 'a', x: 0, y: 0, w: 1, h: 2, static: true},\n      {i: 'b', x: 1, y: 0, w: 3, h: 2, minW: 2, maxW: 4},\n      {i: 'c', x: 4, y: 0, w: 1, h: 2}\n    ];\n    return (\n      <GridLayout className=\"layout\" layout={layout} cols={12} rowHeight={30} width={1200}>\n        <div key=\"a\">a</div>\n        <div key=\"b\">b</div>\n        <div key=\"c\">c</div>\n      </GridLayout>\n    )\n  }\n}\n```\n\nYou may also choose to set layout properties directly on the children:\n\n```js\nimport GridLayout from 'react-grid-layout';\n\nclass MyFirstGrid extends React.Component {\n  render() {\n    return (\n      <GridLayout className=\"layout\" cols={12} rowHeight={30} width={1200}>\n        <div key=\"a\" data-grid={{x: 0, y: 0, w: 1, h: 2, static: true}}>a</div>\n        <div key=\"b\" data-grid={{x: 1, y: 0, w: 3, h: 2, minW: 2, maxW: 4}}>b</div>\n        <div key=\"c\" data-grid={{x: 4, y: 0, w: 1, h: 2}}>c</div>\n      </GridLayout>\n    )\n  }\n}\n```\n\n### Usage without Browserify/Webpack\n\nA module usable in a `<script>` tag is included [here](/dist/react-grid-layout.min.js). It uses a UMD shim and\nexcludes `React`, so it must be otherwise available in your application, either via RequireJS or on `window.React`.\n\n### Responsive Usage\n\nTo make RGL responsive, use the `<ResponsiveReactGridLayout>` element:\n\n```js\nimport { Responsive as ResponsiveGridLayout } from 'react-grid-layout';\n\nclass MyResponsiveGrid extends React.Component {\n  render() {\n    // {lg: layout1, md: layout2, ...}\n    const layouts = getLayoutsFromSomewhere();\n    return (\n      <ResponsiveGridLayout className=\"layout\" layouts={layouts}\n        breakpoints={{lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0}}\n        cols={{lg: 12, md: 10, sm: 6, xs: 4, xxs: 2}}>\n        <div key=\"1\">1</div>\n        <div key=\"2\">2</div>\n        <div key=\"3\">3</div>\n      </ResponsiveGridLayout>\n    )\n  }\n}\n```\n\nWhen in responsive mode, you should supply at least one breakpoint via the `layouts` property.\n\nWhen using `layouts`, it is best to supply as many breakpoints as possible, especially the largest one.\nIf the largest is provided, RGL will attempt to interpolate the rest.\n\nYou will also need to provide a `width`, when using `<ResponsiveReactGridLayout>` it is suggested you use the HOC\n`WidthProvider` as per the instructions below.\n\nIt is possible to supply default mappings via the `data-grid` property on individual\nitems, so that they would be taken into account within layout interpolation.\n\n### Providing Grid Width\n\nBoth `<ResponsiveReactGridLayout>` and `<ReactGridLayout>` take `width` to calculate\npositions on drag events. In simple cases a HOC `WidthProvider` can be used to automatically determine\nwidth upon initialization and window resize events.\n\n```js\nimport { Responsive, WidthProvider } from 'react-grid-layout';\n\nconst ResponsiveGridLayout = WidthProvider(Responsive);\n\nclass MyResponsiveGrid extends React.Component {\n  render() {\n    // {lg: layout1, md: layout2, ...}\n    var layouts = getLayoutsFromSomewhere();\n    return (\n      <ResponsiveGridLayout className=\"layout\" layouts={layouts}\n        breakpoints={{lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0}}\n        cols={{lg: 12, md: 10, sm: 6, xs: 4, xxs: 2}}>\n        <div key=\"1\">1</div>\n        <div key=\"2\">2</div>\n        <div key=\"3\">3</div>\n      </ResponsiveGridLayout>\n    )\n  }\n}\n```\n\nThis allows you to easily replace `WidthProvider` with your own Provider HOC if you need more sophisticated logic.\n\n`WidthProvider` accepts a single prop, `measureBeforeMount`. If `true`, `WidthProvider` will measure the\ncontainer's width before mounting children. Use this if you'd like to completely eliminate any resizing animation\non application/component mount.\n\nHave a more complicated layout? `WidthProvider` [is very simple](/lib/components/WidthProvider.jsx) and only\nlistens to window `'resize'` events. If you need more power and flexibility, try the\n[SizeMe React HOC](https://github.com/ctrlplusb/react-sizeme) as an alternative to WidthProvider.\n\n### Grid Layout Props\n\nRGL supports the following properties (see the source for the final word on this):\n\n```js\n//\n// Basic props\n//\n\n// This allows setting the initial width on the server side.\n// This is required unless using the HOC <WidthProvider> or similar\nwidth: number,\n\n// If true, the container height swells and contracts to fit contents\nautoSize: ?boolean = true,\n\n// Number of columns in this layout.\ncols: ?number = 12,\n\n// A CSS selector for tags that will not be draggable.\n// For example: draggableCancel:'.MyNonDraggableAreaClassName'\n// If you forget the leading . it will not work.\n// .react-resizable-handle\" is always prepended to this value.\ndraggableCancel: ?string = '',\n\n// A CSS selector for tags that will act as the draggable handle.\n// For example: draggableHandle:'.MyDragHandleClassName'\n// If you forget the leading . it will not work.\ndraggableHandle: ?string = '',\n\n// Compaction type.\ncompactType: ?('vertical' | 'horizontal') = 'vertical';\n\n// Layout is an array of object with the format:\n// {x: number, y: number, w: number, h: number}\n// The index into the layout must match the key used on each item component.\n// If you choose to use custom keys, you can specify that key in the layout\n// array objects like so:\n// {i: string, x: number, y: number, w: number, h: number}\nlayout: ?array = null, // If not provided, use data-grid props on children\n\n// Margin between items [x, y] in px.\nmargin: ?[number, number] = [10, 10],\n\n// Padding inside the container [x, y] in px\ncontainerPadding: ?[number, number] = margin,\n\n// Rows have a static height, but you can change this based on breakpoints\n// if you like.\nrowHeight: ?number = 150,\n\n// Configuration of a dropping element. Dropping element is a \"virtual\" element\n// which appears when you drag over some element from outside.\n// It can be changed by passing specific parameters:\n//  i - id of an element\n//  w - width of an element\n//  h - height of an element\ndroppingItem?: { i: string, w: number, h: number }\n\n//\n// Flags\n//\nisDraggable: ?boolean = true,\nisResizable: ?boolean = true,\nisBounded: ?boolean = false,\n// Uses CSS3 translate() instead of position top/left.\n// This makes about 6x faster paint performance\nuseCSSTransforms: ?boolean = true,\n// If parent DOM node of ResponsiveReactGridLayout or ReactGridLayout has \"transform: scale(n)\" css property,\n// we should set scale coefficient to avoid render artefacts while dragging.\ntransformScale: ?number = 1,\n\n// If true, grid can be placed one over the other.\nallowOverlap: ?boolean = false,\n\n// If true, grid items won't change position when being\n// dragged over.\npreventCollision: ?boolean = false,\n\n// If true, droppable elements (with `draggable={true}` attribute)\n// can be dropped on the grid. It triggers \"onDrop\" callback\n// with position and event object as parameters.\n// It can be useful for dropping an element in a specific position\n//\n// NOTE: In case of using Firefox you should add\n// `onDragStart={e => e.dataTransfer.setData('text/plain', '')}` attribute\n// along with `draggable={true}` otherwise this feature will work incorrect.\n// onDragStart attribute is required for Firefox for a dragging initialization\n// @see https://bugzilla.mozilla.org/show_bug.cgi?id=568313\nisDroppable: ?boolean = false,\n// Defines which resize handles should be rendered\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nresizeHandles: ?Array<'s' | 'w' | 'e' | 'n' | 'sw' | 'nw' | 'se' | 'ne'> = ['se'],\n// Custom component for resize handles\n// See `handle` as used in https://github.com/react-grid-layout/react-resizable#resize-handle\n// Your component should have the class `.react-resizable-handle`, or you should add your custom\n// class to the `draggableCancel` prop.\nresizeHandle?: ReactElement<any> | ((resizeHandleAxis: ResizeHandleAxis, ref: ReactRef<HTMLElement>) => ReactElement<any>),\n\n//\n// Callbacks\n//\n\n// Callback so you can save the layout.\n// Calls back with (currentLayout) after every drag or resize stop.\nonLayoutChange: (layout: Layout) => void,\n\n//\n// All callbacks below have signature (layout, oldItem, newItem, placeholder, e, element).\n// 'start' and 'stop' callbacks pass `undefined` for 'placeholder'.\n//\ntype ItemCallback = (layout: Layout, oldItem: LayoutItem, newItem: LayoutItem,\n                     placeholder: LayoutItem, e: MouseEvent, element: HTMLElement) => void,\n\n// Calls when drag starts.\nonDragStart: ItemCallback,\n// Calls on each drag movement.\nonDrag: ItemCallback,\n// Calls when drag is complete.\nonDragStop: ItemCallback,\n// Calls when resize starts.\nonResizeStart: ItemCallback,\n// Calls when resize movement happens.\nonResize: ItemCallback,\n// Calls when resize is complete.\nonResizeStop: ItemCallback,\n\n//\n// Dropover functionality\n//\n\n// Calls when an element has been dropped into the grid from outside.\nonDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n// Calls when an element is being dragged over the grid from outside as above.\n// This callback should return an object to dynamically change the droppingItem size\n// Return false to short-circuit the dragover\nonDropDragOver: (e: DragOverEvent) => ?({|w?: number, h?: number|} | false),\n\n// Ref for getting a reference for the grid's wrapping div.\n// You can use this instead of a regular ref and the deprecated `ReactDOM.findDOMNode()`` function.\ninnerRef: ?React.Ref<\"div\">,\n```\n\n### Responsive Grid Layout Props\n\nThe responsive grid layout can be used instead. It supports all of the props above, excepting `layout`.\nThe new properties and changes are:\n\n```js\n// {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n// Breakpoint names are arbitrary but must match in the cols and layouts objects.\nbreakpoints: ?Object = {lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0},\n\n// # of cols. This is a breakpoint -> cols map, e.g. {lg: 12, md: 10, ...}\ncols: ?Object = {lg: 12, md: 10, sm: 6, xs: 4, xxs: 2},\n\n\n// margin (in pixels). Can be specified either as horizontal and vertical margin, e.g. `[10, 10]` or as a breakpoint -> margin map, e.g. `{lg: [10, 10], md: [10, 10], ...}.\nmargin: [number, number] | {[breakpoint: $Keys<breakpoints>]: [number, number]},\n\n\n// containerPadding (in pixels). Can be specified either as horizontal and vertical padding, e.g. `[10, 10]` or as a breakpoint -> containerPadding map, e.g. `{lg: [10, 10], md: [10, 10], ...}.\ncontainerPadding: [number, number] | {[breakpoint: $Keys<breakpoints>]: [number, number]},\n\n\n// layouts is an object mapping breakpoints to layouts.\n// e.g. {lg: Layout, md: Layout, ...}\nlayouts: {[key: $Keys<breakpoints>]: Layout},\n\n//\n// Callbacks\n//\n\n// Calls back with breakpoint and new # cols\nonBreakpointChange: (newBreakpoint: string, newCols: number) => void,\n\n// Callback so you can save the layout.\n// AllLayouts are keyed by breakpoint.\nonLayoutChange: (currentLayout: Layout, allLayouts: {[key: $Keys<breakpoints>]: Layout}) => void,\n\n// Callback when the width changes, so you can modify the layout as needed.\nonWidthChange: (containerWidth: number, margin: [number, number], cols: number, containerPadding: [number, number]) => void;\n\n```\n\n### Grid Item Props\n\nRGL supports the following properties on grid items or layout items. When initializing a grid,\nbuild a layout array (as in the first example above), or attach this object as the `data-grid` property\nto each of your child elements (as in the second example).\n\nNote that if a grid item is provided but incomplete (missing one of `x, y, w, or h`), an error\nwill be thrown so you can correct your layout.\n\nIf no properties are provided for a grid item, one will be generated with a width and height of `1`.\n\nYou can set minimums and maximums for each dimension. This is for resizing; it of course has no effect if resizing\nis disabled. Errors will be thrown if your mins and maxes overlap incorrectly, or your initial dimensions\nare out of range.\n\nAny `<GridItem>` properties defined directly will take precedence over globally-set options. For\nexample, if the layout has the property `isDraggable: false`, but the grid item has the prop `isDraggable: true`, the item\nwill be draggable, even if the item is marked `static: true`.\n\n```js\n{\n\n  // A string corresponding to the component key\n  i: string,\n\n  // These are all in grid units, not pixels\n  x: number,\n  y: number,\n  w: number,\n  h: number,\n  minW: ?number = 0,\n  maxW: ?number = Infinity,\n  minH: ?number = 0,\n  maxH: ?number = Infinity,\n\n  // If true, equal to `isDraggable: false, isResizable: false`.\n  static: ?boolean = false,\n  // If false, will not be draggable. Overrides `static`.\n  isDraggable: ?boolean = true,\n  // If false, will not be resizable. Overrides `static`.\n  isResizable: ?boolean = true,\n  // By default, a handle is only shown on the bottom-right (southeast) corner.\n  // Note that resizing from the top or left is generally not intuitive.\n  resizeHandles?: ?Array<'s' | 'w' | 'e' | 'n' | 'sw' | 'nw' | 'se' | 'ne'> = ['se']\n  // If true and draggable, item will be moved only within grid.\n  isBounded: ?boolean = false\n}\n```\n\n### Performance\n\n`<ReactGridLayout>` has [an optimized `shouldComponentUpdate` implementation](lib/ReactGridLayout.jsx), but it relies on the user memoizing the `children` array:\n\n\n```js\n// lib/ReactGridLayout.jsx\n// ...\nshouldComponentUpdate(nextProps: Props, nextState: State) {\n  return (\n    // NOTE: this is almost always unequal. Therefore the only way to get better performance\n    // from SCU is if the user intentionally memoizes children. If they do, and they can\n    // handle changes properly, performance will increase.\n    this.props.children !== nextProps.children ||\n    !fastRGLPropsEqual(this.props, nextProps, isEqual) ||\n    !isEqual(this.state.activeDrag, nextState.activeDrag)\n  );\n}\n// ...\n```\n\nIf you memoize your children, you can take advantage of this, and reap faster rerenders. For example:\n\n```js\nfunction MyGrid(props) {\n  const children = React.useMemo(() => {\n    return new Array(props.count).fill(undefined).map((val, idx) => {\n      return <div key={idx} data-grid={{x: idx, y: 1, w: 1, h: 1}} />;\n    });\n  }, [props.count]);\n  return <ReactGridLayout cols={12}>{children}</ReactGridLayout>;\n}\n```\n\nBecause the `children` prop doesn't change between rerenders, updates to `<MyGrid>` won't result in new renders, improving performance.\n\n### Custom Child Components and Draggable Handles\n\nIf you use React Components as grid children, they need to do a few things:\n\n1. Forward refs to an underlying DOM node, and\n2. Forward `style` and `className` to that same DOM node.\n\nFor example:\n\n```js\nconst CustomGridItemComponent = React.forwardRef(({style, className, ...props}, ref) => {\n  return (\n    <div style={{ /* styles */, ...style}} className={className} ref={ref}>\n      {/* Some other content */}\n    </div>  \n  );\n}\n```\n\nThe same is true of custom elements as draggable handles using the `draggableHandle` prop. This is so that\nthe underlying `react-draggable` library can get a reference to the DOM node underneath, manipulate\npositioning via `style`, and set classes.\n\n## Contribute\n\nIf you have a feature request, please add it as an issue or make a pull request.\n\nIf you have a bug to report, please reproduce the bug in [CodeSandbox](https://codesandbox.io/s/staging-bush-3lvt7?file=/src/ShowcaseLayout.js) to help\nus easily isolate it.\n\n## TODO List\n\n- [x] Basic grid layout\n- [x] Fluid grid layout\n- [x] Grid packing\n- [x] Draggable grid items\n- [x] Live grid packing while dragging\n- [x] Resizable grid items\n- [x] Layouts per responsive breakpoint\n- [x] Define grid attributes on children themselves (`data-grid` key)\n- [x] Static elements\n- [x] Persistent id per item for predictable localstorage restores, even when # items changes\n- [x] Min/max w/h per item\n- [x] Resizable handles on other corners\n- [ ] Configurable w/h per breakpoint\n","readmeFilename":"README.md"}