feat: bring back cat blocks
No files matched your search
@@ -13,6 +13,7 @@
|
||||
"autoprefixer": "^9.0.1",
|
||||
"base64-loader": "1.0.0",
|
||||
"bowser": "1.9.4",
|
||||
"cat-blocks": "npm:scratch-blocks@0.1.0-prerelease.20220318143026",
|
||||
"classnames": "2.2.6",
|
||||
"computed-style-to-inline-style": "3.0.0",
|
||||
"copy-webpack-plugin": "6.4.1",
|
||||
@@ -7835,6 +7836,14 @@
|
||||
"ajv": "^6.9.1"
|
||||
}
|
||||
},
|
||||
"node_modules/amdefine": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
|
||||
"integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
|
||||
"engines": {
|
||||
"node": ">=0.4.2"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-colors": {
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
|
||||
@@ -9762,6 +9771,89 @@
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"node_modules/cat-blocks": {
|
||||
"name": "scratch-blocks",
|
||||
"version": "0.1.0-prerelease.20220318143026",
|
||||
"resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20220318143026.tgz",
|
||||
"integrity": "sha512-eYJYzjYt3fmF5a243eBIgQfNj+c3ApHFE8jkm1KV/tEiFanJ8XlLZay9LmbnhYhK0618+s0uEQrpJ9WC6xnX/Q==",
|
||||
"dependencies": {
|
||||
"exports-loader": "0.6.3",
|
||||
"google-closure-library": "20190301.0.0",
|
||||
"imports-loader": "0.6.5",
|
||||
"scratch-l10n": "3.14.20220317031619"
|
||||
}
|
||||
},
|
||||
"node_modules/cat-blocks/node_modules/big.js": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/cat-blocks/node_modules/exports-loader": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz",
|
||||
"integrity": "sha512-vBQgTnvmEB7qWmr7gzAzJRWptzYhkhvdXeH8sRnS//mIai6MgLZe1crlQ+VWTjCCXLlnhGuiuVMq0YfjA5AUOw==",
|
||||
"dependencies": {
|
||||
"loader-utils": "0.2.x",
|
||||
"source-map": "0.1.x"
|
||||
}
|
||||
},
|
||||
"node_modules/cat-blocks/node_modules/imports-loader": {
|
||||
"version": "0.6.5",
|
||||
"resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz",
|
||||
"integrity": "sha512-fYIzBL9JOzJszvfeSGSKVjAtkWEtPUwP+OWiUxIWApcxsYh3iqZWZAp8xjTuhsvqglhqaetxeLLTaYyxIv1d4Q==",
|
||||
"dependencies": {
|
||||
"loader-utils": "0.2.x",
|
||||
"source-map": "0.1.x"
|
||||
}
|
||||
},
|
||||
"node_modules/cat-blocks/node_modules/json5": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
"integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==",
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/cat-blocks/node_modules/loader-utils": {
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
|
||||
"integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==",
|
||||
"dependencies": {
|
||||
"big.js": "^3.1.3",
|
||||
"emojis-list": "^2.0.0",
|
||||
"json5": "^0.5.0",
|
||||
"object-assign": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/cat-blocks/node_modules/scratch-l10n": {
|
||||
"version": "3.14.20220317031619",
|
||||
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20220317031619.tgz",
|
||||
"integrity": "sha512-tDKXRFxKFob9htBeOu+873mujoePXc4sGQulWDdMVCM8cYz63geCWziX5fCwp2pu3pJKQLEth0ftd2eoXkT1RA==",
|
||||
"dependencies": {
|
||||
"@babel/cli": "^7.1.2",
|
||||
"@babel/core": "^7.1.2",
|
||||
"babel-plugin-react-intl": "^3.0.1",
|
||||
"transifex": "1.6.6"
|
||||
},
|
||||
"bin": {
|
||||
"build-i18n-src": "scripts/build-i18n-src.js",
|
||||
"tx-push-src": "scripts/tx-push-src.js"
|
||||
}
|
||||
},
|
||||
"node_modules/cat-blocks/node_modules/source-map": {
|
||||
"version": "0.1.43",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
|
||||
"integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==",
|
||||
"dependencies": {
|
||||
"amdefine": ">=0.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
@@ -14434,6 +14526,7 @@
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/ansi-regex": {
|
||||
@@ -14441,6 +14534,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -14451,6 +14545,7 @@
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/are-we-there-yet": {
|
||||
@@ -14458,6 +14553,7 @@
|
||||
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
|
||||
"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"delegates": "^1.0.0",
|
||||
@@ -14469,6 +14565,7 @@
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/brace-expansion": {
|
||||
@@ -14476,6 +14573,7 @@
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0",
|
||||
@@ -14487,6 +14585,7 @@
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
|
||||
"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/code-point-at": {
|
||||
@@ -14494,6 +14593,7 @@
|
||||
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
||||
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -14504,6 +14604,7 @@
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/console-control-strings": {
|
||||
@@ -14511,6 +14612,7 @@
|
||||
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
|
||||
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/core-util-is": {
|
||||
@@ -14518,14 +14620,15 @@
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"ms": "^2.1.1"
|
||||
@@ -14536,6 +14639,7 @@
|
||||
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
|
||||
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
@@ -14546,6 +14650,7 @@
|
||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/detect-libc": {
|
||||
@@ -14553,6 +14658,7 @@
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
|
||||
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
|
||||
"inBundle": true,
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"bin": {
|
||||
"detect-libc": "bin/detect-libc.js"
|
||||
@@ -14566,6 +14672,7 @@
|
||||
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
|
||||
"integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"minipass": "^2.2.1"
|
||||
@@ -14576,6 +14683,7 @@
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/gauge": {
|
||||
@@ -14583,6 +14691,7 @@
|
||||
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
|
||||
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"aproba": "^1.0.3",
|
||||
@@ -14600,6 +14709,7 @@
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
|
||||
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
@@ -14618,6 +14728,7 @@
|
||||
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
|
||||
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/iconv-lite": {
|
||||
@@ -14625,6 +14736,7 @@
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
@@ -14638,6 +14750,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
|
||||
"integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"minimatch": "^3.0.4"
|
||||
@@ -14648,6 +14761,7 @@
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"once": "^1.3.0",
|
||||
@@ -14659,13 +14773,24 @@
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/ini": {
|
||||
"version": "1.3.5",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/fsevents/node_modules/is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
@@ -14679,6 +14804,7 @@
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/minimatch": {
|
||||
@@ -14686,6 +14812,7 @@
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
@@ -14699,6 +14826,7 @@
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/minipass": {
|
||||
@@ -14706,6 +14834,7 @@
|
||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
|
||||
"integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
@@ -14717,6 +14846,7 @@
|
||||
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
|
||||
"integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"minipass": "^2.2.1"
|
||||
@@ -14726,8 +14856,8 @@
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"minimist": "0.0.8"
|
||||
@@ -14741,6 +14871,7 @@
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
|
||||
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/needle": {
|
||||
@@ -14748,6 +14879,7 @@
|
||||
"resolved": "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz",
|
||||
"integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"debug": "^4.1.0",
|
||||
@@ -14765,8 +14897,8 @@
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz",
|
||||
"integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
|
||||
"deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future",
|
||||
"inBundle": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"detect-libc": "^1.0.2",
|
||||
@@ -14789,6 +14921,7 @@
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
|
||||
"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"abbrev": "1",
|
||||
@@ -14803,6 +14936,7 @@
|
||||
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
|
||||
"integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/npm-packlist": {
|
||||
@@ -14810,6 +14944,7 @@
|
||||
"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz",
|
||||
"integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"ignore-walk": "^3.0.1",
|
||||
@@ -14821,6 +14956,7 @@
|
||||
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
|
||||
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"are-we-there-yet": "~1.1.2",
|
||||
@@ -14834,6 +14970,7 @@
|
||||
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
|
||||
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -14844,6 +14981,7 @@
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -14854,6 +14992,7 @@
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"wrappy": "1"
|
||||
@@ -14864,6 +15003,7 @@
|
||||
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
|
||||
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -14874,6 +15014,7 @@
|
||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -14884,6 +15025,7 @@
|
||||
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
|
||||
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"os-homedir": "^1.0.0",
|
||||
@@ -14895,6 +15037,7 @@
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -14905,6 +15048,7 @@
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
|
||||
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/rc": {
|
||||
@@ -14912,6 +15056,7 @@
|
||||
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
|
||||
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
|
||||
"inBundle": true,
|
||||
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"deep-extend": "^0.6.0",
|
||||
@@ -14928,6 +15073,7 @@
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/readable-stream": {
|
||||
@@ -14935,6 +15081,7 @@
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"core-util-is": "~1.0.0",
|
||||
@@ -14951,6 +15098,7 @@
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
|
||||
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"glob": "^7.1.3"
|
||||
@@ -14964,6 +15112,7 @@
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/safer-buffer": {
|
||||
@@ -14971,6 +15120,7 @@
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/sax": {
|
||||
@@ -14978,6 +15128,7 @@
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/semver": {
|
||||
@@ -14985,6 +15136,7 @@
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
|
||||
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver"
|
||||
@@ -14995,6 +15147,7 @@
|
||||
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
|
||||
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/signal-exit": {
|
||||
@@ -15002,6 +15155,7 @@
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
|
||||
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/string_decoder": {
|
||||
@@ -15009,6 +15163,7 @@
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
@@ -15019,6 +15174,7 @@
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"code-point-at": "^1.0.0",
|
||||
@@ -15034,6 +15190,7 @@
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
@@ -15047,6 +15204,7 @@
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
|
||||
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -15057,6 +15215,7 @@
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
|
||||
"integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"chownr": "^1.1.1",
|
||||
@@ -15076,6 +15235,7 @@
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
|
||||
"inBundle": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/wide-align": {
|
||||
@@ -15083,6 +15243,7 @@
|
||||
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
|
||||
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"string-width": "^1.0.2 || 2"
|
||||
@@ -15093,6 +15254,7 @@
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/fsevents/node_modules/yallist": {
|
||||
@@ -15100,6 +15262,7 @@
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
|
||||
"integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
|
||||
"inBundle": true,
|
||||
"license": "ISC",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
@@ -37032,6 +37195,11 @@
|
||||
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
|
||||
"requires": {}
|
||||
},
|
||||
"amdefine": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
|
||||
"integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg=="
|
||||
},
|
||||
"ansi-colors": {
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
|
||||
@@ -38624,6 +38792,77 @@
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"cat-blocks": {
|
||||
"version": "npm:scratch-blocks@0.1.0-prerelease.20220318143026",
|
||||
"resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20220318143026.tgz",
|
||||
"integrity": "sha512-eYJYzjYt3fmF5a243eBIgQfNj+c3ApHFE8jkm1KV/tEiFanJ8XlLZay9LmbnhYhK0618+s0uEQrpJ9WC6xnX/Q==",
|
||||
"requires": {
|
||||
"exports-loader": "0.6.3",
|
||||
"google-closure-library": "20190301.0.0",
|
||||
"imports-loader": "0.6.5",
|
||||
"scratch-l10n": "3.14.20220317031619"
|
||||
},
|
||||
"dependencies": {
|
||||
"big.js": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
|
||||
},
|
||||
"exports-loader": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.3.tgz",
|
||||
"integrity": "sha512-vBQgTnvmEB7qWmr7gzAzJRWptzYhkhvdXeH8sRnS//mIai6MgLZe1crlQ+VWTjCCXLlnhGuiuVMq0YfjA5AUOw==",
|
||||
"requires": {
|
||||
"loader-utils": "0.2.x",
|
||||
"source-map": "0.1.x"
|
||||
}
|
||||
},
|
||||
"imports-loader": {
|
||||
"version": "0.6.5",
|
||||
"resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-0.6.5.tgz",
|
||||
"integrity": "sha512-fYIzBL9JOzJszvfeSGSKVjAtkWEtPUwP+OWiUxIWApcxsYh3iqZWZAp8xjTuhsvqglhqaetxeLLTaYyxIv1d4Q==",
|
||||
"requires": {
|
||||
"loader-utils": "0.2.x",
|
||||
"source-map": "0.1.x"
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
"integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw=="
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
|
||||
"integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==",
|
||||
"requires": {
|
||||
"big.js": "^3.1.3",
|
||||
"emojis-list": "^2.0.0",
|
||||
"json5": "^0.5.0",
|
||||
"object-assign": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"scratch-l10n": {
|
||||
"version": "3.14.20220317031619",
|
||||
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20220317031619.tgz",
|
||||
"integrity": "sha512-tDKXRFxKFob9htBeOu+873mujoePXc4sGQulWDdMVCM8cYz63geCWziX5fCwp2pu3pJKQLEth0ftd2eoXkT1RA==",
|
||||
"requires": {
|
||||
"@babel/cli": "^7.1.2",
|
||||
"@babel/core": "^7.1.2",
|
||||
"babel-plugin-react-intl": "^3.0.1",
|
||||
"transifex": "1.6.6"
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.43",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
|
||||
"integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==",
|
||||
"requires": {
|
||||
"amdefine": ">=0.0.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
@@ -42549,6 +42788,11 @@
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
"bundled": true,
|
||||
"optional": true
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
"autoprefixer": "^9.0.1",
|
||||
"base64-loader": "1.0.0",
|
||||
"bowser": "1.9.4",
|
||||
"cat-blocks": "npm:scratch-blocks@0.1.0-prerelease.20220318143026",
|
||||
"classnames": "2.2.6",
|
||||
"computed-style-to-inline-style": "3.0.0",
|
||||
"copy-webpack-plugin": "6.4.1",
|
||||
|
||||
@@ -21,6 +21,9 @@ import MenuBar from '../menu-bar/menu-bar.jsx';
|
||||
import CostumeLibrary from '../../containers/costume-library.jsx';
|
||||
import BackdropLibrary from '../../containers/backdrop-library.jsx';
|
||||
import Watermark from '../../containers/watermark.jsx';
|
||||
import OldTimeyMode from '../oldtimey-mode/oldtimey-mode.jsx';
|
||||
import NinetiesMode from '../nineties-mode/nineties-mode.jsx';
|
||||
import PrehistoricMode from '../prehistoric-mode/prehistoric-mode.jsx';
|
||||
|
||||
import Backpack from '../../containers/backpack.jsx';
|
||||
import WebGlModal from '../../containers/webgl-modal.jsx';
|
||||
@@ -64,6 +67,7 @@ const GUIComponent = props => {
|
||||
backdropLibraryVisible,
|
||||
backpackHost,
|
||||
backpackVisible,
|
||||
blocksId,
|
||||
blocksTabVisible,
|
||||
cardsVisible,
|
||||
canChangeLanguage,
|
||||
@@ -87,6 +91,7 @@ const GUIComponent = props => {
|
||||
isRtl,
|
||||
isShared,
|
||||
isTelemetryEnabled,
|
||||
isTotallyNormal,
|
||||
loading,
|
||||
logo,
|
||||
renderLogin,
|
||||
@@ -160,6 +165,9 @@ const GUIComponent = props => {
|
||||
dir={isRtl ? 'rtl' : 'ltr'}
|
||||
{...componentProps}
|
||||
>
|
||||
<OldTimeyMode />
|
||||
<NinetiesMode />
|
||||
<PrehistoricMode />
|
||||
{telemetryModalVisible ? (
|
||||
<TelemetryModal
|
||||
isRtl={isRtl}
|
||||
@@ -222,6 +230,7 @@ const GUIComponent = props => {
|
||||
className={styles.menuBarPosition}
|
||||
enableCommunity={enableCommunity}
|
||||
isShared={isShared}
|
||||
isTotallyNormal={isTotallyNormal}
|
||||
logo={logo}
|
||||
renderLogin={renderLogin}
|
||||
showComingSoon={showComingSoon}
|
||||
@@ -300,6 +309,7 @@ const GUIComponent = props => {
|
||||
<TabPanel className={tabClassNames.tabPanel}>
|
||||
<Box className={styles.blocksWrapper}>
|
||||
<Blocks
|
||||
key={blocksId}
|
||||
canUseCloud={canUseCloud}
|
||||
grow={1}
|
||||
isVisible={blocksTabVisible}
|
||||
@@ -373,6 +383,7 @@ GUIComponent.propTypes = {
|
||||
backpackVisible: PropTypes.bool,
|
||||
basePath: PropTypes.string,
|
||||
blocksTabVisible: PropTypes.bool,
|
||||
blocksId: PropTypes.string,
|
||||
canChangeLanguage: PropTypes.bool,
|
||||
canCreateCopy: PropTypes.bool,
|
||||
canCreateNew: PropTypes.bool,
|
||||
@@ -393,6 +404,7 @@ GUIComponent.propTypes = {
|
||||
isPlayerOnly: PropTypes.bool,
|
||||
isRtl: PropTypes.bool,
|
||||
isShared: PropTypes.bool,
|
||||
isTotallyNormal: PropTypes.bool,
|
||||
loading: PropTypes.bool,
|
||||
logo: PropTypes.string,
|
||||
onActivateCostumesTab: PropTypes.func,
|
||||
@@ -429,6 +441,7 @@ GUIComponent.defaultProps = {
|
||||
backpackHost: null,
|
||||
backpackVisible: false,
|
||||
basePath: './',
|
||||
blocksId: 'original',
|
||||
canChangeLanguage: true,
|
||||
canCreateNew: false,
|
||||
canEditTitle: false,
|
||||
@@ -441,6 +454,7 @@ GUIComponent.defaultProps = {
|
||||
enableCommunity: false,
|
||||
isCreating: false,
|
||||
isShared: false,
|
||||
isTotallyNormal: false,
|
||||
loading: false,
|
||||
showComingSoon: false,
|
||||
stageSizeMode: STAGE_SIZE_MODES.large
|
||||
@@ -448,7 +462,8 @@ GUIComponent.defaultProps = {
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
// This is the button's mode, as opposed to the actual current state
|
||||
stageSizeMode: state.scratchGui.stageSize.stageSize
|
||||
stageSizeMode: state.scratchGui.stageSize.stageSize,
|
||||
blocksId: state.scratchGui.timeTravel.year.toString()
|
||||
});
|
||||
|
||||
export default injectIntl(connect(
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="238.5" height="108.5" viewBox="0,0,238.5,108.5"><g transform="translate(-120.75,-125.75)"><g data-paper-data="{"isPaintingLayer":true}" fill-rule="nonzero" stroke="none" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" style="mix-blend-mode: normal"><image x="241.5" y="251.5" transform="scale(0.5,0.5)" width="477" height="217" xlink:href="data:image/png;base64,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 truncated
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -39,7 +39,9 @@
|
||||
align-items: center;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.inactive {
|
||||
opacity: 0;
|
||||
}
|
||||
.scratch-logo {
|
||||
height: 1.6rem;
|
||||
vertical-align: middle;
|
||||
|
||||
@@ -31,6 +31,14 @@ import MenuBarHOC from '../../containers/menu-bar-hoc.jsx';
|
||||
|
||||
import {openTipsLibrary} from '../../reducers/modals';
|
||||
import {setPlayer} from '../../reducers/mode';
|
||||
import {
|
||||
isTimeTravel220022BC,
|
||||
isTimeTravel1920,
|
||||
isTimeTravel1990,
|
||||
isTimeTravel2020,
|
||||
isTimeTravelNow,
|
||||
setTimeTravel
|
||||
} from '../../reducers/time-travel';
|
||||
import {
|
||||
autoUpdateProject,
|
||||
getIsUpdating,
|
||||
@@ -58,7 +66,10 @@ import {
|
||||
languageMenuOpen,
|
||||
openLoginMenu,
|
||||
closeLoginMenu,
|
||||
loginMenuOpen
|
||||
loginMenuOpen,
|
||||
openModeMenu,
|
||||
closeModeMenu,
|
||||
modeMenuOpen
|
||||
} from '../../reducers/menus';
|
||||
|
||||
import collectMetadata from '../../lib/collect-metadata';
|
||||
@@ -74,6 +85,10 @@ import languageIcon from '../language-selector/language-icon.svg';
|
||||
import aboutIcon from './icon--about.svg';
|
||||
|
||||
import scratchLogo from './scratch-logo.svg';
|
||||
import ninetiesLogo from './nineties_logo.svg';
|
||||
import catLogo from './cat_logo.svg';
|
||||
import prehistoricLogo from './prehistoric-logo.svg';
|
||||
import oldtimeyLogo from './oldtimey-logo.svg';
|
||||
|
||||
import sharedMessages from '../../lib/shared-messages';
|
||||
|
||||
@@ -167,6 +182,7 @@ class MenuBar extends React.Component {
|
||||
'handleClickSaveAsCopy',
|
||||
'handleClickSeeCommunity',
|
||||
'handleClickShare',
|
||||
'handleSetMode',
|
||||
'handleKeyPress',
|
||||
'handleLanguageMouseUp',
|
||||
'handleRestoreOption',
|
||||
@@ -228,6 +244,36 @@ class MenuBar extends React.Component {
|
||||
}
|
||||
}
|
||||
}
|
||||
handleSetMode (mode) {
|
||||
return () => {
|
||||
// Turn on/off filters for modes.
|
||||
if (mode === '1920') {
|
||||
document.documentElement.style.filter = 'brightness(.9)contrast(.8)sepia(1.0)';
|
||||
document.documentElement.style.height = '100%';
|
||||
} else if (mode === '1990') {
|
||||
document.documentElement.style.filter = 'hue-rotate(40deg)';
|
||||
document.documentElement.style.height = '100%';
|
||||
} else {
|
||||
document.documentElement.style.filter = '';
|
||||
document.documentElement.style.height = '';
|
||||
}
|
||||
|
||||
// Change logo for modes
|
||||
if (mode === '1990') {
|
||||
document.getElementById('logo_img').src = ninetiesLogo;
|
||||
} else if (mode === '2020') {
|
||||
document.getElementById('logo_img').src = catLogo;
|
||||
} else if (mode === '1920') {
|
||||
document.getElementById('logo_img').src = oldtimeyLogo;
|
||||
} else if (mode === '220022BC') {
|
||||
document.getElementById('logo_img').src = prehistoricLogo;
|
||||
} else {
|
||||
document.getElementById('logo_img').src = this.props.logo;
|
||||
}
|
||||
|
||||
this.props.onSetTimeTravelMode(mode);
|
||||
};
|
||||
}
|
||||
handleRestoreOption (restoreFun) {
|
||||
return () => {
|
||||
restoreFun();
|
||||
@@ -390,6 +436,7 @@ class MenuBar extends React.Component {
|
||||
<div className={styles.fileGroup}>
|
||||
<div className={classNames(styles.menuBarItem)}>
|
||||
<img
|
||||
id="logo_img"
|
||||
alt="Scratch"
|
||||
className={classNames(styles.scratchLogo, {
|
||||
[styles.clickable]: typeof this.props.onClickLogo !== 'undefined'
|
||||
@@ -528,7 +575,55 @@ class MenuBar extends React.Component {
|
||||
)}</TurboMode>
|
||||
</MenuSection>
|
||||
</MenuBarMenu>
|
||||
|
||||
</div>
|
||||
{this.props.isTotallyNormal && (
|
||||
<div
|
||||
className={classNames(styles.menuBarItem, styles.hoverable, {
|
||||
[styles.active]: this.props.modeMenuOpen
|
||||
})}
|
||||
onMouseUp={this.props.onClickMode}
|
||||
>
|
||||
<div className={classNames(styles.editMenu)}>
|
||||
<FormattedMessage
|
||||
defaultMessage="Mode"
|
||||
description="Mode menu item in the menu bar"
|
||||
id="gui.menuBar.modeMenu"
|
||||
/>
|
||||
</div>
|
||||
<MenuBarMenu
|
||||
className={classNames(styles.menuBarMenu)}
|
||||
open={this.props.modeMenuOpen}
|
||||
place={this.props.isRtl ? 'left' : 'right'}
|
||||
onRequestClose={this.props.onRequestCloseMode}
|
||||
>
|
||||
<MenuSection>
|
||||
<MenuItem onClick={this.handleSetMode('NOW')}>
|
||||
<span className={classNames({[styles.inactive]: !this.props.modeNow})}>
|
||||
{'✓'}
|
||||
</span>
|
||||
{' '}
|
||||
<FormattedMessage
|
||||
defaultMessage="Normal mode"
|
||||
description="April fools: resets editor to not have any pranks"
|
||||
id="gui.menuBar.normalMode"
|
||||
/>
|
||||
</MenuItem>
|
||||
<MenuItem onClick={this.handleSetMode('2020')}>
|
||||
<span className={classNames({[styles.inactive]: !this.props.mode2020})}>
|
||||
{'✓'}
|
||||
</span>
|
||||
{' '}
|
||||
<FormattedMessage
|
||||
defaultMessage="Caturday mode"
|
||||
description="April fools: Cat blocks mode"
|
||||
id="gui.menuBar.caturdayMode"
|
||||
/>
|
||||
</MenuItem>
|
||||
</MenuSection>
|
||||
</MenuBarMenu>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<Divider className={classNames(styles.divider)} />
|
||||
<div
|
||||
@@ -777,11 +872,19 @@ MenuBar.propTypes = {
|
||||
isRtl: PropTypes.bool,
|
||||
isShared: PropTypes.bool,
|
||||
isShowingProject: PropTypes.bool,
|
||||
isTotallyNormal: PropTypes.bool,
|
||||
isUpdating: PropTypes.bool,
|
||||
languageMenuOpen: PropTypes.bool,
|
||||
locale: PropTypes.string.isRequired,
|
||||
loginMenuOpen: PropTypes.bool,
|
||||
logo: PropTypes.string,
|
||||
modeMenuOpen: PropTypes.bool,
|
||||
modeNow: PropTypes.bool,
|
||||
mode220022BC: PropTypes.bool,
|
||||
mode1920: PropTypes.bool,
|
||||
mode1990: PropTypes.bool,
|
||||
mode2020: PropTypes.bool,
|
||||
|
||||
onClickAbout: PropTypes.oneOfType([
|
||||
PropTypes.func, // button mode: call this callback when the About button is clicked
|
||||
PropTypes.arrayOf( // menu mode: list of items in the About menu
|
||||
@@ -792,11 +895,13 @@ MenuBar.propTypes = {
|
||||
)
|
||||
]),
|
||||
onClickAccount: PropTypes.func,
|
||||
onSetTimeTravelMode: PropTypes.func,
|
||||
onClickEdit: PropTypes.func,
|
||||
onClickFile: PropTypes.func,
|
||||
onClickLanguage: PropTypes.func,
|
||||
onClickLogin: PropTypes.func,
|
||||
onClickLogo: PropTypes.func,
|
||||
onClickMode: PropTypes.func,
|
||||
onClickNew: PropTypes.func,
|
||||
onClickRemix: PropTypes.func,
|
||||
onClickSave: PropTypes.func,
|
||||
@@ -812,6 +917,7 @@ MenuBar.propTypes = {
|
||||
onRequestCloseFile: PropTypes.func,
|
||||
onRequestCloseLanguage: PropTypes.func,
|
||||
onRequestCloseLogin: PropTypes.func,
|
||||
onRequestCloseMode: PropTypes.func,
|
||||
onSeeCommunity: PropTypes.func,
|
||||
onShare: PropTypes.func,
|
||||
onStartSelectingFileUpload: PropTypes.func,
|
||||
@@ -845,12 +951,18 @@ const mapStateToProps = (state, ownProps) => {
|
||||
languageMenuOpen: languageMenuOpen(state),
|
||||
locale: state.locales.locale,
|
||||
loginMenuOpen: loginMenuOpen(state),
|
||||
modeMenuOpen: modeMenuOpen(state),
|
||||
projectTitle: state.scratchGui.projectTitle,
|
||||
sessionExists: state.session && typeof state.session.session !== 'undefined',
|
||||
username: user ? user.username : null,
|
||||
userOwnsProject: ownProps.authorUsername && user &&
|
||||
(ownProps.authorUsername === user.username),
|
||||
vm: state.scratchGui.vm
|
||||
vm: state.scratchGui.vm,
|
||||
mode220022BC: isTimeTravel220022BC(state),
|
||||
mode1920: isTimeTravel1920(state),
|
||||
mode1990: isTimeTravel1990(state),
|
||||
mode2020: isTimeTravel2020(state),
|
||||
modeNow: isTimeTravelNow(state)
|
||||
};
|
||||
};
|
||||
|
||||
@@ -867,13 +979,16 @@ const mapDispatchToProps = dispatch => ({
|
||||
onRequestCloseLanguage: () => dispatch(closeLanguageMenu()),
|
||||
onClickLogin: () => dispatch(openLoginMenu()),
|
||||
onRequestCloseLogin: () => dispatch(closeLoginMenu()),
|
||||
onClickMode: () => dispatch(openModeMenu()),
|
||||
onRequestCloseMode: () => dispatch(closeModeMenu()),
|
||||
onRequestOpenAbout: () => dispatch(openAboutMenu()),
|
||||
onRequestCloseAbout: () => dispatch(closeAboutMenu()),
|
||||
onClickNew: needSave => dispatch(requestNewProject(needSave)),
|
||||
onClickRemix: () => dispatch(remixProject()),
|
||||
onClickSave: () => dispatch(manualUpdateProject()),
|
||||
onClickSaveAsCopy: () => dispatch(saveProjectAsCopy()),
|
||||
onSeeCommunity: () => dispatch(setPlayer(true))
|
||||
onSeeCommunity: () => dispatch(setPlayer(true)),
|
||||
onSetTimeTravelMode: mode => dispatch(setTimeTravel(mode))
|
||||
});
|
||||
|
||||
export default compose(
|
||||
|
||||
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 66.1 24.7" style="enable-background:new 0 0 66.1 24.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:#F9A83A;}
|
||||
</style>
|
||||
<path class="st0" d="M6.1,20.6c-0.5,0-0.9-0.1-1.4-0.2H0v-9.3h0.1C0.1,10.8,0,10.5,0,10.2c0-1.5,0.5-2.8,1.5-3.9
|
||||
c1.1-1.1,2.6-1.7,4.2-1.7c0.6,0,1.3,0.1,1.8,0.2l5.6,0.3l-2,6.8c0.6,0.8,1,1.7,1,2.7c0.1,1.5-0.4,2.9-1.4,4
|
||||
c-1.1,1.2-2.8,1.9-4.6,1.9L6.1,20.6z"/>
|
||||
<path class="st0" d="M14,20.6c-1.8,0-3.5-0.7-4.8-2C8.1,17.4,7.3,15.8,7,14l-0.6-0.1V8.7L8,8.5c1.4-2.4,3.6-3.8,6.1-3.8
|
||||
c3.5,0,5.4,2.5,6,3.9l1.3,3.3l-1.8,0.3v0.6l2.7,0.5l-2.3,3.7C18.7,19.3,16.5,20.6,14,20.6z"/>
|
||||
<path class="st0" d="M24.5,20.6c-0.5,0-1-0.1-1.5-0.2l-2.1,0h-5l-0.7-1.9c-0.1-0.3-0.2-0.6-0.3-0.9L14.5,15l1.5-0.4l0-0.4l-0.7-0.1
|
||||
v-3h-1.3l1.8-6.2l5.8,0c0.6,0,1.2,0,1.7,0.1l3.6-2.8l-0.9,4c0.7,0.5,1.3,1.2,1.7,2.1h1.2l0,3.2V14l-1.2,0.2c0,0,0,0,0,0l2.1,4
|
||||
l-2.1,1.5c-0.3,0.2-1.4,0.9-3,0.9L24.5,20.6z"/>
|
||||
<path class="st0" d="M34.5,20.4H24.2L22.6,15l1.3-0.3l-0.2,0l0.2-3.2l0-3.2l1.4,0c1.1-2.2,3.1-3.3,5.8-3.3h5.7l1.5,6.2h-1.1V14
|
||||
l-0.7,0.1l0,0.4l1.4,0.3l-0.4,2.7c0,0.3-0.2,0.7-0.2,0.7l-0.6,2.2L34.5,20.4z"/>
|
||||
<path class="st0" d="M41.7,20.4h-5.2l-0.6-2.1c0,0-0.1-0.4-0.2-0.7l-0.4-2.7l1.4-0.3v-0.1h-3.9l0.1-3.1c0,0,0-0.2,0-0.5l-1.6-0.2
|
||||
l0.9-3.3l0.7-2.4h14.6l1.7,5.8l-1.7,0.2c0,0.2,0,0.3,0,0.4l0.2,3.2l-4,0v0.1l1.4,0.3l-0.4,2.7c0,0.3-0.2,0.7-0.2,0.7l-0.6,2.2
|
||||
L41.7,20.4z"/>
|
||||
<path class="st0" d="M50,20.6c-1.8,0-3.5-0.7-4.8-2c-1.2-1.2-1.9-2.8-2.2-4.6l-0.6-0.1V8.7L44,8.5c1.4-2.4,3.6-3.8,6.1-3.8
|
||||
c3.5,0,5.4,2.5,6,3.9l1.3,3.3l-1.8,0.3v0.6l2.7,0.5L56,17.1C54.7,19.3,52.5,20.6,50,20.6z"/>
|
||||
<polygon class="st0" points="51.4,20.4 51,17.9 50.2,15 51.9,14.6 51.9,14.1 51,13.9 51.2,11.1 49.9,11.1 51.7,4.9 64.3,4.9
|
||||
66.1,11.1 64.7,11.1 64.7,13.9 64,14.1 64,14.5 65.9,15 64.3,20.4 "/>
|
||||
<path class="st1" d="M6.1,19.4c-0.5,0-0.9-0.1-1.3-0.2H1.2v-6.9h0.7c-0.4-0.6-0.6-1.3-0.7-2.1c0-1.1,0.4-2.2,1.2-3
|
||||
c0.9-0.9,2.1-1.4,3.4-1.4c0.6,0,1.2,0.1,1.6,0.2l4.3,0.2l-1.8,6c0.6,0.6,1.1,1.4,1.2,2.5c0.1,1.2-0.3,2.3-1.1,3.1
|
||||
c-0.9,1-2.3,1.5-3.7,1.5L6.1,19.4z"/>
|
||||
<path class="st1" d="M14,19.4c-1.5,0-2.9-0.6-3.9-1.6c-1.2-1.2-1.8-2.8-2-4.7l-0.5-0.1V9.7l1.2-0.2c0,0,0-0.1,0.1-0.1
|
||||
c1.1-2.3,3-3.6,5.3-3.6c2.9,0,4.4,2,4.9,3.2l0.8,2l-1.5,0.3v1h0.2v1.6l1.9,0.4l-1.4,2.2C18.2,17.8,16.7,19.4,14,19.4z"/>
|
||||
<path class="st1" d="M24.5,19.5c-0.9,0-1.6-0.3-2.1-0.6l-0.1,0.4l-1.3,0h-4.2l-0.4-1.1c-0.1-0.2-0.1-0.4-0.2-0.6l-0.3-1.6l1.3-0.3
|
||||
l0-2.4L16.4,13V9.9h-0.9l1.1-3.8l4.9,0c0.8,0,1.5,0.1,2,0.2L25,5.2l-0.3,1.6c1.3,0.7,2,1.8,2.3,2.7h0.8l0,2V13l-0.9,0.1
|
||||
c-0.3,0.8-0.8,1.6-1.4,2.1c0,0,0,0,0,0l1.2-0.4l1.6,3l-1.3,0.9c-0.2,0.1-1,0.7-2.3,0.7L24.5,19.5z"/>
|
||||
<path class="st1" d="M34.5,19.2h-9.4l-1-3.4l1.5-0.3l0-2.1l-0.6,0l0.1-1.9V9.4l1,0c1.3-3.3,4.1-3.3,5-3.3h4.8l0.9,3.8H36V13
|
||||
l-0.7,0.1l0,2.4l1.3,0.3l-0.2,1.6c0,0.2-0.1,0.5-0.1,0.5l-0.4,1.3L34.5,19.2z"/>
|
||||
<path class="st1" d="M41.7,19.2h-4.3L37,17.9c0,0-0.1-0.3-0.1-0.5l-0.2-1.6l1.3-0.3l0-2.2h-3.9l0.1-1.8c0,0,0-0.5,0-1.6l-1.3-0.2
|
||||
l0.6-2l0.5-1.5h12.8l1.1,3.6l-1.4,0.2c0,1.1,0,1.5,0,1.5l0.1,1.9l-3.9,0l0,2.2l1.3,0.3l-0.2,1.6c0,0.2-0.1,0.5-0.1,0.5l-0.4,1.3
|
||||
L41.7,19.2z"/>
|
||||
<path class="st1" d="M50,19.4c-1.5,0-2.9-0.6-3.9-1.6c-1.2-1.2-1.8-2.8-2-4.7l-0.5-0.1V9.7l1.2-0.2c0,0,0-0.1,0.1-0.1
|
||||
c1.1-2.3,3-3.6,5.3-3.6c2.9,0,4.4,2,4.9,3.2l0.8,2l-1.5,0.3v1h0.2v1.6l1.9,0.4L55,16.5C54.2,17.8,52.7,19.4,50,19.4z"/>
|
||||
<path class="st1" d="M52.4,19.2l-0.3-1.4l0-0.1l-0.5-1.8l1.5-0.4l0-2.4L52.3,13l0.2-3h-1l1.1-3.8h10.8l1.1,3.8h-1v3l-0.7,0.1v2.4
|
||||
l1.5,0.3l-1,3.4H52.4z M62.9,12.7L62.9,12.7z"/>
|
||||
<path class="st0" d="M8.1,10.9C8.1,9.3,7.4,8,6,8c-1.9,0-2.5,2.5-1,3.5c0.8,0.5,1.8,0.3,2,0l0.2,0.2c-0.2,0.2,0,0.7,0.3,0.9
|
||||
c0.6,0.4,1.7,1.1,1.8,2.3c0.2,2-1.7,2.8-3.2,2.7c-1.3-0.1-1.7-0.7-2.2-0.7c-0.5,0-0.5,0.5-0.5,0.5H3v-3.3h0.5c0,1.5,1.1,3.1,2.7,3.1
|
||||
c1.3,0,2.1-0.8,2-2.2c-0.2-1.6-2.4-1.9-2.9-1.6L5,13.3c0.2-0.2,0.1-0.6-0.2-0.7C4,12.1,3,11.3,3,10.1c0-1.4,1.2-2.5,2.8-2.5
|
||||
c1.9,0,2.7,1.2,2.7,1.2l0.2-0.9l0.7,0l-0.9,3H8.1z"/>
|
||||
<path class="st0" d="M17.5,15.5c-1.2,1.9-2.7,2.1-3.5,2.1c-2.6,0-4.1-2.4-4.1-5.2c0-0.6-0.2-0.8-0.5-0.9v-0.2c0.5-0.1,0.8-0.5,1-1
|
||||
c0.6-1.2,1.7-2.6,3.7-2.6c2.4,0,3.3,2,3.3,2c-0.2,0-0.8,0.5-0.8,1.5h-0.4c0-1.8-0.6-3.1-2.3-3.1c-1.4,0-2.1,1.3-2.2,1.8
|
||||
c-0.1,0.7,0.1,1.4,0.5,1.4v0.2c-0.5,0.1-0.9,0.4-0.9,1.6c0,1.4,0.6,4.1,2.7,4.1c1.6,0,2.3-1.3,2.2-3.1h0.4
|
||||
C16.7,15.1,17.4,15.5,17.5,15.5z"/>
|
||||
<path class="st0" d="M23.1,14.6c0.1,0.8,1.2,2.9,2.7,2.4l0.1,0.3c0,0-0.5,0.4-1.3,0.4c-1.3,0-2.1-0.9-2.8-2.4l0.3-0.4
|
||||
c-1.5,0-2.1-0.5-2.1-0.5s-0.1,1-0.1,1.5c0,0.9,0.4,1.1,1.1,1.3c0,0.1-0.1,0.3-0.1,0.3h-3c0,0-0.1-0.2-0.1-0.3
|
||||
c0.7-0.2,1.1-0.4,1.1-1.3v-3.2c0-0.8-0.4-1.1-0.7-1.2v-0.2h0c0.4,0,0.7-0.9,0.7-1.6c0-1.5-1.1-1.5-1.1-1.5l0.1-0.3h3.3
|
||||
c0.8,0,3.5-0.1,4,2.5c0.1,0.4,0.3,0.8,0.6,0.8h0v0.2c-0.3,0-0.5,0.3-0.7,0.9C24.8,13.7,23.8,14.3,23.1,14.6z M23.6,11.4v-0.2h0
|
||||
c0.3,0,0.8-0.4,0.6-1.3c-0.2-1.4-1.7-1.6-2.4-1.6c-0.4,0-1.7,0.1-1.9,1.4c-0.2,1.5,0.8,1.5,0.8,1.5v0.2c-0.4,0.1-0.8,0.3-0.8,1.2
|
||||
c0,1.1,0.9,1.8,1.9,1.8c1.3,0,2.4-0.7,2.4-1.8C24.3,12,24.1,11.6,23.6,11.4z M22.2,10.7c0.2,0.6,0.6,0.7,0.6,1.3
|
||||
c0,0.7-0.8,1.1-0.8,1.1s0.2-0.6,0-1.1c-0.2-0.4-0.5-0.6-0.5-1.2c0-0.6,0.7-1.2,0.7-1.2S22.1,10.2,22.2,10.7z"/>
|
||||
<path class="st0" d="M34.5,17.1c0,0.1-0.1,0.3-0.1,0.3h-3c0,0,0-0.2-0.1-0.3c0.7-0.2,1.1-0.4,1.1-1.3c0-1.7-1.5-3.5-3.3-3.5l0.1-0.3
|
||||
c1.4-0.1,2.5,0.5,3.2,1.4V9.9c0-1.2-0.6-1.6-1.7-1.6c-2.1,0-2.4,2.2-2.4,3v4.6c0,0.9,0.4,1.1,1.1,1.3l-0.1,0.3h-3l-0.1-0.3
|
||||
c0.7-0.2,1.1-0.4,1.1-1.3v-3.2c0,0,0-1.2-0.5-1.2v-0.2c0.5,0,0.6-0.5,0.6-0.5c0.8-2.9,2.6-2.9,3.6-2.9h3.3l0.1,0.3c0,0-1,0-1.1,1.5
|
||||
c0,1,0.3,1.6,0.7,1.6v0.2c-0.5,0.1-0.7,0.6-0.7,1.2v3.2C33.5,16.8,33.9,17,34.5,17.1z"/>
|
||||
<path class="st0" d="M44.5,9.5c0,1.5,0,2,0,2h-0.3c0,0,0.3-1.5-1-1.5l0-0.3c0.7,0,0.7-1.5-0.8-1.5c-1.1,0-1.6,0.5-1.7,1.4
|
||||
c-0.1,1,0.3,1.5,0.7,1.5v0.2c-0.3,0.1-0.7,0.3-0.7,1.2v3.2c0,0.9,0.4,1.1,1.1,1.3c0,0.1-0.1,0.3-0.1,0.3h-3c0,0,0-0.2-0.1-0.3
|
||||
c0.7-0.2,1.1-0.4,1.1-1.3v-3.2c0-0.8-0.3-1.1-0.7-1.2v-0.2c0.4-0.1,0.8-0.5,0.7-1.5c-0.1-0.9-0.6-1.4-1.8-1.4
|
||||
c-1.4,0-1.4,1.4-0.7,1.4l0,0.3c-1.3,0-1,1.4-1,1.5h-0.3c0,0,0-0.5,0-2c0-1.1-0.4-1.3-0.8-1.3l0.1-0.3h10.1l0.1,0.3
|
||||
C44.9,8.2,44.5,8.4,44.5,9.5z"/>
|
||||
<path class="st0" d="M53.5,15.5c-1.2,1.9-2.7,2.1-3.5,2.1c-2.6,0-4.1-2.4-4.1-5.2c0-0.6-0.2-0.8-0.5-0.9v-0.2c0.5-0.1,0.8-0.5,1-1
|
||||
c0.6-1.2,1.7-2.6,3.7-2.6c2.4,0,3.3,2,3.3,2c-0.2,0-0.8,0.5-0.8,1.5h-0.4c0-1.8-0.6-3.1-2.3-3.1c-1.4,0-2.1,1.3-2.2,1.8
|
||||
c-0.1,0.7,0.1,1.4,0.6,1.4v0.2c-0.5,0.1-0.9,0.4-0.9,1.6c0,1.4,0.6,4.1,2.7,4.1c1.6,0,2.3-1.3,2.2-3.1h0.4
|
||||
C52.7,15.1,53.3,15.5,53.5,15.5z"/>
|
||||
<path class="st0" d="M62.1,17.1l-0.1,0.3h-3c0,0,0-0.2-0.1-0.3c0.7-0.2,1.1-0.4,1.1-1.3V13c0-0.9-0.6-1.4-1.2-1.4h-1.7
|
||||
c-0.9,0-1.3,0.4-1.3,1.4v2.9c0,0.9,0.4,1.1,1.1,1.3l-0.1,0.3h-3c0,0,0-0.2-0.1-0.3c0.7-0.2,1.1-0.4,1.1-1.3v-3.2
|
||||
c0-0.8-0.3-1.1-0.7-1.2l0-0.2c0.4,0,0.7-0.9,0.7-1.6c0-1.5-1.1-1.5-1.1-1.5l0.1-0.3h3l0.1,0.3c0,0-1.1,0-1.1,1.5
|
||||
c0,1.2,0.4,1.6,1.3,1.6h1.7c0.7,0,1.2-0.7,1.2-1.6c0-1.5-1.1-1.5-1.1-1.5l0.1-0.3h3l0.1,0.3c0,0-1.1,0-1.1,1.5
|
||||
c0,0.8,0.3,1.6,0.7,1.6v0.2c-0.3,0.1-0.7,0.5-0.7,1.3v3.1C61.1,16.8,61.4,17,62.1,17.1z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.1 KiB |
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 66.1 24.7" style="enable-background:new 0 0 66.1 24.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:#F9A83A;}
|
||||
</style>
|
||||
<path class="st0" d="M12.1,21.3c-0.7-0.2-1.5-0.3-2.4-0.3H9.1c-0.2,0-0.8,0-2.7,0.2L4,21.4l-1-2.2c-0.8-1.8-1.1-2.5-1.2-3.1
|
||||
l-0.1-0.4v-1.1l0.4-0.8l0,0c0.2-0.4,0.4-0.7,0.7-0.9c-0.9-2.3-1-3.2-1-3.9V5.3h2.5L4.6,5l0.5-0.2c6.6-2.1,7.2-2.1,7.8-2.1h0.9l1.6,1
|
||||
l0.1,0c1.8,1.3,3.1,2.5,3.4,4.1c0.5,1.4,0.6,1.8,0.6,2.5v2.5L19.1,13l0.7,2.4v1c0,2.5-1.7,3.2-5.7,4.8l-1.1,0.4L12.1,21.3z"/>
|
||||
<path class="st0" d="M19.4,22.7c-0.7,0-1.3-0.1-1.9-0.3h-1.9l-0.8-2.2c-1.4-3.6-1.7-4.8-1.9-5.4l-0.3-1.5l0.8-1.1
|
||||
c0.1-0.2,0.3-0.6,0.7-1.5l0.3-0.6l0.5-0.4c0.9-0.8,2.2-1.4,4.4-1.9c0.6-0.2,1.1-0.2,1.6-0.2h0.1c0.5,0,1.2,0.1,2.5,0.4l1.3,0.3
|
||||
l0.7,1.2c0.5,0.9,1,1.9,1.3,3c0.1,0.4,0.2,0.9,0.2,1.3v2.4l0,0C27,16.5,27,16.8,27,17v0.6l-0.2,0.6c-0.6,1.7-1.6,2.5-2.4,2.9
|
||||
c-0.5,0.3-1.2,0.6-2.5,1c-0.8,0.4-1.6,0.6-2.4,0.6H19.4z"/>
|
||||
<path class="st0" d="M27,17.5l-0.5-0.9c-0.1,0-0.2,0.1-0.3,0.1c-0.6,0.3-1.2,0.5-2,0.5h-2.4L20.9,15c-0.5-1.5-0.7-2.1-0.7-2.8
|
||||
c0-0.8,0-2,0-3.7c-0.2-0.8-0.3-1.1-0.3-1.5V4.7L22,3.9c1.4-0.6,2.3-0.9,3.1-0.9c0.3,0,0.8-0.1,1.4-0.1c2.4,0,6.1,0,6.8,3
|
||||
C34,7.6,34.2,8.3,34.2,9c0,0.7-0.1,1.4-0.4,2c0,0,0,0,0,0.1l1.8,5.5h-3.4l-0.8,0.3c-1.7,0.6-2,0.7-2.6,0.7H27z"/>
|
||||
<path class="st0" d="M36.2,22.6c-1,0-1.8-0.4-2.5-1.1c-0.1,0-0.1,0-0.2,0c-0.9,0.6-1.8,0.8-2.4,1l-0.4,0.1h-3.3l-0.9-2
|
||||
c-0.5-1.1-0.7-1.8-0.7-2.6v-2.7l0.4-0.8c0.6-1.1,1.8-2.7,3.7-5l0.6-0.7l0.9-0.3c1.1-0.4,2-0.7,2.8-0.9l0.4-0.1h2
|
||||
c2.5,0,3,1.3,4.2,5.2h0l0,0.1c0.1,0.2,0.3,1.1,0.3,1.1v0.3c0.1,0.5,0.3,1.1,0.5,1.9l0.2,0.5v4.7l-2.2,0.8c-0.8,0.3-1.4,0.4-2,0.4
|
||||
H36.2z"/>
|
||||
<path class="st0" d="M36.4,18.6c-0.7-1.4-1.3-3-1.7-5c-0.1-0.2-0.1-0.4-0.2-0.5l-0.3-0.2c-1-0.7-1.3-1.6-2.1-3.9l-1-2.9l2.7-1.3
|
||||
C35.5,4,37,3.5,38.4,3.5c0.1,0,0.7,0,4.8-0.4l0.3,0l0.3,0c0.5,0,0.9,0.1,1.4,0.1c2.9,0,3.6,2.6,4.3,5.5l0.5,2.5l-1.5,1.3
|
||||
c-0.4,0.4-1,0.7-2.1,1.2V14l-0.2,0.5c-0.1,0.2-0.2,0.7-0.2,1.4c0,3.1-3.3,3.9-5.8,4.5L37.6,21L36.4,18.6z"/>
|
||||
<path class="st0" d="M46.2,23.8c-0.7,0-1.3-0.1-2-0.3h-1.9l-0.8-2.2c-1.4-3.6-1.7-4.8-1.9-5.4l-0.3-1.5l0.8-1.1
|
||||
c0.1-0.2,0.3-0.6,0.7-1.5l0.3-0.6l0.5-0.4c0.9-0.8,2.2-1.4,4.4-1.9c0.6-0.2,1.1-0.2,1.6-0.2h0.1c0.5,0,1.2,0.1,2.5,0.4l1.3,0.3
|
||||
l0.7,1.2c0.5,0.9,1,1.9,1.3,3c0.1,0.4,0.2,0.9,0.2,1.3v2.4l0,0c0.1,0.3,0.1,0.6,0.1,0.8v0.6l-0.2,0.6c-0.6,1.7-1.6,2.5-2.4,2.9
|
||||
c-0.5,0.3-1.2,0.6-2.5,1c-0.8,0.4-1.6,0.6-2.4,0.6H46.2z"/>
|
||||
<path class="st0" d="M50.9,22.5c-2.3-0.5-3.1-2.7-3.8-4.9L46.9,17v-1.2l0.1-0.4c0.6-2.3,0.8-3.3,0.9-3.6c0-0.4-0.1-0.8-0.1-1.6
|
||||
l-0.1-2.3l2.1-0.9c1.8-0.8,2.6-1,3.4-1h0.9L55,6.3c0.2,0.1,0.3,0.2,0.5,0.3c1-0.6,2.3-1,3.4-1.3l0.4-0.1h0.6c2.5,0,3.6,2.2,4.2,4
|
||||
h1.3l-1.1,4.2c0,0.1-0.1,0.4-0.1,1.1c0,0.2,0,0.3,0,0.5v1.1c0,0.1,0,0.3,0.1,0.7l0.1,0.3v0.3c0,2.7-2.3,3.6-5.3,4.7l-0.6,0.2h-2.7
|
||||
l-0.6-1c-0.6,0.3-1.5,0.6-2.7,1l-0.9,0.3L50.9,22.5z"/>
|
||||
<path class="st1" d="M12.5,19.7c-0.9-0.2-1.8-0.4-2.9-0.4H9.1c-0.3,0-1.1,0-2.9,0.2l-1.2,0.1l-0.5-1.1c-0.8-1.8-1-2.4-1.1-2.7l0-0.2
|
||||
v-0.6l0.2-0.4c0.2-0.4,0.6-0.7,1.3-1.1c-1.3-3.3-1.4-4.1-1.4-4.6V7h1.3C4.9,6.9,5,6.8,5.2,6.7l0.2-0.1l0.2-0.1c6.3-2,6.9-2,7.3-2
|
||||
h0.5l1.2,0.7l0.1,0c1.8,1.3,2.6,2.2,2.7,3.1C18,9.8,18,10,18,10.3v1.3L17,12l1.1,3.7v0.7c0,1.4-0.9,1.7-4.6,3.2l-0.5,0.2L12.5,19.7z
|
||||
"/>
|
||||
<path class="st1" d="M19.4,21c-0.6,0-1.1-0.1-1.6-0.3h-1.1l-0.4-1.1c-1.4-3.5-1.7-4.6-1.8-5.1l-0.1-0.7l0.4-0.6c0,0,0,0,0,0
|
||||
c0,0,0.2-0.3,0.8-1.6l0.1-0.3l0.2-0.2c0.7-0.6,1.8-1.1,3.7-1.5c0.5-0.1,0.8-0.2,1.2-0.2h0.1c0.3,0,0.8,0.1,2.1,0.4l0.7,0.2l0.4,0.6
|
||||
c0.5,0.7,0.8,1.6,1.1,2.5c0.1,0.3,0.2,0.6,0.2,0.9V15l-0.4,0.2c0.1,0.2,0.2,0.5,0.2,0.7c0.2,0.4,0.3,0.8,0.3,1.2v0.3l-0.1,0.3
|
||||
c-0.4,1.1-1.1,1.7-1.6,2c-0.4,0.2-1,0.5-2.4,0.9c-0.6,0.3-1.1,0.5-1.8,0.5H19.4z"/>
|
||||
<path class="st1" d="M28,15.8l-0.3-0.5c-0.2-0.1-0.5-0.3-1.2-0.6c-0.2,0.2-0.6,0.3-1,0.4c-0.6,0.3-1,0.4-1.4,0.4h-1.2l-0.4-1.1
|
||||
c-0.5-1.4-0.6-1.8-0.6-2.2c0-0.8,0-2.1,0-3.9c-0.3-1-0.3-1-0.3-1.3V5.9l1-0.4c1.5-0.6,2.2-0.8,2.6-0.8c0.2,0,0.6-0.1,1.3-0.1
|
||||
c2.3,0,4.8,0,5.2,1.8c0.7,1.8,0.8,2.2,0.8,2.6c0,0.7-0.2,1.4-0.5,1.9c0.1,0.2,0.2,0.4,0.2,0.6l1.1,3.4h-1.7l-0.2,0.2L31,15.2
|
||||
c-1.6,0.5-1.8,0.6-2.1,0.6H28z"/>
|
||||
<path class="st1" d="M36.2,20.9c-0.8,0-1.3-0.4-1.6-0.9c-0.6-0.1-1.1-0.2-1.7-0.2c-0.6,0.7-1.7,0.9-2.3,1.1l-0.2,0h-2l-0.4-1
|
||||
c-0.4-1-0.6-1.5-0.6-1.9v-2.2l0.2-0.4c0.6-1,1.7-2.6,3.6-4.8l0.3-0.4l0.4-0.2c1-0.4,1.9-0.7,2.6-0.8l0.2,0h1.8
|
||||
c1.4,0,1.5,0.5,2.8,4.8l0.1,0.2v0.3c0,0,0,0,0,0c0,0,0.1,0.5,0.6,2.2l0.1,0.2v3.3L39,20.6c-0.6,0.2-1,0.3-1.4,0.3H36.2z"/>
|
||||
<path class="st1" d="M37.9,17.8c-0.7-1.3-1.2-2.9-1.6-4.7c-0.2-0.4-0.3-0.9-0.3-1.3l-0.4,0l-0.4-0.3c-0.5-0.4-0.7-0.8-1.5-3.1
|
||||
L33.2,7l1.4-0.7c1.5-0.7,2.8-1.1,3.8-1.1c0.1,0,0.9,0,4.9-0.4l0.1,0l0.1,0c0.5,0,1,0.1,1.5,0.1c1.6,0,2,1.5,2.7,4.2l0.3,1.4
|
||||
l-0.7,0.6c-0.3,0.3-0.8,0.6-2.3,1.3l-0.4,0.2l0,0c0.1,0.5,0.1,0.6,0.1,0.8v0.3L44.6,14c-0.2,0.5-0.3,1.1-0.3,1.9
|
||||
c0,1.7-1.9,2.2-4.5,2.9L38.5,19L37.9,17.8z"/>
|
||||
<path class="st1" d="M46.2,22.1c-0.6,0-1.1-0.1-1.6-0.3h-1.1l-0.4-1.1c-1.4-3.5-1.7-4.6-1.8-5.1l-0.1-0.7l0.5-0.6c0,0,0,0,0,0
|
||||
c0,0,0.2-0.3,0.8-1.6l0.1-0.3l0.2-0.2c0.7-0.6,1.8-1.1,3.7-1.5c0.5-0.1,0.8-0.2,1.2-0.2h0.1c0.3,0,0.8,0.1,2.1,0.4l0.7,0.2l0.4,0.6
|
||||
c0.5,0.7,0.8,1.6,1.1,2.5c0.1,0.3,0.2,0.6,0.2,0.9v1.2l-0.4,0.2c0.1,0.2,0.2,0.5,0.2,0.7c0.2,0.4,0.3,0.8,0.3,1.2v0.3l-0.1,0.3
|
||||
c-0.4,1.1-1.1,1.7-1.6,2c-0.4,0.2-1,0.5-2.4,0.9c-0.6,0.3-1.1,0.5-1.8,0.5H46.2z"/>
|
||||
<path class="st1" d="M51.3,20.8c-1.2-0.2-1.7-1.3-2.5-3.8l-0.1-0.3v-0.7l0.1-0.2c0.7-2.8,0.9-3.8,0.9-4.1c0-0.3-0.1-0.8-0.1-1.7
|
||||
l0-1.2l1.1-0.5c1.7-0.8,2.3-0.9,2.8-0.9h0.5l0.4,0.2c0.4,0.3,0.7,0.6,1.1,1.5C55.8,8,57.6,7.4,59.3,7l0.2-0.1h0.4
|
||||
c1.6,0,2.2,1.6,2.8,3.7l0.1,0.2v0.1h0.4l-0.5,2.1c0,0,0,0.3-0.2,1.4c0,0.1,0,0.3,0,0.5v1.2c0,0,0,0.2,0.2,0.9l0,0.2v0.2
|
||||
c0,1.4-1.3,2-4.2,3.1l-0.3,0.1h-1.4l-0.5-1c-0.2-0.5-0.4-0.9-0.6-1.3v0.7L55,19.6c-0.5,0.3-1.4,0.7-2.8,1.1l-0.4,0.1L51.3,20.8z"/>
|
||||
<path class="st0" d="M13,6.2l0.7,0.4c1.4,1,2.1,1.7,2.1,2.1c0.4,1,0.6,1.5,0.6,1.6v0.1L14,11.3c-1.1-1.1-1.8-1.7-2.1-1.7
|
||||
C11,9.8,10.4,10,10.1,10l0.1,0.1c0,0.2,0,0.6-0.1,1l0.1,0.1h1c2,0,3.4,0.4,4.1,1.1l1.1,3.6v0.5c0,0.1-1.2,0.7-3.5,1.6
|
||||
c-1-0.3-2.1-0.4-3.3-0.4H9.1c-0.5,0-1.5,0.1-3,0.2c-0.6-1.2-0.9-2-1-2.3v-0.1c0.1-0.2,0.9-0.6,2.3-1.1c0.3,0,0.8,0,1.4,0.1l0.5-0.1
|
||||
l1.9,0.1c0.1,0,0.2-0.1,0.2-0.1h0.3c0-0.3-0.3-0.5-0.8-0.5c-2.6-0.3-4-0.5-4.2-0.5c-1-2.5-1.5-4-1.5-4.5V8.7c0.1,0,0.4-0.2,1-0.5
|
||||
C10.2,6.8,12.5,6.2,13,6.2z"/>
|
||||
<path class="st0" d="M20.8,11h0.1c0.2,0,0.8,0.1,1.7,0.3c0.4,0.6,0.7,1.3,0.9,2.1c0.1,0.2,0.1,0.4,0.1,0.4c-1,0.4-1.6,0.5-2,0.5
|
||||
c0,0.1-0.1,0.1-0.2,0.1h0C21.2,14.1,21,14,20.9,14h-0.4c-0.2,0-0.4,0-0.7,0c-0.4,0.9-0.7,1.5-0.7,1.7c0.7,0.6,1.3,0.9,1.7,1h0.1
|
||||
c0.3,0,0.5-0.3,0.6-0.8c0.1,0,0.6-0.2,1.5-0.5c0.1,0,0.2,0.3,0.4,1c0.1,0.2,0.2,0.4,0.2,0.6v0c-0.2,0.5-0.5,0.9-0.9,1.1
|
||||
c-0.2,0.2-0.9,0.4-2.2,0.8c-0.3,0.2-0.7,0.3-1.1,0.3h-0.1c-0.5,0-0.9-0.1-1.3-0.4L18,19h-0.2c-1-2.5-1.5-4.1-1.7-4.8
|
||||
c0.1-0.1,0.4-0.7,1-1.9c0.4-0.4,1.4-0.8,2.9-1.2C20.4,11,20.6,11,20.8,11z"/>
|
||||
<path class="st0" d="M26.5,6.3c2.3,0,3.5,0.2,3.5,0.5c0.5,1.3,0.8,2,0.8,2.2c0,0.7-0.3,1.2-0.9,1.4c-0.5,0.2-0.9,0.4-1,0.5
|
||||
c1,0.3,1.5,0.6,1.5,1l0.4,1.3c-0.1,0-0.2,0.1-0.5,0.4c-1,0.3-1.5,0.5-1.5,0.5c-0.1-0.2-1.3-0.8-3.4-1.7l0,0.7c0,0.2-0.2,0.4-0.7,0.4
|
||||
c-0.4,0.2-0.7,0.3-0.8,0.3c-0.3-0.9-0.5-1.5-0.5-1.6c0-0.8,0-2.2,0-4.2c-0.2-0.7-0.3-1-0.3-1c1.1-0.5,1.8-0.7,2.1-0.7
|
||||
C25.5,6.3,25.9,6.3,26.5,6.3z M25.7,8.4v0.7c1.8-0.1,2.7-0.2,2.7-0.3c0-0.1,0-0.1,0-0.2v0c-0.7-0.1-1.5-0.1-2.4-0.1H25.7z"/>
|
||||
<path class="st0" d="M34.9,10.9h1.6c0.1,0,0.5,1.2,1.2,3.6c0,0.3,0.2,1.2,0.7,2.7V19c-0.4,0.1-0.6,0.2-0.8,0.2h-1.5
|
||||
c-0.1,0-0.2-0.3-0.4-0.8c-1.1-0.2-2.3-0.4-3.5-0.4c-0.3,0-0.5,0.2-0.6,0.5c0,0.2-0.5,0.4-1.4,0.6h-0.7c-0.3-0.7-0.4-1.1-0.4-1.2
|
||||
v-1.8c0.5-0.9,1.6-2.4,3.4-4.5C33.5,11.3,34.3,11.1,34.9,10.9z M34.7,13.4c0,0.1-0.5,0.9-1.6,2.4c0.1,0.1,0.9,0.2,2.1,0.4
|
||||
C35.1,14.9,34.9,14,34.7,13.4L34.7,13.4z"/>
|
||||
<path class="st0" d="M43.4,6.5c0.5,0,1.1,0.1,1.6,0.1c0.2,0,0.5,1,1.1,3l0.1,0.3c-0.2,0.2-0.9,0.5-1.9,1c-4.7-0.4-7.4-0.7-8.1-0.8
|
||||
C36,10,35.7,9.3,35.3,7.9c1.3-0.6,2.3-0.9,3.1-0.9C38.7,6.9,40.4,6.8,43.4,6.5z M40,10.7c0.2,0,0.9,0.2,2.2,0.5
|
||||
c0.1,0,0.2,0.2,0.3,0.5c0.3,1.1,0.5,1.7,0.5,1.7c-0.2,0.7-0.4,1.5-0.4,2.4c0,0.3-1.1,0.8-3.2,1.3c-0.6-1.2-1.1-2.7-1.5-4.6
|
||||
c-0.2-0.3-0.3-0.6-0.3-0.9C37.7,11.6,38.5,11.3,40,10.7z"/>
|
||||
<path class="st0" d="M47.7,12.1h0.1c0.2,0,0.8,0.1,1.7,0.3c0.4,0.6,0.7,1.3,0.9,2.1c0.1,0.2,0.1,0.4,0.1,0.4c-1,0.4-1.6,0.5-2,0.5
|
||||
c0,0.1-0.1,0.1-0.2,0.1h0c-0.2-0.3-0.3-0.4-0.4-0.4h-0.4c-0.2,0-0.4,0-0.7,0c-0.4,0.9-0.7,1.5-0.7,1.7c0.7,0.6,1.3,0.9,1.7,1h0.1
|
||||
c0.3,0,0.5-0.3,0.6-0.8c0.1,0,0.6-0.2,1.5-0.5c0.1,0,0.2,0.3,0.4,1c0.1,0.2,0.2,0.4,0.2,0.6v0c-0.2,0.5-0.5,0.9-0.9,1.1
|
||||
c-0.2,0.2-0.9,0.4-2.2,0.8c-0.3,0.2-0.7,0.3-1.1,0.3h-0.1c-0.5,0-0.9-0.1-1.3-0.4l-0.1,0h-0.2c-1-2.5-1.5-4.1-1.7-4.8
|
||||
c0.1-0.1,0.4-0.7,1-1.9c0.4-0.4,1.4-0.8,2.9-1.2C47.2,12.1,47.5,12.1,47.7,12.1z"/>
|
||||
<path class="st0" d="M59.8,8.6h0.2c0.3,0,0.7,0.8,1.2,2.5c0,0.7,0,1.1-0.1,1.4c0,0,0,0.1,0.1,0.1c0,0.2-0.1,0.8-0.3,2
|
||||
c0,0.1,0.1,0.2,0.1,0.3c0,0,0,0.1-0.1,0.1l0.1,0.3v0.8c0,0.2,0.1,0.6,0.2,1.3c0,0.2-1,0.7-3.1,1.5h-0.1c-0.7-1.5-1.1-2.5-1.1-3.1
|
||||
v-0.1l-0.6-0.1h-1.1c-0.7,0-1,0.1-1,0.3c0,0.5,0,1.1-0.1,1.6c0,0.2,0.1,0.3,0.1,0.6c-0.4,0.3-1.3,0.6-2.5,1
|
||||
c-0.3-0.1-0.7-0.9-1.3-2.6v-0.2c0.7-2.5,1-4,1-4.6c0-0.1-0.1-0.6-0.1-1.6c1.1-0.5,1.8-0.8,2.1-0.8c0.2,0.1,0.5,0.9,1,2.5V13
|
||||
c0.1,0,1-0.1,2.6-0.2v-0.1c0-0.6,0.1-1.1,0.1-1.5v-0.1c-0.2-0.7-0.3-1-0.3-1.1C56.7,9.7,57.7,9.2,59.8,8.6z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.4 KiB |
@@ -0,0 +1,9 @@
|
||||
.nineties-mode {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent url('./shapes.svg');
|
||||
z-index: 50;
|
||||
opacity: .2;
|
||||
pointer-events: none;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React from 'react';
|
||||
import styles from './nineties-mode.css';
|
||||
import {connect} from 'react-redux';
|
||||
import {isTimeTravel1990} from '../../reducers/time-travel';
|
||||
|
||||
const NinetiesMode = props => {
|
||||
if (!props.show) return null;
|
||||
return <div className={styles.ninetiesMode} />;
|
||||
};
|
||||
|
||||
NinetiesMode.propTypes = {
|
||||
show: PropTypes.bool
|
||||
};
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
// This is the button's mode, as opposed to the actual current state
|
||||
show: isTimeTravel1990(state)
|
||||
});
|
||||
|
||||
export default connect(
|
||||
mapStateToProps
|
||||
)(NinetiesMode);
|
||||
@@ -0,0 +1 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="453.58105" height="339.14542" viewBox="0,0,453.58105,339.14542"><g transform="translate(-3.82096,-1.28768)"><g data-paper-data="{"isPaintingLayer":true}" fill-rule="nonzero" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" style="mix-blend-mode: normal"><path d="M151.40202,81.94226c0,10.17727 -8.25031,18.42759 -18.42759,18.42759c-10.17728,0 -18.42758,-8.25031 -18.42758,-18.42759c0,-10.17727 8.25031,-18.42759 18.42758,-18.42759c10.17728,0 18.42759,8.25031 18.42759,18.42759z" fill="#000000" stroke="#000000" stroke-width="0" stroke-linecap="butt"/><path d="M150.11,80.16574c0,10.45342 -8.47417,18.92759 -18.92759,18.92759c-10.45342,0 -18.92759,-8.47417 -18.92759,-18.92759c0,-10.45342 8.47417,-18.92759 18.92759,-18.92759c10.45342,0 18.92759,8.47417 18.92759,18.92759z" fill="#ac83ff" stroke="#000000" stroke-width="0" stroke-linecap="butt"/><path d="M135.60486,158.54925l14.32795,-7.67569l-3.07028,-21.49192l17.39822,10.74596l7.16397,-11.76938l7.16397,11.76939l14.83966,-7.67568l-0.51172,15.35137l15.86309,5.62884l8.5314,3.45171l-19.72574,7.33393l8.5984,19.21996l-20.99022,-9.35709l-1.01158,14.41497l-8.3455,-14.41497l-14.16208,14.92075l-0.50579,-18.20838l-16.69102,8.09261l7.83972,-15.42655z" fill="#000000" stroke="#f3f08f" stroke-width="0" stroke-linecap="round"/><path d="M130.85777,153.54925l14.32795,-7.67569l-3.07028,-21.49192l17.39822,10.74596l7.16397,-11.76938l7.16397,11.76939l14.83966,-7.67569l-0.51172,15.35137l15.86309,5.62884l8.5314,3.45171l-19.72574,7.33393l8.5984,19.21996l-20.99022,-9.35709l-1.01158,14.41497l-8.3455,-14.41497l-14.16208,14.92075l-0.50579,-18.20838l-16.69102,8.09261l7.83972,-15.42655z" fill="#f3f08f" stroke="#f3f08f" stroke-width="0.5" stroke-linecap="round"/><g fill="#000000" stroke="none" stroke-width="0" stroke-linecap="butt"><path d="M205.68026,240.55048l12.09111,-30.27749l5.16652,2.34355c0,0 -1.25391,2.67795 -2.11553,4.83555c-2.03374,5.0927 -9.97558,25.44194 -9.97558,25.44194z"/><path d="M217.94432,210.15941l24.04307,9.07595l-1.76964,4.10689c0,0 -2.12929,-0.94814 -3.84262,-1.5949c-4.04407,-1.52658 -20.20045,-7.48104 -20.20045,-7.48104z"/><path d="M251.19347,191.96892l-10.65459,31.49393l-5.38944,-2.10355c0,0 1.13023,-2.79564 1.88949,-5.03992c1.79211,-5.29731 8.76511,-26.454 8.76511,-26.454z"/><path d="M275.23943,204.09497l-30.83675,-8.84898l1.78443,-5.28963c0,0 2.74562,0.96329 4.94308,1.59387c5.18677,1.48841 25.89367,7.25511 25.89367,7.25511z"/><path d="M287.72415,174.16786l-12.35728,29.0723l-4.9549,-2.38018c0,0 1.27168,-2.56743 2.15227,-4.63915c2.0785,-4.88999 10.20501,-24.43315 10.20501,-24.43315z"/></g><g fill="#79cae0" stroke="none" stroke-width="0" stroke-linecap="butt"><path d="M204.53741,237.05048l12.09111,-30.27749l5.16652,2.34355c0,0 -1.25391,2.67795 -2.11553,4.83555c-2.03374,5.0927 -9.97558,25.44194 -9.97558,25.44194z"/><path d="M216.80146,206.65941l24.04307,9.07595l-1.76964,4.10689c0,0 -2.12929,-0.94814 -3.84262,-1.5949c-4.04407,-1.52658 -20.20045,-7.48104 -20.20045,-7.48104z"/><path d="M250.05062,188.46892l-10.65459,31.49393l-5.38944,-2.10355c0,0 1.13023,-2.79564 1.88949,-5.03992c1.79211,-5.29731 8.76511,-26.454 8.76511,-26.454z"/><path d="M274.09657,200.59497l-30.83675,-8.84898l1.78444,-5.28963c0,0 2.74562,0.96329 4.94308,1.59387c5.18677,1.48841 25.89367,7.25511 25.89367,7.25511z"/><path d="M286.58128,170.66786l-12.35728,29.0723l-4.9549,-2.38018c0,0 1.27168,-2.56743 2.15227,-4.63915c2.0785,-4.88999 10.20501,-24.43315 10.20501,-24.43315z"/></g><path d="M261.402,102.17879c0,7.8375 -6.35355,14.19106 -14.19106,14.19106c-7.83751,0 -14.19105,-6.35355 -14.19105,-14.19106c0,-7.8375 6.35355,-14.19106 14.19105,-14.19106c7.83751,0 14.19106,6.35355 14.19106,14.19106z" fill="#000000" stroke="#000000" stroke-width="0" stroke-linecap="butt"/><path d="M259.63694,101.19574c0,7.83751 -6.35355,14.19106 -14.19106,14.19106c-7.83751,0 -14.19106,-6.35355 -14.19106,-14.19106c0,-7.83751 6.35355,-14.19106 14.19106,-14.19106c7.83751,0 14.19106,6.35355 14.19106,14.19106z" fill="#79cae0" stroke="#000000" stroke-width="0" stroke-linecap="butt"/><path d="M83.00001,250.50002v-49h50v49z" fill="#000000" stroke="none" stroke-width="0" stroke-linecap="butt"/><path d="M80.00001,247.50002v-49h50v49z" fill="#f79a96" stroke="none" stroke-width="0" stroke-linecap="butt"/><g stroke="none" stroke-width="0" stroke-linecap="round"><path d="M163.94596,39.50782l12.33918,-5.92173l-2.64411,-16.58084l14.98329,8.29042l6.16959,-9.07998l6.16959,9.07999l12.77987,-5.92172l-0.4407,11.84346l13.66125,4.3426l7.34722,2.66297l-16.98775,5.65807l7.40492,14.82804l-18.07671,-7.21891l-0.87117,11.12103l-7.18712,-11.12103l-12.19634,11.51124l-0.43559,-14.04761l-14.37425,6.24338l6.75154,-11.90145z" fill="#000000"/><path d="M159.85777,35.65037l12.33919,-5.92174l-2.64411,-16.58084l14.98329,8.29042l6.16959,-9.07998l6.16959,9.07999l12.77987,-5.92173l-0.4407,11.84346l13.66125,4.3426l7.34721,2.66297l-1Line truncated
|
||||
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,9 @@
|
||||
.oldtimey-mode {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent url('./oldtimey.png') center center;
|
||||
background-size: 100% 100%;
|
||||
z-index: 500;
|
||||
pointer-events: none;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React from 'react';
|
||||
import styles from './oldtimey-mode.css';
|
||||
import oldtimeySound from './projector2.mp3';
|
||||
import {connect} from 'react-redux';
|
||||
import {isTimeTravel1920} from '../../reducers/time-travel';
|
||||
|
||||
const OldTimeyMode = props => {
|
||||
if (!props.show) return null;
|
||||
return (
|
||||
<div className={styles.oldtimeyMode}>
|
||||
<audio
|
||||
src={oldtimeySound}
|
||||
ref={audio => {
|
||||
audio && (audio.volume = 0.1); // eslint-disable-line no-unused-expressions
|
||||
}}
|
||||
autoPlay
|
||||
loop
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
OldTimeyMode.propTypes = {
|
||||
show: PropTypes.bool
|
||||
};
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
// This is the button's mode, as opposed to the actual current state
|
||||
show: isTimeTravel1920(state)
|
||||
});
|
||||
|
||||
export default connect(
|
||||
mapStateToProps
|
||||
)(OldTimeyMode);
|
||||
|
After Width: | Height: | Size: 1013 KiB |
|
After Width: | Height: | Size: 288 KiB |
@@ -0,0 +1,49 @@
|
||||
.prehistoric-mode {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.prehistoric-background{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 90%;
|
||||
z-index: 50;
|
||||
pointer-events: none;
|
||||
background: transparent url('./background.png') center center;
|
||||
animation:jitter 2.5s linear infinite;
|
||||
}
|
||||
|
||||
|
||||
@keyframes jitter{
|
||||
0%{transform:scale(1.0385841106898348);}
|
||||
5% {transform:scale(1.045596657989466);}
|
||||
10% {transform:scale(1.029923116529907);}
|
||||
15% {transform:scale(1.059010318189378);}
|
||||
20% {transform:scale(1.0868915738701577);}
|
||||
25% {transform:scale(1.0771183924324506);}
|
||||
30% {transform:scale(1.0780695942284886);}
|
||||
35% {transform:scale(1.081268381642509);}
|
||||
40% {transform:scale(1.0446864380239975);}
|
||||
45% {transform:scale(1.0822226558561991);}
|
||||
50% {transform:scale(1.0703574969484024);}
|
||||
55% {transform:scale(1.0131626458532954);}
|
||||
60% {transform:scale(1.0638351688496082);}
|
||||
65% {transform:scale(1.0254684750877292);}
|
||||
70% {transform:scale(1.0409969735315965);}
|
||||
75% {transform:scale(1.029863208069294);}
|
||||
80% {transform:scale(1.043175299252114);}
|
||||
85% {transform:scale(1.022196668538089);}
|
||||
90% {transform:scale(1.042465864842523);}
|
||||
95% {transform:scale(1.04090035265691);}
|
||||
100% {transform:scale(1.0385841106898348);}
|
||||
}
|
||||
|
||||
.torch {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
opacity: 80%;
|
||||
z-index: 50;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React from 'react';
|
||||
import bindAll from 'lodash.bindall';
|
||||
import styles from './prehistoric-mode.css';
|
||||
import {connect} from 'react-redux';
|
||||
import {isTimeTravel220022BC} from '../../reducers/time-travel';
|
||||
import torch from './torch.gif';
|
||||
|
||||
class PrehistoricMode extends React.Component {
|
||||
constructor (props) {
|
||||
super(props);
|
||||
bindAll(this, [
|
||||
'handleMouseMove'
|
||||
]);
|
||||
this.state = {
|
||||
x: window.innerWidth / 2,
|
||||
y: window.innerHeight / 2
|
||||
};
|
||||
}
|
||||
|
||||
componentDidMount () {
|
||||
document.addEventListener('pointermove', this.handleMouseMove);
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
document.removeEventListener('pointermove', this.handleMouseMove);
|
||||
}
|
||||
|
||||
handleMouseMove (event) {
|
||||
this.setState({x: event.clientX, y: event.clientY});
|
||||
}
|
||||
|
||||
render () {
|
||||
if (!this.props.show) return null;
|
||||
return (
|
||||
<div
|
||||
className={styles.prehistoricMode}
|
||||
>
|
||||
<div
|
||||
className={styles.prehistoricBackground}
|
||||
style={{
|
||||
backgroundPosition: `${this.state.x + 2000}px ${this.state.y + 2000}px`
|
||||
}}
|
||||
/><img
|
||||
className={styles.torch}
|
||||
style={{
|
||||
left: `${this.state.x - 35}px`,
|
||||
top: `${this.state.y - 220}px`
|
||||
}}
|
||||
src={torch}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
PrehistoricMode.propTypes = {
|
||||
show: PropTypes.bool
|
||||
};
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
// This is the button's mode, as opposed to the actual current state
|
||||
show: isTimeTravel220022BC(state)
|
||||
});
|
||||
|
||||
export default connect(
|
||||
mapStateToProps
|
||||
)(PrehistoricMode);
|
||||
|
After Width: | Height: | Size: 32 KiB |
@@ -26,6 +26,7 @@ import {closeExtensionLibrary, openSoundRecorder, openConnectionModal} from '../
|
||||
import {activateCustomProcedures, deactivateCustomProcedures} from '../reducers/custom-procedures';
|
||||
import {setConnectionModalExtensionId} from '../reducers/connection-modal';
|
||||
import {updateMetrics} from '../reducers/workspace-metrics';
|
||||
import {isTimeTravel2020} from '../reducers/time-travel';
|
||||
|
||||
import {
|
||||
activateTab,
|
||||
@@ -48,7 +49,7 @@ const DroppableBlocks = DropAreaHOC([
|
||||
class Blocks extends React.Component {
|
||||
constructor (props) {
|
||||
super(props);
|
||||
this.ScratchBlocks = VMScratchBlocks(props.vm);
|
||||
this.ScratchBlocks = VMScratchBlocks(props.vm, false);
|
||||
bindAll(this, [
|
||||
'attachVM',
|
||||
'detachVM',
|
||||
@@ -87,6 +88,11 @@ class Blocks extends React.Component {
|
||||
this.toolboxUpdateQueue = [];
|
||||
}
|
||||
componentDidMount () {
|
||||
this.ScratchBlocks = VMScratchBlocks(this.props.vm, this.props.useCatBlocks);
|
||||
this.ScratchBlocks.prompt = this.handlePromptStart;
|
||||
this.ScratchBlocks.statusButtonCallback = this.handleConnectionModalStart;
|
||||
this.ScratchBlocks.recordSoundCallback = this.handleOpenSoundRecorder;
|
||||
|
||||
this.ScratchBlocks.FieldColourSlider.activateEyedropper_ = this.props.onActivateColorPicker;
|
||||
this.ScratchBlocks.Procedures.externalProcedureDefCallback = this.props.onActivateCustomProcedures;
|
||||
this.ScratchBlocks.ScratchMsgs.setLocale(this.props.locale);
|
||||
@@ -553,6 +559,7 @@ class Blocks extends React.Component {
|
||||
onRequestCloseCustomProcedures,
|
||||
toolboxXML,
|
||||
updateMetrics: updateMetricsProp,
|
||||
useCatBlocks,
|
||||
workspaceMetrics,
|
||||
...props
|
||||
} = this.props;
|
||||
@@ -639,6 +646,7 @@ Blocks.propTypes = {
|
||||
toolboxXML: PropTypes.string,
|
||||
updateMetrics: PropTypes.func,
|
||||
updateToolboxState: PropTypes.func,
|
||||
useCatBlocks: PropTypes.bool,
|
||||
vm: PropTypes.instanceOf(VM).isRequired,
|
||||
workspaceMetrics: PropTypes.shape({
|
||||
targets: PropTypes.objectOf(PropTypes.object)
|
||||
@@ -689,7 +697,8 @@ const mapStateToProps = state => ({
|
||||
messages: state.locales.messages,
|
||||
toolboxXML: state.scratchGui.toolbox.toolboxXML,
|
||||
customProceduresVisible: state.scratchGui.customProcedures.active,
|
||||
workspaceMetrics: state.scratchGui.workspaceMetrics
|
||||
workspaceMetrics: state.scratchGui.workspaceMetrics,
|
||||
useCatBlocks: isTimeTravel2020(state)
|
||||
});
|
||||
|
||||
const mapDispatchToProps = dispatch => ({
|
||||
|
||||
@@ -104,6 +104,7 @@ GUI.propTypes = {
|
||||
isLoading: PropTypes.bool,
|
||||
isScratchDesktop: PropTypes.bool,
|
||||
isShowingProject: PropTypes.bool,
|
||||
isTotallyNormal: PropTypes.bool,
|
||||
loadingStateVisible: PropTypes.bool,
|
||||
onProjectLoaded: PropTypes.func,
|
||||
onSeeCommunity: PropTypes.func,
|
||||
@@ -118,6 +119,7 @@ GUI.propTypes = {
|
||||
|
||||
GUI.defaultProps = {
|
||||
isScratchDesktop: false,
|
||||
isTotallyNormal: false,
|
||||
onStorageInit: storageInstance => storageInstance.addOfficialScratchWebStores(),
|
||||
onProjectLoaded: () => {},
|
||||
onUpdateProjectId: () => {},
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import ScratchBlocks from 'scratch-blocks';
|
||||
|
||||
/**
|
||||
* Connect scratch blocks with the vm
|
||||
* @param {VirtualMachine} vm - The scratch vm
|
||||
* @param {Bool} useCatBlocks - Whether to use cat blocks rendering of ScratchBlocks
|
||||
* @return {ScratchBlocks} ScratchBlocks connected with the vm
|
||||
*/
|
||||
export default function (vm) {
|
||||
|
||||
export default function (vm, useCatBlocks) {
|
||||
const ScratchBlocks = useCatBlocks ? require('cat-blocks') : require('scratch-blocks');
|
||||
const jsonForMenuBlock = function (name, menuOptionsFn, colors, start) {
|
||||
return {
|
||||
message0: '%1',
|
||||
|
||||
@@ -22,6 +22,7 @@ import restoreDeletionReducer, {restoreDeletionInitialState} from './restore-del
|
||||
import stageSizeReducer, {stageSizeInitialState} from './stage-size';
|
||||
import targetReducer, {targetsInitialState} from './targets';
|
||||
import timeoutReducer, {timeoutInitialState} from './timeout';
|
||||
import timeTravelReducer, {timeTravelInitialState} from './time-travel';
|
||||
import toolboxReducer, {toolboxInitialState} from './toolbox';
|
||||
import vmReducer, {vmInitialState} from './vm';
|
||||
import vmStatusReducer, {vmStatusInitialState} from './vm-status';
|
||||
@@ -56,6 +57,7 @@ const guiInitialState = {
|
||||
restoreDeletion: restoreDeletionInitialState,
|
||||
targets: targetsInitialState,
|
||||
timeout: timeoutInitialState,
|
||||
timeTravel: timeTravelInitialState,
|
||||
toolbox: toolboxInitialState,
|
||||
vm: vmInitialState,
|
||||
vmStatus: vmStatusInitialState,
|
||||
@@ -155,6 +157,7 @@ const guiReducer = combineReducers({
|
||||
restoreDeletion: restoreDeletionReducer,
|
||||
targets: targetReducer,
|
||||
timeout: timeoutReducer,
|
||||
timeTravel: timeTravelReducer,
|
||||
toolbox: toolboxReducer,
|
||||
vm: vmReducer,
|
||||
vmStatus: vmStatusReducer,
|
||||
|
||||
@@ -7,6 +7,7 @@ const MENU_FILE = 'fileMenu';
|
||||
const MENU_EDIT = 'editMenu';
|
||||
const MENU_LANGUAGE = 'languageMenu';
|
||||
const MENU_LOGIN = 'loginMenu';
|
||||
const MENU_MODE = 'modeMenu';
|
||||
|
||||
|
||||
const initialState = {
|
||||
@@ -15,7 +16,8 @@ const initialState = {
|
||||
[MENU_FILE]: false,
|
||||
[MENU_EDIT]: false,
|
||||
[MENU_LANGUAGE]: false,
|
||||
[MENU_LOGIN]: false
|
||||
[MENU_LOGIN]: false,
|
||||
[MENU_MODE]: false
|
||||
};
|
||||
|
||||
const reducer = function (state, action) {
|
||||
@@ -59,6 +61,10 @@ const languageMenuOpen = state => state.scratchGui.menus[MENU_LANGUAGE];
|
||||
const openLoginMenu = () => openMenu(MENU_LOGIN);
|
||||
const closeLoginMenu = () => closeMenu(MENU_LOGIN);
|
||||
const loginMenuOpen = state => state.scratchGui.menus[MENU_LOGIN];
|
||||
const openModeMenu = () => openMenu(MENU_MODE);
|
||||
const closeModeMenu = () => closeMenu(MENU_MODE);
|
||||
const modeMenuOpen = state => state.scratchGui.menus[MENU_MODE];
|
||||
|
||||
|
||||
export {
|
||||
reducer as default,
|
||||
@@ -80,5 +86,8 @@ export {
|
||||
languageMenuOpen,
|
||||
openLoginMenu,
|
||||
closeLoginMenu,
|
||||
loginMenuOpen
|
||||
loginMenuOpen,
|
||||
openModeMenu,
|
||||
closeModeMenu,
|
||||
modeMenuOpen
|
||||
};
|
||||
@@ -0,0 +1,96 @@
|
||||
const SET_TIME_TRAVEL = 'scratch-gui/time-travel/SET_TIME_TRAVEL';
|
||||
const initialState = {
|
||||
year: 'NOW'
|
||||
};
|
||||
|
||||
const NOW = 'NOW';
|
||||
const YEAR_2020 = '2020';
|
||||
const YEAR_1990 = '1990';
|
||||
const YEAR_1920 = '1920';
|
||||
const YEAR_220022BC = '220022BC';
|
||||
|
||||
const reducer = function (state, action) {
|
||||
if (typeof state === 'undefined') state = initialState;
|
||||
switch (action.type) {
|
||||
case SET_TIME_TRAVEL:
|
||||
return Object.assign({}, state, {
|
||||
year: action.year
|
||||
});
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
|
||||
const isTimeTravel220022BC = function (state) {
|
||||
return state.scratchGui.timeTravel.year === YEAR_220022BC;
|
||||
};
|
||||
const setTimeTravel220022BC = function () {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: YEAR_220022BC
|
||||
};
|
||||
};
|
||||
|
||||
const isTimeTravel1920 = function (state) {
|
||||
return state.scratchGui.timeTravel.year === YEAR_1920;
|
||||
};
|
||||
const setTimeTravel1920 = function () {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: YEAR_1920
|
||||
};
|
||||
};
|
||||
|
||||
const isTimeTravel1990 = function (state) {
|
||||
return state.scratchGui.timeTravel.year === YEAR_1990;
|
||||
};
|
||||
const setTimeTravel1990 = function () {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: YEAR_1990
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
const isTimeTravel2020 = function (state) {
|
||||
return state.scratchGui.timeTravel.year === YEAR_2020;
|
||||
};
|
||||
const setTimeTravel2020 = function () {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: YEAR_2020
|
||||
};
|
||||
};
|
||||
|
||||
const isTimeTravelNow = function (state) {
|
||||
return state.scratchGui.timeTravel.year === NOW;
|
||||
};
|
||||
const setTimeTravelNow = function () {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: NOW
|
||||
};
|
||||
};
|
||||
|
||||
const setTimeTravel = function (mode) {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: mode
|
||||
};
|
||||
};
|
||||
|
||||
export {
|
||||
reducer as default,
|
||||
initialState as timeTravelInitialState,
|
||||
isTimeTravel220022BC,
|
||||
isTimeTravel1920,
|
||||
isTimeTravel1990,
|
||||
isTimeTravel2020,
|
||||
isTimeTravelNow,
|
||||
setTimeTravel220022BC,
|
||||
setTimeTravel1920,
|
||||
setTimeTravel1990,
|
||||
setTimeTravel2020,
|
||||
setTimeTravelNow,
|
||||
setTimeTravel
|
||||
};
|
||||
@@ -20,6 +20,9 @@ describe('MenuBar Component', () => {
|
||||
projectState: {
|
||||
loadingState: LoadingState.NOT_LOADED
|
||||
},
|
||||
timeTravel: {
|
||||
year: 'NOW'
|
||||
},
|
||||
vm: new VM()
|
||||
}
|
||||
});
|
||||
|
||||
@@ -112,7 +112,7 @@ module.exports = [
|
||||
module: {
|
||||
rules: base.module.rules.concat([
|
||||
{
|
||||
test: /\.(svg|png|wav|gif|jpg)$/,
|
||||
test: /\.(svg|png|wav|mp3|gif|jpg)$/,
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
outputPath: 'static/assets/'
|
||||
@@ -187,7 +187,8 @@ module.exports = [
|
||||
patterns: [
|
||||
{
|
||||
from: 'extension-worker.{js,js.map}',
|
||||
context: 'node_modules/scratch-vm/dist/web'
|
||||
context: 'node_modules/scratch-vm/dist/web',
|
||||
noErrorOnMissing: true
|
||||
}
|
||||
]
|
||||
})
|
||||
@@ -213,7 +214,7 @@ module.exports = [
|
||||
module: {
|
||||
rules: base.module.rules.concat([
|
||||
{
|
||||
test: /\.(svg|png|wav|gif|jpg)$/,
|
||||
test: /\.(svg|png|wav|mp3|gif|jpg)$/,
|
||||
loader: 'file-loader',
|
||||
options: {
|
||||
outputPath: 'static/assets/',
|
||||
@@ -235,7 +236,8 @@ module.exports = [
|
||||
patterns: [
|
||||
{
|
||||
from: 'extension-worker.{js,js.map}',
|
||||
context: 'node_modules/scratch-vm/dist/web'
|
||||
context: 'node_modules/scratch-vm/dist/web',
|
||||
noErrorOnMissing: true
|
||||
}
|
||||
]
|
||||
}),
|
||||
|
||||