diff --git a/package-lock.json b/package-lock.json index 6593400..3d19bcc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2478,27 +2478,27 @@ } }, "@smartcitiesdata/react-discovery-ui": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@smartcitiesdata/react-discovery-ui/-/react-discovery-ui-1.3.7.tgz", - "integrity": "sha512-X5Ltbha8OZykFaEh1yhIojNpIHg0jhLFqMhVBHQso2pEmyRpr5KTC2mEVT7WcGNiXTVbtR8U4h0KPx1HcWityQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@smartcitiesdata/react-discovery-ui/-/react-discovery-ui-1.4.0.tgz", + "integrity": "sha512-G8WLjk+HdSYVq9jSl6uJc1iPz3YGdKit7o/mxXjD1xKZWE+++H+0puhHB5hOLW1WSTzNjpIiEF4DtkGZAWp/ag==", "requires": { "@auth0/auth0-spa-js": "1.2.3", - "@babel/runtime": "^7.5.5", - "@material-ui/core": "^4.5.1", + "@babel/runtime": "^7.10.3", + "@material-ui/core": "^4.10.2", "@material-ui/icons": "^3.0.2", "acorn": ">=7.1.1", - "axios": "^0.19.0", - "handlebars": "^4.5.3", + "axios": "^0.19.2", + "handlebars": "^4.7.6", "leaflet": "^1.5.1", "lodash": "^4.17.12", "lodash.template": "^4.5.0", "minimist": ">=1.2.3", - "moment": "^2.24.0", - "node-sass": "^4.11.0", + "moment": "^2.27.0", + "node-sass": "^4.14.1", "normalize.css": "^8.0.1", "prismjs": "^1.20.0", "prop-types": "^15.6.0", - "qs": "^6.7.0", + "qs": "^6.9.4", "react": "~16.8.6", "react-autosize-textarea": "^7.1.0", "react-chart-editor": "^0.40.1", @@ -2509,13 +2509,13 @@ "react-gtm-module": "^2.0.4", "react-image-fallback": "^8.0.0", "react-json-view": "^1.19.1", - "react-leaflet": "^2.4.0", + "react-leaflet": "^2.7.0", "react-modal": "^3.11.2", "react-motion": "^0.5.2", "react-rangeslider": "^2.2.0", - "react-redux": "^7.1.1", - "react-router": "^5.0.1", - "react-router-dom": "^5.0.1", + "react-redux": "^7.2.0", + "react-router": "^5.2.0", + "react-router-dom": "^5.2.0", "react-sanitized-html": "^2.0.0", "react-share": "^2.4.0", "react-simple-code-editor": "^0.11.0", @@ -2525,12 +2525,78 @@ "redux": "^4.0.1", "redux-saga": "^0.16.2", "reselect": "^4.0.0", - "sanitize-html": "^1.20.1", + "sanitize-html": "^1.27.0", "storage2": "^0.1.0", "wait-on": "^3.3.0", - "write-json-file": "^4.2.0" + "write-json-file": "^4.3.0" }, "dependencies": { + "@babel/runtime": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", + "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "handlebars": { + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", + "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, "lodash.template": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", @@ -2544,6 +2610,132 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + } + } + }, + "qs": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", + "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==" + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -5131,6 +5323,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1", @@ -7178,8 +7371,7 @@ "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, "emojis-list": { "version": "2.1.0", @@ -9691,7 +9883,8 @@ "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true }, "get-canvas-context": { "version": "1.0.2", @@ -10510,6 +10703,7 @@ "version": "4.5.3", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", + "dev": true, "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -11527,7 +11721,8 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true }, "invert-permutation": { "version": "1.0.0", @@ -13434,6 +13629,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, "requires": { "invert-kv": "^1.0.0" } @@ -13515,7 +13711,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -13524,8 +13719,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" } } }, @@ -14672,6 +14866,7 @@ "version": "4.12.0", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", + "dev": true, "requires": { "async-foreach": "^0.1.3", "chalk": "^1.1.1", @@ -14982,6 +15177,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" @@ -14990,7 +15186,8 @@ "minimist": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true } } }, @@ -15047,6 +15244,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, "requires": { "lcid": "^1.0.0" } @@ -15107,7 +15305,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, "requires": { "p-try": "^2.0.0" } @@ -15116,7 +15313,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -15145,8 +15341,7 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "pad-left": { "version": "1.0.2", @@ -18139,7 +18334,8 @@ "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true }, "quantize": { "version": "1.0.2", @@ -18557,6 +18753,16 @@ "resolved": "https://registry.npmjs.org/react-gtm-module/-/react-gtm-module-2.0.10.tgz", "integrity": "sha512-7fRxphVxbJVCNWDQyegugZOrOw97vqwzbTSZlHM2n+otg2iBQvKa0SzFxwcLi9monXADjWGX6xQER6IOl75FPw==" }, + "react-hamburger-button": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/react-hamburger-button/-/react-hamburger-button-0.0.1.tgz", + "integrity": "sha512-D+Tty/ytGQrxNfhN2EUiv7zdtzWwf++5UabY7qMRSVb7RBZkrZDwz4fk3Tkc5UNG+LK+QZBA0ADE2iLEDDL4cA==" + }, + "react-hamburger-menu": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-hamburger-menu/-/react-hamburger-menu-1.2.1.tgz", + "integrity": "sha512-It5Jque8bx9lYn8q/NFtu9Ci20fBMsyunFSp06ZGgWXbMZlTFrN0IxKguGZ0igYQr6RvJ3S9CN3rTjrObmq/Cw==" + }, "react-image-fallback": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/react-image-fallback/-/react-image-fallback-8.0.0.tgz", @@ -19611,7 +19817,8 @@ "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "require-uncached": { "version": "1.0.3", @@ -20126,6 +20333,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, "requires": { "glob": "^7.0.0", "lodash": "^4.0.0", @@ -23626,7 +23834,8 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true }, "wide-align": { "version": "1.1.3", @@ -23667,6 +23876,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -23764,7 +23974,8 @@ "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true }, "yallist": { "version": "2.1.2", @@ -23783,6 +23994,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, "requires": { "camelcase": "^3.0.0", "cliui": "^3.2.0", @@ -23802,7 +24014,8 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true } } }, @@ -23810,6 +24023,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, "requires": { "camelcase": "^3.0.0" }, @@ -23817,7 +24031,8 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true } } }, diff --git a/package.json b/package.json index 78d8399..dd273ed 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,11 @@ "@fortawesome/fontawesome-svg-core": "^1.2.22", "@fortawesome/free-brands-svg-icons": "^5.10.2", "@fortawesome/react-fontawesome": "^0.1.4", - "@smartcitiesdata/react-discovery-ui": "^1.3.7", + "@smartcitiesdata/react-discovery-ui": "^1.4.0", "react": "~16.8.6", - "react-dom": "~16.8.6" + "react-dom": "~16.8.6", + "react-hamburger-button": "0.0.1", + "react-hamburger-menu": "^1.1.1" }, "devDependencies": { "@babel/cli": "^7.5.5", diff --git a/src/assets/browse.png b/src/assets/browse.png new file mode 100644 index 0000000..db90ec3 Binary files /dev/null and b/src/assets/browse.png differ diff --git a/src/assets/energy.png b/src/assets/energy.png new file mode 100644 index 0000000..85c5d67 Binary files /dev/null and b/src/assets/energy.png differ diff --git a/src/assets/environment.png b/src/assets/environment.png new file mode 100644 index 0000000..ff60c8d Binary files /dev/null and b/src/assets/environment.png differ diff --git a/src/assets/food.png b/src/assets/food.png new file mode 100644 index 0000000..ed61425 Binary files /dev/null and b/src/assets/food.png differ diff --git a/src/assets/health.png b/src/assets/health.png new file mode 100644 index 0000000..5ec9c36 Binary files /dev/null and b/src/assets/health.png differ diff --git a/src/assets/map.png b/src/assets/map.png new file mode 100644 index 0000000..d72a8b5 Binary files /dev/null and b/src/assets/map.png differ diff --git a/src/assets/mobility.png b/src/assets/mobility.png new file mode 100644 index 0000000..8572722 Binary files /dev/null and b/src/assets/mobility.png differ diff --git a/src/assets/parking.png b/src/assets/parking.png new file mode 100644 index 0000000..ae96720 Binary files /dev/null and b/src/assets/parking.png differ diff --git a/src/assets/projects.png b/src/assets/projects.png new file mode 100644 index 0000000..0c9d909 Binary files /dev/null and b/src/assets/projects.png differ diff --git a/src/assets/viz.png b/src/assets/viz.png new file mode 100644 index 0000000..fa803f5 Binary files /dev/null and b/src/assets/viz.png differ diff --git a/src/banner.html b/src/banner.html new file mode 100644 index 0000000..5b41fa4 --- /dev/null +++ b/src/banner.html @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/src/components/footer/footer.js b/src/components/footer/footer.js index f65076e..090b227 100644 --- a/src/components/footer/footer.js +++ b/src/components/footer/footer.js @@ -23,7 +23,7 @@ const Footer = props => {
< img src={smartStart} />
-
Smart Columbus Copyright ©2020. All rights reserved.
+
© 2020 Smart Columbus Operating System. All rights reserved.
) diff --git a/src/components/footer/footer.scss b/src/components/footer/footer.scss index 2b4cca3..a3cc7d5 100644 --- a/src/components/footer/footer.scss +++ b/src/components/footer/footer.scss @@ -21,10 +21,10 @@ footer { display:block; float:left; clear:right; - padding:0 50px 20px 0; + padding:0 30px 20px 0; text-align:left; width:25%; - font-size:15px; + font-size:13px; } .footer-wrapper{ @@ -42,23 +42,41 @@ footer { } .copyright{ - margin-top: 50px; - padding:14px; + margin-top:20px; + padding:4% 0 0 0; display:inline-block; + text-align:center; + width:92%; } .footerLeft{ - width:50%; + width:70%; float:left; margin:0px; } .footerRight{ - width:46%; + width:26%; text-align:right; padding:20px 0px 0 0; float:left; margin:0px; } + @media only screen and (max-width: 600px) { + .footer-wrapper { + background-image: none; + } + .footerLeft { + width:100%; + clear:both; + } + .footerRight { + display:none; + } + .footerLeft li { + width:100%; + } + } + } diff --git a/src/components/header/header.js b/src/components/header/header.js index 4663c30..39ac3fb 100644 --- a/src/components/header/header.js +++ b/src/components/header/header.js @@ -5,6 +5,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faTwitter, faFacebookF, faLinkedinIn } from "@fortawesome/free-brands-svg-icons" import cbusLogo from '../../assets/columbus-city-logo.png' import smrtLogo from '../../assets/smrt-logo.png' +import { HamburgerButton } from 'react-hamburger-button'; export default class Header extends Component { static defaultProps = { @@ -33,6 +34,12 @@ export default class Header extends Component { }); } + handleClick() { + this.setState({ + open: !this.state.open + }); + } + infoRow() { return (
@@ -61,6 +68,21 @@ export default class Header extends Component { ) } + hamBurger() { + return ( +
+
+ ) + } + navBar() { const aboutData = { title: 'ABOUT', @@ -91,7 +113,7 @@ export default class Header extends Component { return ( -
+
EXPLORE DATA SHARE DATA @@ -106,10 +128,11 @@ export default class Header extends Component { return (
- +
{this.infoRow()} + {this.hamBurger()} {this.navBar()}
diff --git a/src/components/header/header.scss b/src/components/header/header.scss index 28af1a4..401ec1a 100644 --- a/src/components/header/header.scss +++ b/src/components/header/header.scss @@ -1,9 +1,18 @@ +body { + overflow-x: hidden; +} +.body-dataset-lists header .nav-wrapper{ + border-bottom:none; +} +.body-dataset-detail main-app-element { + margin-top:100px; +} header { background-color: white; padding: 0; z-index: 1000; position: relative; - margin-bottom: 75px; + margin-bottom: 57px; a { text-decoration: none; @@ -21,12 +30,17 @@ header { top: 0; z-index: 100; margin-left: 20px; - padding-top: 7px; - padding-left: 7px; - padding-right: 7px; - background-color: white; } - + .hamburger { + float:right; + display:none; + padding:16px; + background:#1a1a1a; + position:fixed; + top:8px; + right:10px; + z-index:1; + } .nav-wrapper{ background-color: white; width: 100%; @@ -35,7 +49,13 @@ header { padding-right: 20px; padding-bottom: 10px; text-align: right; - box-shadow: 0 6px 7px 0 rgba(0,0,0,.15); + border-bottom: 1px solid #e2e0e0; + box-shadow: 0 6px 7px 0 rgba(0,0,0,.25); + } + + .nav-wrapper.pinned { + box-shadow: 0 6px 7px 0 rgba(0,0,0,.25); + border-bottom:none; } .nav-element{ @@ -73,8 +93,8 @@ header { } .rescale { - -webkit-animation: scale-up 0.4s ease forwards; - animation: scale-up 0.4s ease forwards; + -webkit-animation: scale-up 0.2s ease forwards; + animation: scale-up 0.2s ease forwards; } .right { @@ -84,8 +104,8 @@ header { } .scale-down { - -webkit-animation: scale-down 0.4s ease forwards; - animation: scale-down 0.4s ease forwards; + -webkit-animation: scale-down 0.2s ease forwards; + animation: scale-down 0.2s ease forwards; } .slogan, .slogan a { @@ -164,3 +184,154 @@ header { } } } +@media only screen and (max-width: 980px) { + header .nav-element { + font-size:12px; + padding: 10px 10px; + } +} +@media only screen and (max-width: 768px) { + dataset-list-view { + min-width:auto; + } + .hamburger { + display:block !important; + } + header .title, .social, .right { + display:none; + } + header .nav-element { + display:block; + font-size:16px; + } + header .nav-wrapper { + padding:0px; + padding-right:0; + padding-bottom:0; + width:50%; + height:100%; + position:fixed; + background-color:rgba(26,26,26,1); + top:0; + right:0px; + transition: 1s; + } + header .nav-element { + border:0; + color:#fff; + font-weight:normal; + text-align:left; + } + header .highlighted { + background-color:#1a1a1a; + } + header .nav-wrapper { + display:none; + } + header .nav-wrapper.open { + display:block; + } + nav-dropdown .dropdown-contents { + position:relative !important; + z-index: inherit 0 !important; + width:100%; + min-width:100%; + margin-top:0 !important; + padding-left:20px; + } + nav-dropdown .no-bottom:hover { + border-bottom: none !important; + } + nav-dropdown li { + line-height:1.2 +} + header .nav-element:hover { + background-color: #1a1a1a; + color: white; + border: none; + } +} + @media only screen and (max-width: 600px) { + main-app-element { + margin-top:60px; + } + header { + box-shadow: 0 6px 7px 0 rgba(0,0,0,.25); + top:0px; + height:60px; + width:100%; + margin-bottom:10px; + position:fixed; + } + header .wrapper { + margin:0px; + background:#ffffff; + } + .hamburger { + display:block !important; + } + header .logo { + margin-left:16px; + } + header .logo img{ + height:60px; + } + header .scale-down { + animation:none; + } + header .rescale { + animation:none; + } + header .title, .social, .right { + display:none; + } + header .nav-element { + display:block; + font-size:16px; + } + header .nav-wrapper { + padding:0px; + padding-right:0; + padding-bottom:0; + width:50%; + height:100%; + position:fixed; + background-color:rgba(26,26,26,1); + top:0; + right:0px; + transition: 1s; + display:none; + } + header .nav-element { + border:0; + color:#fff; + font-weight:normal; + text-align:left; + } + header .highlighted { + background-color:#1a1a1a; + } + + header .nav-wrapper.open { + display:block; + } + nav-dropdown .dropdown-contents { + position:relative !important; + z-index: inherit 0 !important; + width:100%; + min-width:100%; + margin-top:0 !important; + padding-left:20px; + } + nav-dropdown .no-bottom:hover { + border-bottom: none !important; + } + nav-dropdown li { + line-height:1.2 + } + header .nav-element:hover { + background-color: #1a1a1a; + color: white; + border: none; + } +} \ No newline at end of file diff --git a/src/components/home-banner/home-banner.js b/src/components/home-banner/home-banner.js index e1dfe6d..ec272ef 100644 --- a/src/components/home-banner/home-banner.js +++ b/src/components/home-banner/home-banner.js @@ -1,20 +1,31 @@ import './home-banner.scss' -import bannerOverlay from '../../assets/home-banner-overlay.png' +import projects from '../../assets/projects.png' +import mobility from '../../assets/mobility.png' +import parking from '../../assets/parking.png' +import environment from '../../assets/environment.png' +import energy from '../../assets/energy.png' +import health from '../../assets/health.png' +import food from '../../assets/food.png' +import viz from '../../assets/viz.png' +import map from '../../assets/map.png' +import browse from '../../assets/browse.png' const HomeBanner = _props => { return (
- - - - - - - - - - +
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
) diff --git a/src/components/home-banner/home-banner.scss b/src/components/home-banner/home-banner.scss index 2665061..55a3f27 100644 --- a/src/components/home-banner/home-banner.scss +++ b/src/components/home-banner/home-banner.scss @@ -1,13 +1,97 @@ +.body-dataset-lists home-banner{ + display:block; +} +.body-dataset-detail home-banner{ + display:none; +} home-banner{ - .banner-background { - background-image: url('../../assets/home-banner-background.jpg'); + .banner-background{ + background-image: url('../../assets/home-banner-background.jpg'); + min-height:160px; + margin:0px; + padding:0px; +} + .banner-background ul{ + list-style-type:none; + margin:0px; + padding:10px; + margin:0px auto; + width:90%; } + .banner-background li { + float:left; + display:block; + width:9%; + text-align:center; + padding:20px 4px; + position:relative; + } + .banner-background li img { + max-width:60%; + position: relative; + bottom:0px; + } + .banner-background li img.projects { + max-width:54%; + } + .banner-background li img.mobility { + max-width:80%; + } + .banner-background li img.parking { + max-width:40%; + } + .banner-background li img.environment { + max-width:66%; + } + .banner-background li img.energy { + max-width:36%; + } + .banner-background li img.health { + max-width:67%; + } + .banner-background li img.food { + max-width:61%; + } + .banner-background li img.browse { + margin-top:36px; + max-height:80%; + max-width:80%; + } + .banner-background li img.viz { + max-width:67%; + } + .banner-background li img.map { + max-width:67%; + } .banner-overlay { display: block; margin: 0px auto; - width: 1140px; + width: 100%; } - - } +@media only screen and (max-width: 1280px) { + home-banner{ + .banner-background ul{ + width:90%; + } + .banner-background{ + min-height:140px; + } +} +} +@media only screen and (max-width: 1000px) { + home-banner{ + .banner-background ul{ + width:100%; + } + .banner-background{ + min-height:120px; + } + } +} +@media only screen and (max-width: 768px) { + .body-dataset-lists home-banner { + display:none; + } +} diff --git a/src/index.html b/src/index.html index 9c488e0..489f4f0 100644 --- a/src/index.html +++ b/src/index.html @@ -5,7 +5,7 @@ - Datasets + Smart Columbus Operating System: Datasets