diff --git a/package-lock.json b/package-lock.json index 894a75c..c7425c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1947,70 +1947,6 @@ "chalk": "^4.0.0" } }, - "@mapbox/geojson-rewind": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", - "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", - "requires": { - "get-stream": "^6.0.1", - "minimist": "^1.2.6" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - } - } - }, - "@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", - "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==" - }, - "@mapbox/mapbox-gl-language": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-language/-/mapbox-gl-language-1.0.1.tgz", - "integrity": "sha512-gL58ojl7gaWLfbSISoB2QJEfTK3j+NKvPH9og0r+c3bd5BNqhY19Eb4OPfDc5+dGmjW03LhtZBc4n2b7Xn8kjA==" - }, - "@mapbox/mapbox-gl-supported": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-2.0.1.tgz", - "integrity": "sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==" - }, - "@mapbox/point-geometry": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", - "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" - }, - "@mapbox/tiny-sdf": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", - "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==" - }, - "@mapbox/unitbezier": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", - "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" - }, - "@mapbox/vector-tile": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", - "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", - "requires": { - "@mapbox/point-geometry": "~0.1.0" - } - }, - "@mapbox/whoots-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", - "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==" - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3881,14 +3817,6 @@ "@types/node": "*" } }, - "@types/supercluster": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-5.0.3.tgz", - "integrity": "sha512-XMSqQEr7YDuNtFwSgaHHOjsbi0ZGL62V9Js4CW45RBuRYlNWSW/KDqN+RFFE7HdHcGhJPtN0klKvw06r9Kg7rg==", - "requires": { - "@types/geojson": "*" - } - }, "@types/tapable": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", @@ -7511,11 +7439,6 @@ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" }, - "csscolorparser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" - }, "cssdb": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", @@ -8698,6 +8621,11 @@ } } }, + "enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==" + }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -10428,11 +10356,6 @@ "rbush": "^3.0.1" } }, - "geojson-vt": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", - "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -10491,11 +10414,6 @@ "assert-plus": "^1.0.0" } }, - "gl-matrix": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", - "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" - }, "glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", @@ -10593,11 +10511,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, - "grid-index": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", - "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" - }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -12649,6 +12562,14 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, "json3": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", @@ -12759,11 +12680,6 @@ "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" }, - "kdbush": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", - "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==" - }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -13139,35 +13055,6 @@ "object-visit": "^1.0.0" } }, - "mapbox-gl": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-2.15.0.tgz", - "integrity": "sha512-fjv+aYrd5TIHiL7wRa+W7KjtUqKWziJMZUkK5hm8TvJ3OLeNPx4NmW/DgfYhd/jHej8wWL+QJBDbdMMAKvNC0A==", - "requires": { - "@mapbox/geojson-rewind": "^0.5.2", - "@mapbox/jsonlint-lines-primitives": "^2.0.2", - "@mapbox/mapbox-gl-supported": "^2.0.1", - "@mapbox/point-geometry": "^0.1.0", - "@mapbox/tiny-sdf": "^2.0.6", - "@mapbox/unitbezier": "^0.0.1", - "@mapbox/vector-tile": "^1.3.1", - "@mapbox/whoots-js": "^3.1.0", - "csscolorparser": "~1.0.3", - "earcut": "^2.2.4", - "geojson-vt": "^3.2.1", - "gl-matrix": "^3.4.3", - "grid-index": "^1.1.0", - "kdbush": "^4.0.1", - "murmurhash-js": "^1.0.0", - "pbf": "^3.2.1", - "potpack": "^2.0.0", - "quickselect": "^2.0.0", - "rw": "^1.3.3", - "supercluster": "^8.0.0", - "tinyqueue": "^2.0.3", - "vt-pbf": "^3.1.3" - } - }, "marker-clusterer-plus": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/marker-clusterer-plus/-/marker-clusterer-plus-2.1.4.tgz", @@ -13616,11 +13503,6 @@ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, - "murmurhash-js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", - "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==" - }, "namespace-emitter": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", @@ -14495,15 +14377,6 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", - "requires": { - "ieee754": "^1.1.12", - "resolve-protobuf-schema": "^2.1.0" - } - }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -20307,11 +20180,6 @@ "uniq": "^1.0.1" } }, - "potpack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", - "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==" - }, "preact": { "version": "10.5.14", "resolved": "https://registry.npmjs.org/preact/-/preact-10.5.14.tgz", @@ -20464,11 +20332,6 @@ "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.4.tgz", "integrity": "sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg==" }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -21273,56 +21136,6 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, - "react-mapbox-gl": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-mapbox-gl/-/react-mapbox-gl-5.1.1.tgz", - "integrity": "sha512-8vGldFQf7pW8T5ZV2OOhwXoaBvfigB2F7dnhzaZ/bD5/KJzP9zprMbn0xMX95W3eqbKzGGHnwyD5DyTTwR6wGw==", - "requires": { - "@turf/bbox": "4.7.3", - "@turf/helpers": "4.7.3", - "@types/supercluster": "^5.0.1", - "deep-equal": "1.0.1", - "supercluster": "^7.0.0" - }, - "dependencies": { - "@turf/bbox": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-4.7.3.tgz", - "integrity": "sha512-78lSzSQuLHq0363sVlmkX9uxBejeWGyZhQBAh7oc1ucnsYsem1m4ynjDXG8/hKP4nG/yUFWPdV9xklezKdvzKw==", - "requires": { - "@turf/meta": "^4.7.3" - } - }, - "@turf/helpers": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-4.7.3.tgz", - "integrity": "sha512-hk5ANVazb80zK6tjJYAG76oCRTWMQo6SAFu5E1dVnlb2kT3FHLoPcOB9P11duwDafMwywz24KZ+FUorB5e728w==" - }, - "@turf/meta": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-4.7.4.tgz", - "integrity": "sha512-cvwz4EI9BjrgRHxmJ3Z3HKxq6k/fj/V95kwNZ8uWNLncCvrb7x1jUBDkQUo1tShnYdZ8eBgA+a2bvJmAM+MJ0A==" - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==" - }, - "kdbush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" - }, - "supercluster": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", - "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", - "requires": { - "kdbush": "^3.0.0" - } - } - } - }, "react-onclickoutside": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.11.2.tgz", @@ -21956,6 +21769,18 @@ "shepherd.js": "^8.0.0" } }, + "react-slick": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.29.0.tgz", + "integrity": "sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==", + "requires": { + "classnames": "^2.2.5", + "enquire.js": "^2.1.6", + "json2mq": "^0.2.0", + "lodash.debounce": "^4.0.8", + "resize-observer-polyfill": "^1.5.0" + } + }, "react-slidedown": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/react-slidedown/-/react-slidedown-2.4.5.tgz", @@ -22621,14 +22446,6 @@ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" }, - "resolve-protobuf-schema": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", - "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", - "requires": { - "protocol-buffers-schema": "^3.3.1" - } - }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -22983,11 +22800,6 @@ "aproba": "^1.1.1" } }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -23712,6 +23524,11 @@ "is-fullwidth-code-point": "^3.0.0" } }, + "slick-carousel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", + "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==" + }, "smoothscroll-polyfill": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", @@ -24243,6 +24060,11 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -24508,14 +24330,6 @@ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz", "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" }, - "supercluster": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", - "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", - "requires": { - "kdbush": "^4.0.2" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24900,11 +24714,6 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, - "threebox-plugin": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/threebox-plugin/-/threebox-plugin-2.2.7.tgz", - "integrity": "sha512-H87Nm4w1PfisHPHzavTGXlwIoJpx2+QU57GooQYIhF51lsg+U5A0KGf3Jrv/HWsLCGOwV2BTnv7UTLfpO1EccQ==" - }, "throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", @@ -25643,16 +25452,6 @@ "resolved": "https://registry.npmjs.org/voc/-/voc-1.2.0.tgz", "integrity": "sha512-BOuDjFFYvJdZO6e/N65AlaDItXo2TgyLjeyRYcqgAPkXpp5yTJcvkL2n+syO1r9Qc5g96tfBD2tuiMhYDmaGcA==" }, - "vt-pbf": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", - "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", - "requires": { - "@mapbox/point-geometry": "0.1.0", - "@mapbox/vector-tile": "^1.3.1", - "pbf": "^3.2.1" - } - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/package.json b/package.json index 20a457a..47fad8d 100644 --- a/package.json +++ b/package.json @@ -92,6 +92,7 @@ "react-scroll-up": "1.3.7", "react-select": "4.0.2", "react-shepherd": "3.3.0", + "react-slick": "^0.29.0", "react-slidedown": "2.4.5", "react-sortablejs": "6.0.0", "react-toastify": "7.0.3", @@ -103,6 +104,7 @@ "redux-thunk": "2.3.0", "sass": "1.26.8", "screenfull": "5.0.2", + "slick-carousel": "^1.8.1", "sortablejs": "1.12.0", "styled-components": "5.1.1", "sweetalert2": "10.14.0", diff --git a/src/@core/layouts/components/menu/vertical-menu/index.js b/src/@core/layouts/components/menu/vertical-menu/index.js index 24b9d23..3f558bc 100644 --- a/src/@core/layouts/components/menu/vertical-menu/index.js +++ b/src/@core/layouts/components/menu/vertical-menu/index.js @@ -10,6 +10,7 @@ import statics from '@src/navigation/statics'; import system from '@src/navigation/system'; import analysis from '@src/navigation/analysis'; import flightPlan from '@src/navigation/flightPlan'; +import reservation from '@src/navigation/reservation'; // ** Third Party Components import classnames from 'classnames'; @@ -43,6 +44,8 @@ const Sidebar = props => { return analysis; case 'flightPlan': return flightPlan; + case 'reservation': + return reservation; } }; diff --git a/src/@core/layouts/components/navbar/NavbarUser.js b/src/@core/layouts/components/navbar/NavbarUser.js index 9a91312..1b9454f 100644 --- a/src/@core/layouts/components/navbar/NavbarUser.js +++ b/src/@core/layouts/components/navbar/NavbarUser.js @@ -130,6 +130,18 @@ const NavbarUser = props => { 날씨 정보 + + handlerTopMenu('reservation')} + active={topMenuCd === 'reservation'} + // active={active === '2'} + // onClick={() => { + // toggle('2') + // }} + > + 도심항공교통(UAM) 예약 + + {/*
diff --git a/src/assets/css/custom.css b/src/assets/css/custom.css index 08254ec..e8341f0 100644 --- a/src/assets/css/custom.css +++ b/src/assets/css/custom.css @@ -406,9 +406,9 @@ h1.logo span{display:block;color:#f4f4f4;font-weight:bold;letter-spacing:2px;fon .tooltip-test{position:absolute;left:500px;top:500px;} .tooltip-box{background:#283046;padding:10px;border-radius:6px;position:relative;max-width:150px;word-break: break-all;} /* .tooltip-box div{text-align:left;font-size:13px;} */ -.tooltip-ti{border-bottom:1px solid #bbb;padding-bottom:4px;} +.tooltip-ti{border-bottom:1px solid #bbb;padding-bottom:2px;font-size:0.875rem;color:#f4f4f4} /* .tooltip-ti span, .tooltip-txt .ti{color:#f4f4f4;font-weight:400;} */ -.tooltip-txt{color:#f4f4f4;font-weight:400;font-size:12px} +.tooltip-txt{font-weight:400;font-size:12px;padding-top:4px;word-break: keep-all;} .tooltip-txt-list + .tooltip-txt-list{margin-top:4px;} .tooltip-box .arrow {position:absolute;bottom:-10px;left:50%;transform: translateX(-50%);display:block;width: 0px;height: 0px;border-top:10px solid #283046;border-bottom:10px solid none;border-right: 10px solid transparent;border-left: 10px solid transparent;} .tooltip-txt-list .ti:before{content:'/';margin:0 2px;} @@ -845,4 +845,80 @@ background-size: 75% auto; .box_4n div{width:50%;height:50vh;} .modal-video{display:flex;align-items: center;justify-content: center;} -.modal-video>.modal-content{height:90vh;} \ No newline at end of file +.modal-video>.modal-content{height:90vh;} + +.uam-reservation{min-width:1200px} +.uam-reservation .nav-link{transition:0.3s ease;-webkit-transition:0.3s ease;} +.uam-reservation .nav-link{border:0px;background-color:#242b3d} +.uam-reservation .nav-link.active span{font-weight:500} +.uam-reservation-header{display:flex;width:100%;align-items:center;justify-content:space-between;} +.uam-reservation-header h5{font-weight:500;} +.uam-reservation-header .step{display:flex;} +.uam-reservation-header .step li{font-size:0.875rem} +.uam-reservation-header .step li + li{margin-left:0.5rem} +.uam-reservation-tab-list{display:flex;} +.uam-reservation-tab-list .list{display: flex;justify-content:center;align-items:center;flex:1;background-color:#242b3d;padding:0.5rem;font-size:0.875rem;text-align:center;border-radius: 0.357rem;cursor:pointer;border:1px solid #404656;} +.uam-reservation-tab-list .list + .list{margin-left:0.5rem} +.step-wrap{margin-top:1rem;border-radius: 0.357rem;} +.step-box{padding:1rem;background-color:#242b3d;} +.step-box + .step-box{margin-top:1rem} +.step-box-ti{border-bottom:1px solid #404656;padding-bottom:0.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content: space-between;} +.step-box-ti h5{font-weight:500;font-size:1rem} +.step-box-city{display:flex;width:100%;} +.step-box-city-list{flex:1;} +.step-box-city-list .step-city-ti{background:#283046;border:1px solid #404656;padding:0.8rem 1.7rem;font-weight:500;text-align:center;} +.step-box-city-list + .step-box-city-list{margin-left:1rem} +.step-box-city-list ul li{padding:0.8rem 1.7rem;border:1px solid #404656;border-top:none;cursor: pointer;font-size:0.875rem} +.step-box-city-list ul li:hover{background:#2a3247;transition: 0.3s ease;-webkit-transition: 0.3s ease;} +.search-box-city{display:flex;width:100%;} +.search-city{display:flex;flex:1;justify-content:space-between;align-items:center;background:#404656;padding:0.8rem;font-size:0.875rem;border-radius:0.357rem;} +.search-city + .search-city{margin-left:1rem;} +.search-city .arrow svg{width:18px;margin-top:-2px;margin-left:4px;margin-right:4px} +.search-city .delete:hover svg{color:#ea5455;cursor: pointer;transition:0.3s ease;-webkit-transition:0.3s ease;} +.step-wrap .calendar{display:flex;justify-content:center;} +.step-wrap .calendar .dayContainer + .dayContainer{box-shadow:none;} +.step-wrap .passengers ul{display:flex;} +.step-wrap .passengers ul li{flex:1;} +.step-wrap .passengers ul li + li{margin-left:1rem;} +.step-wrap .passengers h6{font-size:0.875rem;font-weight:500;margin-bottom:0.5rem} +.step-wrap .passengers .btn-icon svg{margin-top:4px;} +.step-wrap .finish-btn{text-align:right;margin-top:1rem;} + +.active-step{color:rgba(255,255,255,0.8);font-weight:500;} +.inactive-step{color:rgba(255,255,255,0.4);} +.list.active {background-color: #7367f0;border-color:#7367f0;color:#fff;font-weight:500;} +.finish.active{background-color: #ff9f43;border-color:#ff9f43;color: #fff;} + +.step-reservation .uam-reservation-tab-list .btn{margin-left:1rem} +.step-box{padding:1rem;background-color:#242b3d;} +.step-reservation-header{text-align:center;} +.step-reservation-header .place{margin:0.5rem 0;} +.step-reservation-header .place span{font-size:1.5rem;font-weight:500;color:#fff} +.step-reservation-header .arrow svg{width:22px;margin-top:-2px;margin-left:8px;margin-right:8px} + +.fsm-box{padding:1rem} +.fsm-ti{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #404656;padding-bottom:0.5rem;margin-bottom:1rem} +.fsm-ti h5{font-weight:500} +.fsm-ti .btn-wrap button + button{margin-left:0.5rem} +.fsm-box .list-input label{font-size:0.875rem} + +.reservation-date .box{display:flex!important;flex-direction: column;align-items:center;justify-content:center;background:#404656;border:2px solid #404656;border-radius: 0.1rem;padding:0.5rem;cursor:pointer;min-height:80px} +.reservation-date .box.active{border-color: #7367f0;} +.reservation-date .box.active span{color:#fff;} +.reservation-date .box .date{display:block;font-size:0.875rem} +.reservation-date .box .state{font-size:1.25rem;font-weight:400;} +.reservation-date .box .rate{font-size:0.875rem;margin-left:4px} +.reservation-date .slick-slide{margin-left:1rem;max-width: 144px;} + +.reservation-table table{width:100%;margin:1rem auto} +.reservation-table table tr th, .reservation-table table tr td{vertical-align:middle;} +.reservation-table table thead{background:#343d55;font-size:1rem;} +.reservation-table table thead tr th{padding:0.8rem 0.4rem;font-weight:500;} +.reservation-table table tbody tr td{padding:0.8rem 0;} +.reservation-table table tbody tr td:nth-child(4) .amount{border-left:0;border-right:0} +.reservation-table table tbody tr td .amount{border:1px solid #404656;width:100%;height:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0px auto;line-height:1.2;} +.reservation-table table tbody tr td .rate{font-size:0.875rem;font-weight:400;margin-left:4px} +.reservation-table .state{font-size:1.25rem;font-weight:400} +.reservation-table .flight span{display:block;} +.reservation-table .seat{display:block;font-size:0.875rem;margin-top:6px;font-weight:400;} +.reservation-table .alltime .start, .reservation-table .alltime .arrive{font-size:1.25rem;font-weight:400;} \ No newline at end of file diff --git a/src/navigation/reservation/index.js b/src/navigation/reservation/index.js new file mode 100644 index 0000000..c9e39d0 --- /dev/null +++ b/src/navigation/reservation/index.js @@ -0,0 +1,13 @@ +export default [ + { + id: 'reservation_001', + title: '도심항공교통(UAM) 예약', + navLink: '#' + }, + { + id: 'reservation_001_01', + type: 'item', + title: '도심항공교통(UAM) 예약', + navLink: '/reservation' + } +]; diff --git a/src/router/routes/RouteReservation.js b/src/router/routes/RouteReservation.js new file mode 100644 index 0000000..0eec4e7 --- /dev/null +++ b/src/router/routes/RouteReservation.js @@ -0,0 +1,10 @@ +import { lazy } from 'react'; + +const RouteReservation = [ + { + path: '/reservation', + component: lazy(() => import('../../views/reservation/ReservationView')) + } +]; + +export default RouteReservation; diff --git a/src/router/routes/index.js b/src/router/routes/index.js index f557a51..bcf1d06 100644 --- a/src/router/routes/index.js +++ b/src/router/routes/index.js @@ -5,6 +5,7 @@ import RouteBasis from './RouteBasis'; import RouteDashboard from './RouteDashboard'; import RouteSystem from './RouteSystem'; import RouteWeather from './RouteWeather'; +import RouteReservation from './RouteReservation'; // ** Document title const TemplateTitle = '%s - Dron Control System'; @@ -20,6 +21,7 @@ const Routes = [ ...RouteBasis, ...RouteSystem, ...RouteWeather, + ...RouteReservation, { path: '/home', component: lazy(() => import('../../views/Home')) diff --git a/src/views/control/setting/ControlFsm.js b/src/views/control/setting/ControlFsm.js new file mode 100644 index 0000000..5dd79b2 --- /dev/null +++ b/src/views/control/setting/ControlFsm.js @@ -0,0 +1,423 @@ +import { useState } from 'react'; +import { Button, Row, Col, FormGroup, Label, Input, Modal, ModalHeader, ModalBody, CustomInput } from 'reactstrap'; + +export default function ControlFsm({ modal, handler }) { + return ( +
+ + + FSM 비행계획서 + + +
+
+
+
비행계획서 상세정보
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ +
+ + + + +
+ + + + +
+
+ + + + +
+ + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ ); +} diff --git a/src/views/control/setting/ControlReservation.js b/src/views/control/setting/ControlReservation.js index 7dd1d58..1040193 100644 --- a/src/views/control/setting/ControlReservation.js +++ b/src/views/control/setting/ControlReservation.js @@ -21,6 +21,7 @@ import { ReserveStep3, ReserveStep4 } from './steps'; +import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; export default function ControlReservation({ modal, handler }) { const [activeTab, setActiveTab] = useState(1); @@ -29,212 +30,75 @@ export default function ControlReservation({ modal, handler }) { const [isChoise, setIsChoise] = useState(false); const [search, setSearch] = useState(false); const [reserveStep, setReserveStep] = useState(1); + const titleName = '도심항공교통(UAM) 예약'; + function getStepColorClass(stepNumber, currentStep) { + return stepNumber === currentStep ? 'active-step' : 'inactive-step'; + } return ( -
- - + +
+
{search ? ( reserveStep !== 4 ? ( -
-
도심항공교통(UAM) 예약
-
-
    -
  • +
    +
    +
      +
    • ➀ 항공교통 조회
    • -
    • - ➁ 항공교통 선택{' '} -
    • -
    • - ➂ 탑승정보 입력{' '} +
    • + ➁ 항공교통 선택
    • -
    • - ➃ 결제 +
    • + ➂ 탑승정보 입력
    • +
    • ➃ 결제
    ) : ( -
    -
    도심항공교통(UAM) 예약
    -
    - 결제완료 -
    +
    +
    결제완료
    ) ) : ( - '도심항공교통(UAM) 예약' +
    +
      +
    • ➀ 항공교통 조회
    • +
    • ➁ 항공교통 선택
    • +
    • ➂ 탑승정보 입력
    • +
    • ➃ 결제
    • +
    +
    )} - - +
    +
    {!search ? ( -
    -
    -
      -
    • - ➀ 항공교통 조회 -
    • -
    • - ➁ 항공교통 선택{' '} -
    • -
    • - ➂ 탑승정보 입력{' '} -
    • -
    • - ➃ 결제 -
    • -
    -
    -
    -