mirror of
https://github.com/Lissy93/dashy.git
synced 2024-11-27 00:28:09 +03:00
Disables ESlint for mansory file
This commit is contained in:
parent
9391c5b5e4
commit
2f4d0555f8
338
package-lock.json
generated
338
package-lock.json
generated
@ -14,18 +14,18 @@
|
||||
}
|
||||
},
|
||||
"@babel/core": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz",
|
||||
"integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.2.tgz",
|
||||
"integrity": "sha512-l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.5.5",
|
||||
"@babel/generator": "^7.5.5",
|
||||
"@babel/helpers": "^7.5.5",
|
||||
"@babel/parser": "^7.5.5",
|
||||
"@babel/template": "^7.4.4",
|
||||
"@babel/traverse": "^7.5.5",
|
||||
"@babel/types": "^7.5.5",
|
||||
"@babel/generator": "^7.6.2",
|
||||
"@babel/helpers": "^7.6.2",
|
||||
"@babel/parser": "^7.6.2",
|
||||
"@babel/template": "^7.6.0",
|
||||
"@babel/traverse": "^7.6.2",
|
||||
"@babel/types": "^7.6.0",
|
||||
"convert-source-map": "^1.1.0",
|
||||
"debug": "^4.1.0",
|
||||
"json5": "^2.1.0",
|
||||
@ -35,6 +35,63 @@
|
||||
"source-map": "^0.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/generator": {
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz",
|
||||
"integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/types": "^7.6.0",
|
||||
"jsesc": "^2.5.1",
|
||||
"lodash": "^4.17.13",
|
||||
"source-map": "^0.5.0"
|
||||
}
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
|
||||
"integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==",
|
||||
"dev": true
|
||||
},
|
||||
"@babel/template": {
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
|
||||
"integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
"@babel/parser": "^7.6.0",
|
||||
"@babel/types": "^7.6.0"
|
||||
}
|
||||
},
|
||||
"@babel/traverse": {
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz",
|
||||
"integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.5.5",
|
||||
"@babel/generator": "^7.6.2",
|
||||
"@babel/helper-function-name": "^7.1.0",
|
||||
"@babel/helper-split-export-declaration": "^7.4.4",
|
||||
"@babel/parser": "^7.6.2",
|
||||
"@babel/types": "^7.6.0",
|
||||
"debug": "^4.1.0",
|
||||
"globals": "^11.1.0",
|
||||
"lodash": "^4.17.13"
|
||||
}
|
||||
},
|
||||
"@babel/types": {
|
||||
"version": "7.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
|
||||
"integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esutils": "^2.0.2",
|
||||
"lodash": "^4.17.13",
|
||||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
@ -104,9 +161,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/helper-create-class-features-plugin": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz",
|
||||
"integrity": "sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg==",
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz",
|
||||
"integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-function-name": "^7.1.0",
|
||||
@ -280,14 +337,88 @@
|
||||
}
|
||||
},
|
||||
"@babel/helpers": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz",
|
||||
"integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz",
|
||||
"integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/template": "^7.4.4",
|
||||
"@babel/traverse": "^7.5.5",
|
||||
"@babel/types": "^7.5.5"
|
||||
"@babel/template": "^7.6.0",
|
||||
"@babel/traverse": "^7.6.2",
|
||||
"@babel/types": "^7.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/generator": {
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz",
|
||||
"integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/types": "^7.6.0",
|
||||
"jsesc": "^2.5.1",
|
||||
"lodash": "^4.17.13",
|
||||
"source-map": "^0.5.0"
|
||||
}
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
|
||||
"integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==",
|
||||
"dev": true
|
||||
},
|
||||
"@babel/template": {
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
|
||||
"integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
"@babel/parser": "^7.6.0",
|
||||
"@babel/types": "^7.6.0"
|
||||
}
|
||||
},
|
||||
"@babel/traverse": {
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz",
|
||||
"integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.5.5",
|
||||
"@babel/generator": "^7.6.2",
|
||||
"@babel/helper-function-name": "^7.1.0",
|
||||
"@babel/helper-split-export-declaration": "^7.4.4",
|
||||
"@babel/parser": "^7.6.2",
|
||||
"@babel/types": "^7.6.0",
|
||||
"debug": "^4.1.0",
|
||||
"globals": "^11.1.0",
|
||||
"lodash": "^4.17.13"
|
||||
}
|
||||
},
|
||||
"@babel/types": {
|
||||
"version": "7.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
|
||||
"integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esutils": "^2.0.2",
|
||||
"lodash": "^4.17.13",
|
||||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/highlight": {
|
||||
@ -329,12 +460,12 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-proposal-decorators": {
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz",
|
||||
"integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==",
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz",
|
||||
"integrity": "sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-create-class-features-plugin": "^7.4.4",
|
||||
"@babel/helper-create-class-features-plugin": "^7.6.0",
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
"@babel/plugin-syntax-decorators": "^7.2.0"
|
||||
}
|
||||
@ -350,9 +481,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-proposal-object-rest-spread": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz",
|
||||
"integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz",
|
||||
"integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
@ -370,14 +501,14 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-proposal-unicode-property-regex": {
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
|
||||
"integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz",
|
||||
"integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
"@babel/helper-regex": "^7.4.4",
|
||||
"regexpu-core": "^4.5.4"
|
||||
"regexpu-core": "^4.6.0"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-syntax-async-generators": {
|
||||
@ -473,9 +604,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-block-scoping": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz",
|
||||
"integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz",
|
||||
"integrity": "sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
@ -508,23 +639,23 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-destructuring": {
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz",
|
||||
"integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==",
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
|
||||
"integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-dotall-regex": {
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
|
||||
"integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz",
|
||||
"integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
"@babel/helper-regex": "^7.4.4",
|
||||
"regexpu-core": "^4.5.4"
|
||||
"regexpu-core": "^4.6.0"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-duplicate-keys": {
|
||||
@ -586,9 +717,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-modules-commonjs": {
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz",
|
||||
"integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==",
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
|
||||
"integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-module-transforms": "^7.4.4",
|
||||
@ -619,12 +750,12 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-named-capturing-groups-regex": {
|
||||
"version": "7.4.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz",
|
||||
"integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz",
|
||||
"integrity": "sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"regexp-tree": "^0.1.6"
|
||||
"regexpu-core": "^4.6.0"
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-new-target": {
|
||||
@ -667,9 +798,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-runtime": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz",
|
||||
"integrity": "sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz",
|
||||
"integrity": "sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-module-imports": "^7.0.0",
|
||||
@ -688,9 +819,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-spread": {
|
||||
"version": "7.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
|
||||
"integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz",
|
||||
"integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0"
|
||||
@ -726,14 +857,14 @@
|
||||
}
|
||||
},
|
||||
"@babel/plugin-transform-unicode-regex": {
|
||||
"version": "7.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz",
|
||||
"integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz",
|
||||
"integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
"@babel/helper-regex": "^7.4.4",
|
||||
"regexpu-core": "^4.5.4"
|
||||
"regexpu-core": "^4.6.0"
|
||||
}
|
||||
},
|
||||
"@babel/preset-env": {
|
||||
@ -788,30 +919,22 @@
|
||||
}
|
||||
},
|
||||
"@babel/runtime": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz",
|
||||
"integrity": "sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.2.tgz",
|
||||
"integrity": "sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.13.2"
|
||||
}
|
||||
},
|
||||
"@babel/runtime-corejs2": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.5.5.tgz",
|
||||
"integrity": "sha512-FYATQVR00NSNi7mUfpPDp7E8RYMXDuO8gaix7u/w3GekfUinKgX1AcTxs7SoiEmoEW9mbpjrwqWSW6zCmw5h8A==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.6.2.tgz",
|
||||
"integrity": "sha512-wdyVKnTv9Be4YlwF/7pByYNfcl23qC21aAQ0aIaZOo2ZOvhFEyJdBLJClYZ9i+Pmrz7sUQgg/MwbJa2RZTkygg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-js": "^2.6.5",
|
||||
"regenerator-runtime": "^0.13.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
|
||||
"integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/template": {
|
||||
@ -1047,9 +1170,9 @@
|
||||
}
|
||||
},
|
||||
"@vue/babel-preset-app": {
|
||||
"version": "3.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.9.2.tgz",
|
||||
"integrity": "sha512-0suuCbu4jkVcVYBjPmuKxeDbrhwThYZHu3DUmtsVuOzFEGeXmco60VmXveniL/bnDUdZyknSuYP4FxgS34gw9w==",
|
||||
"version": "3.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.11.0.tgz",
|
||||
"integrity": "sha512-fcCq9nuGGx1WGnyaKHvIC8RnWjISXGf1rJH4mN9+bymDfosgDbwnfV4TYvTZlyK1/aTHEEpIoO3XimTXBo7QBw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-module-imports": "^7.0.0",
|
||||
@ -1065,14 +1188,6 @@
|
||||
"babel-plugin-dynamic-import-node": "^2.2.0",
|
||||
"babel-plugin-module-resolver": "3.2.0",
|
||||
"core-js": "^2.6.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
|
||||
"integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@vue/babel-preset-jsx": {
|
||||
@ -1139,16 +1254,53 @@
|
||||
"dev": true
|
||||
},
|
||||
"@vue/cli-plugin-babel": {
|
||||
"version": "3.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.9.2.tgz",
|
||||
"integrity": "sha512-XqfmGjUGnnJ3NA+HC31F6nkBvB9pFDhk4Lxeao8ZNJcEjKNEBYjlmHunJQdIe/jEXXum6U+U/ZE6DjDStHTIMw==",
|
||||
"version": "3.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.10.0.tgz",
|
||||
"integrity": "sha512-NHrg6ZYN2fh5ZiMMzCNRuDlH9mcTOu+GIti1Va/zPnG3qMkX2iZ0zZGFaOCltIFoVSXdyOfa0sMtJGDoP9Q7ZA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"@vue/babel-preset-app": "^3.9.2",
|
||||
"@vue/cli-shared-utils": "^3.9.0",
|
||||
"@vue/babel-preset-app": "^3.10.0",
|
||||
"@vue/cli-shared-utils": "^3.10.0",
|
||||
"babel-loader": "^8.0.5",
|
||||
"webpack": ">=4 < 4.29"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue/cli-shared-utils": {
|
||||
"version": "3.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.11.0.tgz",
|
||||
"integrity": "sha512-D7pst/4v9H1DD66fLxlZOwRR09R03MV0ROdKxBHmh3FmnApCA/RiaolFA/8w+B3CnevYMlV3SJ5fOAgedbswbA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@hapi/joi": "^15.0.1",
|
||||
"chalk": "^2.4.1",
|
||||
"execa": "^1.0.0",
|
||||
"launch-editor": "^2.2.1",
|
||||
"lru-cache": "^5.1.1",
|
||||
"node-ipc": "^9.1.1",
|
||||
"open": "^6.3.0",
|
||||
"ora": "^3.4.0",
|
||||
"request": "^2.87.0",
|
||||
"request-promise-native": "^1.0.7",
|
||||
"semver": "^6.0.0",
|
||||
"string.prototype.padstart": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"yallist": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@vue/cli-plugin-eslint": {
|
||||
@ -9551,12 +9703,6 @@
|
||||
"safe-regex": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"regexp-tree": {
|
||||
"version": "0.1.11",
|
||||
"resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.11.tgz",
|
||||
"integrity": "sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==",
|
||||
"dev": true
|
||||
},
|
||||
"regexpp": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
|
||||
@ -9564,13 +9710,13 @@
|
||||
"dev": true
|
||||
},
|
||||
"regexpu-core": {
|
||||
"version": "4.5.4",
|
||||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz",
|
||||
"integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==",
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
|
||||
"integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"regenerate": "^1.4.0",
|
||||
"regenerate-unicode-properties": "^8.0.2",
|
||||
"regenerate-unicode-properties": "^8.1.0",
|
||||
"regjsgen": "^0.5.0",
|
||||
"regjsparser": "^0.6.0",
|
||||
"unicode-match-property-ecmascript": "^1.0.4",
|
||||
|
@ -18,7 +18,7 @@
|
||||
"vue-router": "^3.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "^3.9.0",
|
||||
"@vue/cli-plugin-babel": "^3.10.0",
|
||||
"@vue/cli-plugin-eslint": "^3.9.0",
|
||||
"@vue/cli-plugin-pwa": "^3.9.0",
|
||||
"@vue/cli-service": "^3.9.0",
|
||||
|
@ -1,225 +1,226 @@
|
||||
// the component name `<masonry />`
|
||||
// can be overridden with `Vue.use(Masonry, { name: 'the-masonry' });`
|
||||
const componentName = 'masonry';
|
||||
|
||||
const props = {
|
||||
tag: {
|
||||
type: [String],
|
||||
default: 'div'
|
||||
},
|
||||
cols: {
|
||||
type: [Object, Number, String],
|
||||
default: 2
|
||||
},
|
||||
gutter: {
|
||||
type: [Object, Number, String],
|
||||
default: 0
|
||||
},
|
||||
css: {
|
||||
type: [Boolean],
|
||||
default: true
|
||||
},
|
||||
columnTag: {
|
||||
type: [String],
|
||||
default: 'div'
|
||||
},
|
||||
columnClass: {
|
||||
type: [String, Array, Object],
|
||||
default: () => []
|
||||
},
|
||||
columnAttr: {
|
||||
type: [Object],
|
||||
default: () => ({})
|
||||
}
|
||||
};
|
||||
|
||||
// Get the resulting value from `:col=` prop
|
||||
// based on the window width
|
||||
const breakpointValue = (mixed, windowWidth) => {
|
||||
const valueAsNum = parseInt(mixed);
|
||||
|
||||
if(valueAsNum > -1) {
|
||||
return mixed;
|
||||
}else if(typeof mixed !== 'object') {
|
||||
return 0;
|
||||
}
|
||||
|
||||
let matchedBreakpoint = Infinity;
|
||||
let matchedValue = mixed.default || 0;
|
||||
|
||||
for(let k in mixed) {
|
||||
const breakpoint = parseInt(k);
|
||||
const breakpointValRaw = mixed[breakpoint];
|
||||
const breakpointVal = parseInt(breakpointValRaw);
|
||||
|
||||
if(isNaN(breakpoint) || isNaN(breakpointVal)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const isNewBreakpoint = windowWidth <= breakpoint && breakpoint < matchedBreakpoint;
|
||||
|
||||
if(isNewBreakpoint) {
|
||||
matchedBreakpoint = breakpoint;
|
||||
matchedValue = breakpointValRaw;
|
||||
}
|
||||
}
|
||||
|
||||
return matchedValue;
|
||||
}
|
||||
|
||||
const component = {
|
||||
props,
|
||||
|
||||
data() {
|
||||
return {
|
||||
displayColumns: 2,
|
||||
displayGutter: 0
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.reCalculate();
|
||||
});
|
||||
|
||||
// Bind resize handler to page
|
||||
if(window) {
|
||||
window.addEventListener('resize', this.reCalculate);
|
||||
}
|
||||
},
|
||||
|
||||
updated() {
|
||||
this.$nextTick(() => {
|
||||
this.reCalculate();
|
||||
});
|
||||
},
|
||||
|
||||
beforeDestroy() {
|
||||
if(window) {
|
||||
window.removeEventListener('resize', this.reCalculate);
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
// Recalculate how many columns to display based on window width
|
||||
// and the value of the passed `:cols=` prop
|
||||
reCalculate() {
|
||||
const previousWindowWidth = this.windowWidth;
|
||||
|
||||
this.windowWidth = (window ? window.innerWidth : null) || Infinity;
|
||||
|
||||
// Window resize events get triggered on page height
|
||||
// change which when loading the page can result in multiple
|
||||
// needless calculations. We prevent this here.
|
||||
if(previousWindowWidth === this.windowWidth) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._reCalculateColumnCount(this.windowWidth);
|
||||
|
||||
this._reCalculateGutterSize(this.windowWidth);
|
||||
},
|
||||
|
||||
_reCalculateGutterSize(windowWidth) {
|
||||
this.displayGutter = breakpointValue(this.gutter, windowWidth);
|
||||
},
|
||||
|
||||
_reCalculateColumnCount(windowWidth) {
|
||||
let newColumns = breakpointValue(this.cols, windowWidth);
|
||||
|
||||
// Make sure we can return a valid value
|
||||
newColumns = Math.max(1, Number(newColumns) || 0);
|
||||
|
||||
this.displayColumns = newColumns;
|
||||
},
|
||||
|
||||
_getChildItemsInColumnsArray() {
|
||||
const columns = [];
|
||||
let childItems = this.$slots.default || [];
|
||||
|
||||
// This component does not work with a child <transition-group /> ..yet,
|
||||
// so for now we think it may be helpful to ignore until we can find a way for support
|
||||
if(childItems.length === 1 && childItems[0].componentOptions && childItems[0].componentOptions.tag == 'transition-group') {
|
||||
childItems = childItems[0].componentOptions.children;
|
||||
}
|
||||
|
||||
// Loop through child elements
|
||||
for (let i = 0, visibleItemI = 0; i < childItems.length; i++, visibleItemI++) {
|
||||
// skip Vue elements without tags, which includes
|
||||
// whitespace elements and also plain text
|
||||
if(!childItems[i].tag) {
|
||||
visibleItemI--;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// Get the column index the child item will end up in
|
||||
const columnIndex = visibleItemI % this.displayColumns;
|
||||
|
||||
if(!columns[columnIndex]) {
|
||||
columns[columnIndex] = [];
|
||||
}
|
||||
|
||||
columns[columnIndex].push(childItems[i]);
|
||||
}
|
||||
|
||||
return columns;
|
||||
}
|
||||
},
|
||||
|
||||
render(createElement) {
|
||||
const columnsContainingChildren = this._getChildItemsInColumnsArray();
|
||||
const isGutterSizeUnitless = parseInt(this.displayGutter) === this.displayGutter * 1;
|
||||
const gutterSizeWithUnit = isGutterSizeUnitless ? `${this.displayGutter}px` : this.displayGutter;
|
||||
|
||||
const columnStyle = {
|
||||
boxSizing: 'border-box',
|
||||
backgroundClip: 'padding-box',
|
||||
width: `${100 / this.displayColumns}%`,
|
||||
border: '0 solid transparent',
|
||||
borderLeftWidth: gutterSizeWithUnit
|
||||
};
|
||||
|
||||
const columns = columnsContainingChildren.map((children, index) => {
|
||||
/// Create column element and inject the children
|
||||
return createElement(this.columnTag, {
|
||||
key: index + '-' + columnsContainingChildren.length,
|
||||
style: this.css ? columnStyle : null,
|
||||
class: this.columnClass,
|
||||
attrs: this.columnAttr
|
||||
}, children); // specify child items here
|
||||
});
|
||||
|
||||
const containerStyle = {
|
||||
display: ['-webkit-box', '-ms-flexbox', 'flex'],
|
||||
marginLeft: `-${gutterSizeWithUnit}`
|
||||
};
|
||||
|
||||
// Return wrapper with columns
|
||||
return createElement(
|
||||
this.tag, // tag name
|
||||
this.css ? { style: containerStyle } : null, // element options
|
||||
columns // column vue elements
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
const Plugin = function () {}
|
||||
|
||||
Plugin.install = function (Vue, options) {
|
||||
if (Plugin.installed) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(options && options.name) {
|
||||
Vue.component(options.name, component);
|
||||
} else {
|
||||
Vue.component(componentName, component);
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined' && window.Vue) {
|
||||
window.Vue.use(Plugin);
|
||||
}
|
||||
|
||||
export default Plugin;
|
||||
/* eslint-disable */
|
||||
// the component name `<masonry />`
|
||||
// can be overridden with `Vue.use(Masonry, { name: 'the-masonry' });`
|
||||
const componentName = 'masonry';
|
||||
|
||||
const props = {
|
||||
tag: {
|
||||
type: [String],
|
||||
default: 'div',
|
||||
},
|
||||
cols: {
|
||||
type: [Object, Number, String],
|
||||
default: 2,
|
||||
},
|
||||
gutter: {
|
||||
type: [Object, Number, String],
|
||||
default: 0,
|
||||
},
|
||||
css: {
|
||||
type: [Boolean],
|
||||
default: true,
|
||||
},
|
||||
columnTag: {
|
||||
type: [String],
|
||||
default: 'div',
|
||||
},
|
||||
columnClass: {
|
||||
type: [String, Array, Object],
|
||||
default: () => [],
|
||||
},
|
||||
columnAttr: {
|
||||
type: [Object],
|
||||
default: () => ({}),
|
||||
},
|
||||
};
|
||||
|
||||
// Get the resulting value from `:col=` prop
|
||||
// based on the window width
|
||||
const breakpointValue = (mixed, windowWidth) => {
|
||||
const valueAsNum = parseInt(mixed);
|
||||
|
||||
if (valueAsNum > -1) {
|
||||
return mixed;
|
||||
} if (typeof mixed !== 'object') {
|
||||
return 0;
|
||||
}
|
||||
|
||||
let matchedBreakpoint = Infinity;
|
||||
let matchedValue = mixed.default || 0;
|
||||
|
||||
for (const k in mixed) {
|
||||
const breakpoint = parseInt(k);
|
||||
const breakpointValRaw = mixed[breakpoint];
|
||||
const breakpointVal = parseInt(breakpointValRaw);
|
||||
|
||||
if (isNaN(breakpoint) || isNaN(breakpointVal)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const isNewBreakpoint = windowWidth <= breakpoint && breakpoint < matchedBreakpoint;
|
||||
|
||||
if (isNewBreakpoint) {
|
||||
matchedBreakpoint = breakpoint;
|
||||
matchedValue = breakpointValRaw;
|
||||
}
|
||||
}
|
||||
|
||||
return matchedValue;
|
||||
};
|
||||
|
||||
const component = {
|
||||
props,
|
||||
|
||||
data() {
|
||||
return {
|
||||
displayColumns: 2,
|
||||
displayGutter: 0,
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.reCalculate();
|
||||
});
|
||||
|
||||
// Bind resize handler to page
|
||||
if (window) {
|
||||
window.addEventListener('resize', this.reCalculate);
|
||||
}
|
||||
},
|
||||
|
||||
updated() {
|
||||
this.$nextTick(() => {
|
||||
this.reCalculate();
|
||||
});
|
||||
},
|
||||
|
||||
beforeDestroy() {
|
||||
if (window) {
|
||||
window.removeEventListener('resize', this.reCalculate);
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
// Recalculate how many columns to display based on window width
|
||||
// and the value of the passed `:cols=` prop
|
||||
reCalculate() {
|
||||
const previousWindowWidth = this.windowWidth;
|
||||
|
||||
this.windowWidth = (window ? window.innerWidth : null) || Infinity;
|
||||
|
||||
// Window resize events get triggered on page height
|
||||
// change which when loading the page can result in multiple
|
||||
// needless calculations. We prevent this here.
|
||||
if (previousWindowWidth === this.windowWidth) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._reCalculateColumnCount(this.windowWidth);
|
||||
|
||||
this._reCalculateGutterSize(this.windowWidth);
|
||||
},
|
||||
|
||||
_reCalculateGutterSize(windowWidth) {
|
||||
this.displayGutter = breakpointValue(this.gutter, windowWidth);
|
||||
},
|
||||
|
||||
_reCalculateColumnCount(windowWidth) {
|
||||
let newColumns = breakpointValue(this.cols, windowWidth);
|
||||
|
||||
// Make sure we can return a valid value
|
||||
newColumns = Math.max(1, Number(newColumns) || 0);
|
||||
|
||||
this.displayColumns = newColumns;
|
||||
},
|
||||
|
||||
_getChildItemsInColumnsArray() {
|
||||
const columns = [];
|
||||
let childItems = this.$slots.default || [];
|
||||
|
||||
// This component does not work with a child <transition-group /> ..yet,
|
||||
// so for now we think it may be helpful to ignore until we can find a way for support
|
||||
if (childItems.length === 1 && childItems[0].componentOptions && childItems[0].componentOptions.tag == 'transition-group') {
|
||||
childItems = childItems[0].componentOptions.children;
|
||||
}
|
||||
|
||||
// Loop through child elements
|
||||
for (let i = 0, visibleItemI = 0; i < childItems.length; i++, visibleItemI++) {
|
||||
// skip Vue elements without tags, which includes
|
||||
// whitespace elements and also plain text
|
||||
if (!childItems[i].tag) {
|
||||
visibleItemI--;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// Get the column index the child item will end up in
|
||||
const columnIndex = visibleItemI % this.displayColumns;
|
||||
|
||||
if (!columns[columnIndex]) {
|
||||
columns[columnIndex] = [];
|
||||
}
|
||||
|
||||
columns[columnIndex].push(childItems[i]);
|
||||
}
|
||||
|
||||
return columns;
|
||||
},
|
||||
},
|
||||
|
||||
render(createElement) {
|
||||
const columnsContainingChildren = this._getChildItemsInColumnsArray();
|
||||
const isGutterSizeUnitless = parseInt(this.displayGutter) === this.displayGutter * 1;
|
||||
const gutterSizeWithUnit = isGutterSizeUnitless ? `${this.displayGutter}px` : this.displayGutter;
|
||||
|
||||
const columnStyle = {
|
||||
boxSizing: 'border-box',
|
||||
backgroundClip: 'padding-box',
|
||||
width: `${100 / this.displayColumns}%`,
|
||||
border: '0 solid transparent',
|
||||
borderLeftWidth: gutterSizeWithUnit,
|
||||
};
|
||||
|
||||
const columns = columnsContainingChildren.map((children, index) =>
|
||||
// / Create column element and inject the children
|
||||
createElement(this.columnTag, {
|
||||
key: `${index}-${columnsContainingChildren.length}`,
|
||||
style: this.css ? columnStyle : null,
|
||||
class: this.columnClass,
|
||||
attrs: this.columnAttr,
|
||||
}, children), // specify child items here
|
||||
);
|
||||
|
||||
const containerStyle = {
|
||||
display: ['-webkit-box', '-ms-flexbox', 'flex'],
|
||||
marginLeft: `-${gutterSizeWithUnit}`,
|
||||
};
|
||||
|
||||
// Return wrapper with columns
|
||||
return createElement(
|
||||
this.tag, // tag name
|
||||
this.css ? { style: containerStyle } : null, // element options
|
||||
columns, // column vue elements
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
const Plugin = function () {};
|
||||
|
||||
Plugin.install = function (Vue, options) {
|
||||
if (Plugin.installed) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (options && options.name) {
|
||||
Vue.component(options.name, component);
|
||||
} else {
|
||||
Vue.component(componentName, component);
|
||||
}
|
||||
};
|
||||
|
||||
if (typeof window !== 'undefined' && window.Vue) {
|
||||
window.Vue.use(Plugin);
|
||||
}
|
||||
|
||||
export default Plugin;
|
||||
|
Loading…
Reference in New Issue
Block a user