From 3963f1c6e4743604bca857012cd83b5a941332b8 Mon Sep 17 00:00:00 2001 From: Liwanyi Date: Wed, 5 Oct 2022 16:05:48 +0800 Subject: [PATCH] =?UTF-8?q?TS=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- global.d.ts | 5 + package-lock.json | 874 +++++++++++++++++- package.json | 15 +- rollup.config.js | 3 +- src/class/Application.ts | 7 +- src/class/Common.ts | 2 +- src/class/Global.ts | 4 +- src/class/WuhuBase.ts | 13 +- src/class/ZhongIcon.ts | 159 +--- src/class/action/TravelItem.ts | 4 +- src/class/action/WindowActiveState.ts | 24 +- src/class/action/WuhuBaseAction.ts | 15 - src/class/provider/Provider.ts | 11 +- src/class/utils/Popup.ts | 9 +- src/css/quick_fly.css | 57 ++ src/css/quick_link.css | 23 + src/func/utils/{ => @deprecated}/forStock.ts | 13 +- src/html/popup.html | 7 + src/html/zhong/setting/dev_details.html | 50 + src/html/zhong/zhong_loot.html | 10 + src/html/zhong/zhong_menu.html | 16 + src/html/zhong/zhong_settings.html | 0 src/html/zhong/zhong_update.html | 14 + ...Filter.json => for_stock_item_filter.json} | 0 24 files changed, 1125 insertions(+), 210 deletions(-) delete mode 100644 src/class/action/WuhuBaseAction.ts create mode 100644 src/css/quick_fly.css create mode 100644 src/css/quick_link.css rename src/func/utils/{ => @deprecated}/forStock.ts (79%) create mode 100644 src/html/popup.html create mode 100644 src/html/zhong/setting/dev_details.html create mode 100644 src/html/zhong/zhong_loot.html create mode 100644 src/html/zhong/zhong_menu.html create mode 100644 src/html/zhong/zhong_settings.html create mode 100644 src/html/zhong/zhong_update.html rename src/json/{ForStockItemFilter.json => for_stock_item_filter.json} (100%) diff --git a/global.d.ts b/global.d.ts index 3c6af3f..86940fc 100644 --- a/global.d.ts +++ b/global.d.ts @@ -101,4 +101,9 @@ declare interface TornGetActionParams { declare module "*.html" { const value: string; export default value; +} + +declare module "*.css" { + const value: string; + export default value; } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b6b78ec..989afe2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wuhu-torn-helper", - "version": "0.5.1", + "version": "0.5.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -60,6 +60,12 @@ "picomatch": "^2.2.2" } }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, "@types/clean-css": { "version": "4.2.6", "resolved": "https://registry.npmmirror.com/@types/clean-css/-/clean-css-4.2.6.tgz", @@ -132,6 +138,24 @@ "color-convert": "^1.9.0" } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, "camel-case": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-3.0.0.tgz", @@ -142,6 +166,24 @@ "upper-case": "^1.1.1" } }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001416", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001416.tgz", + "integrity": "sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA==", + "dev": true + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", @@ -177,12 +219,186 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "dev": true + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.1.13", + "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.13.tgz", + "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.12", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", + "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.3.0", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.6", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "electron-to-chromium": { + "version": "1.4.272", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.272.tgz", + "integrity": "sha512-KS6gPPGNrzpVv9HzFVq+Etd0AjZEPr5pvaTBn2yD6KV4+cKW4I0CJoJNgmTG6gUQPAMZ4wIPtcOuoou3qFAZCA==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -195,6 +411,12 @@ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", "dev": true }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -208,6 +430,15 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dev": true, + "requires": { + "loader-utils": "^3.2.0" + } + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -244,6 +475,36 @@ "uglify-js": "^3.5.1" } }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true + }, + "import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "requires": { + "import-from": "^3.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, "is-core-module": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", @@ -280,6 +541,36 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, "lower-case": { "version": "1.1.4", "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz", @@ -295,6 +586,12 @@ "sourcemap-codec": "^1.4.8" } }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", @@ -320,6 +617,12 @@ "parse-literals": "^1.2.1" } }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmmirror.com/no-case/-/no-case-2.3.2.tgz", @@ -329,6 +632,18 @@ "lower-case": "^1.1.1" } }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, "npm": { "version": "8.19.2", "resolved": "https://registry.npmmirror.com/npm/-/npm-8.19.2.tgz", @@ -2118,12 +2433,46 @@ } } }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, "opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmmirror.com/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, "param-case": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/param-case/-/param-case-2.1.1.tgz", @@ -2148,12 +2497,364 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "postcss": { + "version": "8.4.17", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.17.tgz", + "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "dev": true, + "requires": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-merge-longhand": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz", + "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + } + }, + "postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz", + "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", + "dev": true, + "requires": { + "generic-names": "^4.0.0", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "promise.series": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/promise.series/-/promise.series-0.2.0.tgz", + "integrity": "sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==", + "dev": true + }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", @@ -2171,6 +2872,12 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, "rollup": { "version": "2.79.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.0.tgz", @@ -2180,6 +2887,12 @@ "fsevents": "~2.3.2" } }, + "rollup-plugin-css-text": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/rollup-plugin-css-text/-/rollup-plugin-css-text-1.0.3.tgz", + "integrity": "sha512-aJs72Fme9N52IL86KL2zUKduUsT/A3Z6qyRrsiWITDW1S45EOCBnFNmHXwDTOwwWriwQy6Vve2uBU/fNs+yILA==", + "dev": true + }, "rollup-plugin-html-literals": { "version": "1.1.5", "resolved": "https://registry.npmmirror.com/rollup-plugin-html-literals/-/rollup-plugin-html-literals-1.1.5.tgz", @@ -2208,6 +2921,78 @@ } } }, + "rollup-plugin-postcss": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.2.tgz", + "integrity": "sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "concat-with-sourcemaps": "^1.1.0", + "cssnano": "^5.0.1", + "import-cwd": "^3.0.0", + "p-queue": "^6.6.2", + "pify": "^5.0.0", + "postcss-load-config": "^3.0.0", + "postcss-modules": "^4.0.0", + "promise.series": "^0.2.0", + "resolve": "^1.19.0", + "rollup-pluginutils": "^2.8.2", + "safe-identifier": "^0.4.2", + "style-inject": "^0.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "rollup-plugin-serve": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/rollup-plugin-serve/-/rollup-plugin-serve-2.0.1.tgz", @@ -2256,6 +3041,12 @@ } } }, + "safe-identifier": { + "version": "0.4.2", + "resolved": "https://registry.npmmirror.com/safe-identifier/-/safe-identifier-0.4.2.tgz", + "integrity": "sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==", + "dev": true + }, "serialize-javascript": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz", @@ -2268,12 +3059,46 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", + "dev": true + }, + "style-inject": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/style-inject/-/style-inject-0.3.0.tgz", + "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", + "dev": true + }, + "stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", @@ -2289,6 +3114,29 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, "tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", @@ -2297,7 +3145,7 @@ }, "typescript": { "version": "4.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.8.3.tgz", "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", "dev": true }, @@ -2307,11 +3155,33 @@ "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", "dev": true }, + "update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/upper-case/-/upper-case-1.1.3.tgz", "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true } } } diff --git a/package.json b/package.json index 97a3e32..c085853 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,15 @@ { "name": "wuhu-torn-helper", - "version": "0.5.2", + "version": "0.5.4", + "description": "芜湖助手", "dependencies": {}, "scripts": { - "release": "rollup -c rollup-prod.config.js && node build.js", - "minify": "uglifyjs misc/wuhu-torn-helper.js -o release.min.user.js -m", - "serve": "", - "build": "rollup -c", - "compile": "tsc --outDir output", - "rollup_watch": "rollup -c -w" + "release": "rollup -c rollup-prod.config.js && node build.js # 发布", + "build": "rollup -c # 调试编译", + "rollup_watch": "rollup -c -w # 监控", + "minify": "uglifyjs misc/wuhu-torn-helper.js -o release.min.user.js -m # 弃用", + "serve": "# 弃用", + "compile": "tsc --outDir output # 弃用" }, "devDependencies": { "@rollup/plugin-json": "^4.1.0", diff --git a/rollup.config.js b/rollup.config.js index 42692e7..1e7cb08 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -2,7 +2,6 @@ import typescript from "@rollup/plugin-typescript"; import json from "@rollup/plugin-json"; // import template from "rollup-plugin-html-literals"; import { string } from "rollup-plugin-string"; -// import { uglify } from "rollup-plugin-uglify"; export default { input: 'src/index.ts', @@ -18,7 +17,7 @@ export default { typescript(), json(), string({ - include: "**/*.html" + include: ["**/*.html", "**/*.css"] }), // uglify(), ], diff --git a/src/class/Application.ts b/src/class/Application.ts index 87b633c..d1224a7 100644 --- a/src/class/Application.ts +++ b/src/class/Application.ts @@ -7,9 +7,13 @@ import WuhuConfig from "./WuhuConfig"; import translateMain from "../func/translate/translateMain"; export default class Application { + + private readonly common = Common.getInstance(); + main() { let started = performance.now(); + WuhuBase.PDAExecute(); WuhuBase.conditionInterrupt(); let app = new WuHuTornHelper(); @@ -17,7 +21,8 @@ export default class Application { let glob = WuhuBase.glob; ZhongIcon.getInstance().initialize(); - Common.resolve(); + // Common.resolve(); + this.common.resolve(); UrlPattern.resolve(); diff --git a/src/class/Common.ts b/src/class/Common.ts index 0b0f57f..6430a64 100644 --- a/src/class/Common.ts +++ b/src/class/Common.ts @@ -7,7 +7,7 @@ import WuhuConfig from "./WuhuConfig"; import CommonUtils from "./utils/CommonUtils"; export class Common extends WuhuBase { - static resolve() { + resolve() { let glob = Common.glob; // 价格监控 priceWatcherHandle(glob.isPDA, glob.PDA_APIKey); diff --git a/src/class/Global.ts b/src/class/Global.ts index 63b8b7f..7e68f5b 100644 --- a/src/class/Global.ts +++ b/src/class/Global.ts @@ -44,9 +44,9 @@ export default class Global extends WuhuBase implements IGlobal { // 窗口活动状态 // isWindowActive = null; - isWindowActive = WindowActiveState.getInstance() as WindowActiveState; + isWindowActive = WindowActiveState.getInstance(); - private constructor() { + constructor() { Log.info('WH脚本参数初始化'); super(); this.window = window; diff --git a/src/class/WuhuBase.ts b/src/class/WuhuBase.ts index 64909bf..0267ed9 100644 --- a/src/class/WuhuBase.ts +++ b/src/class/WuhuBase.ts @@ -5,6 +5,7 @@ import Provider from "./provider/Provider"; export default class WuhuBase extends Provider { static glob: IGlobal = null; + protected static className = 'WuhuBase'; static getLocal(): IWHSettings { return JSON.parse(localStorage.getItem('wh_trans_settings')) || {}; @@ -23,6 +24,16 @@ export default class WuhuBase extends Provider { constructor() { super(); - Log.info('创建对象:' + this.constructor.name) + // Log.info({ 'constructor': this.constructor, this: this }); + Log.info('创建对象:', this); + } + + static PDAExecute() { + if (window.WHTRANS) throw '已运行,退出'; + window.WHTRANS = true; + } + + public toString() { + return `[${ JSON.stringify(this) }]`; } } \ No newline at end of file diff --git a/src/class/ZhongIcon.ts b/src/class/ZhongIcon.ts index b402d98..91ee550 100644 --- a/src/class/ZhongIcon.ts +++ b/src/class/ZhongIcon.ts @@ -11,7 +11,6 @@ import Log from "./Log"; import CommonUtils from "./utils/CommonUtils"; import WuhuConfig from "./WuhuConfig"; import Alert from "./utils/Alert"; -import Test from "../test/Test"; import * as EVENTS from "../json/event.json"; import * as FEST from "../json/fest.json"; import Popup from "./utils/Popup"; @@ -20,6 +19,14 @@ import QUICK_FLY_HTML from "../html/quick_fly.html"; import NNB_INFO_HTML from "../html/nnb_info.html"; import PRICE_WATCHER_HTML from "../html/price_watcher.html"; import DANGER_ZONE_HTML from "../html/danger_zone.html"; +import ActionButtonUtils from "./utils/ActionButtonUtils"; +import ZHONG_MENU_HTML from "../html/zhong/zhong_menu.html"; +import ZHONG_UPDATE_HTML from "../html/zhong/zhong_update.html"; +import ZHONG_LOOT_HTML from "../html/zhong/zhong_loot.html"; +import QUICK_CRIMES_HTML from "../html/quick_crimes.html"; +import DEV_DETAILS_HTML from "../html/zhong/setting/dev_details.html"; +import QUICK_FLY_CSS from "../css/quick_fly.css"; +import QUICK_LINK_CSS from "../css/quick_link.css"; export default class ZhongIcon extends WuhuBase { public static ZhongNode: MyHTMLElement = null; @@ -120,16 +127,7 @@ export default class ZhongIcon extends WuhuBase { zhong_node = document.createElement('div'); zhong_node.id = 'wh-trans-icon'; zhong_node.classList.add('cont-gray'); - zhong_node.innerHTML = `
-
-
-
芜湖助手
-
-

当前版本: ${ version.slice(-1) === '$' ? 'DEV' : version }

-

最新版本:

-

-
-
`; + zhong_node.innerHTML = ZHONG_MENU_HTML.replace('{{}}', version.slice(-1) === '$' ? 'DEV' : version); // 助手菜单 const menu_cont = zhong_node.querySelector('#wh-gSettings'); // 设置选项 @@ -163,17 +161,7 @@ export default class ZhongIcon extends WuhuBase { // 更新按钮点击事件 (zhong_node.querySelector('#wh-update-btn')).onclick = e => { (e.target).blur(); - const innerHtml = `

电脑

-

通常电脑浏览器装有油猴等用户脚本扩展时可以使用链接安装(自动更新):点此安装

-

这些扩展长这样:tm.pngvm.png

-

-

手机

-

安卓 KIWI 等可以用油猴脚本的浏览器也可以点上面的链接安装👆

-

Torn PDA app 或 Alook 用户可打开这个网页快捷复制粘贴。

-

直接复制

-

加载脚本然后直接复制粘贴到用户脚本处。

-

-`; + const innerHtml = ZHONG_UPDATE_HTML; // 直接复制的按钮 new Popup(innerHtml, '如何更新') .getElement() @@ -341,52 +329,8 @@ export default class ZhongIcon extends WuhuBase { clickFunc: async function () { if (window.hasWHQuickFlyOpt) return; window.hasWHQuickFlyOpt = true; - CommonUtils.addStyle(`#wh-quick-fly-opt{ - position:fixed; - left:64px; - top:64px; - background: #008000db; - padding: 8px; - border-radius: 4px; - box-shadow: 0 0 5px 1px #ffffff29; - color: white; - font-size: 15px; - width: 220px; - z-index: 199999; -} -#wh-quick-fly-opt p{margin:4px 0;} -#wh-quick-fly-opt a{ -cursor: pointer; - border: 1px solid; - padding: 4px; - display: inline-block; - border-radius: 2px; -} -#wh-quick-fly-opt label{ -display:block; -} -#wh-quick-fly-opt select{ -width: 100%; - padding: 6px; - margin: 4px 0; -} -#wh-quick-fly-opt button{ -font-size: 16px; - color: white; - cursor: pointer; - float: right; - background: #00BCD4; - padding: 8px; - border-radius: 4px; -} -#wh-quick-fly-opt.wh-quick-fly-opt-hide *{ -display: none; -} -#wh-quick-fly-opt.wh-quick-fly-opt-hide input{ -display: inline-block; -} -info{display:block;} -`); + // TODO + CommonUtils.addStyle(QUICK_FLY_CSS); const node = document.createElement('div'); node.id = 'wh-quick-fly-opt'; node.innerHTML = QUICK_FLY_HTML; @@ -445,15 +389,7 @@ info{display:block;} domText: '🔫 LOOT', clickFunc: function (e) { e.target.blur(); - const insert = `

点击开打:

- -
stock.png
`; + const insert = ZHONG_LOOT_HTML.replace('{{}}', performance.now().toString()); new Popup(insert, 'NPC LOOT'); }, tip: '显示5个可击杀NPC的开打时间', @@ -524,29 +460,7 @@ info{display:block;} domText: '🔗 常用链接', clickFunc: function (e) { if (!this.styleAdded) { - CommonUtils.addStyle(` -.wh-link-collection-cont a{ - display: inline-block; - border: solid 1px #b3b3b3; - border-radius: 4px; - margin: 0 5px 2px 0; - padding: 4px 8px; - text-align:center; - background: #efefef; - background: linear-gradient(#f1f1f1,#e3e3e3); - color:black !important; -} -.wh-link-collection-cont span{ -display: block; -/*padding: 0 4px 8px;*/ -} -.wh-link-collection-cont .wh-link-collection-img{ -display: block; -width:60px; -height:30px; -background-size: 100% auto !important; -} -`); + CommonUtils.addStyle(QUICK_LINK_CSS); this.styleAdded = true; } e.target.blur(); @@ -675,22 +589,7 @@ background-size: 100% auto !important; // if内未加载脚本时插入的快捷crime node const mobile_prepend_node = document.createElement('div'); mobile_prepend_node.classList.add('wh-translate'); - mobile_prepend_node.innerHTML = `
快捷操作:
-
- - - -
-
- - - -
-
- - - -

`; + mobile_prepend_node.innerHTML = QUICK_CRIMES_HTML; // if对象加载后运行 let cIframe = $popup.querySelector('iframe'); @@ -852,26 +751,8 @@ background-size: 100% auto !important; } catch { } - const insert = ` - - - - - - - - - - -
URL${ window.location.href }
页面尺寸${ window.innerWidth }x${ window.innerHeight }
设备类型${ CommonUtils.getDeviceType().toUpperCase() }
脚本运行方式${ { 'gm': '油猴', 'raw': '直接运行', 'pda': 'TornPDA' }[CommonUtils.getScriptEngine()] }
时间${ date.getFullYear() }/${ date.getMonth() + 1 }/${ date.getDate() } ${ date.getHours() }:${ date.getMinutes() }:${ date.getSeconds() }
插件版本${ glob.version }
操作系统${ os }
UA${ window.navigator.userAgent }
用户ID${ glob.player_info.userID }
用户名${ glob.player_info.playername }
-`; pop.close(); - new Popup(insert, '开发者详情'); + new Popup(DEV_DETAILS_HTML, '开发者详情'); }; (window.initializeTooltip) && (window.initializeTooltip('#wh-popup-cont', 'white-tooltip')); }, @@ -884,7 +765,9 @@ color:black; clickFunc: async function () { Log.info('测试开始'); - Test.getInstance().test(); + new Popup('').getElement() + .querySelector('button').onclick = () => new Alert('123'); + ActionButtonUtils.getInstance().add('123'); Log.info('测试结束'); }, @@ -1323,7 +1206,7 @@ color:black; // 默认设置 private setDefaultSettings(): void { - Log.info('设置默认值:'); + Log.info('设置默认值开始'); let count = 0; [ // 开启翻译 @@ -1389,7 +1272,7 @@ color:black; count++; } }); - Log.info('设置默认值结束,设置新值:' + count); + Log.info('设置默认值结束,新:' + count); } } diff --git a/src/class/action/TravelItem.ts b/src/class/action/TravelItem.ts index 29af229..be4987b 100644 --- a/src/class/action/TravelItem.ts +++ b/src/class/action/TravelItem.ts @@ -4,7 +4,7 @@ import WuhuBase from "../WuhuBase"; import UserScriptEngine from "../../enum/UserScriptEngine"; import Popup from "../utils/Popup"; import STOCK_IMG_HTML from "../../html/stock_img.html"; -import * as FILTER from "../../json/ForStockItemFilter.json"; +import * as FILTER from "../../json/for_stock_item_filter.json"; export default class TravelItem extends WuhuBase { private obj: any = null; @@ -13,7 +13,7 @@ export default class TravelItem extends WuhuBase { // private commonUtils: CommonUtils = CommonUtils.getInstance(); // TODO bug修复 - private constructor() { + public constructor() { super(); window.setInterval(async () => { if (!TravelItem.glob.isWindowActive.get()) return; diff --git a/src/class/action/WindowActiveState.ts b/src/class/action/WindowActiveState.ts index e3cc50b..1b5fc77 100644 --- a/src/class/action/WindowActiveState.ts +++ b/src/class/action/WindowActiveState.ts @@ -5,7 +5,7 @@ export default class WindowActiveState extends WuhuBase { isFocus = false; uuid = uuidv4(); - private constructor() { + constructor() { super(); if (self !== top) return null; localStorage.setItem('whuuid', this.uuid); @@ -24,24 +24,4 @@ export default class WindowActiveState extends WuhuBase { // 全部在后台,使用唯一id判断 return this.uuid === localStorage.getItem('whuuid') } -} - -// export default function WindowActiveState() { -// if (self !== top) return null; -// const uuid = uuidv4(); -// let isFocus = false; -// localStorage.setItem('whuuid', uuid); -// document.addEventListener('visibilitychange', () => -// (document.visibilityState !== 'hidden') && (localStorage.setItem('whuuid', uuid)) -// ); -// addEventListener('focus', () => isFocus = true) -// addEventListener('blur', () => isFocus = false) -// return function (): boolean { -// // 当前窗口获得了焦点 优先级最高 -// if (isFocus) return true; -// // 可视性 -// if (!document.hidden) return true; -// // 全部在后台,使用唯一id判断 -// return uuid === localStorage.getItem('whuuid') -// }; -// } \ No newline at end of file +} \ No newline at end of file diff --git a/src/class/action/WuhuBaseAction.ts b/src/class/action/WuhuBaseAction.ts deleted file mode 100644 index e793b37..0000000 --- a/src/class/action/WuhuBaseAction.ts +++ /dev/null @@ -1,15 +0,0 @@ -// import WuhuBase from "../WuhuBase"; -// -// export default class WuhuBaseAction extends WuhuBase { -// name: string -// -// protected constructor() { -// super(); -// } -// -// // static getInstance(this) { -// // if (!this.instance) -// // this.instance = new this(); -// // return this.instance; -// // } -// } \ No newline at end of file diff --git a/src/class/provider/Provider.ts b/src/class/provider/Provider.ts index 64e1303..a2ab912 100644 --- a/src/class/provider/Provider.ts +++ b/src/class/provider/Provider.ts @@ -1,12 +1,13 @@ +/** + * 基类、单例 + */ export default class Provider { - protected instance; + private static instance; constructor() { } - // static getInstance(this:ExtendClass):ExtendClass{ - static getInstance(this): T & typeof this { - if (!this.instance) this.instance = new this(); - return this.instance; + static getInstance(this: T): InstanceType { + return this.instance ||= new this(); } } diff --git a/src/class/utils/Popup.ts b/src/class/utils/Popup.ts index 5c5d6f0..c9c4fad 100644 --- a/src/class/utils/Popup.ts +++ b/src/class/utils/Popup.ts @@ -1,19 +1,17 @@ import WuhuBase from "../WuhuBase"; +import POPUP_HTML from "../../html/popup.html"; export default class Popup extends WuhuBase { private readonly container: HTMLElement = null; private readonly node: HTMLElement = null; + protected className = 'Popup'; constructor(innerHTML: string, title: string = '芜湖助手') { super(); if (Popup.glob.popup_node) Popup.glob.popup_node.close(); const popup = document.createElement('div'); popup.id = 'wh-popup'; - popup.innerHTML = `
- -

${ title }

-
${ innerHTML }
-
`; + popup.innerHTML = POPUP_HTML.replace('{{}}', title).replace('{{}}', innerHTML); document.body.append(popup); popup.addEventListener('click', e => { e.stopImmediatePropagation(); @@ -41,6 +39,7 @@ export default class Popup extends WuhuBase { document.querySelector('#chatRoot').classList.remove('wh-hide'); } + // 禁止单例调用 private getInstance() { } } \ No newline at end of file diff --git a/src/css/quick_fly.css b/src/css/quick_fly.css new file mode 100644 index 0000000..bfbd6c3 --- /dev/null +++ b/src/css/quick_fly.css @@ -0,0 +1,57 @@ +#wh-quick-fly-opt { + position: fixed; + left: 64px; + top: 64px; + background: #008000db; + padding: 8px; + border-radius: 4px; + box-shadow: 0 0 5px 1px #ffffff29; + color: white; + font-size: 15px; + width: 220px; + z-index: 199999; +} + +#wh-quick-fly-opt p { + margin: 4px 0; +} + +#wh-quick-fly-opt a { + cursor: pointer; + border: 1px solid; + padding: 4px; + display: inline-block; + border-radius: 2px; +} + +#wh-quick-fly-opt label { + display: block; +} + +#wh-quick-fly-opt select { + width: 100%; + padding: 6px; + margin: 4px 0; +} + +#wh-quick-fly-opt button { + font-size: 16px; + color: white; + cursor: pointer; + float: right; + background: #00BCD4; + padding: 8px; + border-radius: 4px; +} + +#wh-quick-fly-opt.wh-quick-fly-opt-hide * { + display: none; +} + +#wh-quick-fly-opt.wh-quick-fly-opt-hide input { + display: inline-block; +} + +info { + display: block; +} \ No newline at end of file diff --git a/src/css/quick_link.css b/src/css/quick_link.css new file mode 100644 index 0000000..8d5f0d3 --- /dev/null +++ b/src/css/quick_link.css @@ -0,0 +1,23 @@ +.wh-link-collection-cont a { + display: inline-block; + border: solid 1px #b3b3b3; + border-radius: 4px; + margin: 0 5px 2px 0; + padding: 4px 8px; + text-align: center; + background: #efefef; + background: linear-gradient(#f1f1f1, #e3e3e3); + color: black !important; +} + +.wh-link-collection-cont span { + display: block; + /*padding: 0 4px 8px;*/ +} + +.wh-link-collection-cont .wh-link-collection-img { + display: block; + width: 60px; + height: 30px; + background-size: 100% auto !important; +} \ No newline at end of file diff --git a/src/func/utils/forStock.ts b/src/func/utils/@deprecated/forStock.ts similarity index 79% rename from src/func/utils/forStock.ts rename to src/func/utils/@deprecated/forStock.ts index aab2ffa..ea6af0d 100644 --- a/src/func/utils/forStock.ts +++ b/src/func/utils/@deprecated/forStock.ts @@ -1,15 +1,14 @@ -import UserScriptEngine from "../../enum/UserScriptEngine"; -import WuhuBase from "../../class/WuhuBase"; -import CommonUtils from "../../class/utils/CommonUtils"; -import InfoUtils from "../../class/utils/InfoUtils"; -import Popup from "../../class/utils/Popup"; -import * as FILTER from "../../json/ForStockItemFilter.json"; +import UserScriptEngine from "../../../enum/UserScriptEngine"; +import WuhuBase from "../../../class/WuhuBase"; +import CommonUtils from "../../../class/utils/CommonUtils"; +import Popup from "../../../class/utils/Popup"; +import * as FILTER from "../../../json/for_stock_item_filter.json"; /** * @deprecated */ export default async function forStock() { - if (InfoUtils.getInstance().getScriptEngine() === UserScriptEngine.RAW) { + if (CommonUtils.getScriptEngine() === UserScriptEngine.RAW) { const insert = `stock.png`; new Popup(insert, '飞花库存'); } else { diff --git a/src/html/popup.html b/src/html/popup.html new file mode 100644 index 0000000..938758a --- /dev/null +++ b/src/html/popup.html @@ -0,0 +1,7 @@ +
+ +

{{}}

+
{{}}
+
\ No newline at end of file diff --git a/src/html/zhong/setting/dev_details.html b/src/html/zhong/setting/dev_details.html new file mode 100644 index 0000000..ad24490 --- /dev/null +++ b/src/html/zhong/setting/dev_details.html @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
URL${ window.location.href }
页面尺寸${ window.innerWidth }x${ window.innerHeight }
设备类型${ CommonUtils.getDeviceType().toUpperCase() }
脚本运行方式${ { 'gm': '油猴', 'raw': '直接运行', 'pda': 'TornPDA' }[CommonUtils.getScriptEngine()] }
时间${ date.getFullYear() }/${ date.getMonth() + 1 }/${ date.getDate() } ${ date.getHours() }:${ + date.getMinutes() }:${ date.getSeconds() } +
插件版本${ glob.version }
操作系统${ os }
UA${ window.navigator.userAgent }
用户ID${ glob.player_info.userID }
用户名${ glob.player_info.playername }
+ \ No newline at end of file diff --git a/src/html/zhong/zhong_loot.html b/src/html/zhong/zhong_loot.html new file mode 100644 index 0000000..9220f83 --- /dev/null +++ b/src/html/zhong/zhong_loot.html @@ -0,0 +1,10 @@ +

点击开打:

+ +
stock.png
\ No newline at end of file diff --git a/src/html/zhong/zhong_menu.html b/src/html/zhong/zhong_menu.html new file mode 100644 index 0000000..594d57e --- /dev/null +++ b/src/html/zhong/zhong_menu.html @@ -0,0 +1,16 @@ +
+ +
+
+
+
芜湖助手
+
+
+

当前版本: {{}} + +

+
+

最新版本:

+

+
+
\ No newline at end of file diff --git a/src/html/zhong/zhong_settings.html b/src/html/zhong/zhong_settings.html new file mode 100644 index 0000000..e69de29 diff --git a/src/html/zhong/zhong_update.html b/src/html/zhong/zhong_update.html new file mode 100644 index 0000000..6ff20eb --- /dev/null +++ b/src/html/zhong/zhong_update.html @@ -0,0 +1,14 @@ +

电脑

+

通常电脑浏览器装有油猴等用户脚本扩展时可以使用链接安装(自动更新):点此安装

+

这些扩展长这样:tm.pngvm.png +

+

+

手机

+

安卓 KIWI 等可以用油猴脚本的浏览器也可以点上面的链接安装👆

+

Torn PDA app 或 Alook 用户可打开这个网页快捷复制粘贴。

+

直接复制

+

加载脚本然后直接复制粘贴到用户脚本处。

+

+ +

\ No newline at end of file diff --git a/src/json/ForStockItemFilter.json b/src/json/for_stock_item_filter.json similarity index 100% rename from src/json/ForStockItemFilter.json rename to src/json/for_stock_item_filter.json