{"_id":"@01e9/react-page-layout","_rev":"5-3ed810e0e8cf5cb5d2786d804e0ef095","name":"@01e9/react-page-layout","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@01e9/react-page-layout","version":"1.0.0","description":"Layout system for react","author":{"name":"Jose R Villalon Soler"},"contributors":[{"name":"Oleg Artene"}],"main":"lib/index.js","module":"es/index.js","types":"es/index.d.ts","repository":{"url":"git+ssh://git@github.com/01e9/react-page-layout.git","type":"git"},"scripts":{"clean":"rm -rf es/ lib/","build":"npm run clean && npm run build:es && npm run build:lib","build:es":"NODE_ENV=production tsc","build:lib":"NODE_ENV=production npm run build:es -- --module commonjs --outDir lib","prepack":"npm run build"},"license":"MIT","dependencies":{"lodash.isarray":"^4.0.0","lodash.isplainobject":"^4.0.6"},"peerDependencies":{"react":"^16","react-dom":"^16"},"devDependencies":{"@types/lodash.isarray":"^4.0.6","@types/lodash.isplainobject":"^4.0.6","@types/node":"^13.9.8","@types/react":"^16.9.31","@typescript-eslint/eslint-plugin":"^2.26.0","@typescript-eslint/parser":"^2.26.0","eslint":"^6.8.0","eslint-config-airbnb-typescript":"^7.2.0","eslint-import-resolver-typescript":"^2.0.0","eslint-plugin-import":"^2.20.2","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.19.0","eslint-plugin-react-hooks":"^3.0.0","react":"^16.13.1","react-dom":"^16.13.1","typescript":"^3.8.3"},"gitHead":"54c9571eb59998e3793db08bbbcfab54c739228f","bugs":{"url":"https://github.com/01e9/react-page-layout/issues"},"homepage":"https://github.com/01e9/react-page-layout#readme","_id":"@01e9/react-page-layout@1.0.0","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-B/RrVerF+R38yXpaoERsFOuH8FECnWthpbLeyqLMcxbp1MjqNPB0w0iQsEX5dUb5cShuh921LRSVryXDcu0QqA==","shasum":"ce7522dfde7022c1d8e2233a35450ae399729104","tarball":"https://registry.npmjs.org/@01e9/react-page-layout/-/react-page-layout-1.0.0.tgz","fileCount":28,"unpackedSize":112325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehStXCRA9TVsSAnZWagAA0ZUP/3hAWfDdjMzn8gcbBSIm\n8rQqLyqlWv4a5HceCm3PDh8x2QyRNcANstqyHVqJ3whBJ8KxN8w075gAUdxl\nNC2BA5heuduNbeGfrNsIxFNZUU1OF00rbBxceg+q0LWoiJV084Qf9myzUxCw\nJ1FMKZ7ij2lpNMIylTNBlUaFLZzJ4+Ejh5vyM7I4wJSTCOR/NtHr7Qvj7jCW\nqyTsBJ9YAjPivyYlh/Ugz05Nb1Ep7tbz4ZECk/zJ/xAtSyG0S1gHPA7czAdJ\n67mTRjZyxqhQOVB6pjM3pB8v/Kav3Ijoqtqaw1cYL8Gtr1Bg+acBfJnbKt3t\nXhaYjEJairIerR8c/l9WWxOB0ooms5zV+/iFShGbGgFMWVPUeLRiKDBQ9QXH\nhhwBS+sJ7S2Yoa2sOOp5mx58Wfg7KCaE/i81ga42qn+jKzYtgG6nNz3WTcN4\nRSDigGqhqTP0ZLRaSmmO8OUTbIEk0p2BHRCTy6RbgxWPxkIlLP8u1zfNAHrt\n8NZIVB8/TxCbqXsLHM7J0b1kvhlH34tUJNE2Nl5Dc6HinFlyMR1sOhDTKqOl\n1qNeKaWtxPuR3TrAevH3Nfx7saxCqUeBiOexhf9GvSs+pp2Ei/J5ck52wM+G\npYVX6OiMlfJt4gm/m9GdyqmC0C458YxR2nIKD9zpoF84Y7Ky1ndEkIrSWr7N\nHwBd\r\n=C8wq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6ATI04A1sUyAmqnDpNBvpYeuZEu3qMT64U9H8xvGI+wIhAMSDTUB5AVhz1c2o73KAPdr6tVzPcWGtox/qVJxd9fjs"}]},"maintainers":[{"name":"01e9","email":"hi@01eg.art"}],"_npmUser":{"name":"01e9","email":"hi@01eg.art"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-page-layout_1.0.0_1585785686578_0.7213512515827518"},"_hasShrinkwrap":false},"1.0.1":{"name":"@01e9/react-page-layout","version":"1.0.1","description":"Layout system for react","author":{"name":"Jose R Villalon Soler"},"contributors":[{"name":"Oleg Artene"}],"main":"lib/index.js","module":"es/index.js","types":"es/index.d.ts","repository":{"url":"git+ssh://git@github.com/01e9/react-page-layout.git","type":"git"},"scripts":{"clean":"rm -rf es/ lib/","build":"npm run clean && npm run build:es && npm run build:lib","build:es":"NODE_ENV=production tsc","build:lib":"NODE_ENV=production npm run build:es -- --module commonjs --outDir lib","prepack":"npm run build"},"license":"MIT","dependencies":{"lodash.isarray":"^4.0.0","lodash.isplainobject":"^4.0.6"},"peerDependencies":{"react":"^16","react-dom":"^16"},"devDependencies":{"@types/lodash.isarray":"^4.0.6","@types/lodash.isplainobject":"^4.0.6","@types/node":"^13.9.8","@types/react":"^16.9.31","@typescript-eslint/eslint-plugin":"^2.26.0","@typescript-eslint/parser":"^2.26.0","eslint":"^6.8.0","eslint-config-airbnb-typescript":"^7.2.0","eslint-import-resolver-typescript":"^2.0.0","eslint-plugin-import":"^2.20.2","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.19.0","eslint-plugin-react-hooks":"^3.0.0","react":"^16.13.1","react-dom":"^16.13.1","typescript":"^3.8.3"},"gitHead":"3ef118ff726ac8bf1586cbd289ec46cf390543d0","bugs":{"url":"https://github.com/01e9/react-page-layout/issues"},"homepage":"https://github.com/01e9/react-page-layout#readme","_id":"@01e9/react-page-layout@1.0.1","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-WSA21t6oKrRRY7QYmlwVJnF8i57pQSlmQVQpYa0kmLcIKTt5gFpnNbktlo6kUxoqqwfKauZNSZgZwCTfrfeZ8g==","shasum":"dbd0fc0cfc8bf191673dca8eb125d08cc5cf5b99","tarball":"https://registry.npmjs.org/@01e9/react-page-layout/-/react-page-layout-1.0.1.tgz","fileCount":28,"unpackedSize":112340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehS+jCRA9TVsSAnZWagAADNgP/iTgxrEveuhNgPQ45b7A\nCOWn1mCeO89Fc49uOAlVkW1Fd/lvKffIA4oTaVPkxxz1Sj6NDkCFAkwno18m\njTJSo7qPEqmLuc+wQ0epzNxbe4veE3lsidVh8wpsDlC9BQF6M7WeYdF/lv3Z\n/rTWEfS5beEdIyzxeUj31D3cbWV1SQcaTI9JgRXLOLfsSpRhHMR8XytyWmHy\npN/k0T/APvF7hYVWHslljCk3I9ZRlRpNZVLqCCz31HH+EGRQOfpsNMqN3p/w\nefdHOYtHmmI93XLeCngkNdd8nhconnYvfz1vZUAN6Ki24ybvxr+OkXF0wUsV\nU0ukLO/5eehxr3FsAaQ+FoVLAUt5/LcYLA+GcDojdKS5u5rw7A4ZwTghQU8q\nP1F2RfhsCTTVfB+GXZXRgRieJu2toQySYFjID/6eX5qBa0oabtQCmXz4Bjkz\nGi1NkFQDXB8R0ZCbK6IzqmRW2ID7+Diaso1ghmD/R19CH01i9Ta76rO8fWCd\nN5pMJTtYLou6IxSQ1cWhJ6syqoYZGP9tKI2GP+qyNdOkEJCfKEA+LK/uS6XZ\n4yI8TA5oelRbxx2rHU294a/uwSK1Mp646fEcCt/PXM6EuN8tEOLzg9+jIUUV\nGFVroZKtLuGXuFX2Cfr7BdKmUO1/I40yZ9HI7a5mf6WkmGkp5QlTBVWOHL+l\nofIt\r\n=oFlh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDk4qwZX7eVadk18GtVonGiN5lEcHYG7rWjIHhBg6g5DQIgZN8GTN0O/euXp1EuNhQuI85JyKAWzQjxn4o4Hz1iRns="}]},"maintainers":[{"name":"01e9","email":"hi@01eg.art"}],"_npmUser":{"name":"01e9","email":"hi@01eg.art"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-page-layout_1.0.1_1585786787248_0.24397437614323692"},"_hasShrinkwrap":false},"1.0.2":{"name":"@01e9/react-page-layout","version":"1.0.2","description":"Layout system for react","author":{"name":"Jose R Villalon Soler"},"contributors":[{"name":"Oleg Artene"}],"main":"lib/index.js","module":"es/index.js","types":"es/index.d.ts","repository":{"url":"git+ssh://git@github.com/01e9/react-page-layout.git","type":"git"},"scripts":{"clean":"rm -rf es/ lib/","build":"npm run clean && npm run build:es && npm run build:lib","build:es":"NODE_ENV=production tsc","build:lib":"NODE_ENV=production npm run build:es -- --module commonjs --outDir lib","prepack":"npm run build"},"license":"MIT","dependencies":{"lodash.isarray":"^4.0.0","lodash.isplainobject":"^4.0.6"},"peerDependencies":{"react":"^16","react-dom":"^16"},"devDependencies":{"@types/lodash.isarray":"^4.0.6","@types/lodash.isplainobject":"^4.0.6","@types/node":"^13.9.8","@types/react":"^16.9.31","@typescript-eslint/eslint-plugin":"^2.26.0","@typescript-eslint/parser":"^2.26.0","eslint":"^6.8.0","eslint-config-airbnb-typescript":"^7.2.0","eslint-import-resolver-typescript":"^2.0.0","eslint-plugin-import":"^2.20.2","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.19.0","eslint-plugin-react-hooks":"^3.0.0","react":"^16.13.1","react-dom":"^16.13.1","typescript":"^3.8.3"},"gitHead":"b75fcdd35acdb000c5275ffd59e1a26ea1f031e5","bugs":{"url":"https://github.com/01e9/react-page-layout/issues"},"homepage":"https://github.com/01e9/react-page-layout#readme","_id":"@01e9/react-page-layout@1.0.2","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-7mVISwn/Urk8pgCDmAkP1B36RrgYIUiLGE9DlY10pS5KnNmSGzROYzxDtgeU+S5hALOjxpd+3BQvnya3mGrxnA==","shasum":"497a20d4b80b78079d25487f7edaca6fe892102e","tarball":"https://registry.npmjs.org/@01e9/react-page-layout/-/react-page-layout-1.0.2.tgz","fileCount":28,"unpackedSize":113834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehzpnCRA9TVsSAnZWagAAB30P/At5wtT78DsemkB8Urg1\nabVG7ArIX/wE72Xa8lPYx626NARh03yhAmCI2k5kGX2h5XxNxawOwi0WgN1Z\nrtOQxQ6qocCCg+R7szoKzoV7bb3LvbUNyojksSEKW1oPjFqGXn/sH1F3GdW4\ngmJRAEZAaUps78OX7plPfxflpyrvc639jf753gw5YB29nD6AoJPPNM96gI+T\nSMdaIydqw2y2YThihnviVI5/xUUzT9vmZC6ERxtrIxyLk+fopJTRw56/OfTu\n6sLQ0/Lgf62PIf8dQUltfs/wAyT+2fUuhNX1qEc1a+sIGRyV4Khj1hqseiN4\nlql1AVSY4APTmShls6kdQTQSpds+Zq977n2nB9SIJhijkS2EYcWKbvyFI2en\neFPRyPSt6yubagxO3BbLtnDWc82VhIJeqttvnpoHNWzZed/2eLHOEiqvloxv\nHBOdr7T/w7vZbxhanAQ5c4o7/sh8zVn2QVAnlzSz24QM0I9HtGvb3DMZCj89\n6F0LF32l3rTrsdwdKodkKlRSBR1eRRkWdd6gpviYSKERbPb826KBA/OEAGbe\nWieB/sZjDeUUtp1Y8Av+7F/KitTQkphAZxhP91YJA+89eowaK9ZH1IMubvQc\n8NjeJRW0Z9FcMoo3+WMdBgNvJY5RuadGTUqn6XgougvPxANfZD4F+SwBLhCh\nMHnr\r\n=yr5t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAum2CLckzBsGWyOCALbUd9vuufmO4YYUlbwMkxBlvPxAiAMdnj8qKPxZx/j4dvxylk0LpI89BbbkZ7Ah4NC2+ykzQ=="}]},"maintainers":[{"name":"01e9","email":"hi@01eg.art"}],"_npmUser":{"name":"01e9","email":"hi@01eg.art"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-page-layout_1.0.2_1585920615194_0.6218807098892942"},"_hasShrinkwrap":false},"1.0.3":{"name":"@01e9/react-page-layout","version":"1.0.3","description":"Layout system for react","author":{"name":"Jose R Villalon Soler"},"contributors":[{"name":"Oleg Artene"}],"main":"lib/index.js","module":"es/index.js","types":"es/index.d.ts","repository":{"url":"git+ssh://git@github.com/01e9/react-page-layout.git","type":"git"},"scripts":{"clean":"rm -rf es/ lib/","build":"npm run clean && npm run build:es && npm run build:lib","build:es":"NODE_ENV=production tsc","build:lib":"NODE_ENV=production npm run build:es -- --module commonjs --outDir lib","prepack":"npm run build"},"license":"MIT","dependencies":{"lodash.isplainobject":"^4.0.6"},"peerDependencies":{"react":"^16","react-dom":"^16"},"devDependencies":{"@types/lodash.isplainobject":"^4.0.6","@types/node":"^13.9.8","@types/react":"^16.9.31","@typescript-eslint/eslint-plugin":"^2.26.0","@typescript-eslint/parser":"^2.26.0","eslint":"^6.8.0","eslint-config-airbnb-typescript":"^7.2.0","eslint-import-resolver-typescript":"^2.0.0","eslint-plugin-import":"^2.20.2","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.19.0","eslint-plugin-react-hooks":"^3.0.0","react":"^16.13.1","react-dom":"^16.13.1","typescript":"^3.8.3"},"gitHead":"debc24944e0e46af0ff336d4bc0e089465758faa","bugs":{"url":"https://github.com/01e9/react-page-layout/issues"},"homepage":"https://github.com/01e9/react-page-layout#readme","_id":"@01e9/react-page-layout@1.0.3","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-KKTAdsayO5hIxrUl7DlMgDpYZJrKd0f032437bai6p/lolHOorUVQE0HRcAgg74IwxU9bjepZPZscoyTyPHEZw==","shasum":"6b218cf3e264f40f197db3f90ac2c478d9a63a76","tarball":"https://registry.npmjs.org/@01e9/react-page-layout/-/react-page-layout-1.0.3.tgz","fileCount":28,"unpackedSize":113094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehzzeCRA9TVsSAnZWagAALSUP/28AjkIOtLCZ4lqEmq97\nwwXgbDeczyVTebByJrs+xz4dlDKsmdDvtX4lOqX4KUa8D2qpnArXl6gv2Uoh\nlD0xcB5PXjWTTkXaY36l5s40fgO2KXLALGsyR/P78Cz6cMYVxEYhFi5RwbYn\nq39Fq2DyZtM7oqVaUxh2XoxgYTAdqrf+PrzrhvygW4QeKuQvbVQ6uI+HAJhc\nbyURXrPDEECnP6NrVqmtfVooc/CRnzMlYfaT36af35DxZQCcZZoLS1e9wdGl\nrjru+miVY2Q5MJJXE0NQeXvH+AFarP7Imz1h3qksfeU6bICU8Y4yQuTFbRYG\n6iHBlFW1NTkOgsgfn2pnUqRpmvczFcNpkSM+qVXZa9A/wD18PkEU+i4t3pKu\nT/bZNJFcw/+FPq4aPa3IoRwBIGt8H/R1zJrEw2TrkGq0+BwmMxNQiWqDxrfB\nR23nJN/TcI/erGGeZta6WuFCRhQ4oWn9bAHrq+7BUN20k9SUOs+jLHsi7m5z\n+8JxWKw7eSbuMghlo69QI04eLlKuMrjhQuqk/lDJLnJC8v2fbqHN6IoxrgKA\nCYsGIHsEsUImAqxy4ozXoFkXdG1eC4Ep7/lCR9yDr35IY1FlWNNpuLVBtp2x\nRSKDfWE21CB8AalBjq7kN+zTJYc7QPnIuR6zw4j34IsziErkDI8Xw734iAlj\nIVZP\r\n=hEd8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr2ThkIzwaKX+7CGvcWLXbzF4YHuwJBGnXu+FgnQpWNAIgYcmETlrGvSF92arZcmpXcaOkC/7gUTAdnjZ+sGCi6QY="}]},"maintainers":[{"name":"01e9","email":"hi@01eg.art"}],"_npmUser":{"name":"01e9","email":"hi@01eg.art"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-page-layout_1.0.3_1585921246287_0.5772841675565987"},"_hasShrinkwrap":false},"1.0.4":{"name":"@01e9/react-page-layout","version":"1.0.4","description":"Layout system for react","author":{"name":"Jose R Villalon Soler"},"contributors":[{"name":"Oleg Artene"}],"main":"lib/index.js","module":"es/index.js","types":"es/index.d.ts","repository":{"url":"git+ssh://git@github.com/01e9/react-page-layout.git","type":"git"},"scripts":{"clean":"rm -rf es/ lib/","build":"npm run clean && npm run build:es && npm run build:lib","build:es":"NODE_ENV=production tsc","build:lib":"NODE_ENV=production npm run build:es -- --module commonjs --outDir lib","prepack":"npm run build"},"license":"MIT","dependencies":{"lodash.isplainobject":"^4.0.6"},"peerDependencies":{"react":"^16","react-dom":"^16"},"devDependencies":{"@types/lodash.isplainobject":"^4.0.6","@types/node":"^13.9.8","@types/react":"^16.9.31","@typescript-eslint/eslint-plugin":"^2.26.0","@typescript-eslint/parser":"^2.26.0","eslint":"^6.8.0","eslint-config-airbnb-typescript":"^7.2.0","eslint-import-resolver-typescript":"^2.0.0","eslint-plugin-import":"^2.20.2","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.19.0","eslint-plugin-react-hooks":"^3.0.0","react":"^16.13.1","react-dom":"^16.13.1","typescript":"^3.8.3"},"gitHead":"440d08dfc8f6adc89aedff3802b2ff9af2caf5e7","bugs":{"url":"https://github.com/01e9/react-page-layout/issues"},"homepage":"https://github.com/01e9/react-page-layout#readme","_id":"@01e9/react-page-layout@1.0.4","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Q08768N0tGZWgN5Dmh643ygCOv1Lyp8Zsq9MIkFfRn2RWSA0CoR8WYMNnQHBQeLleFVMBynJRcCXb8N+c3EhJw==","shasum":"15ae1e326036133f4571894772adecc0853776e3","tarball":"https://registry.npmjs.org/@01e9/react-page-layout/-/react-page-layout-1.0.4.tgz","fileCount":28,"unpackedSize":113128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh0PmCRA9TVsSAnZWagAA2dUP/0I+aG6AdhNno31ubpZG\nrVsIQq30JHoqE28u+gO1q3PbjS7tC6fxihwjco4UPmpzg0htck5Mu0bRHQYy\nrf3296e9w3tf4V1Jsv4RRUi7vRjsoUeMtMW07iEnN9/6JyCejsXdh0+8oHcD\nKCpCXQyFlxM0y0OrMJj7GvrnFN46WuPkeE3ahGG5mTbTYbryofqCeAvCkkM6\nsSxncsUe/sSrCsHs2jQSVFv52RYbMd9mFWrBbXAjNjDSY+FIA5i1Jw7QmMvA\nX8uqWkvUK7eRDy+7qnvcJBM0lWLWyJWam2S3aOgdhJlxHz6e/eYnILaAkP3g\nhiM94dXqgTPrw+dS0Cg7NnPzS3tBsvcjEzoNG/TnvdOd5x7/QP7BgKVnvHii\n7RN/uquewebSUQrLzvAAMJYrRkE6O1kuYjHViFIwtbkFOO++vLjtjoarn8nO\nb80FeVJhp6yRCD6KmJ/GSE7p9BwtXfeu6jPofdYSAzIJeSI8X+5lBW67UntR\nMWHPqOlhKF6EYLonrpO45c86y3Q8z8wCC3pkvC2XF0ajpjlvZrBXDLPJqy3u\nHl5RaL5OsjOpv4V6M4iHrwkpXkCO5vbU9Ei2u6V2+1XzecfvO0UBt2ASMkTg\nWR9/UCTrwdFDW48QBuwXeueXIX+qJU7QsQBDsv3fF+RZNaTHA94iH/EHgJuH\nCu8P\r\n=TA5D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwQjRHVgGABvOvUl3sgIRV+58JLvllA5nsCXAEpMGzUAiEAzBgCOtaNj9+5NGspSAYUAy1dxkvW0YWphp8TVYgUFmI="}]},"maintainers":[{"name":"01e9","email":"hi@01eg.art"}],"_npmUser":{"name":"01e9","email":"hi@01eg.art"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-page-layout_1.0.4_1585923046193_0.823693776945098"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-02T00:01:26.335Z","1.0.0":"2020-04-02T00:01:26.719Z","modified":"2022-04-04T10:25:44.048Z","1.0.1":"2020-04-02T00:19:47.414Z","1.0.2":"2020-04-03T13:30:15.406Z","1.0.3":"2020-04-03T13:40:46.383Z","1.0.4":"2020-04-03T14:10:46.369Z"},"maintainers":[{"name":"01e9","email":"hi@01eg.art"}],"description":"Layout system for react","homepage":"https://github.com/01e9/react-page-layout#readme","repository":{"url":"git+ssh://git@github.com/01e9/react-page-layout.git","type":"git"},"contributors":[{"name":"Oleg Artene"}],"author":{"name":"Jose R Villalon Soler"},"bugs":{"url":"https://github.com/01e9/react-page-layout/issues"},"license":"MIT","readme":"[![Stable Release](https://img.shields.io/npm/v/@01e9/react-page-layout.svg)](https://npm.im/@01e9/react-page-layout)\n[![license](https://badgen.now.sh/badge/license/MIT)](./LICENSE)\n\n## About\n\nThis library allows you to share a common layout across many different components.\nVery useful with something like [react-router](https://github.com/ReactTraining/react-router) to abstract the main elements of your design across many routes and reducing code duplication.\n\n## Installation\n\n```\nnpm install @01e9/react-page-layout --save\n```\n\nor if you use yarn\n\n```\nyarn add @01e9/react-page-layout\n```\n\n## Preview\n\n![Preview](https://raw.githubusercontent.com/01e9/react-page-layout/master/example.gif)\n\n## Example\n\nThere is an example in this repo under the examples directory.\nTo run in clone the repo. Go to the *examples* directory\nand run `npm install; npm start`\n\n## Overview\n\nThis library allows for you to concentrate all your layout logic into its own components.\nIt allows you to create a layout that can have serveral **&lt;Slots&gt;**  where you can inject content.\n\nA layout aware component can use the **&lt;Page&gt;** \nand **&lt;Section&gt;** to fill out the slots.\n\n## Setup\n\n1. First Step is that you have to create a layout component, this is a regular react component that has several **slots**   where content can be injected. You define one or more slots by using the **&lt;Slot&gt;** component and giving them a name. In this case *\"main\"*\n\n\t```js\n\timport React, { Component } from 'react';\n\timport { Slot } from '@01e9/react-page-layout';\n\t\n\tclass PublicLayout extends Component {\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<header>Page Header</header>\n\t\t\t\t\t<Slot name=\"main\" />\n\t\t\t\t\t<footer>Page Footer</footer>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\t\n\texport default PublicLayout;\n\t\n\t```\n\t\n2. You have to make your app layout aware. In order to do this you use the **&lt;LayoutProvider&gt;** component to let decendants know about the different layouts of your app. It requires that you specify its layouts prop with an object, where the keys are the names and the values are the layout components;\n\n\t```js\n\timport React, { Component } from 'react';\n\timport { render } from 'react-dom';\n\timport { LayoutProvider } from '@01e9/react-page-layout';\n\timport PublicLayout from './layouts/public';\n\timport LoginPage from './pages/login';\n\t\n\t// Create a map for all your layouts \n\tconst layouts = {\n\t\t'public': PublicLayout,\n\t};\n\t\n\tclass App extends Component {\n\t\t\n\t\tfunction render() {\t\n\t\t\n\t\t\t// Render your page inside\n\t\t\t// the layout provider\n\t\t\treturn (\n\t\t\t\t<LayoutProvider layouts={layouts}>\n\t\t\t\t\t<LoginPage />\n\t\t\t\t</LayoutProvider>\n\t\t\t);\n\t\t}\n\t}\n\t\n\trender(App, document.getElementById('root'));\n\n\t```\t\n\n\t**Note:** Your page components don't have to be direct decendents of the **&lt;LayoutProvider&gt;**, in fact you probably will never use it this way. This is for illustration purposes only. This feature is what allows you to use this package with any routing library.\n\n3. Next you have to create pages. The pages provide the content for the different slots in your layout. To do this we use two components, **&lt;Page&gt;** and **&lt;Section&gt;**.\n\n\t```js\n\timport { Page, Section } from '@01e9/react-page-layout';\n\t\n\tclass LoginPage extends Component {\n\t\t\trender() {\n\t\t\t\treturn (\n\t\t\t\t\t<Page layout=\"public\">\n\t\t\t\t\t\t<Section slot=\"main\">\n\t\t\t\t\t\t\t<h1> THIS IS THE PAGE CONTENT </h1>\n\t\t\t\t\t\t</Section>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t}\n\t```\n\t\n\tYou have to pass the **layout** property to the **&lt;Page&gt;**, so it knows what layout you want to use.\n\tSimilarly each **&lt;Section&gt;** has a **slot** property\n\tthat ties it to the slot in the layout for which it provides content. In this case\n\tsince we only have one layout named **public**, and it only has one\n\tslot named it **main** we use those values.\n\t\n\n## Usage\n\n1. By default, the root of a slot is a div, but it can be customized via its the **&lt;Slot&gt;** props. You can also customize className and styles. See the documentation for details.\n\n2. You can use several slots in a layout.\n\n\t```js\n\t\t...\n\t\t<Slot name=\"header\" component=\"header\" />\n\t\t<Slot name=\"content\" component=\"main\" />\n\t\t<Slot name=\"footer\" component=\"footer\" />\n\t\t...\n\t```\n\n3. A slot can have default content, that will be used when no corresponding section is specified\n\n\t```js\n\t\t...\n\t\t<Slot name=\"header\" component=\"header\">\n\t\t\tDefault Header content\n\t\t</Slot>\n\t\t...\n\t```\n\n4. If a slot doesn't have content it doesn't render at all. Meaning that the dom doesn't contain any elements for that slot. This is usefull because you don't have to have extra elements lying arround.\n\n5. Any props passed to the **&lt;Page&gt;**  component are passed to the layout. This can be usefull for titles, breadcrumbs or to flag any customization that the page requires.\n\n6. Slots can be nested\n\n\t```js\n\t\t...\n\t\t<Slot name=\"main\" component=\"main\">\n\t\t\tIll show up before content\n\t\t\t\n\t\t\t<Slot \n\t\t\t\tname=\"content\" \n\t\t\t\tcomponent=\"div\" \n\t\t\t\tstyle={{ margin: 20 }}\n\t\t\t/>\n\t\t\t\n\t\t\tIll show up after content\n\t\t</Slot>\n\t\t...\n\t```\n\t\n\tIn this case the  **&lt;Slot&gt;** with name **content** has a margin. And the **main** slot has extra content.\n\tThe corresponding page can decide, what it wants to show\n\tby using the corresponding slot.\n\t\n\t```js\n\t\t...\n\t\t<Page layout=\"mylayout\">\n\t\t\t<Section slot=\"content\"> \n\t\t\t\tI have things on top and after me, and\n\t\t\t\tI have a margin\n\t\t\t</Section>\n\t\t</Slot>\n\t\t...\n\t```\n\t\n\t```js\n\t\t...\n\t\t<Page layout=\"mylayout\">\n\t\t\t<Section slot=\"main\"> \n\t\t\t\tIm alone and margin-less\n\t\t\t</Section>\n\t\t</Slot>\n\t\t...\n\t```\n\t\n## Api\n\n### &lt;LayoutProvider&gt;\n\nThe layout provider, makes your app layout aware. It should be placed\nas high as possible into the component hierarchy. \n\n| Prop    | Description                                                                                | required |\n|---------|--------------------------------------------------------------------------------------------|----------|\n| layouts | Map of all the component layouts, with keys being the names, and the values the components | Yes      |\n\n### &lt;Slot&gt;\n\n\n| Prop      | Description                                                                                                                | Default | required |\n|-----------|----------------------------------------------------------------------------------------------------------------------------|---------|----------|\n| name      | The name of the slot                                                                                                       | -       | Yes      |\n| component | It allows you to determine the root component for this slot, for example you could pass \"header\" create a &lt;header&gt; element | div     | No       |\n| wrapper   | If you don't want to specify a component you can specify an element of your choice, for example &lt;MyComponent className=\"red\" /&gt; | -       | No       |\n| className | class to be added to the root of this slot                                                                                 | -       | No       |\n| style     | styles to be appended to the root of this slot                                                                             | -       | {}       |\n\n\n### &lt;Page&gt;\n\n| Prop   | Description                                                  | Default | required |\n|--------|--------------------------------------------------------------|---------|----------|\n| layout | The name of the layout used to render this page              | -       | Yes      |\n| ...    | Any other prop, will be passed as is, to the layout | -       | No       |\n\n### &lt;Section&gt;\n\n| Prop | Description                                                | Default | required |\n|------|------------------------------------------------------------|---------|----------|\n| slot | The name of the slot this section is providing content for | -       | Yes      |\n\n\t\n\t\n\n\n\n\n\n\n","readmeFilename":"README.md"}