diff --git a/package-lock.json b/package-lock.json index 7215603e..9f5baabe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,29 +1,29 @@ { "name": "yukon", - "version": "1.8.0-beta", + "version": "1.9.0-beta", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "yukon", - "version": "1.8.0-beta", + "version": "1.9.0-beta", "license": "MIT", "devDependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", + "@babel/core": "^7.24.3", + "@babel/preset-env": "^7.24.3", "babel-loader": "^9.1.3", "compression-webpack-plugin": "^10.0.0", - "core-js": "^3.33.0", + "core-js": "^3.36.1", "howler": "^2.2.4", - "html-webpack-plugin": "^5.5.3", + "html-webpack-plugin": "^5.6.0", "javascript-obfuscator": "^4.1.0", - "phasereditor2d-launcher": "^3.65.0", + "phasereditor2d-launcher": "^3.67.0", "phasereditor2d-ninepatch-plugin": "^1.2.0", - "socket.io-client": "^4.7.2", + "socket.io-client": "^4.7.5", "source-map": "^0.7.4", - "webpack": "^5.89.0", + "webpack": "^5.91.0", "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.1", + "webpack-dev-server": "^4.15.2", "webpack-obfuscator": "^3.5.1" } }, @@ -41,43 +41,43 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -93,14 +93,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -108,14 +108,14 @@ } }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -146,14 +146,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -162,17 +162,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", + "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -202,9 +202,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -264,21 +264,21 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", @@ -307,9 +307,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -333,13 +333,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { @@ -386,9 +386,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -404,9 +404,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true, "engines": { "node": ">=6.9.0" @@ -427,37 +427,38 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", "dev": true, "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -467,12 +468,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", - "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -482,14 +483,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", - "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.15" + "@babel/plugin-transform-optional-chaining": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -498,6 +499,22 @@ "@babel/core": "^7.13.0" } }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", @@ -574,12 +591,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -589,12 +606,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -746,12 +763,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -761,13 +778,13 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", - "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" }, @@ -779,14 +796,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -796,12 +813,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -811,12 +828,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", - "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", + "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -826,13 +843,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -842,13 +859,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", + "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -859,18 +876,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", - "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" }, @@ -882,13 +898,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -898,12 +914,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", - "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -913,13 +929,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -929,12 +945,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -944,12 +960,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -960,13 +976,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -976,12 +992,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -992,12 +1008,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", - "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1007,14 +1024,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1024,12 +1041,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1040,12 +1057,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1055,12 +1072,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1071,12 +1088,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1086,13 +1103,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", - "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1102,13 +1119,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", - "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-simple-access": "^7.22.5" }, "engines": { @@ -1119,14 +1136,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", - "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { @@ -1137,13 +1154,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1169,12 +1186,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1184,12 +1201,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1200,12 +1217,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1216,16 +1233,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", - "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.15" + "@babel/plugin-transform-parameters": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1235,13 +1251,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1251,12 +1267,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1267,12 +1283,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", - "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1284,12 +1300,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", - "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1299,13 +1315,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1315,14 +1331,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1333,12 +1349,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1348,12 +1364,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1364,12 +1380,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1379,12 +1395,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1394,12 +1410,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { @@ -1410,12 +1426,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1425,12 +1441,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1440,12 +1456,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1455,12 +1471,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1470,13 +1486,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1486,13 +1502,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1502,13 +1518,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1518,25 +1534,26 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", - "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.2", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1548,59 +1565,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.23.2", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.23.0", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.23.0", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-modules-systemjs": "^7.23.0", - "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.1", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.23.0", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -1632,9 +1648,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", + "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -1644,34 +1660,34 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1679,12 +1695,12 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -1761,9 +1777,9 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" @@ -1800,9 +1816,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1880,9 +1896,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/express": { @@ -2009,9 +2025,9 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -2031,9 +2047,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -2054,15 +2070,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -2090,28 +2106,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -2119,24 +2135,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -2145,12 +2161,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -2428,13 +2444,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.6.1", "semver": "^6.3.1" }, "peerDependencies": { @@ -2442,25 +2458,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", - "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.32.2" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.6.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -2585,9 +2601,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "funding": [ { @@ -2604,9 +2620,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -2655,9 +2671,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001550", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001550.tgz", - "integrity": "sha512-p82WjBYIypO0ukTsd/FG3Xxs+4tFeaY9pfT4amQL8KWtYH7H9nYwReGAbMTJ0hsmRO8IfDtsS6p3ZWj8+1c2RQ==", + "version": "1.0.30001599", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001599.tgz", + "integrity": "sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==", "dev": true, "funding": [ { @@ -2973,9 +2989,9 @@ "dev": true }, "node_modules/core-js": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.0.tgz", - "integrity": "sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", + "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==", "dev": true, "hasInstallScript": true, "funding": { @@ -2984,12 +3000,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", - "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", "dev": true, "dependencies": { - "browserslist": "^4.22.1" + "browserslist": "^4.23.0" }, "funding": { "type": "opencollective", @@ -3237,9 +3253,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.558", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.558.tgz", - "integrity": "sha512-j9IcGmfkyN5MBH/0Xzg45GDHasXsnwEJDM6Xnr9H7GlGUni+JH4q6xp6Nk7NV5LjTmoEFBqhILIqg1McJrv6uA==", + "version": "1.4.714", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.714.tgz", + "integrity": "sha512-OfnVHt+nMRH9Ua5koH/2gKlCAXbG+u1yXwLKyBVqNboBV34ZTwb846RUe8K5mtE1uhz0BXoMarZ13JCQr+sBtQ==", "dev": true }, "node_modules/emojis-list": { @@ -3283,9 +3299,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -3800,9 +3816,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -3847,9 +3863,9 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "node_modules/fs.realpath": { @@ -4004,9 +4020,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "node_modules/handle-thing": { @@ -4163,9 +4179,9 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", "dev": true, "dependencies": { "@types/html-minifier-terser": "^6.0.0", @@ -4182,7 +4198,16 @@ "url": "https://opencollective.com/html-webpack-plugin" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/htmlparser2": { @@ -5060,12 +5085,12 @@ } }, "node_modules/memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "dependencies": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" }, "engines": { "node": ">= 4.0.0" @@ -5274,9 +5299,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/normalize-path": { @@ -5576,9 +5601,9 @@ "dev": true }, "node_modules/phasereditor2d-launcher": { - "version": "3.65.0", - "resolved": "https://registry.npmjs.org/phasereditor2d-launcher/-/phasereditor2d-launcher-3.65.0.tgz", - "integrity": "sha512-2ucHdBN+3lSHDyZsRc6EIPURhIhAhyIIHVwRBAIIFs8WscLtN3U6b5MpuEEnW7KKaueAwSV0/5GsC8vvFQzHlQ==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/phasereditor2d-launcher/-/phasereditor2d-launcher-3.67.0.tgz", + "integrity": "sha512-3urX8KX19kIgyP8VpbTeeyfU8TISsBAopYY6BMLbEd7Y3aES3vfvUdwEo4CHwIvfR5iD+9ZNZ4tQdxy/300UYA==", "dev": true, "dependencies": { "adm-zip": "^0.5.5" @@ -5808,9 +5833,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "node_modules/regenerator-transform": { @@ -6250,9 +6275,9 @@ "dev": true }, "node_modules/socket.io-client": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", - "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", "dev": true, "dependencies": { "@socket.io/component-emitter": "~3.1.0", @@ -6488,9 +6513,9 @@ } }, "node_modules/terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "version": "5.29.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", + "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -6506,16 +6531,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -6827,9 +6852,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -6849,34 +6874,34 @@ } }, "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.16.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -6950,9 +6975,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "dependencies": { "colorette": "^2.0.10", @@ -6973,9 +6998,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, "dependencies": { "@types/bonjour": "^3.5.9", @@ -7006,7 +7031,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "bin": { @@ -7343,37 +7368,37 @@ } }, "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" } }, "@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", "dev": true }, "@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -7382,26 +7407,26 @@ } }, "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", "dev": true, "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } } } @@ -7425,30 +7450,30 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", + "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -7466,9 +7491,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.22.6", @@ -7513,18 +7538,18 @@ } }, "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dev": true, "requires": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.24.0" } }, "@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", @@ -7544,9 +7569,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -7561,13 +7586,13 @@ } }, "@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5" } }, @@ -7599,9 +7624,9 @@ } }, "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "dev": true }, "@babel/helper-validator-identifier": { @@ -7611,9 +7636,9 @@ "dev": true }, "@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true }, "@babel/helper-wrap-function": { @@ -7628,51 +7653,62 @@ } }, "@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", "dev": true, "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" } }, "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" } }, "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", - "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", - "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.15" + "@babel/plugin-transform-optional-chaining": "^7.24.1" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-proposal-private-property-in-object": { @@ -7728,21 +7764,21 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-syntax-import-meta": { @@ -7846,260 +7882,260 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", - "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", - "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", + "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", + "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", - "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", - "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", - "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", - "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", - "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-simple-access": "^7.22.5" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", - "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { @@ -8113,242 +8149,242 @@ } }, "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", - "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", "dev": true, "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.15" + "@babel/plugin-transform-parameters": "^7.24.1" } }, "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" } }, "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-transform-optional-chaining": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", - "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-transform-parameters": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", - "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "regenerator-transform": "^0.15.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/preset-env": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", - "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.23.2", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -8360,59 +8396,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.23.2", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.23.0", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.23.0", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-modules-systemjs": "^7.23.0", - "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.1", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.23.0", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.31.0", "semver": "^6.3.1" } @@ -8435,50 +8470,50 @@ "dev": true }, "@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz", + "integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" } }, "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" } }, "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } @@ -8534,9 +8569,9 @@ "dev": true }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/source-map": { @@ -8569,9 +8604,9 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.1.0", @@ -8649,9 +8684,9 @@ } }, "@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "@types/express": { @@ -8778,9 +8813,9 @@ } }, "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -8800,9 +8835,9 @@ "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "@webassemblyjs/helper-numbers": { @@ -8823,15 +8858,15 @@ "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "@webassemblyjs/ieee754": { @@ -8859,28 +8894,28 @@ "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -8888,24 +8923,24 @@ } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -8914,12 +8949,12 @@ } }, "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -9105,33 +9140,33 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "requires": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.6.1", "semver": "^6.3.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", - "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.32.2" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.6.1" } }, "balanced-match": { @@ -9239,14 +9274,14 @@ } }, "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" } }, @@ -9283,9 +9318,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001550", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001550.tgz", - "integrity": "sha512-p82WjBYIypO0ukTsd/FG3Xxs+4tFeaY9pfT4amQL8KWtYH7H9nYwReGAbMTJ0hsmRO8IfDtsS6p3ZWj8+1c2RQ==", + "version": "1.0.30001599", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001599.tgz", + "integrity": "sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==", "dev": true }, "chalk": { @@ -9516,18 +9551,18 @@ "dev": true }, "core-js": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.0.tgz", - "integrity": "sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", + "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==", "dev": true }, "core-js-compat": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", - "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", "dev": true, "requires": { - "browserslist": "^4.22.1" + "browserslist": "^4.23.0" } }, "core-util-is": { @@ -9708,9 +9743,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.558", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.558.tgz", - "integrity": "sha512-j9IcGmfkyN5MBH/0Xzg45GDHasXsnwEJDM6Xnr9H7GlGUni+JH4q6xp6Nk7NV5LjTmoEFBqhILIqg1McJrv6uA==", + "version": "1.4.714", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.714.tgz", + "integrity": "sha512-OfnVHt+nMRH9Ua5koH/2gKlCAXbG+u1yXwLKyBVqNboBV34ZTwb846RUe8K5mtE1uhz0BXoMarZ13JCQr+sBtQ==", "dev": true }, "emojis-list": { @@ -9745,9 +9780,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -10133,9 +10168,9 @@ } }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true }, "for-each": { @@ -10160,9 +10195,9 @@ "dev": true }, "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "fs.realpath": { @@ -10271,9 +10306,9 @@ "dev": true }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "handle-thing": { @@ -10399,9 +10434,9 @@ } }, "html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", "dev": true, "requires": { "@types/html-minifier-terser": "^6.0.0", @@ -11036,12 +11071,12 @@ "dev": true }, "memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "requires": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" } }, "merge-descriptors": { @@ -11198,9 +11233,9 @@ "dev": true }, "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "normalize-path": { @@ -11422,9 +11457,9 @@ "dev": true }, "phasereditor2d-launcher": { - "version": "3.65.0", - "resolved": "https://registry.npmjs.org/phasereditor2d-launcher/-/phasereditor2d-launcher-3.65.0.tgz", - "integrity": "sha512-2ucHdBN+3lSHDyZsRc6EIPURhIhAhyIIHVwRBAIIFs8WscLtN3U6b5MpuEEnW7KKaueAwSV0/5GsC8vvFQzHlQ==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/phasereditor2d-launcher/-/phasereditor2d-launcher-3.67.0.tgz", + "integrity": "sha512-3urX8KX19kIgyP8VpbTeeyfU8TISsBAopYY6BMLbEd7Y3aES3vfvUdwEo4CHwIvfR5iD+9ZNZ4tQdxy/300UYA==", "dev": true, "requires": { "adm-zip": "^0.5.5" @@ -11604,9 +11639,9 @@ } }, "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, "regenerator-transform": { @@ -11966,9 +12001,9 @@ "dev": true }, "socket.io-client": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", - "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", "dev": true, "requires": { "@socket.io/component-emitter": "~3.1.0", @@ -12152,9 +12187,9 @@ "dev": true }, "terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "version": "5.29.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", + "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -12172,16 +12207,16 @@ } }, "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "dependencies": { "ajv": { @@ -12390,9 +12425,9 @@ "dev": true }, "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -12409,34 +12444,34 @@ } }, "webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.16.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "dependencies": { @@ -12524,9 +12559,9 @@ } }, "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "requires": { "colorette": "^2.0.10", @@ -12537,9 +12572,9 @@ } }, "webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", @@ -12570,7 +12605,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "dependencies": { diff --git a/package.json b/package.json index 84a32fc3..89e20240 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yukon", - "version": "1.8.0-beta", + "version": "1.9.0-beta", "scripts": { "dev": "webpack serve", "editor": "phasereditor2d-launcher -project .", @@ -18,21 +18,21 @@ }, "homepage": "https://github.com/wizguin/yukon#readme", "devDependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", + "@babel/core": "^7.24.3", + "@babel/preset-env": "^7.24.3", "babel-loader": "^9.1.3", "compression-webpack-plugin": "^10.0.0", - "core-js": "^3.33.0", + "core-js": "^3.36.1", "howler": "^2.2.4", - "html-webpack-plugin": "^5.5.3", + "html-webpack-plugin": "^5.6.0", "javascript-obfuscator": "^4.1.0", - "phasereditor2d-launcher": "^3.65.0", + "phasereditor2d-launcher": "^3.67.0", "phasereditor2d-ninepatch-plugin": "^1.2.0", - "socket.io-client": "^4.7.2", + "socket.io-client": "^4.7.5", "source-map": "^0.7.4", - "webpack": "^5.89.0", + "webpack": "^5.91.0", "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.15.1", + "webpack-dev-server": "^4.15.2", "webpack-obfuscator": "^3.5.1" } } diff --git a/src/data/widgets.js b/src/data/widgets.js index 65e05b88..0650eacb 100644 --- a/src/data/widgets.js +++ b/src/data/widgets.js @@ -1,7 +1,9 @@ const widgets = { + 'AdoptCatalog': require('@scenes/interface/catalogs/adopt/AdoptCatalog'), 'ClothingCatalog': require('@scenes/interface/catalogs/clothing/ClothingCatalog'), 'FurnitureCatalog': require('@scenes/interface/catalogs/furniture/FurnitureCatalog'), 'IglooCatalog': require('@scenes/interface/catalogs/igloo/IglooCatalog'), + 'PetsCatalog': require('@scenes/interface/catalogs/pets/PetsCatalog'), 'FindFour': require('@scenes/games/four/FindFour'), 'Mancala': require('@scenes/games/mancala/Mancala'), diff --git a/src/engine/interface/balloons/Balloon.js b/src/engine/interface/balloons/Balloon.js index 164a7477..4997adb2 100644 --- a/src/engine/interface/balloons/Balloon.js +++ b/src/engine/interface/balloons/Balloon.js @@ -21,17 +21,14 @@ export default class Balloon extends BaseContainer { if (width < this.minWidth) width = this.minWidth if (height < this.minHeight) height = this.minHeight - this.balloon = this.scene.add.nineslice( - 0, 0, - width, height, - { - key: 'main', - frame: 'balloon' - }, - 15 // Corner slice - ) - - this.balloon.setOrigin(0.5, 1) + this.balloon = this.scene.add.ninePatchContainer(0, 0, width, height, 'main', 'balloon') + + this.balloon.marginTop = 15 + this.balloon.marginRight = 15 + this.balloon.marginBottom = 15 + this.balloon.marginLeft = 15 + + this.balloon.setNinePatchContainerOrigin(0.5, 1) this.add(this.balloon) } @@ -39,17 +36,14 @@ export default class Balloon extends BaseContainer { addPointer(width, frame) { if (width < this.minWidth) width = this.minWidth - let pointer = this.scene.add.nineslice( - 0, 0, - width, 40, - { - key: 'main', - frame: frame - }, - [0, 110, 0, 15] // Non-uniform corner slice - ) - - pointer.setOrigin(0.5, 0) + const pointer = this.scene.add.ninePatchContainer(0, 0, width, 40, 'main', frame) + + pointer.marginTop = 0 + pointer.marginRight = 110 + pointer.marginBottom = 0 + pointer.marginLeft = 15 + + pointer.setNinePatchContainerOrigin(0.5, 0) this.add(pointer) } diff --git a/src/engine/interface/prompt/PromptController.js b/src/engine/interface/prompt/PromptController.js index e181b88d..e6fa17c9 100644 --- a/src/engine/interface/prompt/PromptController.js +++ b/src/engine/interface/prompt/PromptController.js @@ -1,6 +1,7 @@ import CoinPrompt from '@scenes/interface/prompts/CoinPrompt' import ErrorPrompt from './ErrorPrompt' import ItemPrompt from '@scenes/interface/prompts/ItemPrompt' +import InputPrompt from '@scenes/interface/prompts/InputPrompt' import LoadingPromptFactory from './LoadingPromptFactory' import WindowPrompt from '@scenes/interface/prompts/WindowPrompt' @@ -20,6 +21,7 @@ export default class PromptController { this.coin = this.createPrompt(CoinPrompt) this.error = this.createPrompt(ErrorPrompt) this.item = this.createPrompt(ItemPrompt) + this.input = this.createPrompt(InputPrompt) this.window = this.createPrompt(WindowPrompt) this.mailError = this.createPrompt(MailErrorPrompt) @@ -28,6 +30,10 @@ export default class PromptController { this.loadingPromptFactory = new LoadingPromptFactory(this.interface) } + get coins() { + return this.world.client.coins + } + createPrompt(promptClass) { const prompt = new promptClass(this.interface, 760, 480) @@ -94,6 +100,56 @@ export default class PromptController { this.mailSuccess.show(text) } + showAdopt(typeId) { + const maxPets = 18 + + if (this.world.client.pets.length >= maxPets) { + return this.showError(this.getFormatString('max_pets', maxPets)) + } + + this.item.showAdopt(typeId) + } + + showAdoptName(typeId) { + this.input.showAdoptName(typeId) + } + + showPetFood(pet) { + if (this.coins < 10) return this.showLowCoins() + + this.item.showPetFood(pet) + } + + showPetBath(pet) { + if (this.coins < 5) return this.showLowCoins() + + this.item.showPetBath(pet) + } + + showPetGum(pet) { + if (this.coins < 5) return this.showLowCoins() + + this.item.showPetGum(pet) + } + + showPetCookie(pet) { + if (this.coins < 5) return this.showLowCoins() + + this.item.showPetCookie(pet) + } + + showLowCoins() { + this.showError(this.getString('low_coin_warn')) + } + + getString(...args) { + return this.interface.getString(...args) + } + + getFormatString(id, ...args) { + return this.interface.getFormatString(id, ...args) + } + hideAll() { this.loadingPromptFactory.hideAll() } diff --git a/src/engine/loaders/IglooPetLoader.js b/src/engine/loaders/IglooPetLoader.js new file mode 100644 index 00000000..0b10de37 --- /dev/null +++ b/src/engine/loaders/IglooPetLoader.js @@ -0,0 +1,37 @@ +import BaseLoader from './BaseLoader' + + +export default class IglooPetLoader extends BaseLoader { + + constructor(scene) { + super(scene) + + this.baseURL = '/assets/media/pet/sprites/' + this.keyPrefix = 'pet/sprites/' + } + + loadPet(typeId, callback) { + if (!(typeId in this.crumbs.pets)) return + + const name = this.crumbs.pets[typeId].name.toLowerCase() + const key = this.getKey(name) + + if (this.checkComplete('json', key, () => { + this.onFileComplete(key, callback) + })) { + return + } + + this.multiatlas(key, `${name}.json`) + this.start() + } + + onFileComplete(key, callback) { + if (!this.textureExists(key)) { + return + } + + callback(key) + } + +} diff --git a/src/engine/loaders/ItemPromptLoader.js b/src/engine/loaders/ItemPromptLoader.js index 1e7a4fce..4756a209 100644 --- a/src/engine/loaders/ItemPromptLoader.js +++ b/src/engine/loaders/ItemPromptLoader.js @@ -7,63 +7,33 @@ export default class ItemPromptLoader extends BaseLoader { super(scene) this.prompt = prompt - - this.config = { - clothing: { - baseURL: '/assets/media/clothing/icon/240/', - keyPrefix: 'clothing/icon/240/' - }, - furniture: { - baseURL: '/assets/media/furniture/icon/@5x/', - keyPrefix: 'furniture/icon/@5x/', - scale: 0.65 - } - } } - get baseURL() { - return this.config[this.prompt.type].baseURL - } - - get keyPrefix() { - return this.config[this.prompt.type].keyPrefix - } - - get scale() { - return this.config[this.prompt.type].scale || 1 - } - - loadIcon(item) { + loadIcon(config) { if (this.prompt.icon) { this.prompt.icon.destroy() } - let key = this.getKey(item) + if (!config.key || !config.url) { + return + } + + const scale = config.scale || 1 - if (this.checkComplete('image', key, () => { - this.onFileComplete(key, item) + if (this.checkComplete('image', config.key, () => { + this.onFileComplete(config.key, scale) })) { return } - this.image(key, `${item}.png`) + this.image(config.key, config.url) this.start() } - onFileComplete(key, item) { - if (!this.prompt.visible || !this.textureExists(key) || item != this.prompt.item) { - return + onFileComplete(key, scale) { + if (this.textureExists(key)) { + this.prompt.addIcon(key, scale) } - - if (this.prompt.icon) { - this.prompt.icon.destroy() - } - - let icon = this.scene.add.image(0, -182, key) - icon.scale = this.scale - - this.prompt.add(icon) - this.prompt.icon = icon } } \ No newline at end of file diff --git a/src/engine/network/Network.js b/src/engine/network/Network.js index 3e071e7a..26165398 100644 --- a/src/engine/network/Network.js +++ b/src/engine/network/Network.js @@ -76,6 +76,10 @@ export default class Network { } send(action, args = {}) { + if (!this.client) { + return + } + if (localStorage.logging == 'true') { console.log('Message sending:', action, args) } diff --git a/src/engine/network/plugins/plugins/Mail.js b/src/engine/network/plugins/plugins/Mail.js index c300756f..ac7bdade 100644 --- a/src/engine/network/plugins/plugins/Mail.js +++ b/src/engine/network/plugins/plugins/Mail.js @@ -37,9 +37,7 @@ export default class Mail extends Plugin { } receiveMail(args) { - this.world.client.postcards.push(args) - - this.world.client.refreshPostcards() + this.world.client?.addPostcard(args) } showInsufficientCoins() { diff --git a/src/engine/network/plugins/plugins/Pet.js b/src/engine/network/plugins/plugins/Pet.js new file mode 100644 index 00000000..5e592695 --- /dev/null +++ b/src/engine/network/plugins/plugins/Pet.js @@ -0,0 +1,132 @@ +import Plugin from '../Plugin' + + +export default class Pet extends Plugin { + + constructor(network) { + super(network) + + this.events = { + 'adopt_pet': this.adoptPet, + 'get_pets': this.getPets, + 'pet_move': this.petMove, + 'pet_play': this.petPlay, + 'pet_rest': this.petRest, + 'pet_feed': this.petFeed, + 'pet_bath': this.petBath, + 'pet_gum': this.petGum, + 'pet_cookie': this.petCookie, + 'pet_frame': this.petFrame, + 'update_pets': this.updatePets, + 'pet_start_walk': this.petStartWalk, + 'pet_stop_walk': this.petStopWalk + } + } + + get isIglooReady() { + return this.world.room.isReady && this.world.room.isIgloo + } + + get pets() { + return this.isIglooReady ? this.world.room.pets : {} + } + + petAvailable(id) { + return id in this.pets + } + + adoptPet(args) { + // Update player data + this.world.client.coins = args.coins + this.world.client.pets.push(args.id) + + // Update player card + this.interface.refreshPlayerCard() + + // Update catalog coins + this.interface.updateCatalogCoins(args.coins) + + this.interface.prompt.showWindow(this.getString('adopt_pet_done')) + } + + getPets(args) { + if (this.isIglooReady) { + this.world.room.loadPets(args.pets) + } + } + + petMove(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].move(args) + } + } + + petPlay(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].startPlay(args.playType) + this.pets[args.id].updateStats(args.energy, args.health, args.rest) + } + } + + petRest(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].startRest() + this.pets[args.id].updateStats(args.energy, args.health, args.rest) + } + } + + petFeed(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].startFeed() + this.pets[args.id].updateStats(args.energy, args.health, args.rest) + } + } + + petBath(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].startBath() + this.pets[args.id].updateStats(args.energy, args.health, args.rest) + } + } + + petGum(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].startGum() + this.pets[args.id].updateStats(args.energy, args.health, args.rest) + } + } + + petCookie(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].startCookie() + this.pets[args.id].updateStats(args.energy, args.health, args.rest) + } + } + + petFrame(args) { + if (this.petAvailable(args.id)) { + this.pets[args.id].startFrame(args.frame) + } + } + + updatePets(args) { + args.updates.forEach(update => { + if (this.petAvailable(update.id)) { + this.pets[update.id].updateStats(update.energy, update.health, update.rest) + } + }) + } + + petStartWalk(args) { + if (this.petAvailable(args.petId)) { + this.pets[args.petId].startWalk() + } + } + + petStopWalk(args) { + if (this.petAvailable(args.petId)) { + this.pets[args.petId].stopWalk() + } + } + +} diff --git a/src/engine/ruffle/RuffleController.js b/src/engine/ruffle/RuffleController.js index ed514511..3f7bc929 100644 --- a/src/engine/ruffle/RuffleController.js +++ b/src/engine/ruffle/RuffleController.js @@ -16,14 +16,24 @@ export default class RuffleController extends BaseScene { this.keys = [ 'getGamesPath', - 'getPlayerObjectById', + 'getMyPlayer', 'getMyPlayerHex', - 'isMyPlayerMember', + 'getMyPlayerId', + 'getPlayerObjectById', 'isItemOnMyPlayer', + 'isMyPlayerMember', 'sendGameOver' ] } + get client() { + return this.world.client + } + + get clientObject() { + return this.client.penguin.items.flat + } + create() { window.RufflePlayer = window.RufflePlayer || {} @@ -96,28 +106,34 @@ export default class RuffleController extends BaseScene { return this.crumbs.frameColor } - getMyPlayer() { - // todo - } - getGamesPath() { return `${this.basePath}games/` } - getPlayerObjectById() { - // todo + getMyPlayer() { + return this.clientObject } getMyPlayerHex() { - return this.world.getColor(this.world.client.penguin.color) + return this.world.getColor(this.client.penguin.color) } - isMyPlayerMember() { - return true + getMyPlayerId() { + return this.client.id + } + + getPlayerObjectById([id]) { + if (id === this.client.id) { + return this.clientObject + } + } + + isItemOnMyPlayer([id]) { + return Object.values(this.clientObject).includes(id) } - isItemOnMyPlayer() { - // todo + isMyPlayerMember() { + return true } sendGameOver(obj) { diff --git a/src/engine/utils/ninepatch/NinePatchContainer.js b/src/engine/utils/ninepatch/NinePatchContainer.js index 9c2b2903..dbf36e1b 100644 --- a/src/engine/utils/ninepatch/NinePatchContainer.js +++ b/src/engine/utils/ninepatch/NinePatchContainer.js @@ -35,6 +35,10 @@ export default class NinePatchContainer extends Phaser.GameObjects.Container { } redraw() { + if (!this.scene) { + return + } + this._originTexture = this.scene.textures.get(this.textureKey) this._originFrame = this._originTexture.frames[this.textureFrame ?? NinePatchContainer.__BASE] this._textureXs = [0, this.marginLeft, this._originFrame.width - this.marginRight, this._originFrame.width] diff --git a/src/engine/world/penguin/ClientController.js b/src/engine/world/penguin/ClientController.js index 6724f9bf..000fd16f 100644 --- a/src/engine/world/penguin/ClientController.js +++ b/src/engine/world/penguin/ClientController.js @@ -337,6 +337,12 @@ export default class ClientController { } } + addPostcard(postcard) { + this.postcards.push(postcard) + + this.refreshPostcards() + } + /** * Sort by newest first. */ @@ -353,7 +359,7 @@ export default class ClientController { refreshPostcards() { this.sortPostcards() - if (this.interface.main.mail.visible) { + if (this.interface.main.mail?.visible) { // Read mail before updating count this.interface.main.mail.goToFirstPage() } @@ -361,4 +367,8 @@ export default class ClientController { this.interface.main.updateMailCount() } + startWalkingPet(petId) { + this.network.send('pet_start_walk', { id: petId }) + } + } diff --git a/src/engine/world/pet/IglooPet.js b/src/engine/world/pet/IglooPet.js new file mode 100644 index 00000000..da9ab171 --- /dev/null +++ b/src/engine/world/pet/IglooPet.js @@ -0,0 +1,436 @@ +import BaseSprite from '@scenes/base/BaseSprite' + +import PathEngine from '../penguin/pathfinding/PathEngine' + + +// Normal, super, great +const playFrames = [27, 28, 35] +const restFrame = 25 +const feedFrame = 31 +const bathFrame = 34 +const gumFrame = 29 +const cookieFrame = 30 + +// When to notify low stat +const lowStatValue = 20 +const lowStatFrames = { + energy: 32, + health: 33, + rest: 26 +} + +export default class IglooPet extends BaseSprite { + + constructor(textureKey, pet, room) { + super(room, 0, 0, textureKey, '1_1') + + // Set walking last for update + const { walking, ...petProperties } = pet + Object.assign(this, petProperties) + + this.room = room + + this.createAnims() + this.playFrame(1) + + this.setPos(pet.x, pet.y) + + this.isButton = true + this.updateTimer = null + this.tween = null + this.depth = this.y + + // If the last update action was a move + this.lastActionMove = false + + // If low stat notifications have happened + this.statsNotified = { + energy: false, + health: false, + rest: false + } + + if (this.isClientIgloo) { + this.setInteractive() + } + + this._walking = false + + // Set walking + this.walking = walking + } + + get safeZone() { + return this.room.pet + } + + get happiness() { + const statTotal = this.energy + this.health + this.rest + + return Math.round((statTotal / 300) * 100) + } + + get petCard() { + return this.interface.main.petCard + } + + get isClientIgloo() { + return this.room.isClientIgloo + } + + get walking() { + return this._walking + } + + set walking(walking) { + this._walking = walking + this.visible = !walking + } + + get visible() { + return super.visible + } + + set visible(visible) { + super.visible = visible && !this.walking + + // Start or stop update + this.visible ? this.startUpdate() : this.stopUpdate() + } + + setInteractive() { + super.setInteractive({ cursor: 'pointer', pixelPerfect: true }) + + this.on('pointerup', this.onPointerUp, this) + } + + setPos(x, y) { + if (!this.isSafe(x, y)) { + const randomPos = this.getRandomSafePos() + + x = randomPos.x + y = randomPos.y + } + + this.setPosition(x, y) + } + + onPointerUp() { + this.petCard.show(this) + } + + /** + * Update that controls movement and other events, only ran for pet owner. + */ + startUpdate() { + if (!this.isClientIgloo || this.walking) return + + this.removeUpdateTimer() + + const delayOffset = Phaser.Math.Between(0, 10) * 1000 + + this.updateTimer = this.room.time.addEvent({ + delay: 10000 + delayOffset, + callback: () => this.handleUpdate(), + loop: true + }) + } + + stopUpdate() { + if (this.isClientIgloo) this.removeUpdateTimer() + } + + handleUpdate() { + // Low stat animation played, only check if last action was a move + if (this.lastActionMove && this.checkLowStats()) { + return + } + + const newPos = this.getRandomSafePos() + + this.move(newPos) + this.network.send('pet_move', { id: this.id, x: newPos.x, y: newPos.y }) + } + + /** + * Returns whether a low stat notification has happened this update. + * + * @returns {boolean} + */ + checkLowStats() { + // Only check low stats every other move + this.lastActionMove = false + + for (const stat in this.statsNotified) { + const notify = this.checkLowStat(stat) + + if (notify) return true + } + + // No notifications, reset all + for (const stat in this.statsNotified) { + this.statsNotified[stat] = false + } + + return false + } + + checkLowStat(stat) { + const statValue = this[stat] + + if (statValue < lowStatValue && !this.statsNotified[stat]) { + this.statsNotified[stat] = true + + // Send low stat notification for this stat + this.network.send('pet_frame', { id: this.id, frame: lowStatFrames[stat] }) + + return true + } + + return false + } + + updateStats(energy, health, rest) { + this.energy = energy + this.health = health + this.rest = rest + + if (this.petCard.visible && this.petCard.pet === this) { + this.petCard.updateStats() + } + } + + move(pos) { + this.lastActionMove = true + + // * 24 to simulate 24fps frame based tween + const duration = Phaser.Math.Distance.BetweenPoints(this, pos) / 4 * 24 + + this.addMoveTween(pos, duration) + } + + addMoveTween(pos, duration) { + this.removeTween() + + const angle = PathEngine.getAngle(this, pos) + const direction = PathEngine.getDirection(angle) + + const happyWalk = this.happiness > 50 + + this.playFrame(direction + (happyWalk ? 16 : 8)) + + this.tween = this.room.tweens.add({ + targets: this, + duration: duration, + + x: pos.x, + y: pos.y, + + onUpdate: () => this.onMoveUpdate(), + onComplete: () => this.onMoveComplete(direction) + }) + } + + onMoveUpdate() { + this.depth = this.y + } + + onMoveComplete(direction) { + this.removeTween() + this.playFrame(direction) + } + + playFrame(frame) { + this.play(`${this.texture.key}_${frame}`) + } + + requestPlay() { + if (this.rest < 20 || this.happiness < 10) { + // Angry + this.playInteraction(lowStatFrames.health) + return + } + + this.network.send('pet_play', { id: this.id }) + } + + requestRest() { + this.network.send('pet_rest', { id: this.id }) + } + + requestWalk() { + if (this.rest < 20 || this.energy < 40) { + // Angry + this.playInteraction(lowStatFrames.health) + return + } + + this.world.client.startWalkingPet(this.id) + } + + startPlay(playType) { + this.playInteraction(playFrames[playType]) + } + + startRest() { + this.playInteraction(restFrame) + } + + startFeed() { + this.playInteraction(feedFrame) + } + + startBath() { + this.playInteraction(bathFrame) + } + + startGum() { + this.playInteraction(gumFrame) + } + + startCookie() { + this.playInteraction(cookieFrame) + } + + /** + * Handles pet_frame event. + */ + startFrame(frame) { + this.playInteraction(frame) + } + + startWalk() { + this.walking = true + } + + stopWalk() { + this.walking = false + } + + playInteraction(frame) { + // Remove previous event if exists + this.off('animationrepeat') + + this.stopUpdate() + this.removeTween() + this.playFrame(frame) + + this.once('animationrepeat', (animation) => this.onInteractionComplete(animation, frame)) + } + + onInteractionComplete(animation, frame) { + switch (frame) { + case lowStatFrames.energy: + // Stop on last frame + const lastFrame = animation.getLastFrame().textureFrame + + this.stop() + this.setFrame(lastFrame) + break + + case lowStatFrames.rest: + // Repeat frame + break + + default: + // Play frame 1 + this.playFrame(1) + break + } + + this.startUpdate() + } + + createAnims() { + const anims = {} + + // Gets max inner frame number for each animation + this.texture.getFrameNames().map(frame => { + frame = this.splitAnim(frame) + + // Update if doesn't exist or if current count is less + if (!(anims[frame.key]) || frame.num > anims[frame.key]) { + anims[frame.key] = frame.num + } + }) + + // Create anim + for (const frame in anims) { + this.createAnim(frame, anims[frame]) + } + } + + createAnim(frame, num) { + const key = `${this.texture.key}_${frame}` + + // If animation already exists + if (this.scene.anims.exists(key)) { + return + } + + // Create animation + this.scene.anims.create({ + key: key, + frames: this.scene.anims.generateFrameNames(this.texture.key, { + prefix: `${frame}_`, + start: 1, + end: num + }), + frameRate: 24, + repeat: -1 + }) + } + + /** + * Separates an animation frame from its inner frame number. + * + * @param {string} frame - Full frame name + */ + splitAnim(frame) { + const split = frame.split('_') + + return { + key: split[0], + num: parseInt(split[1]) + } + } + + getRandomSafePos() { + const bounds = this.safeZone.bounds + + let x = 0 + let y = 0 + let isSafe = false + + while (!isSafe) { + x = Phaser.Math.RND.between(bounds.min.x, bounds.max.x) + y = Phaser.Math.RND.between(bounds.min.y, bounds.max.y) + + isSafe = this.isSafe(x, y) + } + + return { x: x, y: y } + } + + isSafe(x, y) { + return this.room.matter.containsPoint(this.safeZone, x, y) + } + + removeUpdateTimer() { + if (this.updateTimer) { + this.updateTimer.remove() + this.room.time.removeEvent(this.updateTimer) + + this.updateTimer = null + } + } + + removeTween() { + if (this.tween) { + this.tween.remove() + + this.tween = null + } + } + +} diff --git a/src/scenes/base/BaseSprite.js b/src/scenes/base/BaseSprite.js new file mode 100644 index 00000000..3371d88b --- /dev/null +++ b/src/scenes/base/BaseSprite.js @@ -0,0 +1,35 @@ +export default class BaseSprite extends Phaser.GameObjects.Sprite { + + get crumbs() { + return this.scene.crumbs + } + + get network() { + return this.scene.network + } + + get soundManager() { + return this.scene.soundManager + } + + get interface() { + return this.scene.interface + } + + get world() { + return this.scene.world + } + + get ruffle() { + return this.scene.ruffle + } + + getString(...args) { + return this.scene.getString(...args) + } + + getFormatString(id, ...args) { + return this.scene.getFormatString(id, ...args) + } + +} diff --git a/src/scenes/igloos/IglooScene.js b/src/scenes/igloos/IglooScene.js index 57ba66c7..2fc9ae41 100644 --- a/src/scenes/igloos/IglooScene.js +++ b/src/scenes/igloos/IglooScene.js @@ -2,6 +2,8 @@ import RoomScene from '../rooms/RoomScene' import FurnitureLoader from '@engine/loaders/FurnitureLoader' import FurnitureSprite from '@engine/world/room/furniture/FurnitureSprite' +import IglooPet from '@engine/world/pet/IglooPet' +import IglooPetLoader from '@engine/loaders/IglooPetLoader' import PhysicsMaskGraphics from '@engine/utils/mask/PhysicsMaskGraphics' import RoomCrate from './crates/RoomCrate' import WallCrate from './crates/WallCrate' @@ -33,10 +35,13 @@ export default class IglooScene extends RoomScene { this.music = data.args.music this.loader = new FurnitureLoader(this) + this.petLoader = new IglooPetLoader(this) // Active furniture quantities this.quantities = {} + this.pets = {} + this.events.once('shutdown', () => this.onShutdown()) super.init() @@ -60,6 +65,10 @@ export default class IglooScene extends RoomScene { return this.children.list.filter(f => f instanceof FurnitureSprite) } + get isClientIgloo() { + return this.id === this.world.client.id + } + getQuantity(item) { let inventoryQuantity = this.world.client.furniture[item] let activeQuantity = (this.quantities[item]) ? this.quantities[item] : 0 @@ -72,7 +81,7 @@ export default class IglooScene extends RoomScene { } create() { - if (this.id == this.world.client.id) { + if (this.isClientIgloo) { this.addEditBg() this.addCrates() this.interface.showIglooEdit() @@ -84,6 +93,8 @@ export default class IglooScene extends RoomScene { if (this.args.flooring) this.addFlooring(this.args.flooring) this.addLocation() this.loadAllFurniture() + + this.network.send('get_pets', { userId: this.id }) } addEditBg() { @@ -129,20 +140,28 @@ export default class IglooScene extends RoomScene { if (this.editBg) this.editBg.visible = false } - hidePenguins() { + hideEntities() { for (let penguin of Object.values(this.penguins)) { penguin.visible = false penguin.nameTag.visible = false if (penguin.balloon) penguin.balloon.visible = false } + + for (let pet of Object.values(this.pets)) { + pet.visible = false + } } - showPenguins() { + showEntities() { for (let penguin of Object.values(this.penguins)) { penguin.visible = true penguin.nameTag.visible = true } + + for (let pet of Object.values(this.pets)) { + pet.visible = true + } } loadFlooring(flooring) { @@ -242,6 +261,19 @@ export default class IglooScene extends RoomScene { this.quantities[item] = (this.quantities[item]) ? this.quantities[item] + 1 : 1 } + loadPets(pets) { + for (const pet of pets) { + this.petLoader.loadPet(pet.typeId, (key) => this.addPet(key, pet)) + } + } + + addPet(textureKey, pet) { + const iglooPet = new IglooPet(textureKey, pet, this) + + this.pets[pet.id] = iglooPet + this.add.existing(iglooPet) + } + /*========== Physics ==========*/ addPhysics() { diff --git a/src/scenes/interface/catalogs/adopt/AdoptCatalog.js b/src/scenes/interface/catalogs/adopt/AdoptCatalog.js new file mode 100644 index 00000000..26711f09 --- /dev/null +++ b/src/scenes/interface/catalogs/adopt/AdoptCatalog.js @@ -0,0 +1,588 @@ +export const preload = { + key: 'adoptcatalog-pack', + url: 'assets/media/interface/catalogs/adopt/adoptcatalog-pack.json', + loadString: ['loading', 'adoptcatalog'] +} + +/* START OF COMPILED CODE */ + +import BookContainer from "../../books/BookContainer"; +import Interactive from "../../../components/Interactive"; +import Button from "../../../components/Button"; +import SimpleButton from "../../../components/SimpleButton"; +/* START-USER-IMPORTS */ +/* END-USER-IMPORTS */ + +export default class AdoptCatalog extends BookContainer { + + constructor(scene, x, y) { + super(scene, x ?? 0, y ?? 0); + + /** @type {Phaser.GameObjects.Image} */ + this.hint; + /** @type {Phaser.GameObjects.Text} */ + this.coins; + /** @type {Phaser.GameObjects.Container} */ + this.buttons; + /** @type {Phaser.GameObjects.Container[]} */ + this.pages; + + + // block + const block = scene.add.rectangle(0, 0, 1520, 960); + block.setOrigin(0, 0); + block.isFilled = true; + block.fillColor = 0; + block.fillAlpha = 0.2; + this.add(block); + + // page11 + const page11 = scene.add.container(0, 0); + page11.visible = false; + this.add(page11); + + // page0011 + const page0011 = scene.add.image(0, 0, "adoptcatalog", "page/page0011"); + page0011.setOrigin(0, 0); + page11.add(page0011); + + // pageLeft1 + const pageLeft1 = scene.add.image(492, 590, "adoptcatalog", "page_left"); + pageLeft1.setOrigin(0, 0); + page11.add(pageLeft1); + + // closeLeft + const closeLeft = scene.add.image(491, 39, "adoptcatalog", "close_left"); + closeLeft.setOrigin(0, 0); + page11.add(closeLeft); + + // page10 + const page10 = scene.add.container(0, 0); + page10.visible = false; + this.add(page10); + + // page0010 + const page0010 = scene.add.image(0, 0, "adoptcatalog", "page/page0010"); + page0010.setOrigin(0, 0); + page10.add(page0010); + + // page9 + const page9 = scene.add.container(0, 0); + page9.visible = false; + this.add(page9); + + // page0009 + const page0009 = scene.add.image(0, 0, "adoptcatalog", "page/page0009"); + page0009.setOrigin(0, 0); + page9.add(page0009); + + // page8 + const page8 = scene.add.container(0, 0); + page8.visible = false; + this.add(page8); + + // page0008 + const page0008 = scene.add.image(0, 0, "adoptcatalog", "page/page0008"); + page0008.setOrigin(0, 0); + page8.add(page0008); + + // bathButton + const bathButton = scene.add.image(1108, 426, "main", "large-box"); + bathButton.scaleX = 0.91; + bathButton.scaleY = 0.91; + page8.add(bathButton); + + // foodButton + const foodButton = scene.add.image(992, 426, "main", "large-box"); + foodButton.scaleX = 0.91; + foodButton.scaleY = 0.91; + page8.add(foodButton); + + // cookieButton + const cookieButton = scene.add.image(1108, 310, "main", "large-box"); + cookieButton.scaleX = 0.91; + cookieButton.scaleY = 0.91; + page8.add(cookieButton); + + // gumButton + const gumButton = scene.add.image(992, 310, "main", "large-box"); + gumButton.scaleX = 0.91; + gumButton.scaleY = 0.91; + page8.add(gumButton); + + // bath + const bath = scene.add.image(1108, 426, "main", "pet/bath"); + bath.scaleX = 0.91; + bath.scaleY = 0.91; + bath.setOrigin(0.5, 0.5051546391752577); + page8.add(bath); + + // food + const food = scene.add.image(992, 426, "main", "pet/food"); + food.scaleX = 0.91; + food.scaleY = 0.91; + page8.add(food); + + // cookie + const cookie = scene.add.image(1108, 312, "main", "pet/cookie"); + cookie.scaleX = 0.91; + cookie.scaleY = 0.91; + cookie.setOrigin(0.5052631578947369, 0.5); + page8.add(cookie); + + // gum + const gum = scene.add.image(994, 312, "main", "pet/gum"); + gum.scaleX = 0.91; + gum.scaleY = 0.91; + gum.setOrigin(0.5051546391752577, 0.5054945054945055); + page8.add(gum); + + // walkButton + const walkButton = scene.add.image(556, 728, "main", "blue-button"); + walkButton.scaleX = 0.91; + walkButton.scaleY = 0.91; + page8.add(walkButton); + + // feedButton + const feedButton = scene.add.image(500, 728, "main", "blue-button"); + feedButton.scaleX = 0.91; + feedButton.scaleY = 0.91; + page8.add(feedButton); + + // restButton + const restButton = scene.add.image(444, 728, "main", "blue-button"); + restButton.scaleX = 0.91; + restButton.scaleY = 0.91; + page8.add(restButton); + + // playButton + const playButton = scene.add.image(390, 728, "main", "blue-button"); + playButton.scaleX = 0.91; + playButton.scaleY = 0.91; + page8.add(playButton); + + // walk + const walk = scene.add.image(557, 727, "main", "pet/walk"); + walk.scaleX = 0.91; + walk.scaleY = 0.91; + page8.add(walk); + + // feed + const feed = scene.add.image(501, 726, "main", "pet/feed"); + feed.scaleX = 0.91; + feed.scaleY = 0.91; + feed.setOrigin(0.5185185185185185, 0.5); + page8.add(feed); + + // rest + const rest = scene.add.image(443, 727, "main", "pet/rest"); + rest.scaleX = 0.91; + rest.scaleY = 0.91; + rest.setOrigin(0.5, 0.52); + page8.add(rest); + + // play + const play = scene.add.image(389, 725, "main", "pet/play"); + play.scaleX = 0.91; + play.scaleY = 0.91; + page8.add(play); + + // stats + const stats = scene.add.rectangle(476, 604, 345, 127); + page8.add(stats); + + // pet + const pet = scene.add.rectangle(473, 433, 216, 189); + page8.add(pet); + + // name + const name = scene.add.rectangle(473, 281, 210, 40); + page8.add(name); + + // hint + const hint = scene.add.image(220, 229, "adoptcatalog", "hint/hint0001"); + hint.setOrigin(0, 0); + hint.visible = false; + page8.add(hint); + + // page7 + const page7 = scene.add.container(0, 0); + page7.visible = false; + this.add(page7); + + // page0007 + const page0007 = scene.add.image(0, 0, "adoptcatalog", "page/page0007"); + page0007.setOrigin(0, 0); + page7.add(page0007); + + // adopt8 + const adopt8 = scene.add.image(363, 513, "adoptcatalog", "adopt"); + adopt8.setOrigin(0.49074074074074076, 0.4777777777777778); + page7.add(adopt8); + + // page6 + const page6 = scene.add.container(0, 0); + page6.visible = false; + this.add(page6); + + // page0006 + const page0006 = scene.add.image(0, 0, "adoptcatalog", "page/page0006"); + page0006.setOrigin(0, 0); + page6.add(page0006); + + // adopt7 + const adopt7 = scene.add.image(1167, 532, "adoptcatalog", "adopt"); + adopt7.setOrigin(0.49074074074074076, 0.4777777777777778); + page6.add(adopt7); + + // adopt6 + const adopt6 = scene.add.image(587, 533, "adoptcatalog", "adopt"); + adopt6.setOrigin(0.49074074074074076, 0.4777777777777778); + page6.add(adopt6); + + // page5 + const page5 = scene.add.container(0, 0); + page5.visible = false; + this.add(page5); + + // page0005 + const page0005 = scene.add.image(0, 0, "adoptcatalog", "page/page0005"); + page0005.setOrigin(0, 0); + page5.add(page0005); + + // adopt5 + const adopt5 = scene.add.image(913, 527, "adoptcatalog", "adopt"); + adopt5.setOrigin(0.49074074074074076, 0.4777777777777778); + page5.add(adopt5); + + // adopt4 + const adopt4 = scene.add.image(354, 535, "adoptcatalog", "adopt"); + adopt4.setOrigin(0.49074074074074076, 0.4777777777777778); + page5.add(adopt4); + + // page4 + const page4 = scene.add.container(0, 0); + page4.visible = false; + this.add(page4); + + // page0004 + const page0004 = scene.add.image(0, 0, "adoptcatalog", "page/page0004"); + page0004.setOrigin(0, 0); + page4.add(page0004); + + // adopt3 + const adopt3 = scene.add.image(1157, 539, "adoptcatalog", "adopt"); + adopt3.setOrigin(0.49074074074074076, 0.4777777777777778); + page4.add(adopt3); + + // adopt2 + const adopt2 = scene.add.image(598, 504, "adoptcatalog", "adopt"); + adopt2.setOrigin(0.49074074074074076, 0.4777777777777778); + page4.add(adopt2); + + // page3 + const page3 = scene.add.container(0, 0); + page3.visible = false; + this.add(page3); + + // page0003 + const page0003 = scene.add.image(0, 0, "adoptcatalog", "page/page0003"); + page0003.setOrigin(0, 0); + page3.add(page0003); + + // adopt1 + const adopt1 = scene.add.image(941, 534, "adoptcatalog", "adopt"); + adopt1.setOrigin(0.49074074074074076, 0.4777777777777778); + page3.add(adopt1); + + // adopt + const adopt = scene.add.image(357, 562, "adoptcatalog", "adopt"); + adopt.setOrigin(0.49074074074074076, 0.4777777777777778); + page3.add(adopt); + + // page2 + const page2 = scene.add.container(0, 0); + page2.visible = false; + this.add(page2); + + // page0002 + const page0002 = scene.add.image(0, 0, "adoptcatalog", "page/page0002"); + page0002.setOrigin(0, 0); + page2.add(page0002); + + // fun + const fun = scene.add.rectangle(491, 509, 194, 55); + fun.alpha = 0.5; + page2.add(fun); + + // card + const card = scene.add.rectangle(437, 420, 219, 55); + card.alpha = 0.5; + page2.add(card); + + // personalities + const personalities = scene.add.rectangle(457, 323, 360, 55); + personalities.alpha = 0.5; + page2.add(personalities); + + // page1 + const page1 = scene.add.container(0, 0); + this.add(page1); + + // page0001 + const page0001 = scene.add.image(0, 0, "adoptcatalog", "page/page0001"); + page0001.setOrigin(0, 0); + page1.add(page0001); + + // pageFront + const pageFront = scene.add.image(469, 42, "adoptcatalog", "page_front"); + pageFront.setOrigin(0, 0); + page1.add(pageFront); + + // closeRight1 + const closeRight1 = scene.add.image(925, 39, "adoptcatalog", "close_right"); + closeRight1.setOrigin(0, 0); + page1.add(closeRight1); + + // buttons + const buttons = scene.add.container(190, 41); + buttons.visible = false; + this.add(buttons); + + // closeRight + const closeRight = scene.add.image(1012, 0, "adoptcatalog", "close_right"); + closeRight.setOrigin(0, 0); + buttons.add(closeRight); + + // pageRight + const pageRight = scene.add.image(1012, 549, "adoptcatalog", "page_right"); + pageRight.setOrigin(0, 0); + buttons.add(pageRight); + + // pageLeft + const pageLeft = scene.add.image(0, 549, "adoptcatalog", "page_left"); + pageLeft.setOrigin(0, 0); + buttons.add(pageLeft); + + // coins + const coins = scene.add.text(1130, 790, "", {}); + coins.setOrigin(1, 0); + coins.text = "YOUR COINS:"; + coins.setStyle({ "align": "right", "fixedWidth":600,"fontFamily": "CCComiccrazy", "fontSize": "32px", "stroke": "#000", "strokeThickness":9}); + buttons.add(coins); + + // lists + const pages = [page1, page2, page3, page4, page5, page6, page7, page8, page9, page10, page11]; + + // block (components) + new Interactive(block); + + // pageLeft1 (components) + const pageLeft1Button = new Button(pageLeft1); + pageLeft1Button.spriteName = "page_left"; + pageLeft1Button.callback = () => this.prevPage(); + pageLeft1Button.activeFrame = false; + pageLeft1Button.pixelPerfect = true; + + // closeLeft (components) + const closeLeftButton = new Button(closeLeft); + closeLeftButton.spriteName = "close_left"; + closeLeftButton.callback = () => this.close(); + closeLeftButton.pixelPerfect = true; + + // bathButton (components) + const bathButtonButton = new Button(bathButton); + bathButtonButton.spriteName = "large-box"; + bathButtonButton.hoverCallback = () => this.onHintOver(11); + bathButtonButton.hoverOutCallback = () => this.onHintOut(); + bathButtonButton.activeFrame = false; + + // foodButton (components) + const foodButtonButton = new Button(foodButton); + foodButtonButton.spriteName = "large-box"; + foodButtonButton.hoverCallback = () => this.onHintOver(10); + foodButtonButton.hoverOutCallback = () => this.onHintOut(); + foodButtonButton.activeFrame = false; + + // cookieButton (components) + const cookieButtonButton = new Button(cookieButton); + cookieButtonButton.spriteName = "large-box"; + cookieButtonButton.hoverCallback = () => this.onHintOver(9); + cookieButtonButton.hoverOutCallback = () => this.onHintOut(); + cookieButtonButton.activeFrame = false; + + // gumButton (components) + const gumButtonButton = new Button(gumButton); + gumButtonButton.spriteName = "large-box"; + gumButtonButton.hoverCallback = () => this.onHintOver(8); + gumButtonButton.hoverOutCallback = () => this.onHintOut(); + gumButtonButton.activeFrame = false; + + // walkButton (components) + const walkButtonButton = new Button(walkButton); + walkButtonButton.spriteName = "blue-button"; + walkButtonButton.hoverCallback = () => this.onHintOver(7); + walkButtonButton.hoverOutCallback = () => this.onHintOut(); + + // feedButton (components) + const feedButtonButton = new Button(feedButton); + feedButtonButton.spriteName = "blue-button"; + feedButtonButton.hoverCallback = () => this.onHintOver(6); + feedButtonButton.hoverOutCallback = () => this.onHintOut(); + + // restButton (components) + const restButtonButton = new Button(restButton); + restButtonButton.spriteName = "blue-button"; + restButtonButton.hoverCallback = () => this.onHintOver(5); + restButtonButton.hoverOutCallback = () => this.onHintOut(); + + // playButton (components) + const playButtonButton = new Button(playButton); + playButtonButton.spriteName = "blue-button"; + playButtonButton.hoverCallback = () => this.onHintOver(4); + playButtonButton.hoverOutCallback = () => this.onHintOut(); + + // stats (components) + const statsSimpleButton = new SimpleButton(stats); + statsSimpleButton.hoverCallback = () => this.onHintOver(3); + statsSimpleButton.hoverOutCallback = () => this.onHintOut(); + + // pet (components) + const petSimpleButton = new SimpleButton(pet); + petSimpleButton.hoverCallback = () => this.onHintOver(2); + petSimpleButton.hoverOutCallback = () => this.onHintOut(); + + // name (components) + const nameSimpleButton = new SimpleButton(name); + nameSimpleButton.hoverCallback = () => this.onHintOver(1); + nameSimpleButton.hoverOutCallback = () => this.onHintOut(); + + // adopt8 (components) + const adopt8Button = new Button(adopt8); + adopt8Button.spriteName = "adopt"; + adopt8Button.callback = () => this.onAdoptClick(8); + adopt8Button.pixelPerfect = true; + + // adopt7 (components) + const adopt7Button = new Button(adopt7); + adopt7Button.spriteName = "adopt"; + adopt7Button.callback = () => this.onAdoptClick(7); + adopt7Button.pixelPerfect = true; + + // adopt6 (components) + const adopt6Button = new Button(adopt6); + adopt6Button.spriteName = "adopt"; + adopt6Button.callback = () => this.onAdoptClick(4); + adopt6Button.pixelPerfect = true; + + // adopt5 (components) + const adopt5Button = new Button(adopt5); + adopt5Button.spriteName = "adopt"; + adopt5Button.callback = () => this.onAdoptClick(6); + adopt5Button.pixelPerfect = true; + + // adopt4 (components) + const adopt4Button = new Button(adopt4); + adopt4Button.spriteName = "adopt"; + adopt4Button.callback = () => this.onAdoptClick(3); + adopt4Button.pixelPerfect = true; + + // adopt3 (components) + const adopt3Button = new Button(adopt3); + adopt3Button.spriteName = "adopt"; + adopt3Button.callback = () => this.onAdoptClick(2); + adopt3Button.pixelPerfect = true; + + // adopt2 (components) + const adopt2Button = new Button(adopt2); + adopt2Button.spriteName = "adopt"; + adopt2Button.callback = () => this.onAdoptClick(1); + adopt2Button.pixelPerfect = true; + + // adopt1 (components) + const adopt1Button = new Button(adopt1); + adopt1Button.spriteName = "adopt"; + adopt1Button.callback = () => this.onAdoptClick(5); + adopt1Button.pixelPerfect = true; + + // adopt (components) + const adoptButton = new Button(adopt); + adoptButton.spriteName = "adopt"; + adoptButton.callback = () => this.onAdoptClick(0); + adoptButton.pixelPerfect = true; + + // fun (components) + const funSimpleButton = new SimpleButton(fun); + funSimpleButton.callback = () => this.showPage(8); + + // card (components) + const cardSimpleButton = new SimpleButton(card); + cardSimpleButton.callback = () => this.showPage(7); + + // personalities (components) + const personalitiesSimpleButton = new SimpleButton(personalities); + personalitiesSimpleButton.callback = () => this.showPage(2); + + // pageFront (components) + const pageFrontButton = new Button(pageFront); + pageFrontButton.spriteName = "page_front"; + pageFrontButton.callback = () => this.nextPage(); + pageFrontButton.activeFrame = false; + + // closeRight1 (components) + const closeRight1Button = new Button(closeRight1); + closeRight1Button.spriteName = "close_right"; + closeRight1Button.callback = () => this.close(); + closeRight1Button.pixelPerfect = true; + + // closeRight (components) + const closeRightButton = new Button(closeRight); + closeRightButton.spriteName = "close_right"; + closeRightButton.callback = () => this.close(); + closeRightButton.pixelPerfect = true; + + // pageRight (components) + const pageRightButton = new Button(pageRight); + pageRightButton.spriteName = "page_right"; + pageRightButton.callback = () => this.nextPage(); + pageRightButton.activeFrame = false; + pageRightButton.pixelPerfect = true; + + // pageLeft (components) + const pageLeftButton = new Button(pageLeft); + pageLeftButton.spriteName = "page_left"; + pageLeftButton.callback = () => this.prevPage(); + pageLeftButton.activeFrame = false; + pageLeftButton.pixelPerfect = true; + + this.hint = hint; + this.coins = coins; + this.buttons = buttons; + this.pages = pages; + + /* START-USER-CTR-CODE */ + /* END-USER-CTR-CODE */ + } + + + /* START-USER-CODE */ + + onHintOver(frame) { + const frameNumber = frame.toString().padStart(4, '0') + + this.hint.setFrame(`hint/hint${frameNumber}`) + this.hint.visible = true + } + + onHintOut() { + this.hint.visible = false + } + + onAdoptClick(typeId) { + this.interface.prompt.showAdopt(typeId) + } + + /* END-USER-CODE */ +} + +/* END OF COMPILED CODE */ diff --git a/src/scenes/interface/catalogs/adopt/AdoptCatalog.scene b/src/scenes/interface/catalogs/adopt/AdoptCatalog.scene new file mode 100644 index 00000000..a774535c --- /dev/null +++ b/src/scenes/interface/catalogs/adopt/AdoptCatalog.scene @@ -0,0 +1,971 @@ +{ + "id": "c7bd412d-7d1e-4dd4-b349-ec90bbf96937", + "sceneType": "PREFAB", + "settings": { + "compilerInsertSpaces": true, + "javaScriptInitFieldsInConstructor": true, + "exportClass": true, + "autoImport": true, + "superClassName": "BookContainer", + "preloadMethodName": "", + "preloadPackFiles": [], + "createMethodName": "", + "borderWidth": 1520, + "borderHeight": 960 + }, + "displayList": [ + { + "type": "Container", + "id": "e7828f7f-5f53-4824-908b-f4755f55ce7c", + "label": "container_1", + "list": [ + { + "type": "Rectangle", + "id": "faf8d7a6-2bf8-47a8-bbad-53cc9690b980", + "label": "block", + "components": [ + "Interactive" + ], + "originX": 0, + "originY": 0, + "isFilled": true, + "fillColor": "#000000", + "fillAlpha": 0.2, + "width": 1520, + "height": 960 + }, + { + "type": "Container", + "id": "7050d69c-2aad-4e50-8a79-91fba98d34f8", + "label": "page11", + "visible": false, + "list": [ + { + "type": "Image", + "id": "74726123-8ba0-4954-9887-4a831278cf7c", + "label": "page0011", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0011" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "c67e572c-1186-4ffd-a998-ed3b23a1c58b", + "label": "pageLeft1", + "components": [ + "Button" + ], + "Button.spriteName": "page_left", + "Button.callback": "() => this.prevPage()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "page_left" + }, + "x": 492, + "y": 590, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "72a3526a-6e19-486c-8636-fdad0a158b65", + "label": "closeLeft", + "components": [ + "Button" + ], + "Button.spriteName": "close_left", + "Button.callback": "() => this.close()", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "close_left" + }, + "x": 491, + "y": 39, + "originX": 0, + "originY": 0 + } + ] + }, + { + "type": "Container", + "id": "46085572-d7b7-4434-8539-50980a4e3004", + "label": "page10", + "visible": false, + "list": [ + { + "type": "Image", + "id": "0531505b-b06d-4578-b745-525f5b9cc329", + "label": "page0010", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0010" + }, + "originX": 0, + "originY": 0 + } + ] + }, + { + "type": "Container", + "id": "29f0b132-489c-4a01-bc56-0c2d138a7cc9", + "label": "page9", + "visible": false, + "list": [ + { + "type": "Image", + "id": "b01f80aa-14c2-46a8-9fca-458dd6a3c748", + "label": "page0009", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0009" + }, + "originX": 0, + "originY": 0 + } + ] + }, + { + "type": "Container", + "id": "53d910c3-519a-4b67-ad41-b2795d7fb022", + "label": "page8", + "visible": false, + "list": [ + { + "type": "Image", + "id": "5ae28422-003a-4a14-b4de-f7ed5dc387e5", + "label": "page0008", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0008" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "f3a36e27-1f24-432c-83af-1ad2cc57c029", + "label": "bathButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.hoverCallback": "() => this.onHintOver(11)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 1108, + "y": 426, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "28b01e9c-1354-4196-b189-f2f9caf670ee", + "label": "foodButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.hoverCallback": "() => this.onHintOver(10)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 992, + "y": 426, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "e92f926a-2a17-4039-ae74-90053ab8958c", + "label": "cookieButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.hoverCallback": "() => this.onHintOver(9)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 1108, + "y": 310, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "644d1e74-c258-462b-8e4a-2fbf0b22b0b7", + "label": "gumButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.hoverCallback": "() => this.onHintOver(8)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 992, + "y": 310, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "9a8ce184-5cb6-402f-abfa-496b5ce397f2", + "label": "bath", + "texture": { + "key": "main", + "frame": "pet/bath" + }, + "x": 1108, + "y": 426, + "scaleX": 0.91, + "scaleY": 0.91, + "originY": 0.5051546391752577 + }, + { + "type": "Image", + "id": "b9f71f7d-0b6f-4916-82f0-d19694355553", + "label": "food", + "texture": { + "key": "main", + "frame": "pet/food" + }, + "x": 992, + "y": 426, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "21e57d2d-add0-4f11-902f-315d652eabe1", + "label": "cookie", + "texture": { + "key": "main", + "frame": "pet/cookie" + }, + "x": 1108, + "y": 312, + "scaleX": 0.91, + "scaleY": 0.91, + "originX": 0.5052631578947369 + }, + { + "type": "Image", + "id": "b8f0fc55-636e-47d9-84d5-ab934f092341", + "label": "gum", + "texture": { + "key": "main", + "frame": "pet/gum" + }, + "x": 994, + "y": 312, + "scaleX": 0.91, + "scaleY": 0.91, + "originX": 0.5051546391752577, + "originY": 0.5054945054945055 + }, + { + "type": "Image", + "id": "48f41460-f96a-4689-9ed7-84a497fada52", + "label": "walkButton", + "components": [ + "Button" + ], + "Button.spriteName": "blue-button", + "Button.hoverCallback": "() => this.onHintOver(7)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 556, + "y": 728, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "f37f113e-024c-42dc-a853-d8d236b87abd", + "label": "feedButton", + "components": [ + "Button" + ], + "Button.spriteName": "blue-button", + "Button.hoverCallback": "() => this.onHintOver(6)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 500, + "y": 728, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "7e6196e7-c318-4d52-b523-9e94f8a27557", + "label": "restButton", + "components": [ + "Button" + ], + "Button.spriteName": "blue-button", + "Button.hoverCallback": "() => this.onHintOver(5)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 444, + "y": 728, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "7ffca5a8-d017-42a1-b507-08385e42f459", + "label": "playButton", + "components": [ + "Button" + ], + "Button.spriteName": "blue-button", + "Button.hoverCallback": "() => this.onHintOver(4)", + "Button.hoverOutCallback": "() => this.onHintOut()", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 390, + "y": 728, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "40fc2ea5-d23f-4c02-8df0-eddcf1046e17", + "label": "walk", + "texture": { + "key": "main", + "frame": "pet/walk" + }, + "x": 557, + "y": 727, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Image", + "id": "003fc635-2888-4bb6-bdcd-e97cf83af158", + "label": "feed", + "texture": { + "key": "main", + "frame": "pet/feed" + }, + "x": 501, + "y": 726, + "scaleX": 0.91, + "scaleY": 0.91, + "originX": 0.5185185185185185 + }, + { + "type": "Image", + "id": "7a0f52de-036c-40fd-8463-8485c930dd7f", + "label": "rest", + "texture": { + "key": "main", + "frame": "pet/rest" + }, + "x": 443, + "y": 727, + "scaleX": 0.91, + "scaleY": 0.91, + "originY": 0.52 + }, + { + "type": "Image", + "id": "08bcc3bd-e484-4bb3-9405-633f08c3e9e6", + "label": "play", + "texture": { + "key": "main", + "frame": "pet/play" + }, + "x": 389, + "y": 725, + "scaleX": 0.91, + "scaleY": 0.91 + }, + { + "type": "Rectangle", + "id": "5b575263-df04-479b-830c-1e12d0f7d8ea", + "label": "stats", + "components": [ + "SimpleButton" + ], + "SimpleButton.hoverCallback": "() => this.onHintOver(3)", + "SimpleButton.hoverOutCallback": "() => this.onHintOut()", + "x": 476, + "y": 604, + "width": 345, + "height": 127 + }, + { + "type": "Rectangle", + "id": "23e04759-38f4-4040-87bf-246d40d86c39", + "label": "pet", + "components": [ + "SimpleButton" + ], + "SimpleButton.hoverCallback": "() => this.onHintOver(2)", + "SimpleButton.hoverOutCallback": "() => this.onHintOut()", + "x": 473, + "y": 433, + "width": 216, + "height": 189 + }, + { + "type": "Rectangle", + "id": "b83b79b3-ddfc-42dc-a425-a42669e81c9e", + "label": "name", + "components": [ + "SimpleButton" + ], + "SimpleButton.hoverCallback": "() => this.onHintOver(1)", + "SimpleButton.hoverOutCallback": "() => this.onHintOut()", + "x": 473, + "y": 281, + "width": 210, + "height": 40 + }, + { + "type": "Image", + "id": "cde009fb-81c8-40f9-9227-302cb9c61d21", + "label": "hint", + "scope": "CLASS", + "texture": { + "key": "adoptcatalog", + "frame": "hint/hint0001" + }, + "x": 220, + "y": 229, + "originX": 0, + "originY": 0, + "visible": false + } + ] + }, + { + "type": "Container", + "id": "6dd38adc-a9a2-4cc8-9f40-a0fcfea9a549", + "label": "page7", + "visible": false, + "list": [ + { + "type": "Image", + "id": "d82bb129-872d-4646-87b2-aa51567e5306", + "label": "page0007", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0007" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "572be12a-3b48-4ee5-bbf6-348cb3f5910f", + "label": "adopt8", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(8)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 363, + "y": 513, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + } + ] + }, + { + "type": "Container", + "id": "6958a64c-e26b-48e1-b341-1f805a9acc20", + "label": "page6", + "visible": false, + "list": [ + { + "type": "Image", + "id": "f4f3ba17-4a84-4a5b-9999-aa1f952b7202", + "label": "page0006", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0006" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "2603a512-9db2-4d5f-9724-340790af18b7", + "label": "adopt7", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(7)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 1167, + "y": 532, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + }, + { + "type": "Image", + "id": "64ef4fcb-52d7-4ebd-9241-f87baf0ed602", + "label": "adopt6", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(4)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 587, + "y": 533, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + } + ] + }, + { + "type": "Container", + "id": "1ef6562b-0e92-4d59-b6dc-ed9619917805", + "label": "page5", + "visible": false, + "list": [ + { + "type": "Image", + "id": "02e66c56-c10b-40cc-8069-4ce58da5a06b", + "label": "page0005", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0005" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "2275d765-a204-40c3-ac38-9246804226f8", + "label": "adopt5", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(6)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 913, + "y": 527, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + }, + { + "type": "Image", + "id": "344a8805-0bdb-465a-acbc-d9ffc58ef5cf", + "label": "adopt4", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(3)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 354, + "y": 535, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + } + ] + }, + { + "type": "Container", + "id": "88fdc0cf-7a86-49c9-8f64-60e96174d2f3", + "label": "page4", + "visible": false, + "list": [ + { + "type": "Image", + "id": "2e98b393-b10e-460c-be10-1a3db795c80d", + "label": "page0004", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0004" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "419ef7d8-0662-4ec8-9443-e9251c5c919a", + "label": "adopt3", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(2)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 1157, + "y": 539, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + }, + { + "type": "Image", + "id": "7cb6a311-7da6-4237-8cf5-67cfa56e1c4e", + "label": "adopt2", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(1)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 598, + "y": 504, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + } + ] + }, + { + "type": "Container", + "id": "5cb750a5-0333-44aa-a280-376cab80599b", + "label": "page3", + "visible": false, + "list": [ + { + "type": "Image", + "id": "37c05bdf-a234-4740-bcfb-6d0f3d7dc557", + "label": "page0003", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0003" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "705e137c-316e-4641-8d53-5b54db292a70", + "label": "adopt1", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(5)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 941, + "y": 534, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + }, + { + "type": "Image", + "id": "d89298e9-511f-488d-9c2a-44f145ad7c5e", + "label": "adopt", + "components": [ + "Button" + ], + "Button.spriteName": "adopt", + "Button.callback": "() => this.onAdoptClick(0)", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "adopt" + }, + "x": 357, + "y": 562, + "originX": 0.49074074074074076, + "originY": 0.4777777777777778 + } + ] + }, + { + "type": "Container", + "id": "bb0dc8c5-e671-47fa-8b53-dcba1002dd00", + "label": "page2", + "visible": false, + "list": [ + { + "type": "Image", + "id": "b03edf36-eb2c-4234-8b62-35a4508a6404", + "label": "page0002", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0002" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Rectangle", + "id": "d6adbc29-7db1-4cc7-97a7-272861600373", + "label": "fun", + "components": [ + "SimpleButton" + ], + "SimpleButton.callback": "() => this.showPage(8)", + "x": 491, + "y": 509, + "alpha": 0.5, + "width": 194, + "height": 55 + }, + { + "type": "Rectangle", + "id": "9aec917a-2a00-4c2c-8172-4c36b079f07e", + "label": "card", + "components": [ + "SimpleButton" + ], + "SimpleButton.callback": "() => this.showPage(7)", + "x": 437, + "y": 420, + "alpha": 0.5, + "width": 219, + "height": 55 + }, + { + "type": "Rectangle", + "id": "62ad36d7-3aa6-47d1-a4af-cee8e95a20f2", + "label": "personalities", + "components": [ + "SimpleButton" + ], + "SimpleButton.callback": "() => this.showPage(2)", + "x": 457, + "y": 323, + "alpha": 0.5, + "width": 360, + "height": 55 + } + ] + }, + { + "type": "Container", + "id": "c06e6b99-75ae-44de-8fd6-97a00178f552", + "label": "page1", + "list": [ + { + "type": "Image", + "id": "0c462b69-419b-46c0-829b-f22133e9b2d9", + "label": "page0001", + "texture": { + "key": "adoptcatalog", + "frame": "page/page0001" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "2b34a992-5863-4055-997b-95667d4c9534", + "label": "pageFront", + "components": [ + "Button" + ], + "Button.spriteName": "page_front", + "Button.callback": "() => this.nextPage()", + "Button.activeFrame": false, + "texture": { + "key": "adoptcatalog", + "frame": "page_front" + }, + "x": 469, + "y": 42, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "a460cc47-3b72-45ce-a1fe-8fa107c3abce", + "label": "closeRight1", + "components": [ + "Button" + ], + "Button.spriteName": "close_right", + "Button.callback": "() => this.close()", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "close_right" + }, + "x": 925, + "y": 39, + "originX": 0, + "originY": 0 + } + ] + }, + { + "type": "Container", + "id": "33038d96-221d-41e9-8999-fbcd325c77fa", + "label": "buttons", + "scope": "CLASS", + "x": 190, + "y": 41, + "visible": false, + "list": [ + { + "type": "Image", + "id": "5433f276-aa10-43c6-be6d-3d839d7771dd", + "label": "closeRight", + "components": [ + "Button" + ], + "Button.spriteName": "close_right", + "Button.callback": "() => this.close()", + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "close_right" + }, + "x": 1012, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "f002fbfa-a409-4b6e-9d7c-fc90adc33812", + "label": "pageRight", + "components": [ + "Button" + ], + "Button.spriteName": "page_right", + "Button.callback": "() => this.nextPage()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "page_right" + }, + "x": 1012, + "y": 549, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "e67c6bb2-4813-4b2a-a471-b1a16228c378", + "label": "pageLeft", + "components": [ + "Button" + ], + "Button.spriteName": "page_left", + "Button.callback": "() => this.prevPage()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "adoptcatalog", + "frame": "page_left" + }, + "y": 549, + "originX": 0, + "originY": 0 + }, + { + "type": "Text", + "id": "18f3a279-1bcc-43e7-a47e-dc2a29765491", + "label": "coins", + "scope": "CLASS", + "x": 1130, + "y": 790, + "originX": 1, + "text": "YOUR COINS:", + "fixedWidth": 600, + "align": "right", + "fontFamily": "CCComiccrazy", + "fontSize": "32px", + "stroke": "#000", + "strokeThickness": 9 + } + ] + } + ] + } + ], + "plainObjects": [], + "meta": { + "app": "Phaser Editor 2D - Scene Editor", + "url": "https://phasereditor2d.com", + "contentType": "phasereditor2d.core.scene.SceneContentType", + "version": 5 + }, + "lists": [ + { + "id": "eee19a2c-6cb3-4ea1-8e06-703f0cc166b2", + "label": "pages", + "objectIds": [ + "c06e6b99-75ae-44de-8fd6-97a00178f552", + "bb0dc8c5-e671-47fa-8b53-dcba1002dd00", + "5cb750a5-0333-44aa-a280-376cab80599b", + "88fdc0cf-7a86-49c9-8f64-60e96174d2f3", + "1ef6562b-0e92-4d59-b6dc-ed9619917805", + "6958a64c-e26b-48e1-b341-1f805a9acc20", + "6dd38adc-a9a2-4cc8-9f40-a0fcfea9a549", + "53d910c3-519a-4b67-ad41-b2795d7fb022", + "29f0b132-489c-4a01-bc56-0c2d138a7cc9", + "46085572-d7b7-4434-8539-50980a4e3004", + "7050d69c-2aad-4e50-8a79-91fba98d34f8" + ] + } + ] +} \ No newline at end of file diff --git a/src/scenes/interface/catalogs/pets/PetsCatalog.js b/src/scenes/interface/catalogs/pets/PetsCatalog.js new file mode 100644 index 00000000..2d5239f9 --- /dev/null +++ b/src/scenes/interface/catalogs/pets/PetsCatalog.js @@ -0,0 +1,431 @@ +export const preload = { + key: 'petscatalog-pack', + url: 'assets/media/interface/catalogs/pets/petscatalog-pack.json', + loadString: ['loading', 'petscatalog'] +} + +/* START OF COMPILED CODE */ + +import BookContainer from "../../books/BookContainer"; +import Interactive from "../../../components/Interactive"; +import Button from "../../../components/Button"; +/* START-USER-IMPORTS */ +/* END-USER-IMPORTS */ + +export default class PetsCatalog extends BookContainer { + + constructor(scene, x, y) { + super(scene, x ?? 0, y ?? 0); + + /** @type {Phaser.GameObjects.Text} */ + this.coins; + /** @type {Phaser.GameObjects.Container} */ + this.buttons; + /** @type {Phaser.GameObjects.Container[]} */ + this.pages; + + + // block + const block = scene.add.rectangle(0, 0, 1520, 960); + block.setOrigin(0, 0); + block.isFilled = true; + block.fillColor = 0; + block.fillAlpha = 0.2; + this.add(block); + + // page5 + const page5 = scene.add.container(0, 0); + page5.visible = false; + this.add(page5); + + // page0005 + const page0005 = scene.add.image(0, 0, "petscatalog", "page/page0005"); + page0005.setOrigin(0, 0); + page5.add(page0005); + + // closeLeft + const closeLeft = scene.add.image(491, 39, "petscatalog", "close_left"); + closeLeft.setOrigin(0, 0); + page5.add(closeLeft); + + // pageLeft1 + const pageLeft1 = scene.add.image(492, 590, "petscatalog", "page_left"); + pageLeft1.setOrigin(0, 0); + page5.add(pageLeft1); + + // page4 + const page4 = scene.add.container(0, 0); + page4.visible = false; + this.add(page4); + + // page0004 + const page0004 = scene.add.image(0, 0, "petscatalog", "page/page0004"); + page0004.setOrigin(0, 0); + page4.add(page0004); + + // buy22 + const buy22 = scene.add.image(1115, 743, "petscatalog", "buy"); + buy22.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy22); + + // buy21 + const buy21 = scene.add.image(924, 551, "petscatalog", "buy"); + buy21.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy21); + + // buy20 + const buy20 = scene.add.image(1153, 401, "petscatalog", "buy"); + buy20.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy20); + + // buy19 + const buy19 = scene.add.image(640, 730, "petscatalog", "buy"); + buy19.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy19); + + // buy18 + const buy18 = scene.add.image(636, 567, "petscatalog", "buy"); + buy18.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy18); + + // buy17 + const buy17 = scene.add.image(636, 415, "petscatalog", "buy"); + buy17.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy17); + + // buy16 + const buy16 = scene.add.image(477, 735, "petscatalog", "buy"); + buy16.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy16); + + // buy15 + const buy15 = scene.add.image(474, 591, "petscatalog", "buy"); + buy15.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy15); + + // buy14 + const buy14 = scene.add.image(474, 441, "petscatalog", "buy"); + buy14.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy14); + + // buy13 + const buy13 = scene.add.image(311, 728, "petscatalog", "buy"); + buy13.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy13); + + // buy12 + const buy12 = scene.add.image(309, 569, "petscatalog", "buy"); + buy12.setOrigin(0.5051546391752577, 0.509090909090909); + page4.add(buy12); + + // page3 + const page3 = scene.add.container(0, 0); + page3.visible = false; + this.add(page3); + + // page0003 + const page0003 = scene.add.image(0, 0, "petscatalog", "page/page0003"); + page0003.setOrigin(0, 0); + page3.add(page0003); + + // buy11 + const buy11 = scene.add.image(933, 750, "petscatalog", "buy"); + buy11.setOrigin(0.5051546391752577, 0.509090909090909); + page3.add(buy11); + + // buy10 + const buy10 = scene.add.image(1154, 566, "petscatalog", "buy"); + buy10.setOrigin(0.5051546391752577, 0.509090909090909); + page3.add(buy10); + + // buy9 + const buy9 = scene.add.image(927, 385, "petscatalog", "buy"); + buy9.setOrigin(0.5051546391752577, 0.509090909090909); + page3.add(buy9); + + // buy8 + const buy8 = scene.add.image(1154, 202, "petscatalog", "buy"); + buy8.setOrigin(0.5051546391752577, 0.509090909090909); + page3.add(buy8); + + // buy7 + const buy7 = scene.add.image(564, 752, "petscatalog", "buy"); + buy7.setOrigin(0.5051546391752577, 0.509090909090909); + page3.add(buy7); + + // buy6 + const buy6 = scene.add.image(395, 574, "petscatalog", "buy"); + buy6.setOrigin(0.5051546391752577, 0.509090909090909); + page3.add(buy6); + + // buy5 + const buy5 = scene.add.image(567, 388, "petscatalog", "buy"); + buy5.setOrigin(0.5051546391752577, 0.509090909090909); + page3.add(buy5); + + // page2 + const page2 = scene.add.container(0, 0); + page2.visible = false; + this.add(page2); + + // page0002 + const page0002 = scene.add.image(0, 0, "petscatalog", "page/page0002"); + page0002.setOrigin(0, 0); + page2.add(page0002); + + // buy4 + const buy4 = scene.add.image(1125, 714, "petscatalog", "buy"); + buy4.setOrigin(0.5051546391752577, 0.509090909090909); + page2.add(buy4); + + // buy3 + const buy3 = scene.add.image(943, 477, "petscatalog", "buy"); + buy3.setOrigin(0.5051546391752577, 0.509090909090909); + page2.add(buy3); + + // buy2 + const buy2 = scene.add.image(1117, 247, "petscatalog", "buy"); + buy2.setOrigin(0.5051546391752577, 0.509090909090909); + page2.add(buy2); + + // buy1 + const buy1 = scene.add.image(621, 525, "petscatalog", "buy"); + buy1.setOrigin(0.5051546391752577, 0.509090909090909); + page2.add(buy1); + + // buy + const buy = scene.add.image(342, 729, "petscatalog", "buy"); + buy.setOrigin(0.5051546391752577, 0.509090909090909); + page2.add(buy); + + // page1 + const page1 = scene.add.container(0, 0); + this.add(page1); + + // page0001 + const page0001 = scene.add.image(0, 0, "petscatalog", "page/page0001"); + page0001.setOrigin(0, 0); + page1.add(page0001); + + // pageFront + const pageFront = scene.add.image(469, 42, "petscatalog", "page_front"); + pageFront.setOrigin(0, 0); + page1.add(pageFront); + + // closeRight1 + const closeRight1 = scene.add.image(925, 39, "petscatalog", "close_right"); + closeRight1.setOrigin(0, 0); + page1.add(closeRight1); + + // buttons + const buttons = scene.add.container(190, 41); + buttons.visible = false; + this.add(buttons); + + // closeRight + const closeRight = scene.add.image(1012, 0, "petscatalog", "close_right"); + closeRight.setOrigin(0, 0); + buttons.add(closeRight); + + // pageRight + const pageRight = scene.add.image(1012, 549, "petscatalog", "page_right"); + pageRight.setOrigin(0, 0); + buttons.add(pageRight); + + // pageLeft + const pageLeft = scene.add.image(0, 549, "petscatalog", "page_left"); + pageLeft.setOrigin(0, 0); + buttons.add(pageLeft); + + // coins + const coins = scene.add.text(1130, 790, "", {}); + coins.setOrigin(1, 0); + coins.text = "YOUR COINS:"; + coins.setStyle({ "align": "right", "fixedWidth":600,"fontFamily": "CCComiccrazy", "fontSize": "32px", "stroke": "#000", "strokeThickness":9}); + buttons.add(coins); + + // lists + const pages = [page1, page2, page3, page4, page5]; + + // block (components) + new Interactive(block); + + // closeLeft (components) + const closeLeftButton = new Button(closeLeft); + closeLeftButton.spriteName = "close_left"; + closeLeftButton.callback = () => this.close(); + closeLeftButton.pixelPerfect = true; + + // pageLeft1 (components) + const pageLeft1Button = new Button(pageLeft1); + pageLeft1Button.spriteName = "page_left"; + pageLeft1Button.callback = () => this.prevPage(); + pageLeft1Button.activeFrame = false; + pageLeft1Button.pixelPerfect = true; + + // buy22 (components) + const buy22Button = new Button(buy22); + buy22Button.spriteName = "buy"; + buy22Button.callback = () => this.onBuyClick(214); + + // buy21 (components) + const buy21Button = new Button(buy21); + buy21Button.spriteName = "buy"; + buy21Button.callback = () => this.onBuyClick(225); + + // buy20 (components) + const buy20Button = new Button(buy20); + buy20Button.spriteName = "buy"; + buy20Button.callback = () => this.onBuyClick(212); + + // buy19 (components) + const buy19Button = new Button(buy19); + buy19Button.spriteName = "buy"; + buy19Button.callback = () => this.onBuyClick(203); + + // buy18 (components) + const buy18Button = new Button(buy18); + buy18Button.spriteName = "buy"; + buy18Button.callback = () => this.onBuyClick(221); + + // buy17 (components) + const buy17Button = new Button(buy17); + buy17Button.spriteName = "buy"; + buy17Button.callback = () => this.onBuyClick(227); + + // buy16 (components) + const buy16Button = new Button(buy16); + buy16Button.spriteName = "buy"; + buy16Button.callback = () => this.onBuyClick(202); + + // buy15 (components) + const buy15Button = new Button(buy15); + buy15Button.spriteName = "buy"; + buy15Button.callback = () => this.onBuyClick(200); + + // buy14 (components) + const buy14Button = new Button(buy14); + buy14Button.spriteName = "buy"; + buy14Button.callback = () => this.onBuyClick(232); + + // buy13 (components) + const buy13Button = new Button(buy13); + buy13Button.spriteName = "buy"; + buy13Button.callback = () => this.onBuyClick(201); + + // buy12 (components) + const buy12Button = new Button(buy12); + buy12Button.spriteName = "buy"; + buy12Button.callback = () => this.onBuyClick(222); + + // buy11 (components) + const buy11Button = new Button(buy11); + buy11Button.spriteName = "buy"; + buy11Button.callback = () => this.onBuyClick(206); + + // buy10 (components) + const buy10Button = new Button(buy10); + buy10Button.spriteName = "buy"; + buy10Button.callback = () => this.onBuyClick(207); + + // buy9 (components) + const buy9Button = new Button(buy9); + buy9Button.spriteName = "buy"; + buy9Button.callback = () => this.onBuyClick(233); + + // buy8 (components) + const buy8Button = new Button(buy8); + buy8Button.spriteName = "buy"; + buy8Button.callback = () => this.onBuyClick(228); + + // buy7 (components) + const buy7Button = new Button(buy7); + buy7Button.spriteName = "buy"; + buy7Button.callback = () => this.onBuyClick(209); + + // buy6 (components) + const buy6Button = new Button(buy6); + buy6Button.spriteName = "buy"; + buy6Button.callback = () => this.onBuyClick(208); + + // buy5 (components) + const buy5Button = new Button(buy5); + buy5Button.spriteName = "buy"; + buy5Button.callback = () => this.onBuyClick(223); + + // buy4 (components) + const buy4Button = new Button(buy4); + buy4Button.spriteName = "buy"; + buy4Button.callback = () => this.onBuyClick(220); + + // buy3 (components) + const buy3Button = new Button(buy3); + buy3Button.spriteName = "buy"; + buy3Button.callback = () => this.onBuyClick(218); + + // buy2 (components) + const buy2Button = new Button(buy2); + buy2Button.spriteName = "buy"; + buy2Button.callback = () => this.onBuyClick(224); + + // buy1 (components) + const buy1Button = new Button(buy1); + buy1Button.spriteName = "buy"; + buy1Button.callback = () => this.onBuyClick(210); + + // buy (components) + const buyButton = new Button(buy); + buyButton.spriteName = "buy"; + buyButton.callback = () => this.onBuyClick(211); + + // pageFront (components) + const pageFrontButton = new Button(pageFront); + pageFrontButton.spriteName = "page_front"; + pageFrontButton.callback = () => this.nextPage(); + pageFrontButton.activeFrame = false; + + // closeRight1 (components) + const closeRight1Button = new Button(closeRight1); + closeRight1Button.spriteName = "close_right"; + closeRight1Button.callback = () => this.close(); + closeRight1Button.pixelPerfect = true; + + // closeRight (components) + const closeRightButton = new Button(closeRight); + closeRightButton.spriteName = "close_right"; + closeRightButton.callback = () => this.close(); + closeRightButton.pixelPerfect = true; + + // pageRight (components) + const pageRightButton = new Button(pageRight); + pageRightButton.spriteName = "page_right"; + pageRightButton.callback = () => this.nextPage(); + pageRightButton.activeFrame = false; + pageRightButton.pixelPerfect = true; + + // pageLeft (components) + const pageLeftButton = new Button(pageLeft); + pageLeftButton.spriteName = "page_left"; + pageLeftButton.callback = () => this.prevPage(); + pageLeftButton.activeFrame = false; + pageLeftButton.pixelPerfect = true; + + this.coins = coins; + this.buttons = buttons; + this.pages = pages; + + /* START-USER-CTR-CODE */ + /* END-USER-CTR-CODE */ + } + + + /* START-USER-CODE */ + + onBuyClick(furnitureId) { + this.interface.prompt.showFurniture(furnitureId) + } + + /* END-USER-CODE */ +} + +/* END OF COMPILED CODE */ diff --git a/src/scenes/interface/catalogs/pets/PetsCatalog.scene b/src/scenes/interface/catalogs/pets/PetsCatalog.scene new file mode 100644 index 00000000..704b6488 --- /dev/null +++ b/src/scenes/interface/catalogs/pets/PetsCatalog.scene @@ -0,0 +1,729 @@ +{ + "id": "0339e9fe-0e06-4185-a986-8115cc5f8010", + "sceneType": "PREFAB", + "settings": { + "compilerInsertSpaces": true, + "javaScriptInitFieldsInConstructor": true, + "exportClass": true, + "autoImport": true, + "superClassName": "BookContainer", + "preloadMethodName": "", + "preloadPackFiles": [], + "createMethodName": "", + "borderWidth": 1520, + "borderHeight": 960 + }, + "displayList": [ + { + "type": "Container", + "id": "e7828f7f-5f53-4824-908b-f4755f55ce7c", + "label": "container_1", + "list": [ + { + "type": "Rectangle", + "id": "faf8d7a6-2bf8-47a8-bbad-53cc9690b980", + "label": "block", + "components": [ + "Interactive" + ], + "originX": 0, + "originY": 0, + "isFilled": true, + "fillColor": "#000000", + "fillAlpha": 0.2, + "width": 1520, + "height": 960 + }, + { + "type": "Container", + "id": "1ef6562b-0e92-4d59-b6dc-ed9619917805", + "label": "page5", + "visible": false, + "list": [ + { + "type": "Image", + "id": "02e66c56-c10b-40cc-8069-4ce58da5a06b", + "label": "page0005", + "texture": { + "key": "petscatalog", + "frame": "page/page0005" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "8dc40e68-3e5e-4dad-92be-156e7afe3ac5", + "label": "closeLeft", + "components": [ + "Button" + ], + "Button.spriteName": "close_left", + "Button.callback": "() => this.close()", + "Button.pixelPerfect": true, + "texture": { + "key": "petscatalog", + "frame": "close_left" + }, + "x": 491, + "y": 39, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "4ac947c0-9c15-4bdc-a631-4d3f826cc05a", + "label": "pageLeft1", + "components": [ + "Button" + ], + "Button.spriteName": "page_left", + "Button.callback": "() => this.prevPage()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "petscatalog", + "frame": "page_left" + }, + "x": 492, + "y": 590, + "originX": 0, + "originY": 0 + } + ] + }, + { + "type": "Container", + "id": "88fdc0cf-7a86-49c9-8f64-60e96174d2f3", + "label": "page4", + "visible": false, + "list": [ + { + "type": "Image", + "id": "2e98b393-b10e-460c-be10-1a3db795c80d", + "label": "page0004", + "texture": { + "key": "petscatalog", + "frame": "page/page0004" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "0fe638b5-3d8b-485f-8747-094933c80d9a", + "label": "buy22", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(214)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 1115, + "y": 743, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "c9217fc5-7fd6-45d6-8a0e-0781717886c7", + "label": "buy21", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(225)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 924, + "y": 551, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "d08212d9-b22c-4140-a72b-3cafb17a7bca", + "label": "buy20", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(212)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 1153, + "y": 401, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "bf334797-8f5d-43c2-b5c1-b4030859df17", + "label": "buy19", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(203)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 640, + "y": 730, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "4c54e8f2-1d2f-4c9b-b662-5664a4c48171", + "label": "buy18", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(221)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 636, + "y": 567, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "ab7689a7-7970-48a2-b63b-90aea0084753", + "label": "buy17", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(227)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 636, + "y": 415, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "41259662-d436-4843-9e5d-ddde40d5890f", + "label": "buy16", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(202)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 477, + "y": 735, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "c17a4296-d16c-432c-a33f-ae647140b6b8", + "label": "buy15", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(200)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 474, + "y": 591, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "63b995e1-a2a9-45a0-aac3-1300a2c4bec1", + "label": "buy14", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(232)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 474, + "y": 441, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "a88ab00f-2a19-489b-98d4-de78ac0cfc3e", + "label": "buy13", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(201)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 311, + "y": 728, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "fbeb637d-091a-48af-b3ce-989d75574591", + "label": "buy12", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(222)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 309, + "y": 569, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + } + ] + }, + { + "type": "Container", + "id": "5cb750a5-0333-44aa-a280-376cab80599b", + "label": "page3", + "visible": false, + "list": [ + { + "type": "Image", + "id": "37c05bdf-a234-4740-bcfb-6d0f3d7dc557", + "label": "page0003", + "texture": { + "key": "petscatalog", + "frame": "page/page0003" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "60eeb051-6f90-4733-a617-fac1d04c3d46", + "label": "buy11", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(206)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 933, + "y": 750, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "319b2999-a2ef-4a88-8e8c-be3d9fe6a7a5", + "label": "buy10", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(207)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 1154, + "y": 566, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "1d805f7d-ac72-4561-b1a3-229cbb07c9b5", + "label": "buy9", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(233)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 927, + "y": 385, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "2a10d04c-461a-4a67-b2c8-e6b9a3e1fa92", + "label": "buy8", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(228)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 1154, + "y": 202, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "9f5ed0ba-5ef9-45b2-a279-47c006f136e4", + "label": "buy7", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(209)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 564, + "y": 752, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "4c132df2-ea54-44d4-84db-37ea07b17834", + "label": "buy6", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(208)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 395, + "y": 574, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "ed314140-5ee2-49e1-8b20-9cea5ea56672", + "label": "buy5", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(223)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 567, + "y": 388, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + } + ] + }, + { + "type": "Container", + "id": "bb0dc8c5-e671-47fa-8b53-dcba1002dd00", + "label": "page2", + "visible": false, + "list": [ + { + "type": "Image", + "id": "b03edf36-eb2c-4234-8b62-35a4508a6404", + "label": "page0002", + "texture": { + "key": "petscatalog", + "frame": "page/page0002" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "600fd26f-2003-4554-9c89-77db81bc1c40", + "label": "buy4", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(220)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 1125, + "y": 714, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "652e6dc2-043c-4a94-b904-89775f6c590e", + "label": "buy3", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(218)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 943, + "y": 477, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "ea8e5e10-9af3-4c19-bdd9-46c4702b369b", + "label": "buy2", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(224)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 1117, + "y": 247, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "b9581063-7f11-4754-9dfa-6de92ec7c1c8", + "label": "buy1", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(210)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 621, + "y": 525, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + }, + { + "type": "Image", + "id": "a79b61f8-8460-49dd-bef8-e2f0384d05ff", + "label": "buy", + "components": [ + "Button" + ], + "Button.spriteName": "buy", + "Button.callback": "() => this.onBuyClick(211)", + "texture": { + "key": "petscatalog", + "frame": "buy" + }, + "x": 342, + "y": 729, + "originX": 0.5051546391752577, + "originY": 0.509090909090909 + } + ] + }, + { + "type": "Container", + "id": "c06e6b99-75ae-44de-8fd6-97a00178f552", + "label": "page1", + "list": [ + { + "type": "Image", + "id": "0c462b69-419b-46c0-829b-f22133e9b2d9", + "label": "page0001", + "texture": { + "key": "petscatalog", + "frame": "page/page0001" + }, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "2b34a992-5863-4055-997b-95667d4c9534", + "label": "pageFront", + "components": [ + "Button" + ], + "Button.spriteName": "page_front", + "Button.callback": "() => this.nextPage()", + "Button.activeFrame": false, + "texture": { + "key": "petscatalog", + "frame": "page_front" + }, + "x": 469, + "y": 42, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "a460cc47-3b72-45ce-a1fe-8fa107c3abce", + "label": "closeRight1", + "components": [ + "Button" + ], + "Button.spriteName": "close_right", + "Button.callback": "() => this.close()", + "Button.pixelPerfect": true, + "texture": { + "key": "petscatalog", + "frame": "close_right" + }, + "x": 925, + "y": 39, + "originX": 0, + "originY": 0 + } + ] + }, + { + "type": "Container", + "id": "33038d96-221d-41e9-8999-fbcd325c77fa", + "label": "buttons", + "scope": "CLASS", + "x": 190, + "y": 41, + "visible": false, + "list": [ + { + "type": "Image", + "id": "5433f276-aa10-43c6-be6d-3d839d7771dd", + "label": "closeRight", + "components": [ + "Button" + ], + "Button.spriteName": "close_right", + "Button.callback": "() => this.close()", + "Button.pixelPerfect": true, + "texture": { + "key": "petscatalog", + "frame": "close_right" + }, + "x": 1012, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "f002fbfa-a409-4b6e-9d7c-fc90adc33812", + "label": "pageRight", + "components": [ + "Button" + ], + "Button.spriteName": "page_right", + "Button.callback": "() => this.nextPage()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "petscatalog", + "frame": "page_right" + }, + "x": 1012, + "y": 549, + "originX": 0, + "originY": 0 + }, + { + "type": "Image", + "id": "e67c6bb2-4813-4b2a-a471-b1a16228c378", + "label": "pageLeft", + "components": [ + "Button" + ], + "Button.spriteName": "page_left", + "Button.callback": "() => this.prevPage()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "petscatalog", + "frame": "page_left" + }, + "y": 549, + "originX": 0, + "originY": 0 + }, + { + "type": "Text", + "id": "18f3a279-1bcc-43e7-a47e-dc2a29765491", + "label": "coins", + "scope": "CLASS", + "x": 1130, + "y": 790, + "originX": 1, + "text": "YOUR COINS:", + "fixedWidth": 600, + "align": "right", + "fontFamily": "CCComiccrazy", + "fontSize": "32px", + "stroke": "#000", + "strokeThickness": 9 + } + ] + } + ] + } + ], + "plainObjects": [], + "meta": { + "app": "Phaser Editor 2D - Scene Editor", + "url": "https://phasereditor2d.com", + "contentType": "phasereditor2d.core.scene.SceneContentType", + "version": 5 + }, + "lists": [ + { + "id": "eee19a2c-6cb3-4ea1-8e06-703f0cc166b2", + "label": "pages", + "objectIds": [ + "c06e6b99-75ae-44de-8fd6-97a00178f552", + "bb0dc8c5-e671-47fa-8b53-dcba1002dd00", + "5cb750a5-0333-44aa-a280-376cab80599b", + "88fdc0cf-7a86-49c9-8f64-60e96174d2f3", + "1ef6562b-0e92-4d59-b6dc-ed9619917805" + ] + } + ] +} \ No newline at end of file diff --git a/src/scenes/interface/game/iglooedit/IglooEdit.js b/src/scenes/interface/game/iglooedit/IglooEdit.js index 7fa1905c..bc338302 100644 --- a/src/scenes/interface/game/iglooedit/IglooEdit.js +++ b/src/scenes/interface/game/iglooedit/IglooEdit.js @@ -318,7 +318,7 @@ export default class IglooEdit extends BaseScene { onEditClick() { this.interface.hideInterface(false) this.world.room.showEditBg() - this.world.room.hidePenguins() + this.world.room.hideEntities() this.world.room.enableFurnitureInput() this.showControls() } @@ -327,7 +327,7 @@ export default class IglooEdit extends BaseScene { this.saveIgloo() this.interface.showInterface() this.world.room.hideEditBg() - this.world.room.showPenguins() + this.world.room.showEntities() this.world.room.disableFurnitureInput() this.hideControls() } diff --git a/src/scenes/interface/game/mail/Mail.js b/src/scenes/interface/game/mail/Mail.js index 99e1f076..97dbdb45 100644 --- a/src/scenes/interface/game/mail/Mail.js +++ b/src/scenes/interface/game/mail/Mail.js @@ -354,7 +354,7 @@ export default class Mail extends BaseContainer { try { this.currentPrefab = new postcardClass(this.scene, this.postcardX, this.postcardY) this.currentPrefab.angle = this.postcardAngle - this.currentPrefab.setName(this.currentCard.senderName) + this.currentPrefab.setText(this.currentCard) this.currentPrefab.enableInput() diff --git a/src/scenes/interface/game/mailbook/preview/MailbookPreview.js b/src/scenes/interface/game/mailbook/preview/MailbookPreview.js index 2bd882fd..f6c0a53a 100644 --- a/src/scenes/interface/game/mailbook/preview/MailbookPreview.js +++ b/src/scenes/interface/game/mailbook/preview/MailbookPreview.js @@ -182,7 +182,10 @@ export default class MailbookPreview extends BaseContainer { try { this.currentPrefab = new postcardClass(this.scene, this.postcardX, this.postcardY) - this.currentPrefab.setName(this.world.client.penguin.username) + + this.currentPrefab.setText({ + senderName: this.world.client.penguin.username + }) this.addAt(this.currentPrefab, 2) diff --git a/src/scenes/interface/game/main/Main.js b/src/scenes/interface/game/main/Main.js index 31d02501..53a25226 100644 --- a/src/scenes/interface/game/main/Main.js +++ b/src/scenes/interface/game/main/Main.js @@ -9,6 +9,7 @@ import SimpleButton from "../../../components/SimpleButton"; import MailButton from "./buttons/mail/MailButton"; import Waddle from "../waddle/Waddle"; import Buddy from "../buddy/Buddy"; +import PetCard from "../pet/PetCard"; import PlayerCard from "../playercard/PlayerCard"; import ActionsMenu from "../floating/actions/ActionsMenu"; import EmotesMenu from "../floating/emotes/EmotesMenu"; @@ -51,6 +52,8 @@ export default class Main extends BaseScene { this.waddle; /** @type {Buddy} */ this.buddy; + /** @type {PetCard} */ + this.petCard; /** @type {PlayerCard} */ this.playerCard; /** @type {Phaser.GameObjects.Layer} */ @@ -69,7 +72,7 @@ export default class Main extends BaseScene { this.mail; /** @type {Mailbook} */ this.mailbook; - /** @type {Array} */ + /** @type {Array} */ this.hideOnSleep; @@ -186,17 +189,22 @@ export default class Main extends BaseScene { const widgetLayer = this.add.layer(); // waddle - const waddle = new Waddle(this, 1099, 332); + const waddle = new Waddle(this, 1104, 332); waddle.visible = false; widgetLayer.add(waddle); // buddy - const buddy = new Buddy(this, 1140, 436); + const buddy = new Buddy(this, 1144, 444); buddy.visible = false; widgetLayer.add(buddy); + // petCard + const petCard = new PetCard(this, 484, 444); + petCard.visible = false; + widgetLayer.add(petCard); + // playerCard - const playerCard = new PlayerCard(this, 446, 436); + const playerCard = new PlayerCard(this, 444, 444); playerCard.visible = false; widgetLayer.add(playerCard); @@ -236,7 +244,7 @@ export default class Main extends BaseScene { mailbook.visible = false; // lists - const hideOnSleep = [settings, moderator, playerCard, buddy, waddle]; + const hideOnSleep = [settings, moderator, playerCard, petCard, buddy, waddle]; // dock (components) new Interactive(dock); @@ -344,6 +352,7 @@ export default class Main extends BaseScene { this.mod_m = mod_m; this.waddle = waddle; this.buddy = buddy; + this.petCard = petCard; this.playerCard = playerCard; this.widgetLayer = widgetLayer; this.actionsMenu = actionsMenu; @@ -454,7 +463,7 @@ export default class Main extends BaseScene { } updateMailCount() { - this.mailButton.updateMailCount() + this.mailButton?.updateMailCount() } onSnowballClick() { diff --git a/src/scenes/interface/game/main/Main.scene b/src/scenes/interface/game/main/Main.scene index 23d18d1d..7f3c280c 100644 --- a/src/scenes/interface/game/main/Main.scene +++ b/src/scenes/interface/game/main/Main.scene @@ -478,7 +478,7 @@ ], "label": "waddle", "scope": "CLASS", - "x": 1099, + "x": 1104, "y": 332, "visible": false }, @@ -492,8 +492,22 @@ ], "label": "buddy", "scope": "CLASS", - "x": 1140, - "y": 436, + "x": 1144, + "y": 444, + "visible": false + }, + { + "prefabId": "dbce115c-74cb-4656-88db-4fe91e6dd262", + "id": "e7e1f84c-7eae-42d4-8334-a0c8ac014563", + "unlock": [ + "x", + "y", + "visible" + ], + "label": "petCard", + "scope": "CLASS", + "x": 484, + "y": 444, "visible": false }, { @@ -506,8 +520,8 @@ ], "label": "playerCard", "scope": "CLASS", - "x": 446, - "y": 436, + "x": 444, + "y": 444, "visible": false } ] @@ -618,6 +632,7 @@ "4904443b-abe1-429f-9557-f064db674790", "7b10953c-f288-40da-8b3f-44af0dea100d", "9770a528-0c5a-4720-a6db-eabd53c787e1", + "e7e1f84c-7eae-42d4-8334-a0c8ac014563", "9acd4a58-cbf9-4751-b96a-2822f121af9c", "0040eb03-91ac-4caf-8c26-67b736b50f60" ] diff --git a/src/scenes/interface/game/pet/PetCard.js b/src/scenes/interface/game/pet/PetCard.js new file mode 100644 index 00000000..b9a80cd0 --- /dev/null +++ b/src/scenes/interface/game/pet/PetCard.js @@ -0,0 +1,294 @@ +/* START OF COMPILED CODE */ + +import BaseContainer from "../../../base/BaseContainer"; +import DraggableContainer from "../../../components/DraggableContainer"; +import PetInventory from "./inventory/PetInventory"; +import Button from "../../../components/Button"; +import ShowHint from "../../../components/ShowHint"; +import SimpleButton from "../../../components/SimpleButton"; +/* START-USER-IMPORTS */ +/* END-USER-IMPORTS */ + +export default class PetCard extends BaseContainer { + + constructor(scene, x, y) { + super(scene, x ?? 760, y ?? 480); + + /** @type {PetInventory} */ + this.inventory; + /** @type {Phaser.GameObjects.Image} */ + this.restBar; + /** @type {Phaser.GameObjects.Image} */ + this.healthBar; + /** @type {Phaser.GameObjects.Image} */ + this.energyBar; + /** @type {Phaser.GameObjects.Text} */ + this.name; + /** @type {Phaser.GameObjects.Text} */ + this.restText; + /** @type {Phaser.GameObjects.Text} */ + this.healthText; + /** @type {Phaser.GameObjects.Text} */ + this.energyText; + /** @type {Phaser.GameObjects.Image} */ + this.paper; + /** @type {Phaser.GameObjects.Image} */ + this.arrow; + /** @type {Phaser.GameObjects.Container} */ + this.tab; + + + // inventory + const inventory = new PetInventory(scene, 187, 16); + inventory.visible = true; + this.add(inventory); + + // cardBg + const cardBg = scene.add.image(0, 0, "main", "card-bg"); + this.add(cardBg); + + // petBg + const petBg = scene.add.image(0, 0, "main", "pet/card_bg"); + petBg.setOrigin(0.5, 0.5012285012285013); + this.add(petBg); + + // restBar + const restBar = scene.add.image(73, 166, "main", "pet/bar/1"); + this.add(restBar); + + // healthBar + const healthBar = scene.add.image(73, 122, "main", "pet/bar/1"); + this.add(healthBar); + + // energyBar + const energyBar = scene.add.image(73, 78, "main", "pet/bar/1"); + this.add(energyBar); + + // walkButton + const walkButton = scene.add.image(99, 258, "main", "blue-button"); + this.add(walkButton); + + // feedButton + const feedButton = scene.add.image(37, 258, "main", "blue-button"); + this.add(feedButton); + + // restButton + const restButton = scene.add.image(-23, 258, "main", "blue-button"); + this.add(restButton); + + // playButton + const playButton = scene.add.image(-83, 258, "main", "blue-button"); + this.add(playButton); + + // walk + const walk = scene.add.image(100, 257, "main", "pet/walk"); + this.add(walk); + + // feed + const feed = scene.add.image(38, 256, "main", "pet/feed"); + feed.setOrigin(0.5185185185185185, 0.5); + this.add(feed); + + // rest + const rest = scene.add.image(-24, 257, "main", "pet/rest"); + rest.setOrigin(0.5, 0.52); + this.add(rest); + + // play + const play = scene.add.image(-84, 255, "main", "pet/play"); + this.add(play); + + // name + const name = scene.add.text(0, -237, "", {}); + name.setOrigin(0.5, 0.5); + name.setStyle({ "align": "center", "color": "#000000ff", "fixedWidth":360,"fontFamily": "Arial", "fontSize": "32px", "fontStyle": "bold" }); + this.add(name); + + // xButton + const xButton = scene.add.image(176, -236, "main", "blue-button"); + this.add(xButton); + + // xIcon + const xIcon = scene.add.image(176, -238, "main", "blue-x"); + this.add(xIcon); + + // restText + const restText = scene.add.text(-210, 168, "", {}); + restText.setOrigin(0, 0.5); + restText.text = "REST"; + restText.setStyle({ "align": "right", "fixedWidth":160,"fontFamily": "CCFaceFront", "fontSize": "28px", "stroke": "#003366", "strokeThickness":8,"shadow.color": "#003366", "shadow.blur":3,"shadow.stroke":true}); + this.add(restText); + + // healthText + const healthText = scene.add.text(-210, 120, "", {}); + healthText.setOrigin(0, 0.5); + healthText.text = "HEALTH"; + healthText.setStyle({ "align": "right", "fixedWidth":160,"fontFamily": "CCFaceFront", "fontSize": "28px", "stroke": "#003366", "strokeThickness":8,"shadow.color": "#003366", "shadow.blur":3,"shadow.stroke":true}); + this.add(healthText); + + // energyText + const energyText = scene.add.text(-210, 77, "", {}); + energyText.setOrigin(0, 0.5); + energyText.text = "ENERGY"; + energyText.setStyle({ "align": "right", "fixedWidth":160,"fontFamily": "CCFaceFront", "fontSize": "28px", "stroke": "#003366", "strokeThickness":8,"shadow.color": "#003366", "shadow.blur":3,"shadow.stroke":true}); + this.add(energyText); + + // shadow + const shadow = scene.add.image(10, 22, "main", "pet/paper/shadow"); + shadow.setOrigin(0.5026737967914439, 0.5116279069767442); + this.add(shadow); + + // paper + const paper = scene.add.image(10, -65, "main", "pet/paper/blue/1"); + this.add(paper); + + // tab + const tab = scene.add.container(234, -126); + tab.visible = false; + this.add(tab); + + // tabHandle + const tabHandle = scene.add.image(8, 2, "main", "tab"); + tabHandle.angle = -90; + tab.add(tabHandle); + + // arrow + const arrow = scene.add.image(0, 0, "main", "tab-arrow"); + arrow.angle = -90; + tab.add(arrow); + + // this (components) + const thisDraggableContainer = new DraggableContainer(this); + thisDraggableContainer.handle = cardBg; + + // walkButton (components) + const walkButtonButton = new Button(walkButton); + walkButtonButton.spriteName = "blue-button"; + walkButtonButton.callback = () => this.onWalkClick(); + const walkButtonShowHint = new ShowHint(walkButton); + walkButtonShowHint.text = "walk_pet_hint"; + + // feedButton (components) + const feedButtonButton = new Button(feedButton); + feedButtonButton.spriteName = "blue-button"; + feedButtonButton.callback = () => this.onFeedClick(); + const feedButtonShowHint = new ShowHint(feedButton); + feedButtonShowHint.text = "feed_pet_hint"; + + // restButton (components) + const restButtonButton = new Button(restButton); + restButtonButton.spriteName = "blue-button"; + restButtonButton.callback = () => this.onRestClick(); + const restButtonShowHint = new ShowHint(restButton); + restButtonShowHint.text = "rest_pet_hint"; + + // playButton (components) + const playButtonButton = new Button(playButton); + playButtonButton.spriteName = "blue-button"; + playButtonButton.callback = () => this.onPlayClick(); + const playButtonShowHint = new ShowHint(playButton); + playButtonShowHint.text = "play_pet_hint"; + + // xButton (components) + const xButtonButton = new Button(xButton); + xButtonButton.spriteName = "blue-button"; + xButtonButton.callback = () => this.close(); + + // tabHandle (components) + const tabHandleSimpleButton = new SimpleButton(tabHandle); + tabHandleSimpleButton.callback = () => this.onTabClick(); + + this.inventory = inventory; + this.restBar = restBar; + this.healthBar = healthBar; + this.energyBar = energyBar; + this.name = name; + this.restText = restText; + this.healthText = healthText; + this.energyText = energyText; + this.paper = paper; + this.arrow = arrow; + this.tab = tab; + + /* START-USER-CTR-CODE */ + + this.pet = null + + /* END-USER-CTR-CODE */ + } + + + /* START-USER-CODE */ + + show(pet) { + this.pet = pet + this.name.text = pet.name + + this.closeInventory() + this.updateStats() + + this.widgetLayer.bringToTop(this) + super.show() + } + + updateStats() { + this.energyBar.setFrame(`pet/bar/${this.getStatFrame(this.pet.energy)}`) + this.healthBar.setFrame(`pet/bar/${this.getStatFrame(this.pet.health)}`) + this.restBar.setFrame(`pet/bar/${this.getStatFrame(this.pet.rest)}`) + + this.updatePaper() + } + + updatePaper() { + const name = this.crumbs.pets[this.pet.typeId].name.toLowerCase() + + const happiness = this.pet.happiness + const frame = happiness > 75 ? 1 : happiness > 50 ? 2 : happiness > 25 ? 3 : 4 + + this.paper.setFrame(`pet/paper/${name}/${frame}`) + } + + getStatFrame(stat) { + return Math.max(1, Math.round(stat / 10)) + } + + onPlayClick() { + this.close() + + this.pet.requestPlay() + } + + onRestClick() { + this.close() + + this.pet.requestRest() + } + + onFeedClick() { + this.openInventory() + } + + onWalkClick() { + this.close() + + this.pet.requestWalk() + } + + onTabClick() { + this.openInventory() + } + + openInventory() { + this.tab.visible = false + this.inventory.show() + } + + closeInventory() { + this.inventory.close() + this.tab.visible = true + } + + /* END-USER-CODE */ +} + +/* END OF COMPILED CODE */ diff --git a/src/scenes/interface/game/pet/PetCard.scene b/src/scenes/interface/game/pet/PetCard.scene new file mode 100644 index 00000000..edad8b3b --- /dev/null +++ b/src/scenes/interface/game/pet/PetCard.scene @@ -0,0 +1,388 @@ +{ + "id": "dbce115c-74cb-4656-88db-4fe91e6dd262", + "sceneType": "PREFAB", + "settings": { + "compilerInsertSpaces": true, + "snapWidth": 60, + "javaScriptInitFieldsInConstructor": true, + "exportClass": true, + "autoImport": true, + "superClassName": "BaseContainer", + "preloadMethodName": "", + "preloadPackFiles": [], + "createMethodName": "", + "borderWidth": 1520, + "borderHeight": 960 + }, + "displayList": [ + { + "type": "Container", + "id": "5e6c870e-990f-49db-9990-be1242daf579", + "label": "container_1", + "components": [ + "DraggableContainer" + ], + "DraggableContainer.handle": "cardBg", + "x": 760, + "y": 480, + "list": [ + { + "prefabId": "49fbcc80-c325-441c-828a-68975855d1ef", + "id": "a54dfab4-57e1-4635-9a1b-5ce4b0ef12eb", + "unlock": [ + "x", + "y", + "visible" + ], + "label": "inventory", + "scope": "CLASS", + "x": 187, + "y": 16, + "visible": true + }, + { + "type": "Image", + "id": "84eedd47-1d1c-49bc-b020-6c10cfdd6f56", + "label": "cardBg", + "texture": { + "key": "main", + "frame": "card-bg" + } + }, + { + "type": "Image", + "id": "03530f92-d9ea-4c8a-895a-26c247375568", + "label": "petBg", + "texture": { + "key": "main", + "frame": "pet/card_bg" + }, + "originY": 0.5012285012285013 + }, + { + "type": "Image", + "id": "d277bc54-e051-4655-81c6-ddc4054a49e6", + "label": "restBar", + "scope": "CLASS", + "texture": { + "key": "main", + "frame": "pet/bar/1" + }, + "x": 73, + "y": 166 + }, + { + "type": "Image", + "id": "45d814c4-27ae-4225-9ec4-c32ab381ecee", + "label": "healthBar", + "scope": "CLASS", + "texture": { + "key": "main", + "frame": "pet/bar/1" + }, + "x": 73, + "y": 122 + }, + { + "type": "Image", + "id": "d49d584c-5408-49e2-a990-95c1c9d306b9", + "label": "energyBar", + "scope": "CLASS", + "texture": { + "key": "main", + "frame": "pet/bar/1" + }, + "x": 73, + "y": 78 + }, + { + "type": "Image", + "id": "7bf88fd5-ad79-44c1-9a62-bc7464128379", + "label": "walkButton", + "components": [ + "Button", + "ShowHint" + ], + "Button.spriteName": "blue-button", + "Button.callback": "() => this.onWalkClick()", + "ShowHint.text": "walk_pet_hint", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 99, + "y": 258 + }, + { + "type": "Image", + "id": "349a71fd-e4a8-4b6a-ab93-6035387b18c5", + "label": "feedButton", + "components": [ + "Button", + "ShowHint" + ], + "Button.spriteName": "blue-button", + "Button.callback": "() => this.onFeedClick()", + "ShowHint.text": "feed_pet_hint", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 37, + "y": 258 + }, + { + "type": "Image", + "id": "1e881a54-634d-4c39-9551-3c453ac3d685", + "label": "restButton", + "components": [ + "Button", + "ShowHint" + ], + "Button.spriteName": "blue-button", + "Button.callback": "() => this.onRestClick()", + "ShowHint.text": "rest_pet_hint", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": -23, + "y": 258 + }, + { + "type": "Image", + "id": "51bbde59-fe69-4933-9f76-4d7c4156104d", + "label": "playButton", + "components": [ + "Button", + "ShowHint" + ], + "Button.spriteName": "blue-button", + "Button.callback": "() => this.onPlayClick()", + "ShowHint.text": "play_pet_hint", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": -83, + "y": 258 + }, + { + "type": "Image", + "id": "973ef7cc-17bf-4bf9-8211-76e6d669a01a", + "label": "walk", + "texture": { + "key": "main", + "frame": "pet/walk" + }, + "x": 100, + "y": 257 + }, + { + "type": "Image", + "id": "1b4ab14b-656b-477d-9ff9-26625c73203c", + "label": "feed", + "texture": { + "key": "main", + "frame": "pet/feed" + }, + "x": 38, + "y": 256, + "originX": 0.5185185185185185 + }, + { + "type": "Image", + "id": "b2eb403d-273c-41c9-9fe5-4d33f17389e3", + "label": "rest", + "texture": { + "key": "main", + "frame": "pet/rest" + }, + "x": -24, + "y": 257, + "originY": 0.52 + }, + { + "type": "Image", + "id": "b45f13bd-e610-4e52-85ff-1224bc31e58b", + "label": "play", + "texture": { + "key": "main", + "frame": "pet/play" + }, + "x": -84, + "y": 255 + }, + { + "type": "Text", + "id": "19162c3d-f8c9-417c-ae22-0977a271b63d", + "label": "name", + "scope": "CLASS", + "y": -237, + "originX": 0.5, + "originY": 0.5, + "fixedWidth": 360, + "align": "center", + "fontFamily": "Arial", + "fontSize": "32px", + "fontStyle": "bold", + "color": "#000000ff" + }, + { + "type": "Image", + "id": "29115cbe-e9ff-4ca7-8c64-c96f194e7233", + "label": "xButton", + "components": [ + "Button" + ], + "Button.spriteName": "blue-button", + "Button.callback": "() => this.close()", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 176, + "y": -236 + }, + { + "type": "Image", + "id": "97eaab55-15c6-417c-ba23-d74ff6459732", + "label": "xIcon", + "texture": { + "key": "main", + "frame": "blue-x" + }, + "x": 176, + "y": -238 + }, + { + "type": "Text", + "id": "cd7cc1b4-0429-429b-a86f-b136abe8c56f", + "label": "restText", + "scope": "CLASS", + "x": -210, + "y": 168, + "originY": 0.5, + "text": "REST", + "fixedWidth": 160, + "align": "right", + "fontFamily": "CCFaceFront", + "fontSize": "28px", + "stroke": "#003366", + "strokeThickness": 8, + "shadow.stroke": true, + "shadow.color": "#003366", + "shadow.blur": 3 + }, + { + "type": "Text", + "id": "63283323-17d2-4fd0-bffb-d06de47eb7cb", + "label": "healthText", + "scope": "CLASS", + "x": -210, + "y": 120, + "originY": 0.5, + "text": "HEALTH", + "fixedWidth": 160, + "align": "right", + "fontFamily": "CCFaceFront", + "fontSize": "28px", + "stroke": "#003366", + "strokeThickness": 8, + "shadow.stroke": true, + "shadow.color": "#003366", + "shadow.blur": 3 + }, + { + "type": "Text", + "id": "d355303f-e579-4439-801c-a8b5008435d5", + "label": "energyText", + "scope": "CLASS", + "x": -210, + "y": 77, + "originY": 0.5, + "text": "ENERGY", + "fixedWidth": 160, + "align": "right", + "fontFamily": "CCFaceFront", + "fontSize": "28px", + "stroke": "#003366", + "strokeThickness": 8, + "shadow.stroke": true, + "shadow.color": "#003366", + "shadow.blur": 3 + }, + { + "type": "Image", + "id": "b8a07549-b3c9-41e6-b2f4-f53b1b060ede", + "label": "shadow", + "texture": { + "key": "main", + "frame": "pet/paper/shadow" + }, + "x": 10, + "y": 22, + "originX": 0.5026737967914439, + "originY": 0.5116279069767442 + }, + { + "type": "Image", + "id": "5c0151c5-ceb4-4d4d-8e39-9b5b0ee2b419", + "label": "paper", + "scope": "CLASS", + "texture": { + "key": "main", + "frame": "pet/paper/blue/1" + }, + "x": 10, + "y": -65 + }, + { + "type": "Container", + "id": "474a6b4d-79aa-4770-8806-fdf6bd713c65", + "label": "tab", + "scope": "CLASS", + "x": 234, + "y": -126, + "visible": false, + "list": [ + { + "type": "Image", + "id": "03881c7f-8931-4102-8e5b-67222ed47631", + "label": "tabHandle", + "components": [ + "SimpleButton" + ], + "SimpleButton.callback": "() => this.onTabClick()", + "texture": { + "key": "main", + "frame": "tab" + }, + "x": 8, + "y": 2, + "angle": -90 + }, + { + "type": "Image", + "id": "7fe2523d-6083-4c8b-901f-2748e7a6096c", + "label": "arrow", + "scope": "CLASS", + "texture": { + "key": "main", + "frame": "tab-arrow" + }, + "angle": -90 + } + ] + } + ] + } + ], + "plainObjects": [], + "meta": { + "app": "Phaser Editor 2D - Scene Editor", + "url": "https://phasereditor2d.com", + "contentType": "phasereditor2d.core.scene.SceneContentType", + "version": 5 + } +} \ No newline at end of file diff --git a/src/scenes/interface/game/pet/inventory/PetInventory.js b/src/scenes/interface/game/pet/inventory/PetInventory.js new file mode 100644 index 00000000..f9d1352b --- /dev/null +++ b/src/scenes/interface/game/pet/inventory/PetInventory.js @@ -0,0 +1,176 @@ +/* START OF COMPILED CODE */ + +import BaseContainer from "../../../../base/BaseContainer"; +import SimpleButton from "../../../../components/SimpleButton"; +import Button from "../../../../components/Button"; +/* START-USER-IMPORTS */ +/* END-USER-IMPORTS */ + +export default class PetInventory extends BaseContainer { + + constructor(scene, x, y) { + super(scene, x ?? 760, y ?? 480); + + /** @type {Phaser.GameObjects.Image} */ + this.arrow; + + + // bg + const bg = scene.add.image(0, 0, "main", "pet/inventory"); + bg.setOrigin(0.5006802721088436, 0.5008130081300813); + this.add(bg); + + // tab + const tab = scene.add.container(369, -142); + this.add(tab); + + // tabHandle + const tabHandle = scene.add.image(8, 2, "main", "tab"); + tabHandle.angle = -90; + tab.add(tabHandle); + + // arrow + const arrow = scene.add.image(0, 0, "main", "tab-arrow"); + arrow.angle = -90; + arrow.flipY = true; + tab.add(arrow); + + // slot8 + const slot8 = scene.add.image(257, 195, "main", "large-box"); + this.add(slot8); + + // slot7 + const slot7 = scene.add.image(125, 195, "main", "large-box"); + this.add(slot7); + + // slot6 + const slot6 = scene.add.image(257, 63, "main", "large-box"); + this.add(slot6); + + // slot5 + const slot5 = scene.add.image(125, 63, "main", "large-box"); + this.add(slot5); + + // bathButton + const bathButton = scene.add.image(257, -69, "main", "large-box"); + this.add(bathButton); + + // foodButton + const foodButton = scene.add.image(125, -69, "main", "large-box"); + this.add(foodButton); + + // cookieButton + const cookieButton = scene.add.image(257, -201, "main", "large-box"); + this.add(cookieButton); + + // gumButton + const gumButton = scene.add.image(125, -201, "main", "large-box"); + this.add(gumButton); + + // bath + const bath = scene.add.image(253, -69, "main", "pet/bath"); + bath.setOrigin(0.5, 0.5051546391752577); + this.add(bath); + + // food + const food = scene.add.image(125, -70, "main", "pet/food"); + this.add(food); + + // cookie + const cookie = scene.add.image(259, -199, "main", "pet/cookie"); + cookie.setOrigin(0.5052631578947369, 0.5); + this.add(cookie); + + // gum + const gum = scene.add.image(128, -200, "main", "pet/gum"); + gum.setOrigin(0.5051546391752577, 0.5054945054945055); + this.add(gum); + + // tabHandle (components) + const tabHandleSimpleButton = new SimpleButton(tabHandle); + tabHandleSimpleButton.callback = () => this.onTabClick(); + + // slot8 (components) + const slot8Button = new Button(slot8); + slot8Button.spriteName = "large-box"; + slot8Button.activeFrame = false; + + // slot7 (components) + const slot7Button = new Button(slot7); + slot7Button.spriteName = "large-box"; + slot7Button.activeFrame = false; + + // slot6 (components) + const slot6Button = new Button(slot6); + slot6Button.spriteName = "large-box"; + slot6Button.activeFrame = false; + + // slot5 (components) + const slot5Button = new Button(slot5); + slot5Button.spriteName = "large-box"; + slot5Button.activeFrame = false; + + // bathButton (components) + const bathButtonButton = new Button(bathButton); + bathButtonButton.spriteName = "large-box"; + bathButtonButton.callback = () => this.onBathClick(); + bathButtonButton.activeFrame = false; + + // foodButton (components) + const foodButtonButton = new Button(foodButton); + foodButtonButton.spriteName = "large-box"; + foodButtonButton.callback = () => this.onFoodClick(); + foodButtonButton.activeFrame = false; + + // cookieButton (components) + const cookieButtonButton = new Button(cookieButton); + cookieButtonButton.spriteName = "large-box"; + cookieButtonButton.callback = () => this.onCookieClick(); + cookieButtonButton.activeFrame = false; + + // gumButton (components) + const gumButtonButton = new Button(gumButton); + gumButtonButton.spriteName = "large-box"; + gumButtonButton.callback = () => this.onGumClick(); + gumButtonButton.activeFrame = false; + + this.arrow = arrow; + + /* START-USER-CTR-CODE */ + + bg.setInteractive({ pixelPerfect: true }) + + /* END-USER-CTR-CODE */ + } + + + /* START-USER-CODE */ + + get pet() { + return this.parentContainer.pet + } + + onGumClick() { + this.interface.prompt.showPetGum(this.pet) + } + + onCookieClick() { + this.interface.prompt.showPetCookie(this.pet) + } + + onFoodClick() { + this.interface.prompt.showPetFood(this.pet) + } + + onBathClick() { + this.interface.prompt.showPetBath(this.pet) + } + + onTabClick() { + this.parentContainer.closeInventory(this.pet) + } + + /* END-USER-CODE */ +} + +/* END OF COMPILED CODE */ diff --git a/src/scenes/interface/game/pet/inventory/PetInventory.scene b/src/scenes/interface/game/pet/inventory/PetInventory.scene new file mode 100644 index 00000000..04cab331 --- /dev/null +++ b/src/scenes/interface/game/pet/inventory/PetInventory.scene @@ -0,0 +1,262 @@ +{ + "id": "49fbcc80-c325-441c-828a-68975855d1ef", + "sceneType": "PREFAB", + "settings": { + "compilerInsertSpaces": true, + "javaScriptInitFieldsInConstructor": true, + "exportClass": true, + "autoImport": true, + "superClassName": "BaseContainer", + "preloadMethodName": "", + "preloadPackFiles": [], + "createMethodName": "", + "borderWidth": 1520, + "borderHeight": 960 + }, + "displayList": [ + { + "type": "Container", + "id": "174d32f8-be50-4a3a-97fc-94a3912c7dcf", + "label": "container_1", + "x": 760, + "y": 480, + "list": [ + { + "type": "Image", + "id": "c8be8b70-f6bc-4452-88dc-29128f2a9ec0", + "label": "bg", + "texture": { + "key": "main", + "frame": "pet/inventory" + }, + "originX": 0.5006802721088436, + "originY": 0.5008130081300813 + }, + { + "type": "Container", + "id": "2e1db83e-a07b-4569-beee-8a703495c309", + "label": "tab", + "x": 369, + "y": -142, + "list": [ + { + "type": "Image", + "id": "dc34a641-9bf2-4a9a-98b3-a4280ea413a1", + "label": "tabHandle", + "components": [ + "SimpleButton" + ], + "SimpleButton.callback": "() => this.onTabClick()", + "texture": { + "key": "main", + "frame": "tab" + }, + "x": 8, + "y": 2, + "angle": -90 + }, + { + "type": "Image", + "id": "aed7d888-40e3-4e38-9781-9fbd79b38b88", + "label": "arrow", + "scope": "CLASS", + "texture": { + "key": "main", + "frame": "tab-arrow" + }, + "angle": -90, + "flipY": true + } + ] + }, + { + "type": "Image", + "id": "42d21e59-89c7-4c91-acac-f53c5534cb8e", + "label": "slot8", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 257, + "y": 195 + }, + { + "type": "Image", + "id": "8262517c-9a9c-4369-9b24-e143e0226bf9", + "label": "slot7", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 125, + "y": 195 + }, + { + "type": "Image", + "id": "4cfbd817-f53e-43b0-9763-f4596d9dff03", + "label": "slot6", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 257, + "y": 63 + }, + { + "type": "Image", + "id": "01e0adcf-d0ed-4d0b-af49-e0194b4e19ba", + "label": "slot5", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 125, + "y": 63 + }, + { + "type": "Image", + "id": "e485b9dd-6475-4e73-b025-98b217851499", + "label": "bathButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.callback": "() => this.onBathClick()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 257, + "y": -69 + }, + { + "type": "Image", + "id": "0550a0d7-aab2-4c9e-94ba-9689a75beaf7", + "label": "foodButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.callback": "() => this.onFoodClick()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 125, + "y": -69 + }, + { + "type": "Image", + "id": "dbf3610e-93a3-461c-b682-068d6cd3dd30", + "label": "cookieButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.callback": "() => this.onCookieClick()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 257, + "y": -201 + }, + { + "type": "Image", + "id": "06e7244e-c0ca-4ab3-ba90-acfd5767323c", + "label": "gumButton", + "components": [ + "Button" + ], + "Button.spriteName": "large-box", + "Button.callback": "() => this.onGumClick()", + "Button.activeFrame": false, + "texture": { + "key": "main", + "frame": "large-box" + }, + "x": 125, + "y": -201 + }, + { + "type": "Image", + "id": "571bba7d-0710-47fd-af8e-9c4fe77abe3f", + "label": "bath", + "texture": { + "key": "main", + "frame": "pet/bath" + }, + "x": 253, + "y": -69, + "originY": 0.5051546391752577 + }, + { + "type": "Image", + "id": "ec6a0748-e305-4226-a71d-325d5848a4c2", + "label": "food", + "texture": { + "key": "main", + "frame": "pet/food" + }, + "x": 125, + "y": -70 + }, + { + "type": "Image", + "id": "99b26421-48ed-4bfd-8ef2-0482fee492e9", + "label": "cookie", + "texture": { + "key": "main", + "frame": "pet/cookie" + }, + "x": 259, + "y": -199, + "originX": 0.5052631578947369 + }, + { + "type": "Image", + "id": "fe911057-c61f-4293-ada6-de01c8bdfee9", + "label": "gum", + "texture": { + "key": "main", + "frame": "pet/gum" + }, + "x": 128, + "y": -200, + "originX": 0.5051546391752577, + "originY": 0.5054945054945055 + } + ] + } + ], + "plainObjects": [], + "meta": { + "app": "Phaser Editor 2D - Scene Editor", + "url": "https://phasereditor2d.com", + "contentType": "phasereditor2d.core.scene.SceneContentType", + "version": 5 + } +} \ No newline at end of file diff --git a/src/scenes/interface/prompts/InputPrompt.js b/src/scenes/interface/prompts/InputPrompt.js new file mode 100644 index 00000000..d1514c82 --- /dev/null +++ b/src/scenes/interface/prompts/InputPrompt.js @@ -0,0 +1,156 @@ +/* START OF COMPILED CODE */ + +import BaseContainer from "../../base/BaseContainer"; +import Interactive from "../../components/Interactive"; +import NineSlice from "../../components/NineSlice"; +import SingleButton from "./buttons/SingleButton"; +import Button from "../../components/Button"; +import PromptIcon from "./icon/PromptIcon"; +/* START-USER-IMPORTS */ + +import TextInput from '@engine/interface/text/TextInput' + +/* END-USER-IMPORTS */ + +export default class InputPrompt extends BaseContainer { + + constructor(scene, x, y) { + super(scene, x ?? 760, y ?? 480); + + /** @type {Phaser.GameObjects.Rectangle} */ + this.bg; + /** @type {Phaser.GameObjects.Text} */ + this.text; + /** @type {SingleButton} */ + this.button; + /** @type {PromptIcon} */ + this.promptIcon; + + + this.visible = false; + + // block + const block = scene.add.rectangle(0, 0, 1520, 960); + block.isFilled = true; + block.fillColor = 0; + block.fillAlpha = 0.2; + this.add(block); + + // bg + const bg = scene.add.rectangle(0, -40, 708, 584); + bg.isFilled = true; + bg.fillColor = 164045; + this.add(bg); + + // text + const text = scene.add.text(0, 0, "", {}); + text.setOrigin(0.5, 0.5); + text.text = "Message goes here"; + text.setStyle({ "align": "center", "color": "#000000", "fixedWidth":628,"fixedHeight":136,"fontFamily": "Arial Narrow", "fontSize": "32px" }); + this.add(text); + + // button + const button = new SingleButton(scene, 0, 130); + this.add(button); + + // input + const input = scene.add.rectangle(0, 19, 446, 54); + input.isFilled = true; + input.isStroked = true; + input.strokeColor = 0; + this.add(input); + + // xButton + const xButton = scene.add.image(296, -274, "main", "blue-button"); + this.add(xButton); + + // xIcon + const xIcon = scene.add.image(296, -276, "main", "blue-x"); + this.add(xIcon); + + // promptIcon + const promptIcon = new PromptIcon(scene, 0, -182); + this.add(promptIcon); + + // block (components) + new Interactive(block); + + // bg (components) + const bgNineSlice = new NineSlice(bg); + bgNineSlice.corner = 50; + + // xButton (components) + const xButtonButton = new Button(xButton); + xButtonButton.spriteName = "blue-button"; + xButtonButton.callback = () => this.close(); + + this.bg = bg; + this.text = text; + this.button = button; + this.promptIcon = promptIcon; + + /* START-USER-CTR-CODE */ + + const style = { + width: 446, + height: 54, + fontFamily: 'Arial Narrow', + fontSize: 40, + color: '#000', + textAlign: 'center' + } + + this.input = new TextInput(scene, 0, 19, 'text', style, () => this.callback(), 12, false) + + this.callback = () => {} + + scene.add.existing(this.input) + this.add(this.input) + + /* END-USER-CTR-CODE */ + } + + + /* START-USER-CODE */ + + show(text, buttonText, loadConfig = {}, callback = () => this.close()) { + this.text.text = text + this.button.text.text = buttonText + + this.callback = () => { + if (this.input.text.length) { + callback(this.input.text) + } + } + + this.input.clearText() + + super.show() + + this.promptIcon.loadIcon(loadConfig) + } + + showAdoptName(id) { + const data = this.crumbs.pets[id] + if (!data) return + + const name = data.name.toLowerCase() + const loadConfig = { + key: `pet/icon/${name}`, + url: `/assets/media/pet/icons/${name}.png` + } + + const callback = (text) => this.send('adopt_pet', { typeId: id, name: text }) + + this.show(this.getFormatString('name_pet'), 'Continue', loadConfig, callback) + } + + send(action, args) { + this.network.send(action, args) + this.close() + } + + /* END-USER-CODE */ +} + +/* END OF COMPILED CODE */ diff --git a/src/scenes/interface/prompts/InputPrompt.scene b/src/scenes/interface/prompts/InputPrompt.scene new file mode 100644 index 00000000..e8a5ca37 --- /dev/null +++ b/src/scenes/interface/prompts/InputPrompt.scene @@ -0,0 +1,140 @@ +{ + "id": "de9400c1-d847-4336-b338-284779ca153b", + "sceneType": "PREFAB", + "settings": { + "compilerInsertSpaces": true, + "javaScriptInitFieldsInConstructor": true, + "exportClass": true, + "autoImport": true, + "superClassName": "BaseContainer", + "preloadMethodName": "", + "preloadPackFiles": [], + "createMethodName": "", + "borderWidth": 1520, + "borderHeight": 960 + }, + "displayList": [ + { + "type": "Container", + "id": "5d4d6c7c-b458-4473-8e48-8c6bf6188135", + "label": "container_1", + "x": 760, + "y": 480, + "visible": false, + "list": [ + { + "type": "Rectangle", + "id": "ce6924c6-8244-4dd6-91d2-67128be58aa3", + "label": "block", + "components": [ + "Interactive" + ], + "isFilled": true, + "fillColor": "#000000", + "fillAlpha": 0.2, + "width": 1520, + "height": 960 + }, + { + "type": "Rectangle", + "id": "b4e1b321-feb3-4b4e-bc4a-0f827dd138db", + "label": "bg", + "scope": "CLASS", + "components": [ + "NineSlice" + ], + "NineSlice.corner": 50, + "y": -40, + "isFilled": true, + "fillColor": "#0280CD", + "width": 708, + "height": 584 + }, + { + "type": "Text", + "id": "9ae81c43-7893-4aeb-ad49-637dedc295f8", + "label": "text", + "scope": "CLASS", + "originX": 0.5, + "originY": 0.5, + "text": "Message goes here", + "fixedWidth": 628, + "fixedHeight": 136, + "align": "center", + "fontFamily": "Arial Narrow", + "fontSize": "32px", + "color": "#000000" + }, + { + "prefabId": "48dfbf63-271b-4c3d-9fcc-6406eb7a0754", + "id": "6fcb196e-1a89-44f3-960f-4823a12700ab", + "unlock": [ + "x", + "y" + ], + "label": "button", + "scope": "CLASS", + "x": 0, + "y": 130 + }, + { + "type": "Rectangle", + "id": "9c136df6-6bde-4bde-9776-c286c7bc24e1", + "label": "input", + "y": 19, + "isFilled": true, + "strokeColor": "#000", + "isStroked": true, + "width": 446, + "height": 54 + }, + { + "type": "Image", + "id": "ccb102df-ba56-46fa-9e5d-4710a4a9790e", + "label": "xButton", + "components": [ + "Button" + ], + "Button.spriteName": "blue-button", + "Button.callback": "() => this.close()", + "texture": { + "key": "main", + "frame": "blue-button" + }, + "x": 296, + "y": -274 + }, + { + "type": "Image", + "id": "8c47a724-fa2e-446f-b532-159e3d1478ba", + "label": "xIcon", + "texture": { + "key": "main", + "frame": "blue-x" + }, + "x": 296, + "y": -276 + }, + { + "prefabId": "557284f7-26e4-49fe-9001-a645696c675f", + "id": "e6099246-952a-46e2-9a9a-da4b6be75b95", + "unlock": [ + "x", + "y" + ], + "label": "promptIcon", + "scope": "CLASS", + "x": 0, + "y": -182 + } + ] + } + ], + "plainObjects": [], + "meta": { + "app": "Phaser Editor 2D - Scene Editor", + "url": "https://phasereditor2d.com", + "contentType": "phasereditor2d.core.scene.SceneContentType", + "version": 5 + } +} \ No newline at end of file diff --git a/src/scenes/interface/prompts/ItemPrompt.js b/src/scenes/interface/prompts/ItemPrompt.js index 1aff4796..95825ca9 100644 --- a/src/scenes/interface/prompts/ItemPrompt.js +++ b/src/scenes/interface/prompts/ItemPrompt.js @@ -1,13 +1,16 @@ -import BaseContainer from '@scenes/base/BaseContainer' - -import { Interactive, NineSlice } from '@components/components' - -import DualButtons from './buttons/DualButtons' import ItemPromptLoader from '@engine/loaders/ItemPromptLoader' /* START OF COMPILED CODE */ +import BaseContainer from "../../base/BaseContainer"; +import Interactive from "../../components/Interactive"; +import NineSlice from "../../components/NineSlice"; +import DualButtons from "./buttons/DualButtons"; +import PromptIcon from "./icon/PromptIcon"; +/* START-USER-IMPORTS */ +/* END-USER-IMPORTS */ + export default class ItemPrompt extends BaseContainer { constructor(scene, x, y) { @@ -19,6 +22,8 @@ export default class ItemPrompt extends BaseContainer { this.text; /** @type {DualButtons} */ this.dual; + /** @type {PromptIcon} */ + this.promptIcon; this.visible = false; @@ -47,6 +52,10 @@ export default class ItemPrompt extends BaseContainer { const dual = new DualButtons(scene, 0, 130); this.add(dual); + // promptIcon + const promptIcon = new PromptIcon(scene, 0, -182); + this.add(promptIcon); + // block (components) new Interactive(block); @@ -57,15 +66,12 @@ export default class ItemPrompt extends BaseContainer { this.bg = bg; this.text = text; this.dual = dual; + this.promptIcon = promptIcon; /* START-USER-CTR-CODE */ this.text.setWordWrapWidth(616, true) - this.item // Active item ID - this.icon // Icon sprite - this.type - this.loader = new ItemPromptLoader(scene, this) /* END-USER-CTR-CODE */ @@ -74,70 +80,120 @@ export default class ItemPrompt extends BaseContainer { /* START-USER-CODE */ - showItem(item) { - if (this.inventoryIncludes(item)) { + show(text, loadConfig = {}, callback = () => this.close()) { + this.text.text = text + this.callback = callback + + super.show() + + this.promptIcon.loadIcon(loadConfig) + } + + showItem(id) { + if (this.inventoryIncludes(id)) { return this.interface.prompt.showError('You already have this item.') } - this.show(item, this.crumbs.items[item], 'clothing') - } + const data = this.crumbs.items[id] + if (!data) return + + const loadConfig = { + key: `clothing/icon/240/${id}`, + url: `/assets/media/clothing/icon/240/${id}.png` + } - showFurniture(furniture) { - this.show(furniture, this.crumbs.furniture[furniture], 'furniture') + this.show(this.getBuyText(data.name, data.cost), loadConfig, () => this.sendAddItem(id)) } - show(item, crumb, type) { - if (!crumb) { - return + showFurniture(id) { + const data = this.crumbs.furniture[id] + if (!data) return + + const loadConfig = { + key: `furniture/icon/@5x/${id}`, + url: `/assets/media/furniture/icon/@5x/${id}.png`, + scale: 0.65 } - this.item = item - this.type = type + this.show(this.getBuyText(data.name, data.cost), loadConfig, () => this.sendAddFurniture(id)) + } + + showAdopt(id) { + const data = this.crumbs.pets[id] + if (!data) return - this.text.text = this.getText(crumb.name, crumb.cost) - this.visible = true + const name = data.name.toLowerCase() - this.loader.loadIcon(item) + this.showPet(name, this.getFormatString('adopt_pet', data.cost), () => this.showAdoptName(id)) } - inventoryIncludes(item) { - let flat = Object.values(this.world.client.inventory).flat() - return flat.includes(item) + showPetFood(pet) { + this.showPet('food', this.getString('buy_pet_food'), () => this.sendPet('pet_feed', pet)) } - getText(name, cost) { - if (cost < 1) { - return `You have found a ${name}.\nWould you like to pick it up?` - } else { - return `Would you like to buy ${name} for ${cost} coins. You currently have ${this.world.client.coins} coins.` - } + showPetBath(pet) { + this.showPet('bath', this.getString('buy_pet_bath'), () => this.sendPet('pet_bath', pet)) + } + + showPetGum(pet) { + this.showPet('gum', this.getString('buy_pet_gum'), () => this.sendPet('pet_gum', pet)) } - callback() { - if (this.item) { - this.sendAddItem() + showPetCookie(pet) { + this.showPet('cookie', this.getString('buy_pet_cookie'), () => this.sendPet('pet_cookie', pet)) + } + + showPet(name, text, callback) { + const loadConfig = { + key: `pet/icon/${name}`, + url: `/assets/media/pet/icons/${name}.png` } - this.visible = false + // Add current coins string + text = `${text} ${this.getFormatString('num_coins', this.world.client.coins)}` + + this.show(text, loadConfig, callback) } noCallback() { - this.visible = false - } - - sendAddItem() { - switch (this.type) { - case 'clothing': - this.network.send('add_item', { item: this.item }) - break - case 'furniture': - this.network.send('add_furniture', { furniture: this.item }) - break - default: - break + this.close() + } + + send(action, args) { + this.network.send(action, args) + this.close() + } + + sendAddItem(id) { + this.send('add_item', { item: id }) + } + + sendAddFurniture(id) { + this.send('add_furniture', { furniture: id }) + } + + sendPet(action, pet) { + this.send(action, { id: pet.id }) + this.interface.main.petCard.close() + } + + showAdoptName(id) { + this.interface.prompt.showAdoptName(id) + this.close() + } + + getBuyText(name, cost) { + if (cost < 1) { + return `You have found a ${name}.\nWould you like to pick it up?` + } else { + return `Would you like to buy ${name} for ${cost} coins. You currently have ${this.world.client.coins} coins.` } } + inventoryIncludes(item) { + return Object.values(this.world.client.inventory).flat().includes(item) + } + /* END-USER-CODE */ } diff --git a/src/scenes/interface/prompts/ItemPrompt.scene b/src/scenes/interface/prompts/ItemPrompt.scene index fe6f4c95..c0f0a1b8 100644 --- a/src/scenes/interface/prompts/ItemPrompt.scene +++ b/src/scenes/interface/prompts/ItemPrompt.scene @@ -5,6 +5,7 @@ "compilerInsertSpaces": true, "javaScriptInitFieldsInConstructor": true, "exportClass": true, + "autoImport": true, "superClassName": "BaseContainer", "preloadMethodName": "", "preloadPackFiles": [], @@ -17,7 +18,6 @@ "type": "Container", "id": "56ccc757-3333-45b8-b0fd-b793ad8b56ed", "label": "container_1", - "components": [], "x": 760, "y": 480, "visible": false, @@ -55,7 +55,6 @@ "id": "90f9fa6e-b4dd-49c2-aab0-7f61847a17d4", "label": "text", "scope": "CLASS", - "components": [], "originX": 0.5, "originY": 0.5, "text": "You have found a party hat.\nWould you like to pick it up?", @@ -75,10 +74,20 @@ ], "label": "dual", "scope": "CLASS", - "components": [], "x": 0, - "y": 130, - "nestedPrefabs": [] + "y": 130 + }, + { + "prefabId": "557284f7-26e4-49fe-9001-a645696c675f", + "id": "4ed9471a-9755-42f2-9cd6-5aec8f38a78c", + "unlock": [ + "x", + "y" + ], + "label": "promptIcon", + "scope": "CLASS", + "x": 0, + "y": -182 } ] } @@ -88,6 +97,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/interface/prompts/buttons/DualButtons.js b/src/scenes/interface/prompts/buttons/DualButtons.js index a0235ecd..5524ee85 100644 --- a/src/scenes/interface/prompts/buttons/DualButtons.js +++ b/src/scenes/interface/prompts/buttons/DualButtons.js @@ -38,13 +38,11 @@ export default class DualButtons extends BaseContainer { const no_buttonButton = new Button(no_button); no_buttonButton.spriteName = "window-button-small"; no_buttonButton.callback = () => this.onNoClick(); - no_buttonButton.activeFrame = false; // yes_button (components) const yes_buttonButton = new Button(yes_button); yes_buttonButton.spriteName = "window-button-small"; yes_buttonButton.callback = () => this.onYesClick(); - yes_buttonButton.activeFrame = false; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/interface/prompts/buttons/DualButtons.scene b/src/scenes/interface/prompts/buttons/DualButtons.scene index edb57ffa..16004017 100644 --- a/src/scenes/interface/prompts/buttons/DualButtons.scene +++ b/src/scenes/interface/prompts/buttons/DualButtons.scene @@ -18,7 +18,6 @@ "type": "Container", "id": "e3245eff-88e8-47ca-8803-d76dde32392e", "label": "container_2", - "components": [], "x": 760, "y": 480, "list": [ @@ -31,7 +30,6 @@ ], "Button.spriteName": "window-button-small", "Button.callback": "() => this.onNoClick()", - "Button.activeFrame": false, "texture": { "key": "prompt", "frame": "window-button-small" @@ -48,7 +46,6 @@ ], "Button.spriteName": "window-button-small", "Button.callback": "() => this.onYesClick()", - "Button.activeFrame": false, "texture": { "key": "prompt", "frame": "window-button-small" @@ -60,7 +57,6 @@ "type": "Text", "id": "073efe64-d21e-4663-b0f9-17753d93647a", "label": "text_2", - "components": [], "x": 110, "originX": 0.5, "originY": 0.5, @@ -75,7 +71,6 @@ "type": "Text", "id": "c95659f2-1d60-4b5e-9619-9caa08ca0597", "label": "text_1", - "components": [], "x": -110, "originX": 0.5, "originY": 0.5, @@ -94,6 +89,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/interface/prompts/buttons/SingleButton.js b/src/scenes/interface/prompts/buttons/SingleButton.js index 5efdca20..1ccdd8d0 100644 --- a/src/scenes/interface/prompts/buttons/SingleButton.js +++ b/src/scenes/interface/prompts/buttons/SingleButton.js @@ -10,28 +10,34 @@ export default class SingleButton extends BaseContainer { constructor(scene, x, y) { super(scene, x ?? 760, y ?? 480); + /** @type {Phaser.GameObjects.Text} */ + this.text; + + // button const button = scene.add.image(0, 0, "prompt", "window-button"); button.setOrigin(0.5, 0.5047619047619047); this.add(button); - // text_1 - const text_1 = scene.add.text(0, 0, "", {}); - text_1.setOrigin(0.5, 0.5); - text_1.text = "Ok"; - text_1.setStyle({ "align": "center", "fixedWidth":280,"fontFamily": "Arial Narrow", "fontSize": "40px", "fontStyle": "bold" }); - this.add(text_1); + // text + const text = scene.add.text(0, 0, "", {}); + text.setOrigin(0.5, 0.5); + text.text = "Ok"; + text.setStyle({ "align": "center", "fixedWidth":280,"fontFamily": "Arial Narrow", "fontSize": "40px", "fontStyle": "bold" }); + this.add(text); // button (components) const buttonButton = new Button(button); buttonButton.spriteName = "window-button"; buttonButton.callback = () => this.onClick(); - buttonButton.activeFrame = false; + + this.text = text; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ } + /* START-USER-CODE */ onClick() { diff --git a/src/scenes/interface/prompts/buttons/SingleButton.scene b/src/scenes/interface/prompts/buttons/SingleButton.scene index e661307b..86e651c1 100644 --- a/src/scenes/interface/prompts/buttons/SingleButton.scene +++ b/src/scenes/interface/prompts/buttons/SingleButton.scene @@ -17,7 +17,6 @@ "type": "Container", "id": "64c8eb85-fe90-4df1-88a4-774813373aba", "label": "container_1", - "components": [], "x": 760, "y": 480, "list": [ @@ -30,7 +29,6 @@ ], "Button.spriteName": "window-button", "Button.callback": "() => this.onClick()", - "Button.activeFrame": false, "texture": { "key": "prompt", "frame": "window-button" @@ -40,8 +38,8 @@ { "type": "Text", "id": "7cebd0b7-9243-4401-8fde-0d271502364a", - "label": "text_1", - "components": [], + "label": "text", + "scope": "CLASS", "originX": 0.5, "originY": 0.5, "text": "Ok", @@ -59,6 +57,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/interface/prompts/icon/PromptIcon.js b/src/scenes/interface/prompts/icon/PromptIcon.js new file mode 100644 index 00000000..e70cc893 --- /dev/null +++ b/src/scenes/interface/prompts/icon/PromptIcon.js @@ -0,0 +1,55 @@ +import ItemPromptLoader from '@engine/loaders/ItemPromptLoader' + + +/* START OF COMPILED CODE */ + +import BaseImage from "../../../base/BaseImage"; +/* START-USER-IMPORTS */ +/* END-USER-IMPORTS */ + +export default class PromptIcon extends BaseImage { + + constructor(scene, x, y, texture, frame) { + super(scene, x ?? 0, y ?? 0, texture || "__DEFAULT", frame); + + this.visible = false; + + /* START-USER-CTR-CODE */ + + // Active texture key + this.currentKey = null + + this.loader = new ItemPromptLoader(scene, this) + + /* END-USER-CTR-CODE */ + } + + /* START-USER-CODE */ + + loadIcon(loadConfig) { + this.visible = false + + if (!loadConfig.key) { + return + } + + this.currentKey = loadConfig.key + + this.loader.loadIcon(loadConfig) + } + + addIcon(key, scale) { + if (!this.parentContainer.visible || key !== this.currentKey) { + return + } + + this.setTexture(key) + this.scale = scale + + this.visible = true + } + + /* END-USER-CODE */ +} + +/* END OF COMPILED CODE */ diff --git a/src/scenes/interface/prompts/icon/PromptIcon.scene b/src/scenes/interface/prompts/icon/PromptIcon.scene new file mode 100644 index 00000000..616cd52e --- /dev/null +++ b/src/scenes/interface/prompts/icon/PromptIcon.scene @@ -0,0 +1,32 @@ +{ + "id": "557284f7-26e4-49fe-9001-a645696c675f", + "sceneType": "PREFAB", + "settings": { + "compilerInsertSpaces": true, + "javaScriptInitFieldsInConstructor": true, + "exportClass": true, + "autoImport": true, + "superClassName": "BaseImage", + "preloadMethodName": "", + "preloadPackFiles": [], + "createMethodName": "", + "borderWidth": 1520, + "borderHeight": 960 + }, + "displayList": [ + { + "type": "Image", + "id": "13bb7561-9ca8-468b-85dd-43330b1d8598", + "label": "image_1", + "texture": {}, + "visible": false + } + ], + "plainObjects": [], + "meta": { + "app": "Phaser Editor 2D - Scene Editor", + "url": "https://phasereditor2d.com", + "contentType": "phasereditor2d.core.scene.SceneContentType", + "version": 5 + } +} \ No newline at end of file diff --git a/src/scenes/postcards/Postcard100.js b/src/scenes/postcards/Postcard100.js index d6dbce26..4bc85126 100644 --- a/src/scenes/postcards/Postcard100.js +++ b/src/scenes/postcards/Postcard100.js @@ -10,7 +10,7 @@ export default class Postcard100 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard100 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(223, 570, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#ffffff", "fixedWidth":436,"fontFamily": "CCFaceFront", "fontSize": "26px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(223, 570, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#ffffff", "fixedWidth":436,"fontFamily": "CCFaceFront", "fontSize": "26px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard100.scene b/src/scenes/postcards/Postcard100.scene index 48391c8d..c8fad776 100644 --- a/src/scenes/postcards/Postcard100.scene +++ b/src/scenes/postcards/Postcard100.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "bf193e7d-dc5f-4345-8b04-23e35ac213f6", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "23a82db5-b434-4850-bb98-5e9890318b15", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/100", "frame": "100" @@ -35,9 +33,8 @@ { "type": "Text", "id": "81413b8d-c473-40c8-9bc2-93911c4bd8a9", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 223, "y": 570, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard101.js b/src/scenes/postcards/Postcard101.js index b61b77e1..d28f543f 100644 --- a/src/scenes/postcards/Postcard101.js +++ b/src/scenes/postcards/Postcard101.js @@ -10,7 +10,7 @@ export default class Postcard101 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard101 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(164, 608, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#512879", "fixedWidth":482,"fontFamily": "CCFaceFront", "fontSize": "26px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(164, 608, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#512879", "fixedWidth":482,"fontFamily": "CCFaceFront", "fontSize": "26px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard101.scene b/src/scenes/postcards/Postcard101.scene index b074dd01..830a9307 100644 --- a/src/scenes/postcards/Postcard101.scene +++ b/src/scenes/postcards/Postcard101.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "d781f353-608f-44fc-a270-c7e24be90a36", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "d14abcfb-19bc-463c-90b5-9fd31d62a831", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/101", "frame": "101" @@ -35,9 +33,8 @@ { "type": "Text", "id": "e8ddda42-a598-46b0-bcb1-b9a12c7a3879", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 164, "y": 608, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard102.js b/src/scenes/postcards/Postcard102.js index 0b3d9554..b0fff2f4 100644 --- a/src/scenes/postcards/Postcard102.js +++ b/src/scenes/postcards/Postcard102.js @@ -10,7 +10,7 @@ export default class Postcard102 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard102 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(3, 640, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#000000", "fixedWidth":200,"fontFamily": "CCFaceFront", "fontSize": "22px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(3, 640, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#000000", "fixedWidth":200,"fontFamily": "CCFaceFront", "fontSize": "22px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard102.scene b/src/scenes/postcards/Postcard102.scene index 50b3dc13..4677266a 100644 --- a/src/scenes/postcards/Postcard102.scene +++ b/src/scenes/postcards/Postcard102.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "225fe38b-e298-4ed6-aa8c-8e06f8a2f40a", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "53b9f562-f2e0-4a7a-bd05-59aa3e5ad8f1", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/102", "frame": "102" @@ -35,9 +33,8 @@ { "type": "Text", "id": "301e853f-0b42-4adf-a22e-f666803f33ec", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 3, "y": 640, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard103.js b/src/scenes/postcards/Postcard103.js index 624827d0..e9641fd8 100644 --- a/src/scenes/postcards/Postcard103.js +++ b/src/scenes/postcards/Postcard103.js @@ -10,7 +10,7 @@ export default class Postcard103 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard103 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(85, 601, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#000000", "fixedWidth":504,"fontFamily": "CCFaceFront", "fontSize": "26px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(85, 601, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#000000", "fixedWidth":504,"fontFamily": "CCFaceFront", "fontSize": "26px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard103.scene b/src/scenes/postcards/Postcard103.scene index 9d847f86..1f14ab28 100644 --- a/src/scenes/postcards/Postcard103.scene +++ b/src/scenes/postcards/Postcard103.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "6f73ac9d-1ec5-4db8-9481-cd84420415bd", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "e757caaf-bad2-4dce-886c-04c0fda70bd9", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/103", "frame": "103" @@ -35,9 +33,8 @@ { "type": "Text", "id": "bad13959-583e-4e44-a8e6-c70633c4438e", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 85, "y": 601, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard104.js b/src/scenes/postcards/Postcard104.js index a8f57b2e..279d71d9 100644 --- a/src/scenes/postcards/Postcard104.js +++ b/src/scenes/postcards/Postcard104.js @@ -10,7 +10,7 @@ export default class Postcard104 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard104 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(295, 607, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#5b2d94", "fixedWidth":346,"fontFamily": "CCFaceFront", "fontSize": "26px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(295, 607, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#5b2d94", "fixedWidth":346,"fontFamily": "CCFaceFront", "fontSize": "26px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard104.scene b/src/scenes/postcards/Postcard104.scene index 9026ef73..eba3a512 100644 --- a/src/scenes/postcards/Postcard104.scene +++ b/src/scenes/postcards/Postcard104.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "08d1df15-d51c-4ede-8828-087f5ab6ca4c", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "607c6817-42f2-43d2-9138-f897f88e785a", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/104", "frame": "104" @@ -35,9 +33,8 @@ { "type": "Text", "id": "b7aacf0f-ef1c-4882-aac8-42bfb6cb08d5", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 295, "y": 607, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard105.js b/src/scenes/postcards/Postcard105.js index edf556f6..2f95f54a 100644 --- a/src/scenes/postcards/Postcard105.js +++ b/src/scenes/postcards/Postcard105.js @@ -10,7 +10,7 @@ export default class Postcard105 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard105 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(120, 592, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#05559e", "fixedWidth":536,"fontFamily": "CCFaceFront", "fontSize": "26px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(120, 592, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#05559e", "fixedWidth":536,"fontFamily": "CCFaceFront", "fontSize": "26px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard105.scene b/src/scenes/postcards/Postcard105.scene index 9b49c1b6..53cd00fb 100644 --- a/src/scenes/postcards/Postcard105.scene +++ b/src/scenes/postcards/Postcard105.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "38ef99fa-4c79-4ae3-8a48-426d49413d6a", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "74568b59-2de1-4f3e-be09-e1400b07aaee", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/105", "frame": "105" @@ -35,9 +33,8 @@ { "type": "Text", "id": "6134bfdd-c0c8-4104-8768-62ec0dc2fe1a", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 120, "y": 592, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard106.js b/src/scenes/postcards/Postcard106.js index 51548b1a..008f5b58 100644 --- a/src/scenes/postcards/Postcard106.js +++ b/src/scenes/postcards/Postcard106.js @@ -10,7 +10,7 @@ export default class Postcard106 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard106 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(295, 604, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#000000", "fixedWidth":356,"fontFamily": "CCFaceFront", "fontSize": "26px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(295, 604, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#000000", "fixedWidth":356,"fontFamily": "CCFaceFront", "fontSize": "26px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard106.scene b/src/scenes/postcards/Postcard106.scene index 810a84b0..93dbf193 100644 --- a/src/scenes/postcards/Postcard106.scene +++ b/src/scenes/postcards/Postcard106.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "efb8b776-2198-4f6b-9e03-cb5c6f8dd07e", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "f6f8e0c7-f351-4c8d-89a7-2ff4518445aa", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/106", "frame": "106" @@ -35,9 +33,8 @@ { "type": "Text", "id": "3db2c32e-ac3b-4716-8f5f-7d4c11be4dd2", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 295, "y": 604, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard108.js b/src/scenes/postcards/Postcard108.js index 5cb4fcaa..35158d21 100644 --- a/src/scenes/postcards/Postcard108.js +++ b/src/scenes/postcards/Postcard108.js @@ -10,7 +10,7 @@ export default class Postcard108 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.penguin; + this.receiverName; // bg @@ -18,14 +18,14 @@ export default class Postcard108 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // penguin - const penguin = scene.add.text(98, 46, "", {}); - penguin.text = "undefined"; - penguin.setStyle({ "color": "#000033", "fixedWidth":388,"fontFamily": "CCFaceFront", "fontSize": "34px" }); - penguin.setPadding({"left":5,"right":5}); - this.add(penguin); + // receiverName + const receiverName = scene.add.text(98, 46, "", {}); + receiverName.text = "undefined"; + receiverName.setStyle({ "color": "#000033", "fixedWidth":388,"fontFamily": "CCFaceFront", "fontSize": "34px" }); + receiverName.setPadding({"left":5,"right":5}); + this.add(receiverName); - this.penguin = penguin; + this.receiverName = receiverName; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard108.scene b/src/scenes/postcards/Postcard108.scene index 683b41af..9f5e51cd 100644 --- a/src/scenes/postcards/Postcard108.scene +++ b/src/scenes/postcards/Postcard108.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "a8cab924-f283-499d-a32c-3a4be0aa508a", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "04fc4351-e618-4aa8-9d1e-25ee0c2a0b65", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/108", "frame": "108" @@ -35,9 +33,8 @@ { "type": "Text", "id": "3b4aa07c-9a6b-4043-b9e2-b92658917699", - "label": "penguin", + "label": "receiverName", "scope": "CLASS", - "components": [], "x": 98, "y": 46, "text": "undefined", @@ -56,6 +53,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard109.js b/src/scenes/postcards/Postcard109.js index c6b6d8a9..e3f4cd66 100644 --- a/src/scenes/postcards/Postcard109.js +++ b/src/scenes/postcards/Postcard109.js @@ -10,7 +10,7 @@ export default class Postcard109 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard109 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(145, 547, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#0e2828", "fixedWidth":372,"fontFamily": "CCFaceFront", "fontSize": "38px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(145, 547, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#0e2828", "fixedWidth":372,"fontFamily": "CCFaceFront", "fontSize": "38px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard109.scene b/src/scenes/postcards/Postcard109.scene index b78fb9c0..9b05c097 100644 --- a/src/scenes/postcards/Postcard109.scene +++ b/src/scenes/postcards/Postcard109.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "b30fc5b6-43db-4995-bdd8-24aa2f80a2bc", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "48bb0a6e-29b2-40fa-a327-19b05cbe3a3f", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/109", "frame": "109" @@ -35,9 +33,8 @@ { "type": "Text", "id": "f86ea1f0-e258-4686-a761-0b7a7a93336d", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 145, "y": 547, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard110.js b/src/scenes/postcards/Postcard110.js index 75b436d8..841c75bc 100644 --- a/src/scenes/postcards/Postcard110.js +++ b/src/scenes/postcards/Postcard110.js @@ -10,7 +10,7 @@ export default class Postcard110 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard110 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(260, 518, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "center", "color": "#083a9b", "fixedWidth":438,"fontFamily": "CCFaceFront", "fontSize": "30px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(260, 518, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "center", "color": "#083a9b", "fixedWidth":438,"fontFamily": "CCFaceFront", "fontSize": "30px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard110.scene b/src/scenes/postcards/Postcard110.scene index e65b1736..12063f45 100644 --- a/src/scenes/postcards/Postcard110.scene +++ b/src/scenes/postcards/Postcard110.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "03cbec56-85b6-44c2-b5ac-fdc98f257a71", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "04b7fda1-c60e-49cb-8937-97ce2f799c53", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/110", "frame": "110" @@ -35,9 +33,8 @@ { "type": "Text", "id": "66cc4b4f-d029-4ce7-96be-050cc3c7ece6", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 260, "y": 518, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard111.js b/src/scenes/postcards/Postcard111.js index 99b42174..c55c5056 100644 --- a/src/scenes/postcards/Postcard111.js +++ b/src/scenes/postcards/Postcard111.js @@ -10,7 +10,7 @@ export default class Postcard111 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard111 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(483, 502, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "color": "#5b0099", "fixedWidth":446,"fontFamily": "CCFaceFront", "fontSize": "46px", "fontStyle": "bold italic" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(483, 502, "", {}); + details.text = "undefined"; + details.setStyle({ "color": "#5b0099", "fixedWidth":446,"fontFamily": "CCFaceFront", "fontSize": "46px", "fontStyle": "bold italic" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard111.scene b/src/scenes/postcards/Postcard111.scene index ea648764..b3125bf6 100644 --- a/src/scenes/postcards/Postcard111.scene +++ b/src/scenes/postcards/Postcard111.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "c0f30049-b686-46f3-bbe0-39bd5aaf9c5c", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "fe61b00f-fd90-4988-b8c1-1135d4b8feea", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/111", "frame": "111" @@ -35,9 +33,8 @@ { "type": "Text", "id": "3eda47e8-4691-484d-9313-ccf6316de934", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 483, "y": 502, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard127.js b/src/scenes/postcards/Postcard127.js index bfaa8816..aa7b4cc1 100644 --- a/src/scenes/postcards/Postcard127.js +++ b/src/scenes/postcards/Postcard127.js @@ -10,7 +10,7 @@ export default class Postcard127 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.penguin; + this.receiverName; // bg @@ -18,14 +18,14 @@ export default class Postcard127 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // penguin - const penguin = scene.add.text(522, 586, "", {}); - penguin.text = "undefined"; - penguin.setStyle({ "color": "#9a0000", "fixedWidth":502,"fontFamily": "CCFaceFront", "fontSize": "50px", "fontStyle": "bold italic", "strokeThickness":8}); - penguin.setPadding({"left":5,"right":5}); - this.add(penguin); + // receiverName + const receiverName = scene.add.text(522, 586, "", {}); + receiverName.text = "undefined"; + receiverName.setStyle({ "color": "#9a0000", "fixedWidth":502,"fontFamily": "CCFaceFront", "fontSize": "50px", "fontStyle": "bold italic", "strokeThickness":8}); + receiverName.setPadding({"left":5,"right":5}); + this.add(receiverName); - this.penguin = penguin; + this.receiverName = receiverName; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard127.scene b/src/scenes/postcards/Postcard127.scene index 13dea578..8f9bee7e 100644 --- a/src/scenes/postcards/Postcard127.scene +++ b/src/scenes/postcards/Postcard127.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "28d63bf6-6bc5-493c-8701-b430e7d6abc5", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "c65fb432-5e2c-4e2c-8356-efdbdf20f30f", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/127", "frame": "127" @@ -35,9 +33,8 @@ { "type": "Text", "id": "e8fa0bb7-a920-4cf1-a904-1096ab7ed3f3", - "label": "penguin", + "label": "receiverName", "scope": "CLASS", - "components": [], "x": 522, "y": 586, "text": "undefined", @@ -58,6 +55,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard130.js b/src/scenes/postcards/Postcard130.js index 0155c142..b3827d44 100644 --- a/src/scenes/postcards/Postcard130.js +++ b/src/scenes/postcards/Postcard130.js @@ -10,7 +10,7 @@ export default class Postcard130 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.penguin; + this.receiverName; // bg @@ -18,14 +18,14 @@ export default class Postcard130 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // penguin - const penguin = scene.add.text(383, 25, "", {}); - penguin.text = "undefined"; - penguin.setStyle({ "color": "#000b71", "fixedWidth":436,"fontFamily": "Comic Sans MS", "fontSize": "32px", "fontStyle": "bold" }); - penguin.setPadding({"left":5,"right":5}); - this.add(penguin); + // receiverName + const receiverName = scene.add.text(383, 25, "", {}); + receiverName.text = "undefined"; + receiverName.setStyle({ "color": "#000b71", "fixedWidth":436,"fontFamily": "Comic Sans MS", "fontSize": "32px", "fontStyle": "bold" }); + receiverName.setPadding({"left":5,"right":5}); + this.add(receiverName); - this.penguin = penguin; + this.receiverName = receiverName; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard130.scene b/src/scenes/postcards/Postcard130.scene index 4e650413..87467090 100644 --- a/src/scenes/postcards/Postcard130.scene +++ b/src/scenes/postcards/Postcard130.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "f7be9d9f-b95e-4bd1-8b69-d057cd4fbdf8", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "d97244b2-4796-4a84-be00-d2e88b7c1a70", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/130", "frame": "130" @@ -35,9 +33,8 @@ { "type": "Text", "id": "30bfff7e-0baf-4c55-bb68-22bae01e11c3", - "label": "penguin", + "label": "receiverName", "scope": "CLASS", - "components": [], "x": 383, "y": 25, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard169.js b/src/scenes/postcards/Postcard169.js index ec8543f9..c9738b4d 100644 --- a/src/scenes/postcards/Postcard169.js +++ b/src/scenes/postcards/Postcard169.js @@ -10,7 +10,7 @@ export default class Postcard169 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard169 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(279, 573, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "align": "right", "color": "#000000", "fixedWidth":312,"fontFamily": "CCFaceFront", "fontSize": "28px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(279, 573, "", {}); + details.text = "undefined"; + details.setStyle({ "align": "right", "color": "#000000", "fixedWidth":312,"fontFamily": "CCFaceFront", "fontSize": "28px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard169.scene b/src/scenes/postcards/Postcard169.scene index 02cd2ab8..c6f7d2e2 100644 --- a/src/scenes/postcards/Postcard169.scene +++ b/src/scenes/postcards/Postcard169.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "6cc3845b-182d-4357-99d3-1705646930de", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "262af6aa-4ea1-431b-97c5-abc37888a183", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/169", "frame": "169" @@ -35,9 +33,8 @@ { "type": "Text", "id": "6ebe2d83-01f8-4a37-b44e-af77461626a2", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 279, "y": 573, "text": "undefined", @@ -57,6 +54,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard171.js b/src/scenes/postcards/Postcard171.js index 6cdaa1e5..718acc2a 100644 --- a/src/scenes/postcards/Postcard171.js +++ b/src/scenes/postcards/Postcard171.js @@ -10,9 +10,9 @@ export default class Postcard171 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.dateTxt; + this.date; /** @type {Phaser.GameObjects.Text} */ - this.penguin; + this.receiverName; // bg @@ -20,22 +20,22 @@ export default class Postcard171 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // dateTxt - const dateTxt = scene.add.text(348, 69, "", {}); - dateTxt.text = "undefined undefined, undefined"; - dateTxt.setStyle({ "color": "#000000", "fixedWidth":308,"fontFamily": "CCFaceFront", "fontSize": "28px" }); - dateTxt.setPadding({"left":5,"right":5}); - this.add(dateTxt); - - // penguin - const penguin = scene.add.text(118, 185, "", {}); - penguin.text = "undefined"; - penguin.setStyle({ "color": "#000000", "fixedWidth":360,"fontFamily": "Comic Sans MS", "fontSize": "34px", "fontStyle": "bold" }); - penguin.setPadding({"left":5,"right":5}); - this.add(penguin); - - this.dateTxt = dateTxt; - this.penguin = penguin; + // date + const date = scene.add.text(348, 69, "", {}); + date.text = "undefined undefined, undefined"; + date.setStyle({ "color": "#000000", "fixedWidth":308,"fontFamily": "CCFaceFront", "fontSize": "28px" }); + date.setPadding({"left":5,"right":5}); + this.add(date); + + // receiverName + const receiverName = scene.add.text(118, 185, "", {}); + receiverName.text = "undefined"; + receiverName.setStyle({ "color": "#000000", "fixedWidth":360,"fontFamily": "Comic Sans MS", "fontSize": "34px", "fontStyle": "bold" }); + receiverName.setPadding({"left":5,"right":5}); + this.add(receiverName); + + this.date = date; + this.receiverName = receiverName; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard171.scene b/src/scenes/postcards/Postcard171.scene index c8c52b19..b0f4ca2a 100644 --- a/src/scenes/postcards/Postcard171.scene +++ b/src/scenes/postcards/Postcard171.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "92fa6880-27d7-4af3-b79b-7559e7b49f91", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "fe6ecedc-8839-43f7-b887-8a3d50c57cbb", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/171", "frame": "171" @@ -35,9 +33,8 @@ { "type": "Text", "id": "2480614f-552a-4463-94b4-b8f00142de8a", - "label": "dateTxt", + "label": "date", "scope": "CLASS", - "components": [], "x": 348, "y": 69, "text": "undefined undefined, undefined", @@ -51,9 +48,8 @@ { "type": "Text", "id": "c90e97d1-55f4-4388-97b1-90376091f161", - "label": "penguin", + "label": "receiverName", "scope": "CLASS", - "components": [], "x": 118, "y": 185, "text": "undefined", @@ -73,6 +69,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard172.js b/src/scenes/postcards/Postcard172.js index d12bbc11..05f05ce1 100644 --- a/src/scenes/postcards/Postcard172.js +++ b/src/scenes/postcards/Postcard172.js @@ -10,9 +10,9 @@ export default class Postcard172 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.dateTxt; + this.date; /** @type {Phaser.GameObjects.Text} */ - this.penguin; + this.receiverName; // bg @@ -20,22 +20,22 @@ export default class Postcard172 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // dateTxt - const dateTxt = scene.add.text(348, 69, "", {}); - dateTxt.text = "undefined undefined, undefined"; - dateTxt.setStyle({ "color": "#000000", "fixedWidth":308,"fontFamily": "CCFaceFront", "fontSize": "28px" }); - dateTxt.setPadding({"left":5,"right":5}); - this.add(dateTxt); - - // penguin - const penguin = scene.add.text(115, 187, "", {}); - penguin.text = "undefined"; - penguin.setStyle({ "color": "#000000", "fixedWidth":360,"fontFamily": "Comic Sans MS", "fontSize": "34px", "fontStyle": "bold" }); - penguin.setPadding({"left":5,"right":5}); - this.add(penguin); - - this.dateTxt = dateTxt; - this.penguin = penguin; + // date + const date = scene.add.text(348, 69, "", {}); + date.text = "undefined undefined, undefined"; + date.setStyle({ "color": "#000000", "fixedWidth":308,"fontFamily": "CCFaceFront", "fontSize": "28px" }); + date.setPadding({"left":5,"right":5}); + this.add(date); + + // receiverName + const receiverName = scene.add.text(115, 187, "", {}); + receiverName.text = "undefined"; + receiverName.setStyle({ "color": "#000000", "fixedWidth":360,"fontFamily": "Comic Sans MS", "fontSize": "34px", "fontStyle": "bold" }); + receiverName.setPadding({"left":5,"right":5}); + this.add(receiverName); + + this.date = date; + this.receiverName = receiverName; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard172.scene b/src/scenes/postcards/Postcard172.scene index b749d29a..f78842bb 100644 --- a/src/scenes/postcards/Postcard172.scene +++ b/src/scenes/postcards/Postcard172.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "efcaedfb-5a32-4477-ba52-afa1674f4af6", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "c9e8a1ed-1200-4a54-a344-17543d3d77c4", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/172", "frame": "172" @@ -35,9 +33,8 @@ { "type": "Text", "id": "9510bc7c-7991-4b36-9fe0-b7769c85e66b", - "label": "dateTxt", + "label": "date", "scope": "CLASS", - "components": [], "x": 348, "y": 69, "text": "undefined undefined, undefined", @@ -51,9 +48,8 @@ { "type": "Text", "id": "85605498-3222-4c6b-8519-03a92e347974", - "label": "penguin", + "label": "receiverName", "scope": "CLASS", - "components": [], "x": 115, "y": 187, "text": "undefined", @@ -73,6 +69,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard184.js b/src/scenes/postcards/Postcard184.js index 9e54a70f..bf25eeab 100644 --- a/src/scenes/postcards/Postcard184.js +++ b/src/scenes/postcards/Postcard184.js @@ -10,9 +10,9 @@ export default class Postcard184 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.dateTxt; + this.date; /** @type {Phaser.GameObjects.Text} */ - this.penguin; + this.receiverName; // bg @@ -20,22 +20,22 @@ export default class Postcard184 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // dateTxt - const dateTxt = scene.add.text(611, 160, "", {}); - dateTxt.text = "undefined undefined, undefined"; - dateTxt.setStyle({ "color": "#09214b", "fixedWidth":304,"fontFamily": "Politica", "fontSize": "28px", "fontStyle": "bold" }); - dateTxt.setPadding({"left":5,"right":5}); - this.add(dateTxt); - - // penguin - const penguin = scene.add.text(182, 219, "", {}); - penguin.text = "undefined"; - penguin.setStyle({ "color": "#09214b", "fixedWidth":446,"fontFamily": "Politica", "fontSize": "52px", "fontStyle": "bold" }); - penguin.setPadding({"left":5,"right":5}); - this.add(penguin); - - this.dateTxt = dateTxt; - this.penguin = penguin; + // date + const date = scene.add.text(611, 160, "", {}); + date.text = "undefined undefined, undefined"; + date.setStyle({ "color": "#09214b", "fixedWidth":304,"fontFamily": "Politica", "fontSize": "28px", "fontStyle": "bold" }); + date.setPadding({"left":5,"right":5}); + this.add(date); + + // receiverName + const receiverName = scene.add.text(182, 219, "", {}); + receiverName.text = "undefined"; + receiverName.setStyle({ "color": "#09214b", "fixedWidth":446,"fontFamily": "Politica", "fontSize": "52px", "fontStyle": "bold" }); + receiverName.setPadding({"left":5,"right":5}); + this.add(receiverName); + + this.date = date; + this.receiverName = receiverName; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard184.scene b/src/scenes/postcards/Postcard184.scene index 512b484e..c4f4f29d 100644 --- a/src/scenes/postcards/Postcard184.scene +++ b/src/scenes/postcards/Postcard184.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "b7bd0f9e-8560-4a93-9ed2-6de977c10351", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "9be49dba-0bdf-47d2-b86c-4792780e3ce8", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/184", "frame": "184" @@ -35,9 +33,8 @@ { "type": "Text", "id": "61de43cf-e21f-45d7-a96c-40cf4f316379", - "label": "dateTxt", + "label": "date", "scope": "CLASS", - "components": [], "x": 611, "y": 160, "text": "undefined undefined, undefined", @@ -52,9 +49,8 @@ { "type": "Text", "id": "d32b169f-216b-40d7-8bc7-a72a6c3ca1aa", - "label": "penguin", + "label": "receiverName", "scope": "CLASS", - "components": [], "x": 182, "y": 219, "text": "undefined", @@ -74,6 +70,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/Postcard185.js b/src/scenes/postcards/Postcard185.js index 9eef1c06..9add2cc8 100644 --- a/src/scenes/postcards/Postcard185.js +++ b/src/scenes/postcards/Postcard185.js @@ -10,7 +10,7 @@ export default class Postcard185 extends BasePostcard { super(scene, x ?? 0, y ?? 0); /** @type {Phaser.GameObjects.Text} */ - this.puffle; + this.details; // bg @@ -18,14 +18,14 @@ export default class Postcard185 extends BasePostcard { bg.setOrigin(0, 0); this.add(bg); - // puffle - const puffle = scene.add.text(45, 578, "", {}); - puffle.text = "undefined"; - puffle.setStyle({ "color": "#413460", "fixedWidth":874,"fontFamily": "CCFaceFront", "fontSize": "32px" }); - puffle.setPadding({"left":5,"right":5}); - this.add(puffle); + // details + const details = scene.add.text(45, 578, "", {}); + details.text = "undefined"; + details.setStyle({ "color": "#413460", "fixedWidth":874,"fontFamily": "CCFaceFront", "fontSize": "32px" }); + details.setPadding({"left":5,"right":5}); + this.add(details); - this.puffle = puffle; + this.details = details; /* START-USER-CTR-CODE */ /* END-USER-CTR-CODE */ diff --git a/src/scenes/postcards/Postcard185.scene b/src/scenes/postcards/Postcard185.scene index e9f08a44..725a4a8f 100644 --- a/src/scenes/postcards/Postcard185.scene +++ b/src/scenes/postcards/Postcard185.scene @@ -18,13 +18,11 @@ "type": "Container", "id": "eb8f117f-ac17-497e-bde5-735eb4e58dcd", "label": "container_1", - "components": [], "list": [ { "type": "Image", "id": "2e2e03de-d532-4da7-b106-d36f40e28b78", "label": "bg", - "components": [], "texture": { "key": "postcards/sprites/185", "frame": "185" @@ -35,9 +33,8 @@ { "type": "Text", "id": "c56116b4-7048-4cfb-b402-513ba082aafc", - "label": "puffle", + "label": "details", "scope": "CLASS", - "components": [], "x": 45, "y": 578, "text": "undefined", @@ -56,6 +53,6 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 } } \ No newline at end of file diff --git a/src/scenes/postcards/base/BasePostcard.js b/src/scenes/postcards/base/BasePostcard.js index cd994d5d..b93f84b1 100644 --- a/src/scenes/postcards/base/BasePostcard.js +++ b/src/scenes/postcards/base/BasePostcard.js @@ -10,14 +10,34 @@ export default class BasePostcard extends BaseContainer { this.goToButton = null } - get clientName() { - return this.world.client.penguin.username + setText({ senderName, details, sendDate }) { + if (this.name) { + this.name.text = senderName + } + + if (this.details) { + this.details.text = details + } + + if (this.date) { + this.date.text = this.getDateText(sendDate) + } + + if (this.receiverName) { + this.receiverName.text = this.world.client.penguin.username + } } - setName(name) { - if (this.name) { - this.name.text = name + getDateText(sendDate) { + const date = new Date(sendDate) + + const options = { + year: 'numeric', + month: 'long', + day: 'numeric' } + + return date.toLocaleDateString('en-US', options) } enableInput() { diff --git a/src/scenes/rooms/pet/Pet.js b/src/scenes/rooms/pet/Pet.js index 3041d312..8f55891d 100644 --- a/src/scenes/rooms/pet/Pet.js +++ b/src/scenes/rooms/pet/Pet.js @@ -28,6 +28,10 @@ export default class Pet extends RoomScene { this.fishIdle; /** @type {Phaser.GameObjects.Sprite} */ this.eyesRed; + /** @type {Phaser.GameObjects.Image} */ + this.adoptCatalog; + /** @type {Phaser.GameObjects.Image} */ + this.petCatalog; /** @type {Phaser.GameObjects.Sprite[]} */ this.penEyes; /** @type {Array} */ @@ -176,6 +180,14 @@ export default class Pet extends RoomScene { blackZone.isFilled = true; blackZone.fillColor = 65280; + // adoptCatalog + const adoptCatalog = this.add.image(1331, 927, "pet", "adopt_catalog"); + adoptCatalog.setOrigin(0, 1); + + // petCatalog + const petCatalog = this.add.image(1331, 808, "pet", "pets_catalog"); + petCatalog.setOrigin(0, 1); + // lists const penEyes = [eyesPink, eyesBlue, eyesPurple, eyesGreen, eyesBlack]; const sort = [bedFront, bedBack, house1, house2, house3, bowls, post, sack, os]; @@ -292,6 +304,20 @@ export default class Pet extends RoomScene { const blackZoneZone = new Zone(blackZone); blackZoneZone.hoverCallback = () => this.onBlackOver(); + // adoptCatalog (components) + const adoptCatalogButton = new Button(adoptCatalog); + adoptCatalogButton.spriteName = "adopt_catalog"; + adoptCatalogButton.callback = () => this.onAdoptCatalogClick(); + adoptCatalogButton.activeFrame = false; + adoptCatalogButton.pixelPerfect = true; + + // petCatalog (components) + const petCatalogButton = new Button(petCatalog); + petCatalogButton.spriteName = "pets_catalog"; + petCatalogButton.callback = () => this.onPetCatalogClick(); + petCatalogButton.activeFrame = false; + petCatalogButton.pixelPerfect = true; + this.black = black; this.puffles = puffles; this.jump = jump; @@ -301,6 +327,8 @@ export default class Pet extends RoomScene { this.fish = fish; this.fishIdle = fishIdle; this.eyesRed = eyesRed; + this.adoptCatalog = adoptCatalog; + this.petCatalog = petCatalog; this.penEyes = penEyes; this.sort = sort; @@ -319,6 +347,17 @@ export default class Pet extends RoomScene { this.red.on('animationupdate', this.onRedAnimUpdate, this) this.black.play('black_sleep') + + this.petCatalog.depth = 1000 + this.adoptCatalog.depth = 1000 + } + + onPetCatalogClick() { + this.interface.loadWidget('PetsCatalog') + } + + onAdoptCatalogClick() { + this.interface.loadWidget('AdoptCatalog') } onPenOver() { diff --git a/src/scenes/rooms/pet/Pet.scene b/src/scenes/rooms/pet/Pet.scene index 54db944f..30ac4507 100644 --- a/src/scenes/rooms/pet/Pet.scene +++ b/src/scenes/rooms/pet/Pet.scene @@ -22,7 +22,6 @@ "type": "Image", "id": "e88724c5-a30a-4168-a286-ca17ac9c4180", "label": "bg", - "components": [], "texture": { "key": "pet", "frame": "bg" @@ -36,7 +35,6 @@ "id": "cbd0d9a5-cd03-449a-a668-57a6ac47f32a", "label": "black", "scope": "CLASS", - "components": [], "texture": { "key": "pet", "frame": "black/black0001" @@ -50,7 +48,6 @@ "type": "Image", "id": "761bd4ac-b103-4f1f-a969-9cd62098769a", "label": "post", - "components": [], "texture": { "key": "pet", "frame": "post" @@ -64,7 +61,6 @@ "type": "Image", "id": "fb1dca20-69ae-437e-a665-3da3b89718c9", "label": "bowls", - "components": [], "texture": { "key": "pet", "frame": "bowls" @@ -78,7 +74,6 @@ "type": "Image", "id": "b2ef29ac-0b56-45c7-96d3-4f364c54b24e", "label": "sack", - "components": [], "texture": { "key": "pet", "frame": "sack" @@ -160,7 +155,6 @@ "id": "b757dc27-6d71-4f31-b2ca-3cbaad9ffb98", "label": "puffles", "scope": "CLASS", - "components": [], "texture": { "key": "pet", "frame": "puffles" @@ -406,7 +400,6 @@ "type": "Image", "id": "e454a7f6-e81e-4665-8125-f4e5b6398d4c", "label": "house3", - "components": [], "texture": { "key": "pet", "frame": "house_3" @@ -420,7 +413,6 @@ "type": "Image", "id": "e7a60d84-41d3-44b5-b973-721f84a2c866", "label": "house2", - "components": [], "texture": { "key": "pet", "frame": "house_2" @@ -434,7 +426,6 @@ "type": "Image", "id": "53dc0206-2ea3-40a7-85e7-4a22b8e1a4de", "label": "house1", - "components": [], "texture": { "key": "pet", "frame": "house_1" @@ -448,7 +439,6 @@ "type": "Image", "id": "05b754ff-4859-407c-8f1b-898903a8b89a", "label": "bedBack", - "components": [], "texture": { "key": "pet", "frame": "bed_back" @@ -461,7 +451,6 @@ "type": "Image", "id": "802aa5e7-aef2-4431-96c1-1b63044c3b92", "label": "bedFront", - "components": [], "texture": { "key": "pet", "frame": "bed_front" @@ -522,6 +511,48 @@ "fillColor": "#00ff00", "width": 150, "height": 120 + }, + { + "type": "Image", + "id": "a22dddc2-d89d-4c08-ad23-cf627eb9fb9b", + "label": "adoptCatalog", + "scope": "CLASS", + "components": [ + "Button" + ], + "Button.spriteName": "adopt_catalog", + "Button.callback": "() => this.onAdoptCatalogClick()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "pet", + "frame": "adopt_catalog" + }, + "x": 1331, + "y": 927, + "originX": 0, + "originY": 1 + }, + { + "type": "Image", + "id": "d1a03736-bb62-47fb-8129-e2d22de3e12a", + "label": "petCatalog", + "scope": "CLASS", + "components": [ + "Button" + ], + "Button.spriteName": "pets_catalog", + "Button.callback": "() => this.onPetCatalogClick()", + "Button.activeFrame": false, + "Button.pixelPerfect": true, + "texture": { + "key": "pet", + "frame": "pets_catalog" + }, + "x": 1331, + "y": 808, + "originX": 0, + "originY": 1 } ], "plainObjects": [], @@ -529,7 +560,7 @@ "app": "Phaser Editor 2D - Scene Editor", "url": "https://phasereditor2d.com", "contentType": "phasereditor2d.core.scene.SceneContentType", - "version": 3 + "version": 5 }, "lists": [ { diff --git a/utils/build-crumbs.js b/utils/build-crumbs.js index 7803e0b3..2bcb9701 100644 --- a/utils/build-crumbs.js +++ b/utils/build-crumbs.js @@ -13,6 +13,7 @@ const crumbs = { igloos: require(`${assets}/igloos.json`), items: require(`${assets}/items.json`), penguin: require(`${assets}/penguin.json`), + pets: require(`${assets}/pets.json`), postcards: require(`${assets}/postcards.json`), quick_keys: require(`${assets}/quick_keys.json`), safe_messages: require(`${assets}/safe_messages.json`),