{"_id":"grid-template-parser","_rev":"7-16e8e3ff83b88fb67223e658b8fd7471","name":"grid-template-parser","description":"A simple CSS Grid template parser","dist-tags":{"latest":"0.3.2"},"versions":{"0.1.0":{"name":"grid-template-parser","version":"0.1.0","description":"A simple CSS Grid template parser","main":"lib/index.js","files":["lib"],"scripts":{"test":"jest","build":"cross-env BABEL_ENV=commonjs babel src --ignore __tests__ --out-dir lib","clean":"rimraf lib coverage","lint":"npm run lint:flow","lint:flow":"flow check || exit 0","prepublish":"npm run lint && npm test && npm run build","postpublish":"npm run clean"},"keywords":["grid","grid-layout","template","parser"],"author":{"name":"Anthony Dugois","email":"dev.anthonydugois@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/anthonydugois/grid-template-parser.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.24.0","babel-core":"^6.24.0","babel-jest":"^19.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.24.0","babel-preset-es2016":"^6.22.0","cross-env":"^3.2.4","flow-bin":"^0.42.0","jest":"^19.0.2","rimraf":"^2.6.1"},"gitHead":"b13a34c893a8ff1fd680d6a14e9eebd816648e1c","bugs":{"url":"https://github.com/anthonydugois/grid-template-parser/issues"},"homepage":"https://github.com/anthonydugois/grid-template-parser#readme","_id":"grid-template-parser@0.1.0","_shasum":"8421d5d7ad6758365af09c2027c52686b53685b7","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"},"dist":{"shasum":"8421d5d7ad6758365af09c2027c52686b53685b7","tarball":"https://registry.npmjs.org/grid-template-parser/-/grid-template-parser-0.1.0.tgz","integrity":"sha512-X5PqBEJigyHpKTi2UWWy+FlQgmqCrEufAmG6/Gl41YBasQnljaAEBkkGOTTxNPhEE5uIeIBY/gz7SvFDv2xjyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4nqTM4o0zEVttLUBpnNkZg6cSP8KmMoHjkOlssfEZ/QIgYxoDIujLotV2coDD5+7t+LaVZhiChQKBMT4O0psUEjw="}]},"maintainers":[{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/grid-template-parser-0.1.0.tgz_1490506885444_0.6954451731871814"}},"0.2.0":{"name":"grid-template-parser","version":"0.2.0","description":"A simple CSS Grid template parser","main":"lib/index.js","files":["lib"],"scripts":{"test":"jest","build":"cross-env BABEL_ENV=commonjs babel src --ignore __tests__ --out-dir lib","clean":"rimraf lib coverage","lint":"npm run lint:flow","lint:flow":"flow check || exit 0","preversion":"npm test","postversion":"git push && git push --tags","prepublish":"npm run lint && npm test && npm run build","postpublish":"npm run clean"},"keywords":["grid","grid-layout","template","parser"],"author":{"name":"Anthony Dugois","email":"dev.anthonydugois@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/anthonydugois/grid-template-parser.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.24.0","babel-core":"^6.24.0","babel-jest":"^19.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.24.0","babel-preset-es2016":"^6.22.0","cross-env":"^3.2.4","flow-bin":"^0.42.0","jest":"^19.0.2","rimraf":"^2.6.1"},"gitHead":"e9d7c58bdf596003bbeac0d04f8a65f56bd8017b","bugs":{"url":"https://github.com/anthonydugois/grid-template-parser/issues"},"homepage":"https://github.com/anthonydugois/grid-template-parser#readme","_id":"grid-template-parser@0.2.0","_shasum":"fdccbbc6eeec359c560d651aad8cbbc87622baf4","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"},"dist":{"shasum":"fdccbbc6eeec359c560d651aad8cbbc87622baf4","tarball":"https://registry.npmjs.org/grid-template-parser/-/grid-template-parser-0.2.0.tgz","integrity":"sha512-FGU9yHPzdAb9d6snGf/E6QAUY2eMK+Iglb3Vtje7M7bCX5eB6tiEOvc9tKKlUR0K6o46BxiYabwxLJF+HBazcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+pZZQvIEAMpiebc1TTjAasIAwHRvlFyq5Jmpi4cQ81QIgSpj9Tu4RasWEmp1zKerD9/V0kSNsaVuaI9z/9JcCrIU="}]},"maintainers":[{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/grid-template-parser-0.2.0.tgz_1490587202648_0.555313803255558"}},"0.2.1":{"name":"grid-template-parser","version":"0.2.1","description":"A simple CSS Grid template parser","main":"lib/index.js","files":["lib"],"scripts":{"test":"jest","build":"cross-env BABEL_ENV=commonjs babel src --ignore __tests__ --out-dir lib","clean":"rimraf lib coverage","lint":"npm run lint:flow","lint:flow":"flow check || exit 0","preversion":"npm test","postversion":"git push && git push --tags","prepublish":"npm run lint && npm test && npm run build","postpublish":"npm run clean"},"keywords":["grid","grid-layout","template","parser"],"author":{"name":"Anthony Dugois","email":"dev.anthonydugois@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/anthonydugois/grid-template-parser.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.24.0","babel-core":"^6.24.0","babel-jest":"^19.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.24.0","babel-preset-es2016":"^6.22.0","cross-env":"^3.2.4","flow-bin":"^0.42.0","jest":"^19.0.2","rimraf":"^2.6.1"},"gitHead":"1835f617c195ea17ba310fa6ba3257f191b7c12f","bugs":{"url":"https://github.com/anthonydugois/grid-template-parser/issues"},"homepage":"https://github.com/anthonydugois/grid-template-parser#readme","_id":"grid-template-parser@0.2.1","_shasum":"5b7d5cdca067842d7b00f9cb96f21061d0080f64","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"},"dist":{"shasum":"5b7d5cdca067842d7b00f9cb96f21061d0080f64","tarball":"https://registry.npmjs.org/grid-template-parser/-/grid-template-parser-0.2.1.tgz","integrity":"sha512-+i2SnXLc7DrvcnxQpBtP8Bg0Km6uk7dM6xi+Yr+Acv+ElsPm7dfJaIyBDfwQYseD6DPJbEbk4iU42g7CpN5UhQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9/uXps4NyjJQtMN3k3cDCUUTqiR7mh/akpqP7R1zWIAIhAOzvzeSO1rb1TOH425+5ambAru3mU1zq1hi1D9somuh0"}]},"maintainers":[{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/grid-template-parser-0.2.1.tgz_1490587478955_0.21209645504131913"}},"0.3.0":{"name":"grid-template-parser","version":"0.3.0","description":"A simple CSS Grid template parser","main":"lib/index.js","files":["lib"],"scripts":{"test":"jest","build":"cross-env BABEL_ENV=commonjs babel src --ignore __tests__ --out-dir lib","clean":"rimraf lib coverage","lint":"npm run lint:flow","lint:flow":"flow check || exit 0","preversion":"npm test","postversion":"git push && git push --tags","prepublish":"npm run lint && npm test && npm run build","postpublish":"npm run clean"},"keywords":["grid","grid-layout","template","parser"],"author":{"name":"Anthony Dugois","email":"dev.anthonydugois@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/anthonydugois/grid-template-parser.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.24.0","babel-core":"^6.24.0","babel-jest":"^19.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.24.0","babel-preset-es2016":"^6.22.0","cross-env":"^3.2.4","flow-bin":"^0.42.0","jest":"^19.0.2","rimraf":"^2.6.1"},"gitHead":"13fca34f0de0e0871d8613952e1e39229c5278da","bugs":{"url":"https://github.com/anthonydugois/grid-template-parser/issues"},"homepage":"https://github.com/anthonydugois/grid-template-parser#readme","_id":"grid-template-parser@0.3.0","_shasum":"a6cc7dd0a4d796e7ce0ec91b184029be924806ad","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"},"dist":{"shasum":"a6cc7dd0a4d796e7ce0ec91b184029be924806ad","tarball":"https://registry.npmjs.org/grid-template-parser/-/grid-template-parser-0.3.0.tgz","integrity":"sha512-EMMyusOPzj027T3DvOfDZKVFrbIcwVJCEjL53g/cgDRmhlu/Udxdrhyi9XqEAa/7+EgNhekuM5xcf2A4ShC7RA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHqvjfSaoUvmFsuz+Ol+pLJ6rz53w+3nuCwh5275v8gjAiBxbTqfiktW+kDoJ6eKI4U+iVglNacF6U8SigO3nAm+bw=="}]},"maintainers":[{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/grid-template-parser-0.3.0.tgz_1490669796579_0.1310857126954943"}},"0.3.1":{"name":"grid-template-parser","version":"0.3.1","description":"A simple CSS Grid template parser","main":"lib/index.js","files":["lib","dist"],"scripts":{"test":"jest","build":"npm run build:commonjs && npm run build:umd && npm run build:umd:min","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --ignore __tests__ --out-dir lib","build:umd":"cross-env BABEL_ENV=commonjs NODE_ENV=development webpack src/index.js dist/GridTemplateParser.js","build:umd:min":"cross-env BABEL_ENV=commonjs NODE_ENV=production webpack src/index.js dist/GridTemplateParser.min.js","clean":"rimraf lib dist coverage","lint":"npm run lint:flow","lint:flow":"flow check || exit 0","preversion":"npm test","postversion":"git push && git push --tags","prepublish":"npm run lint && npm test && npm run build","postpublish":"npm run clean"},"keywords":["grid","grid-layout","template","parser"],"author":{"name":"Anthony Dugois","email":"dev.anthonydugois@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/anthonydugois/grid-template-parser.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.24.0","babel-core":"^6.24.0","babel-jest":"^19.0.0","babel-loader":"^6.4.1","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.24.0","babel-preset-es2016":"^6.22.0","cross-env":"^3.2.4","flow-bin":"^0.42.0","jest":"^19.0.2","path":"^0.12.7","rimraf":"^2.6.1","webpack":"^2.3.2"},"gitHead":"d242f8d60431985e0d855cf4d8966ce13c8fe7c7","bugs":{"url":"https://github.com/anthonydugois/grid-template-parser/issues"},"homepage":"https://github.com/anthonydugois/grid-template-parser#readme","_id":"grid-template-parser@0.3.1","_shasum":"fbd96f87b63286a8d58092436056f2f1c52fb1c5","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"},"dist":{"shasum":"fbd96f87b63286a8d58092436056f2f1c52fb1c5","tarball":"https://registry.npmjs.org/grid-template-parser/-/grid-template-parser-0.3.1.tgz","integrity":"sha512-dgvpDHomZTnb1adlw4iC64ZdR82nMpXuJkLKP4fR23vA/ImpMLMHPNjHuej2/fFMdFucNjhy+BLa41W1hVMLNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCy3m1mzqVz79JQEqjLiP0/Hk21n1pVLudiiHRf++sinQIhANzLnuuB9BPh+zG0mFMxw3Mp1MgSgpKPFW5WvV0H5GBR"}]},"maintainers":[{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/grid-template-parser-0.3.1.tgz_1490671094538_0.6474731687922031"}},"0.3.2":{"name":"grid-template-parser","version":"0.3.2","description":"A simple CSS Grid template parser","main":"lib/index.js","files":["lib","dist"],"scripts":{"test":"jest","build":"npm run build:commonjs && npm run build:umd && npm run build:umd:min","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --ignore __tests__ --out-dir lib","build:umd":"cross-env BABEL_ENV=commonjs NODE_ENV=development webpack src/index.js dist/grid-template-parser.js","build:umd:min":"cross-env BABEL_ENV=commonjs NODE_ENV=production webpack src/index.js dist/grid-template-parser.min.js","clean":"rimraf lib dist coverage","lint":"npm run lint:flow","lint:flow":"flow check || exit 0","preversion":"npm test","postversion":"git push && git push --tags","prepublish":"npm run lint && npm test && npm run build","postpublish":"npm run clean"},"keywords":["grid","grid-layout","template","parser"],"author":{"name":"Anthony Dugois","email":"dev.anthonydugois@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/anthonydugois/grid-template-parser.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.24.0","babel-core":"^6.24.0","babel-jest":"^19.0.0","babel-loader":"^6.4.1","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.24.0","babel-preset-es2016":"^6.22.0","cross-env":"^3.2.4","flow-bin":"^0.42.0","jest":"^19.0.2","path":"^0.12.7","rimraf":"^2.6.1","webpack":"^2.3.2"},"gitHead":"9f9b58f344a67daf0b6ba453c8ec5ec3e1dcd364","bugs":{"url":"https://github.com/anthonydugois/grid-template-parser/issues"},"homepage":"https://github.com/anthonydugois/grid-template-parser#readme","_id":"grid-template-parser@0.3.2","_shasum":"096046bc66a485c6058133a0884272a6fe7f43f4","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"},"dist":{"shasum":"096046bc66a485c6058133a0884272a6fe7f43f4","tarball":"https://registry.npmjs.org/grid-template-parser/-/grid-template-parser-0.3.2.tgz","integrity":"sha512-gPAtkJ96Wf2NKdYe+FiiOR9eBOvQEY2jOh9JEhzOtN5qJqFwXUXpQxk/ulahG20W9vb6y3vyjVnh5QyChb+/1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMf862tcXaAnB0JIrpsoBLw2cPR5O5f3o87NU+WqWBXAiEAo8ggTq/zRVUVpUuXiS7gh9ST9hMAWT3TBZyHwY3oRBc="}]},"maintainers":[{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/grid-template-parser-0.3.2.tgz_1490741674562_0.14017668296582997"}}},"readme":"# grid-template-parser [![Build Status](https://travis-ci.org/anthonydugois/grid-template-parser.svg?branch=master)](https://travis-ci.org/anthonydugois/grid-template-parser)\r\n\r\nA simple CSS Grid template parser\r\n\r\n## Installation\r\n\r\n```\r\nnpm install --save grid-template-parser\r\n```\r\n\r\n## Basic usage\r\n\r\n### Parse a grid template\r\n\r\n```js\r\nimport {grid} from 'grid-template-parser';\r\n\r\nconst areas = grid(`\r\n  \"a a a b b\"\r\n  \"a a a b b\"\r\n  \". . c c c\"\r\n  \"d d d d d\"\r\n`);\r\n\r\n// → {\r\n//   width: 5,\r\n//   height: 4,\r\n//   areas: {\r\n//     a: {\r\n//       column: {start: 1, end: 4, span: 3},\r\n//       row: {start: 1, end: 3, span: 2},\r\n//     },\r\n//     b: {\r\n//       column: {start: 4, end: 6, span: 2},\r\n//       row: {start: 1, end: 3, span: 2},\r\n//     },\r\n//     c: {\r\n//       column: {start: 3, end: 6, span: 3},\r\n//       row: {start: 3, end: 4, span: 1},\r\n//     },\r\n//     d: {\r\n//       column: {start: 1, end: 6, span: 5},\r\n//       row: {start: 4, end: 5, span: 1},\r\n//     },\r\n//   },\r\n// }\r\n```\r\n\r\n### Build a grid template\r\n\r\n```js\r\nimport {template} from 'grid-template-parser';\r\n\r\nconst areas = template({\r\n  width: 5,\r\n  height: 4,\r\n  areas: {\r\n    a: {\r\n      column: {start: 1, end: 4, span: 3},\r\n      row: {start: 1, end: 3, span: 2},\r\n    },\r\n    b: {\r\n      column: {start: 3, end: 6, span: 3},\r\n      row: {start: 3, end: 5, span: 2},\r\n    },\r\n  },\r\n});\r\n\r\n// → `\"a a a . .\"\r\n//    \"a a a . .\"\r\n//    \". . b b b\"\r\n//    \". . b b b\"`\r\n```\r\n\r\nAn helper is provided to declare areas more intuitively. The following example is equivalent to the previous:\r\n\r\n```js\r\nimport {template, area} from 'grid-template-parser';\r\n\r\nconst a = area({\r\n  x: 0,\r\n  y: 0,\r\n  width: 3,\r\n  height: 2,\r\n});\r\n\r\nconst b = area({\r\n  x: 2,\r\n  y: 2,\r\n  width: 3,\r\n  height: 2,\r\n});\r\n\r\nconst areas = template({\r\n  width: 5,\r\n  height: 4,\r\n  areas: {a, b},\r\n});\r\n\r\n// → `\"a a a . .\"\r\n//    \"a a a . .\"\r\n//    \". . b b b\"\r\n//    \". . b b b\"`\r\n```\r\n\r\n## API\r\n\r\n### `grid(template)`\r\n\r\nParses a grid template and returns an object representation.\r\n\r\n#### Arguments\r\n\r\n1. `template` *string* The grid template to parse.\r\n\r\n#### Returns\r\n\r\n*[Grid](#grid)* An object representation of the grid template.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid} from 'grid-template-parser';\r\n\r\nconst areas = grid(`\r\n  \"a a a b b\"\r\n  \"a a a b b\"\r\n  \". . c c c\"\r\n  \"d d d d d\"\r\n`);\r\n\r\n// → {\r\n//   width: 5,\r\n//   height: 4,\r\n//   areas: {\r\n//     a: {\r\n//       column: {start: 1, end: 4, span: 3},\r\n//       row: {start: 1, end: 3, span: 2},\r\n//     },\r\n//     b: {\r\n//       column: {start: 4, end: 6, span: 2},\r\n//       row: {start: 1, end: 3, span: 2},\r\n//     },\r\n//     c: {\r\n//       column: {start: 3, end: 6, span: 3},\r\n//       row: {start: 3, end: 4, span: 1},\r\n//     },\r\n//     d: {\r\n//       column: {start: 1, end: 6, span: 5},\r\n//       row: {start: 4, end: 5, span: 1},\r\n//     },\r\n//   },\r\n// }\r\n```\r\n\r\n---\r\n\r\n### `template(grid)`\r\n\r\nBuilds a grid template from an object representation.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to build.\r\n\r\n#### Returns\r\n\r\n*string* The equivalent grid template.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {template} from 'grid-template-parser';\r\n\r\nconst areas = template({\r\n  width: 5,\r\n  height: 4,\r\n  areas: {\r\n    a: {\r\n      column: {start: 1, end: 4, span: 3},\r\n      row: {start: 1, end: 3, span: 2},\r\n    },\r\n    b: {\r\n      column: {start: 3, end: 6, span: 3},\r\n      row: {start: 3, end: 5, span: 2},\r\n    },\r\n  },\r\n});\r\n\r\n// → `\"a a a . .\"\r\n//    \"a a a . .\"\r\n//    \". . b b b\"\r\n//    \". . b b b\"`\r\n```\r\n\r\n---\r\n\r\n### `rect(area)`\r\n\r\nConverts an area into a rect.\r\n\r\n#### Arguments\r\n\r\n1. `area` *[Area](#area)* The area to convert.\r\n\r\n#### Returns\r\n\r\n*[Rect](#rect)* The equivalent rect.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {rect} from 'grid-template-parser';\r\n\r\nconst r = rect({\r\n  column: {start: 1, end: 4, span: 3},\r\n  row: {start: 1, end: 3, span: 2},\r\n});\r\n\r\n// → {\r\n//     x: 0,\r\n//     y: 0,\r\n//     width: 3,\r\n//     height: 2,\r\n//   }\r\n```\r\n\r\n---\r\n\r\n### `area(rect)`\r\n\r\nConverts a rect into an area.\r\n\r\n#### Arguments\r\n\r\n1. `rect` *[Rect](#rect)* The rect to convert.\r\n\r\n#### Returns\r\n\r\n*[Area](#area)* The equivalent area.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {area} from 'grid-template-parser';\r\n\r\nconst a = area({\r\n  x: 0,\r\n  y: 0,\r\n  width: 3,\r\n  height: 2,\r\n});\r\n\r\n// → {\r\n//     column: {start: 1, end: 4, span: 3},\r\n//     row: {start: 1, end: 3, span: 2},\r\n//   }\r\n```\r\n\r\n---\r\n\r\n### `minColumnStart(grid)`\r\n\r\nFinds the min column start of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The min column start.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, minColumnStart} from 'grid-template-parser';\r\n\r\nconst min = minColumnStart(grid(`\r\n  \". . a a a\"\r\n  \". b b b b\"\r\n  \". . . c c\"\r\n`));\r\n\r\n// → 2\r\n```\r\n\r\n---\r\n\r\n### `maxColumnStart(grid)`\r\n\r\nFinds the max column start of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The max column start.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, maxColumnStart} from 'grid-template-parser';\r\n\r\nconst max = maxColumnStart(grid(`\r\n  \". . a a a\"\r\n  \". b b b b\"\r\n  \". . . c c\"\r\n`));\r\n\r\n// → 4\r\n```\r\n\r\n---\r\n\r\n### `minColumnEnd(grid)`\r\n\r\nFinds the min column end of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The min column end.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, minColumnEnd} from 'grid-template-parser';\r\n\r\nconst min = minColumnEnd(grid(`\r\n  \"a a . . .\"\r\n  \"b b b b .\"\r\n  \"c c c . .\"\r\n`));\r\n\r\n// → 3\r\n```\r\n\r\n---\r\n\r\n### `maxColumnEnd(grid)`\r\n\r\nFinds the max column end of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The max column end.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, maxColumnEnd} from 'grid-template-parser';\r\n\r\nconst max = maxColumnEnd(grid(`\r\n  \"a a . . .\"\r\n  \"b b b b .\"\r\n  \"c c c . .\"\r\n`));\r\n\r\n// → 5\r\n```\r\n\r\n---\r\n\r\n### `minRowStart(grid)`\r\n\r\nFinds the min row start of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The min row start.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, minRowStart} from 'grid-template-parser';\r\n\r\nconst min = minRowStart(grid(`\r\n  \". . . .\"\r\n  \"a a . .\"\r\n  \"a a b b\"\r\n  \"a a b b\"\r\n`));\r\n\r\n// → 2\r\n```\r\n\r\n---\r\n\r\n### `maxRowStart(grid)`\r\n\r\nFinds the max row start of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The max row start.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, maxRowStart} from 'grid-template-parser';\r\n\r\nconst max = maxRowStart(grid(`\r\n  \". . . .\"\r\n  \"a a . .\"\r\n  \"a a b b\"\r\n  \"a a b b\"\r\n`));\r\n\r\n// → 3\r\n```\r\n\r\n---\r\n\r\n### `minRowEnd(grid)`\r\n\r\nFinds the min row end of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The min row end.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, minRowEnd} from 'grid-template-parser';\r\n\r\nconst min = minRowEnd(grid(`\r\n  \"a a b b\"\r\n  \"a a b b\"\r\n  \". . b b\"\r\n  \". . . .\"\r\n`));\r\n\r\n// → 3\r\n```\r\n\r\n---\r\n\r\n### `maxRowEnd(grid)`\r\n\r\nFinds the max row end of all grid areas.\r\n\r\n#### Arguments\r\n\r\n1. `grid` *[Grid](#grid)* The grid to analyze.\r\n\r\n#### Returns\r\n\r\n*number* The max row end.\r\n\r\n#### Example\r\n\r\n```js\r\nimport {grid, maxRowEnd} from 'grid-template-parser';\r\n\r\nconst max = maxRowEnd(grid(`\r\n  \"a a b b\"\r\n  \"a a b b\"\r\n  \". . b b\"\r\n  \". . . .\"\r\n`));\r\n\r\n// → 4\r\n```\r\n\r\n## Types\r\n\r\n### `Track`\r\n\r\n```js\r\ntype Track = {\r\n  start: number,\r\n  end: number,\r\n  span: number,\r\n};\r\n```\r\n\r\n### `Area`\r\n\r\n```js\r\ntype Area = {\r\n  row: Track,\r\n  column: Track,\r\n};\r\n```\r\n\r\n### `Rect`\r\n\r\n```js\r\ntype Rect = {\r\n  x: number,\r\n  y: number,\r\n  width: number,\r\n  height: number,\r\n};\r\n```\r\n\r\n### `Grid`\r\n\r\n```js\r\ntype Grid = {\r\n  width: number,\r\n  height: number,\r\n  areas: {[key: string]: Area},\r\n};\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n","maintainers":[{"name":"anthonydugois","email":"dev.anthonydugois@gmail.com"}],"time":{"modified":"2022-06-18T14:10:53.397Z","created":"2017-03-26T05:41:27.415Z","0.1.0":"2017-03-26T05:41:27.415Z","0.2.0":"2017-03-27T04:00:04.560Z","0.2.1":"2017-03-27T04:04:41.002Z","0.3.0":"2017-03-28T02:56:37.277Z","0.3.1":"2017-03-28T03:18:15.201Z","0.3.2":"2017-03-28T22:54:35.369Z"},"homepage":"https://github.com/anthonydugois/grid-template-parser#readme","keywords":["grid","grid-layout","template","parser"],"repository":{"type":"git","url":"git+https://github.com/anthonydugois/grid-template-parser.git"},"author":{"name":"Anthony Dugois","email":"dev.anthonydugois@gmail.com"},"bugs":{"url":"https://github.com/anthonydugois/grid-template-parser/issues"},"license":"MIT","readmeFilename":"README.md"}