From b57994436527ae755d076aa7b06ab0ec36b1ad43 Mon Sep 17 00:00:00 2001 From: Lalle <29478339+LalleSX@users.noreply.github.com> Date: Sun, 23 Apr 2023 00:47:17 +0200 Subject: [PATCH] added types --- .vscode/settings.json | 2 + pnpm-lock.yaml | 432 +++- src/classes/Board.ts | 5 +- src/classes/CatalogThreadNative.ts | 15 +- src/classes/{Fetcher.js => Fetcher.ts} | 0 src/classes/Post.ts | 12 +- src/css/style.scss | 2555 ------------------------ src/types/$.d.ts | 4 +- tsconfig.json | 2 +- 9 files changed, 433 insertions(+), 2594 deletions(-) rename src/classes/{Fetcher.js => Fetcher.ts} (100%) delete mode 100644 src/css/style.scss diff --git a/.vscode/settings.json b/.vscode/settings.json index fa8b7ba..0564c0b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,8 @@ "*.jst": true, "*.md": true, "*.yaml": true, + "*.yml": true, + "*.css": true, "package*.json": true }, "typescript.tsdk": "node_modules/typescript/lib", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e37bf49..f8492a8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,9 @@ dependencies: jquery: specifier: ^3.6.4 version: 3.6.4 + vite-plugin-parse-html: + specifier: ^2.0.0 + version: 2.0.0(node@19.8.1)(vite@4.2.2) devDependencies: '@rollup/plugin-typescript': @@ -330,6 +333,19 @@ packages: to-fast-properties: 2.0.0 dev: false + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + dev: false + + /@dabh/diagnostics@2.0.3: + resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} + dependencies: + colorspace: 1.1.4 + enabled: 2.0.0 + kuler: 2.0.0 + dev: false + /@esbuild/android-arm64@0.17.17: resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==} engines: {node: '>=12'} @@ -582,6 +598,13 @@ packages: engines: {node: '>=6.0.0'} dev: false + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: false + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: false @@ -643,7 +666,6 @@ packages: dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - dev: true /@rollup/pluginutils@5.0.2(rollup@3.17.2): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} @@ -747,6 +769,10 @@ packages: resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==} dev: false + /@types/triple-beam@1.3.2: + resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==} + dev: false + /@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.39.0)(typescript@4.9.5): resolution: {integrity: sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -914,7 +940,6 @@ packages: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} @@ -947,7 +972,6 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1007,6 +1031,10 @@ packages: engines: {node: '>=0.8'} dev: true + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: false + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true @@ -1026,7 +1054,6 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true /bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} @@ -1039,7 +1066,12 @@ packages: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: false /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} @@ -1059,6 +1091,26 @@ packages: update-browserslist-db: 1.0.11(browserslist@4.21.5) dev: false + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: false + + /build@0.1.4: + resolution: {integrity: sha512-KwbDJ/zrsU8KZRRMfoURG14cKIAStUlS8D5jBDvtrZbwO5FEkYqc3oB8HIhRiyD64A48w1lc+sOmQ+mmBw5U/Q==} + engines: {node: '>v0.4.12'} + dependencies: + cssmin: 0.3.2 + jsmin: 1.0.1 + jxLoader: 0.1.1 + moo-server: 1.3.0 + promised-io: 0.3.6 + timespan: 2.3.0 + uglify-js: 1.3.5 + walker: 1.0.8 + winston: 3.8.2 + wrench: 1.3.9 + dev: false + /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: @@ -1095,6 +1147,13 @@ packages: engines: {node: '>=6'} dev: true + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.5.0 + dev: false + /caniuse-lite@1.0.30001480: resolution: {integrity: sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==} dev: false @@ -1118,7 +1177,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /chrome-webstore-upload@1.0.0: resolution: {integrity: sha512-8+MKhuLzVWNekBnej8w4M80O8Yfp91hBQimqEZx1nKEn7nNQwBa/CjjQSuK2c3vz9DukV5WRZcQz+zzLdrEC1Q==} @@ -1127,6 +1185,13 @@ packages: got: 11.8.6 dev: true + /clean-css@5.3.2: + resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: false + /cli@1.0.1: resolution: {integrity: sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==} engines: {node: '>=0.2.5'} @@ -1152,7 +1217,6 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} @@ -1160,7 +1224,27 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true + + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color@3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + dev: false + + /colorspace@1.1.4: + resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + dependencies: + color: 3.2.1 + text-hex: 1.0.0 + dev: false /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -1169,13 +1253,21 @@ packages: delayed-stream: 1.0.0 dev: true + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: false + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: false + /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true /console-browserify@1.1.0: resolution: {integrity: sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==} @@ -1204,6 +1296,11 @@ packages: which: 2.0.2 dev: true + /cssmin@0.3.2: + resolution: {integrity: sha512-bynxGIAJ8ybrnFobjsQotIjA8HFDDgPwbeUWNXXXfR+B4f9kkxdcUyagJoQCSUOfMV+ZZ6bMn8bvbozlCzUGwQ==} + hasBin: true + dev: false + /dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} @@ -1353,6 +1450,13 @@ packages: domhandler: 5.0.3 dev: true + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.0 + dev: false + /ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: @@ -1360,10 +1464,22 @@ packages: safer-buffer: 2.1.2 dev: true + /ejs@3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.5 + dev: false + /electron-to-chromium@1.4.368: resolution: {integrity: sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw==} dev: false + /enabled@2.0.0: + resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} + dev: false + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -1385,7 +1501,6 @@ packages: /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: true /es-abstract@1.21.2: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} @@ -1804,7 +1919,6 @@ packages: /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -1858,6 +1972,10 @@ packages: reusify: 1.0.4 dev: true + /fecha@4.2.3: + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + dev: false + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1865,6 +1983,12 @@ packages: flat-cache: 3.0.4 dev: true + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 + dev: false + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -1909,6 +2033,10 @@ packages: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true + /fn.name@1.1.0: + resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + dev: false + /font-awesome@4.7.0: resolution: {integrity: sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==} engines: {node: '>=0.10.3'} @@ -2117,7 +2245,6 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} @@ -2148,6 +2275,20 @@ packages: dependencies: function-bind: 1.1.1 + /html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.2 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.17.1 + dev: false + /htmlparser2@3.8.3: resolution: {integrity: sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==} dependencies: @@ -2219,7 +2360,6 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} @@ -2238,6 +2378,10 @@ packages: is-typed-array: 1.1.10 dev: true + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -2323,6 +2467,11 @@ packages: call-bind: 1.0.2 dev: true + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2381,6 +2530,17 @@ packages: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true + /jake@10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: false + /jquery@3.6.4: resolution: {integrity: sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==} dev: false @@ -2393,6 +2553,11 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false + /js-yaml@0.3.7: + resolution: {integrity: sha512-/7PsVDNP2tVe2Z1cF9kTEkjamIwz4aooDpRKmN1+g/9eePCgcxsv4QDvEbxO0EH+gdDD7MLyDoR6BASo3hH51g==} + engines: {node: '> 0.4.11'} + dev: false + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2423,6 +2588,12 @@ packages: strip-json-comments: 1.0.4 dev: true + /jsmin@1.0.1: + resolution: {integrity: sha512-OPuL5X/bFKgVdMvEIX3hnpx3jbVpFCrEM8pKPXjFkZUqg521r41ijdyTz7vACOhW6o1neVlcLyd+wkbK5fNHRg==} + engines: {node: '>=0.1.93'} + hasBin: true + dev: false + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true @@ -2483,12 +2654,26 @@ packages: setimmediate: 1.0.5 dev: true + /jxLoader@0.1.1: + resolution: {integrity: sha512-ClEvAj3K68y8uKhub3RgTmcRPo5DfIWvtxqrKQdDPyZ1UVHIIKvVvjrAsJFSVL5wjv0rt5iH9SMCZ0XRKNzeUA==} + engines: {node: '>v0.4.10'} + dependencies: + js-yaml: 0.3.7 + moo-server: 1.3.0 + promised-io: 0.3.6 + walker: 1.0.8 + dev: false + /keyv@4.5.2: resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} dependencies: json-buffer: 3.0.1 dev: true + /kuler@2.0.0: + resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} + dev: false + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2548,6 +2733,23 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true + /logform@2.5.1: + resolution: {integrity: sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==} + dependencies: + '@colors/colors': 1.5.0 + '@types/triple-beam': 1.3.2 + fecha: 4.2.3 + ms: 2.1.2 + safe-stable-stringify: 2.4.3 + triple-beam: 1.3.0 + dev: false + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.5.0 + dev: false + /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} @@ -2587,6 +2789,12 @@ packages: semver: 6.3.0 dev: true + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: false + /markdown-it-anchor@7.1.0(markdown-it@12.3.2): resolution: {integrity: sha512-loQggrwsIkkP7TOrESvmYkV2ikbQNNKhHcWyqC7/C2CmfHl1tkUizJJU8C5aGgg7J6oXVQJx17gk7i47tNn/lQ==} peerDependencies: @@ -2655,12 +2863,23 @@ packages: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: false /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true + /moo-server@1.3.0: + resolution: {integrity: sha512-9A8/eor2DXwpv1+a4pZAAydqLFVrWoKoO1fzdzqLUhYVXAO1Kgd1FR2gFZi7YdHzF0s4W8cDNwCfKJQrvLqxDw==} + engines: {node: '>v0.4.10'} + dev: false + /mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} @@ -2682,10 +2901,30 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.5.0 + dev: false + + /node-bin-setup@1.1.3: + resolution: {integrity: sha512-opgw9iSCAzT2+6wJOETCpeRYAQxSopqQ2z+N6BXwIMsQQ7Zj5M8MaafQY8JMlolRR6R1UXg2WmhKp0p9lSOivg==} + dev: false + /node-releases@2.0.10: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} dev: false + /node@19.8.1: + resolution: {integrity: sha512-qAoX6xM9F/eEv4q4qgCXGSbXWruHVzVJX32XCZizSUNsg5ywYY7di9QMqSDFmPwvJrXjZuhNq2z80+lR9GumLg==} + engines: {npm: '>=5.0.0'} + hasBin: true + requiresBuild: true + dependencies: + node-bin-setup: 1.1.3 + dev: false + /normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} @@ -2729,6 +2968,12 @@ packages: wrappy: 1.0.2 dev: true + /one-time@1.0.0: + resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} + dependencies: + fn.name: 1.1.0 + dev: false + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -2792,6 +3037,13 @@ packages: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} dev: true + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.5.0 + dev: false + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -2799,6 +3051,13 @@ packages: callsites: 3.1.0 dev: true + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.0 + dev: false + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -2832,7 +3091,6 @@ packages: /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} @@ -2871,6 +3129,10 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true + /promised-io@0.3.6: + resolution: {integrity: sha512-bNwZusuNIW4m0SPR8jooSyndD35ggirHlxVl/UhIaZD/F0OBv9ebfc6tNmbpZts3QXHggkjIBH8lvtnzhtcz0A==} + dev: false + /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true @@ -2927,6 +3189,15 @@ packages: util-deprecate: 1.0.2 dev: true + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: false + /regexp.prototype.flags@1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} @@ -2941,6 +3212,11 @@ packages: engines: {node: '>=8'} dev: true + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: false + /request@2.88.2: resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} engines: {node: '>= 6'} @@ -3039,9 +3315,16 @@ packages: queue-microtask: 1.2.3 dev: true + /run@1.4.0: + resolution: {integrity: sha512-962oBW07IjQ9SizyMHdoteVbDKt/e2nEsnTRZ0WjK/zs+jfQQICqH0qj0D5lqZNuy0JkbzfA6IOqw0Sk7C3DlQ==} + engines: {node: '>=v0.9.0'} + hasBin: true + dependencies: + minimatch: 3.1.2 + dev: false + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3055,6 +3338,11 @@ packages: is-regex: 1.1.4 dev: true + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + dev: false + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true @@ -3095,6 +3383,12 @@ packages: object-inspect: 1.12.3 dev: true + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -3104,6 +3398,18 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: false + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: false + /sshpk@1.17.0: resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} engines: {node: '>=0.10.0'} @@ -3120,6 +3426,10 @@ packages: tweetnacl: 0.14.5 dev: true + /stack-trace@0.0.10: + resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} + dev: false + /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} @@ -3153,7 +3463,6 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - dev: true /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -3190,7 +3499,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -3200,10 +3508,34 @@ packages: resolution: {integrity: sha512-8ftwWd+XnQtZ/aGbatrN4QFNGrKJzmbtixW+ODpci7pyoTajg4sonPP8aFLESAcuVxaC1FyDESt+SpfFCH9rZQ==} dev: true + /terser@5.17.1: + resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.3 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: false + + /text-hex@1.0.0: + resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} + dev: false + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /timespan@2.3.0: + resolution: {integrity: sha512-0Jq9+58T2wbOyLth0EU+AUb6JMGCLaTWIykJFa7hyAybjVH9gpVMTfUAwo5fWAvtFt2Tjh/Elg8JtgNpnMnM8g==} + engines: {node: '>= 0.2.0'} + dev: false + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: false + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -3224,6 +3556,10 @@ packages: punycode: 2.3.0 dev: true + /triple-beam@1.3.0: + resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} + dev: false + /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: @@ -3239,7 +3575,6 @@ packages: /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true /tsutils@3.21.0(typescript@4.9.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -3291,6 +3626,11 @@ packages: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true + /uglify-js@1.3.5: + resolution: {integrity: sha512-YPX1DjKtom8l9XslmPFQnqWzTBkvI4N0pbkzLuPZZ4QTyig0uQqvZz9NgUdfEV+qccJzi7fVcGWdESvRIjWptQ==} + hasBin: true + dev: false + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -3324,7 +3664,6 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true /uuid@3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} @@ -3361,6 +3700,21 @@ packages: - supports-color dev: true + /vite-plugin-parse-html@2.0.0(node@19.8.1)(vite@4.2.2): + resolution: {integrity: sha512-r4/9AvZYr5gtKR7jDNvgeGSkDTrfK/Zo/uSV7F5eBzPup8EqPHD6eaEDtKEcWVc/3/L//t0bVtqorhr8LheHLA==} + peerDependencies: + node: '>=12.22.0' + vite: '>=2.0.0' + dependencies: + '@rollup/pluginutils': 4.2.1 + build: 0.1.4 + ejs: 3.1.9 + html-minifier-terser: 7.2.0 + node: 19.8.1 + run: 1.4.0 + vite: 4.2.2(@types/node@18.14.5) + dev: false + /vite@4.2.2(@types/node@18.14.5): resolution: {integrity: sha512-PcNtT5HeDxb3QaSqFYkEum8f5sCVe0R3WK20qxgIvNBZPXU/Obxs/+ubBMeE7nLWeCo2LDzv+8hRYSlcaSehig==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3394,6 +3748,12 @@ packages: optionalDependencies: fsevents: 2.3.2 + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: false + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -3424,6 +3784,32 @@ packages: isexe: 2.0.0 dev: true + /winston-transport@4.5.0: + resolution: {integrity: sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==} + engines: {node: '>= 6.4.0'} + dependencies: + logform: 2.5.1 + readable-stream: 3.6.2 + triple-beam: 1.3.0 + dev: false + + /winston@3.8.2: + resolution: {integrity: sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==} + engines: {node: '>= 12.0.0'} + dependencies: + '@colors/colors': 1.5.0 + '@dabh/diagnostics': 2.0.3 + async: 3.2.4 + is-stream: 2.0.1 + logform: 2.5.1 + one-time: 1.0.0 + readable-stream: 3.6.2 + safe-stable-stringify: 2.4.3 + stack-trace: 0.0.10 + triple-beam: 1.3.0 + winston-transport: 4.5.0 + dev: false + /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} @@ -3433,6 +3819,12 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true + /wrench@1.3.9: + resolution: {integrity: sha512-srTJQmLTP5YtW+F5zDuqjMEZqLLr/eJOZfDI5ibfPfRMeDh3oBUefAscuH0q5wBKE339ptH/S/0D18ZkfOfmKQ==} + engines: {node: '>=0.1.97'} + deprecated: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years. + dev: false + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: false diff --git a/src/classes/Board.ts b/src/classes/Board.ts index 0098efb..0e33b7a 100644 --- a/src/classes/Board.ts +++ b/src/classes/Board.ts @@ -3,6 +3,7 @@ import { d, g } from '../globals/globals' import SimpleDict from './SimpleDict' import Thread from './Thread' import Post from './Post' +import Site from './Site' /* * decaffeinate suggestions: @@ -12,7 +13,7 @@ import Post from './Post' export default class Board { ID: string boardID: string - siteID: string + siteID: string | Site threads: SimpleDict posts: SimpleDict config: @@ -22,7 +23,7 @@ export default class Board { return this.ID } - constructor(ID) { + constructor(ID: string) { this.ID = ID this.boardID = this.ID this.siteID = g.SITE.ID diff --git a/src/classes/CatalogThreadNative.ts b/src/classes/CatalogThreadNative.ts index b27adc7..9f91ec9 100644 --- a/src/classes/CatalogThreadNative.ts +++ b/src/classes/CatalogThreadNative.ts @@ -4,12 +4,12 @@ import Board from './Board' import Thread from './Thread' export default class CatalogThreadNative { - boardID: Board + boardID: string | Board nodes: { root: any; thumb: any } siteID: number threadID: number - ID: string - thread: any + ID: number + thread: Thread toString() { return this.ID } @@ -18,10 +18,9 @@ export default class CatalogThreadNative { const thumb = $(g.SITE.selectors.catalog.thumb, root) this.nodes = { root, thumb } this.siteID = g.SITE.ID - this.boardID = thumb.parentNode.pathname.split(/\/+/)[1] - this.boardID = g.boards[g.BOARD.ID] ?? new Board(this.boardID) + this.boardID = g.BOARD + this.boardID = this.boardID || $(root).data('board') this.ID = this.threadID = +root.dataset.id || $(root).data('id') - this.threadID = - this.boardID.threads.get(this.ID) ?? new Thread(this.ID, g.BOARD.ID) + this.threadID = this.ID = this.threadID || this.ID } -} +} \ No newline at end of file diff --git a/src/classes/Fetcher.js b/src/classes/Fetcher.ts similarity index 100% rename from src/classes/Fetcher.js rename to src/classes/Fetcher.ts diff --git a/src/classes/Post.ts b/src/classes/Post.ts index c78f2b3..85759dc 100644 --- a/src/classes/Post.ts +++ b/src/classes/Post.ts @@ -578,14 +578,14 @@ export class PostClone extends Post { return this } - cloneWithoutVideo(node) { - if (node.tagName === 'VIDEO' && !node.dataset.md5) { + cloneWithoutVideo(node: NodeListOf | ChildNode) { + if (node instanceof HTMLVideoElement && !node.dataset.md5) { // (exception for WebM thumbnails) return [] - } else if (node.nodeType === Node.ELEMENT_NODE && $('video', node)) { - const clone = node.cloneNode(false) - for (var child of node.childNodes) { - $.add(clone, this.cloneWithoutVideo(child)) + } else if (node.nodeType === Node.ELEMENT_NODE && node.querySelector('video')) { + const clone = node.cloneNode(false) as Element + for (const child of node.childNodes) { + clone.appendChild(cloneWithoutVideo(child)) } return clone } else { diff --git a/src/css/style.scss b/src/css/style.scss deleted file mode 100644 index 2a4f559..0000000 --- a/src/css/style.scss +++ /dev/null @@ -1,2555 +0,0 @@ -/* General */ -.dialog { - border: 1px solid; - display: block; - background-color: inherit; -} -.dialog:not(#qr):not(#thread-watcher):not(#header-bar) { - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); -} -#qr, -#thread-watcher { - box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.25); -} -.captcha-img, -.field { - background-color: #fff; - border: 1px solid #ccc; - -moz-box-sizing: border-box; - box-sizing: border-box; - color: #333; - font: 13px sans-serif; - outline: none; - transition: color 0.25s, border-color 0.25s; -} -.field::-moz-placeholder { - color: #aaa; - font-size: 13px; - opacity: 1; -} -.captch-img:hover, -.field:hover { - border-color: #999; -} -.field:hover, -.field:focus, -.field.focus { - color: #000; -} -.field[disabled] { - background-color: #f2f2f2; - color: #888; -} -.field::-webkit-search-decoration { - display: none; -} -.move { - cursor: move; - overflow: hidden; -} -label { - cursor: pointer; -} -a[href='javascript:;'] { - text-decoration: none; -} -.warning { - color: red; -} -:root.sw-yotsuba #boardNavDesktop, -:root.sw-yotsuba #boardNavMobile { - display: none !important; -} -:root.hide-bottom-board-list $site$boardListBottom { - display: none; -} -body.hasDropDownNav { - margin-top: 5px; -} -:root:not(.keyboard-focus) a { - outline: none; -} -.painted { - border-radius: 3px; - padding: 0px 2px; -} -[hidden] { - display: none !important; -} - -/* 4chan style fixes */ -/* overrides 4chan CSS on div.opContainer, div.op */ -:root.sw-yotsuba .opContainer, -:root.sw-yotsuba .op { - display: block; - overflow: visible; -} -:root.sw-yotsuba .reply > .file > .fileText { - margin: 0 20px; -} -:root.sw-yotsuba #arc-list span.quote { - color: #789922; -} -:root.sw-yotsuba .fileText a { - unicode-bidi: -moz-isolate; - unicode-bidi: -webkit-isolate; -} -:root.sw-yotsuba #g-recaptcha { - min-height: 78px; - height: auto; -} -:root.sw-yotsuba:not(.js-enabled) #postForm { - display: table; -} -:root.sw-yotsuba #captchaContainerAlt td:nth-child(2) { - display: table-cell !important; -} -:root.sw-yotsuba canvas#tegaki-canvas { - background: none; -} -/* Disable obnoxious captcha fade-in. */ -:root.sw-yotsuba > body > div:last-of-type { - transition: none !important; -} -/* Fix captcha scrolling to top of page. */ -:root.sw-yotsuba > body > div[style*=' top: -10000px;'] { - visibility: hidden !important; -} -/* Make long filenames wrap properly: https://github.com/ccd0/4chan-x/issues/1082 */ -:root.sw-yotsuba .post > .file { - /* currently nonstandard but may be added: https://lists.w3.org/Archives/Public/www-style/2016Mar/0352.html, https://bugzilla.mozilla.org/show_bug.cgi?id=1296042 */ - word-break: break-word; -} -:root.sw-yotsuba:not(.ua-webkit):not(.ua-blink) .fileText { - word-wrap: break-word; - max-width: calc(100vw - 90px); -} -:root.sw-yotsuba > body.is_catalog .thread > a > img { - display: inline-block; -} -/* Links to NSFW boards */ -:root.sw-yotsuba .nwsb { - display: inline; -} -:root.sw-yotsuba .fileText { - max-width: auto; - white-space: normal; -} - -/* Ads */ -:root.sw-yotsuba .ad-cnt > *, -:root.sw-yotsuba .adg-rects > *, -:root.sw-yotsuba .bsa-cnt { - height: auto !important; -} -:root.sw-yotsuba:not(.ads-loaded) hr.abovePostForm, -:root.sw-yotsuba:not(.ads-loaded) .adg-rects > hr, -:root.sw-yotsuba #adg-ol + hr, -:root.sw-yotsuba .danbo-slot:empty { - display: none; -} -:root.sw-yotsuba .adg-rects { - margin: 0; - font-size: 0; -} -:root.sw-yotsuba div.center[style] { - display: none !important; -} - -/* Tinyboard / vichan conflicts */ -#menu > .hide-thread-link { - width: auto; - height: auto; - overflow: visible; - background-image: none; -} -#menu label.entry { - display: block; -} -#fourchanx-settings label { - display: inline; -} -.intro a[href='javascript:;'], -#menu a { - margin: 0; -} -.gal-buttons.gal-buttons a { - font-size: inherit; -} -:root.sw-tinyboard.fixed.top-header:not(.autohide) .boardlist, -:root.sw-tinyboard.fixed.top-header:not(.autohide) .bar.top { - position: static; -} -:root.sw-tinyboard.fixed.top-header:not(.autohide) div.pages.top { - top: auto; - bottom: 0; -} -:root.sw-tinyboard.fixed.top-header.autohide .boardlist, -:root.sw-tinyboard.fixed.top-header.autohide .bar.top { - z-index: 3; -} - -/* Tinyboard site style conflicts */ -:root[data-host='fufufu.moe'].fixed.top-header:not(.autohide) div.pages.top { - top: 26px; - bottom: auto; -} -:root[data-host='merorin.com'].fixed.top-header:not(.autohide) span.settings { - top: 26px; -} -:root[data-host='fufufu.moe']:not(.fixed) #header-bar { - margin-top: 38px; -} -:root[data-host='lainchan.org']:not(.fixed) #header-bar { - margin-top: 17px; -} -:root[data-host='smuglo.li']:not(.fixed) #header-bar { - margin-top: 8px; -} - -/* Anti-autoplay */ -audio.controls-added { - display: block; - margin: auto; - white-space: normal; -} -:root.anti-autoplay div.embed { - position: static; - width: auto; - height: auto; - text-align: center; -} -:root.anti-autoplay .autoplay-removed { - visibility: visible !important; - min-width: 640px; - min-height: 360px; -} - -/* fixed, z-index */ -#overlay, -#qp, -#ihover, -#navlinks, -.fixed #header-bar, -:root.float #updater, -:root.float #thread-stats, -#qr { - position: fixed; -} -#overlay { - z-index: 999; -} -#qp, -#ihover { - z-index: 60; -} -#menu, -.gal-buttons { - z-index: 50; -} -#updater, -#thread-stats { - z-index: 40; -} -:root.fixed #header-bar, -#notifications { - z-index: 35; -} -#a-gallery { - z-index: 30; -} -#navlinks { - z-index: 25; -} -#qr { - z-index: 20; -} -#embedding { - z-index: 11; -} -:root.fixed-watcher #thread-watcher { - z-index: 10; -} -:root.fixed:not(.gallery-open) #header-bar:not(:hover) { - z-index: 8; -} -#thread-watcher { - z-index: 5; -} - -/* Header */ -.fixed.top-header body { - padding-top: 2em; -} -.fixed.bottom-header body { - padding-bottom: 2em; -} -.fixed #header-bar { - right: 0; - left: 0; - padding: 3px 4px 4px; - font-size: 12px; -} -.fixed.top-header #header-bar { - top: 0; -} -.fixed.bottom-header #header-bar { - bottom: 0; -} -#header-bar { - border-width: 0; - transition: all 0.1s 0.05s ease-in-out; -} -:root.fixed #header-bar { - box-shadow: -5px 1px 10px rgba(0, 0, 0, 0.2); -} -:root.centered-links #shortcuts { - width: 300px; - text-align: right; -} -:root.centered-links #header-bar { - text-align: center; -} -#custom-board-list { - font-size: 13px; - vertical-align: middle; -} -#full-board-list { - vertical-align: middle; -} -:root.centered-links #custom-board-list { - position: relative; - left: 150px; -} -.fixed.top-header #header-bar { - border-bottom-width: 1px; -} -.fixed.bottom-header #header-bar { - box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.15); - border-top-width: 1px; -} -.fixed.bottom-header #header-bar .menu-button i { - border-top: none; - border-bottom: 6px solid; -} -.fixed #header-bar.autohide:not(:hover) { - box-shadow: none; - transition: all 0.8s 0.6s cubic-bezier(0.55, 0.055, 0.675, 0.19); -} -.fixed.top-header #header-bar.autohide:not(:hover) { - margin-bottom: -1em; - -webkit-transform: translateY(-100%); - transform: translateY(-100%); -} -.fixed.bottom-header #header-bar.autohide:not(:hover) { - -webkit-transform: translateY(100%); - transform: translateY(100%); -} -#scroll-marker { - left: 0; - right: 0; - height: 10px; - position: absolute; -} -#header-bar:not(.autohide) #scroll-marker { - pointer-events: none; -} -#header-bar #scroll-marker { - display: none; -} -.fixed #header-bar #scroll-marker { - display: block; -} -.fixed.top-header #header-bar #scroll-marker { - top: 100%; -} -.fixed.bottom-header #header-bar #scroll-marker { - bottom: 100%; -} -#board-list a, -#shortcuts a:not(.entry) { - text-decoration: none; - padding: 1px; -} -#shortcuts:empty { - display: none; -} -.brackets-wrap::before { - content: '\00a0['; -} -.brackets-wrap::after { - content: ']\00a0'; -} -.dead-thread, -.disabled:not(.replies-quoting-you) { - opacity: 0.45; -} -#shortcuts { - float: right; -} -:root.autohiding-scrollbar #shortcuts { - margin-right: 12px; -} -.shortcut { - margin-left: 3px; - vertical-align: middle; -} -:root.shortcut-icons .native-settings { - font-size: 0; - color: transparent; - display: inline-block; - vertical-align: top; - height: 12px; - width: 14px; - background: url('//s.4cdn.org/image/favicon.ico') 0px -1px no-repeat; -} -#navbotright, -#navtopright { - display: none; -} -#toggleMsgBtn { - display: none !important; -} -.current, -:root.sw-yotsuba div#boardNavDesktopFoot a.current { - font-weight: bold; -} -@media (min-width: 1300px) { - :root.sw-yotsuba.fixed:not(.centered-links) #header-bar { - white-space: nowrap; - display: -webkit-flex; - display: flex; - -webkit-align-items: center; - align-items: center; - } - :root.sw-yotsuba.fixed:not(.centered-links) #board-list { - -webkit-flex: auto; - flex: auto; - } - :root.sw-yotsuba.fixed:not(.centered-links) #full-board-list { - display: -webkit-flex; - display: flex; - } - :root.sw-yotsuba.fixed:not(.centered-links) .hide-board-list-container { - -webkit-flex: none; - flex: none; - margin-right: 5px; - } - :root.sw-yotsuba.fixed:not(.centered-links) #full-board-list > .boardList { - -webkit-flex: auto; - flex: auto; - display: -webkit-flex; - display: flex; - width: 0px; /* XXX Fixes Edge not shrinking the board list below default size when needed */ - } - :root.sw-yotsuba.fixed:not(.centered-links) #full-board-list > .boardList > a, - :root.sw-yotsuba.fixed:not(.centered-links) - #full-board-list - > .boardList - > span:not(.space):not(.spacer) { - -webkit-flex: none; - flex: none; - padding: 0.17em; - margin: -0.17em -0.32em; - } - :root.sw-yotsuba.fixed:not(.centered-links) - #full-board-list - > .boardList - > span { - pointer-events: none; - } - :root.sw-yotsuba.fixed:not(.centered-links) - #full-board-list - > .boardList - > span.space { - -webkit-flex: 0 0.63 0.63em; - flex: 0 0.63 0.63em; - } - :root.sw-yotsuba.fixed:not(.centered-links) - #full-board-list - > .boardList - > span.spacer { - -webkit-flex: 0 0.38 0.38em; - flex: 0 0.38 0.38em; - } - :root.sw-yotsuba.fixed:not(.centered-links) #shortcuts { - float: initial; - -webkit-flex: none; - flex: none; - display: -webkit-flex; - display: flex; - -webkit-align-items: center; - align-items: center; - } -} -/* 4chan X link brackets */ -.brackets-wrap::before { - content: '['; -} -.brackets-wrap::after { - content: ']'; -} -/* Notifications */ -#notifications { - position: fixed; - top: 0; - height: 0; - text-align: center; - right: 0; - left: 0; - visibility: visible; -} -#notifications:empty { - display: none; -} -:root.fixed.top-header:not(.gallery-open) #header-bar #notifications, -:root.fixed.top-header #header-bar.autohide #notifications { - position: absolute; - top: 100%; -} -.notification { - color: #fff; - font-weight: 700; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); - border-radius: 2px; - margin: 1px auto; - width: 550px; - max-width: 100%; - position: relative; - transition: all 0.25s ease-in-out; -} -.notification.error { - background-color: hsla(0, 100%, 38%, 0.9); -} -.notification.warning { - background-color: hsla(36, 100%, 38%, 0.9); -} -.notification.info { - background-color: hsla(200, 100%, 38%, 0.9); -} -.notification.success { - background-color: hsla(104, 100%, 38%, 0.9); -} -.notification a { - color: white; -} -.notification > .close { - padding: 7px; - top: 0px; - right: 5px; - position: absolute; -} -.notification > .fa-times::before { - font-size: 11px !important; -} -.message { - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 6px 20px; - max-height: 200px; - width: 100%; - overflow: auto; - white-space: pre-line; -} -.message a { - text-decoration: underline; -} -:root.tainted .report-error { - display: none; -} - -/* Settings */ -:root.fourchan-x body { - -moz-box-sizing: border-box; - box-sizing: border-box; -} -#overlay { - background-color: rgba(0, 0, 0, 0.5); - display: -webkit-flex; - display: flex; - top: 0; - left: 0; - height: 100%; - width: 100%; -} -#fourchanx-settings { - -moz-box-sizing: border-box; - box-sizing: border-box; - box-shadow: 0 0 15px rgba(0, 0, 0, 0.15); - height: 600px; - max-height: 100%; - width: 900px; - max-width: 100%; - margin: auto; - padding: 5px; - display: -webkit-flex; - display: flex; - -webkit-flex-direction: column; - flex-direction: column; -} -#fourchanx-settings > nav { - padding: 2px 2px 8px; - display: -webkit-flex; - display: flex; -} -#fourchanx-settings > nav a { - text-decoration: underline; -} -#fourchanx-settings > nav a.close { - text-decoration: none; - padding: 0 2px; - margin: 0; -} -.section-container { - -webkit-flex: 1; - flex: 1; - position: relative; - overflow: auto; - padding-right: 5px; - overscroll-behavior: contain; -} -.sections-list { - -webkit-flex: 1; - flex: 1; -} -.export, -.import, -.reset { - cursor: pointer; - text-decoration: none !important; -} -.tab-selected { - font-weight: 700; -} -.section-sauce ul, -.section-advanced ul { - list-style: none; - margin: 0; -} -.section-sauce ul { - padding: 8px; -} -.section-advanced ul { - padding: 0px; -} -.section-sauce li, -.section-advanced li { - padding-left: 4px; -} -.section-main ul { - margin: 0; - padding: 0 0 0 16px; -} -.section-main li { - white-space: pre-line; - list-style: disc; -} -.section-main li:not(:first-of-type) { - margin-top: 4px; -} -.section-main label { - text-decoration: underline; -} -div[data-checked='false'] > .suboption-list { - display: none; -} -.suboption-list { - position: relative; -} -.suboption-list::before { - content: ''; - display: inline-block; - position: absolute; - left: 0.7em; - width: 0; - height: 100%; - border-left: 1px solid; -} -.suboption-list > div { - position: relative; - padding-left: 1.4em; -} -.suboption-list > div::before { - content: ''; - display: inline-block; - position: absolute; - left: 0.7em; - width: 0.7em; - height: 0.6em; - border-left: 1px solid; - border-bottom: 1px solid; -} -#fourchanx-settings .section-main p { - margin: 0.5em 0 0; -} -.section-filter ul { - padding: 0; -} -.section-filter li { - margin: 10px 40px; - list-style: disc; -} -.section-filter textarea { - height: 500px; -} -.section-main a, -.section-filter a, -.section-advanced a { - text-decoration: underline; -} -#sauce-doc-expand:not(:checked) ~ #sauce-doc { - max-height: 130px; - overflow: auto; -} -#sauce-doc > label { - float: right; - margin: 0 5px; -} -/* XXX for OneeChan */ -#sauce-doc-expand + .riceCheck { - display: none; -} -.section-sauce textarea { - height: 430px; -} -.section-advanced .field[name='boardnav'] { - width: 100%; -} -.section-advanced textarea { - height: 150px; -} -.section-advanced textarea[name='archiveLists'], -.section-advanced textarea[name='externalCatalogURLs'], -.section-advanced textarea[name='knownBanners'] { - height: 75px; -} -.section-advanced .archive-cell { - min-width: 160px; - text-align: center; -} -.section-advanced #archive-board-select { - position: absolute; -} -.section-advanced .note { - font-size: 0.8em; - font-style: italic; - margin-left: 10px; -} -.section-advanced .note code { - font-style: normal; - font-size: 11px; -} -.favicon-preview > img { - vertical-align: middle; -} -.favicon-preview > img:nth-of-type(3n + 1) { - margin-left: 4px; -} -.section-keybinds .field { - font-family: monospace; -} -#fourchanx-settings fieldset { - border: 1px solid; - border-radius: 3px; - padding: 0.35em 0.625em 0.75em; - margin: 0px 2px; -} -#fourchanx-settings legend { - font-weight: 700; - color: inherit; -} -#fourchanx-settings textarea { - font-family: monospace; - width: 100%; - resize: vertical; -} -#fourchanx-settings code { - color: #000; - background-color: #fff; - padding: 0 2px; -} -#fourchanx-settings th { - text-align: center; - font-weight: bold; -} -#fourchanx-settings p { - margin: 1em 0px; -} -#fourchanx-settings table { - margin: auto; -} - -/* Index */ -:root.index-loading .navLinks:not(.json-index), -:root.index-loading .board:not(.json-index), -:root.index-loading .pagelist:not(.json-index), -:root.infinite-mode .pagelist, -:root.all-pages-mode .pagelist, -:root.catalog-mode .pagelist, -:root:not(.catalog-mode) .indexlink, -:root.catalog-mode .cataloglink, -:root:not(.catalog-mode) #hidden-label, -:root:not(.catalog-mode) #index-size { - display: none; -} -#index-search { - padding-right: 1.5em; - width: 100px; - transition: color 0.25s, border-color 0.25s, width 0.25s; -} -#index-search:focus, -#index-search[data-searching] { - width: 200px; -} -#index-search-clear { - color: gray; - display: inline-block; - position: relative; - left: -1em; - width: 0; -} -/* ``::-webkit-*'' selectors break selector lists on Firefox. */ -#index-search::-webkit-search-cancel-button { - display: none; -} -#index-search:not([data-searching]) + #index-search-clear { - display: none; -} -#index-options { - float: right; -} -#lastlong-options { - display: inline-block; - vertical-align: middle; - height: 28px; - margin: -14px 0; -} -#lastlong-options > input { - padding: 0; - border: 0 !important; - text-align: center; - background: transparent; - display: block; - font-size: 12px; - height: 12px; - width: 30px; - margin: 1px 0; -} -.summary { - text-decoration: none; -} - -/* Catalog */ -:root.catalog-mode .board { - text-align: center; -} -.catalog-thread { - display: inline-block; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid transparent; - word-wrap: break-word; - vertical-align: top; - position: relative; -} -/* overrides 4chan CSS on div.thread */ -.catalog-thread.catalog-thread { - margin: 2px; -} -.catalog-small > .catalog-thread { - width: 165px; - height: 320px; -} -.catalog-large > .catalog-thread { - width: 270px; - height: 410px; -} -:root.catalog-hover-expand .catalog-thread:hover { - z-index: 1; -} -.catalog-container { - position: absolute; - top: -4px; - left: 0; - right: 0; - bottom: 0; -} -.catalog-container:not(:hover), -:root:not(.catalog-hover-expand) .catalog-container { - overflow: hidden; -} -.catalog-post { - position: absolute; - top: 4px; - left: 0; - right: 0; - border: 1px solid transparent; - padding-top: 20px; -} -/* overrides inline CSS from Index.cb.hoverAdjust */ -:root:not(.catalog-hover-expand) .catalog-post { - left: 0 !important; - right: 0 !important; -} -/* overrides 4chan CSS on div.post */ -.catalog-post.catalog-post { - margin: -21px -1px -1px; - overflow: visible; -} -.catalog-thread.noFile > * > .catalog-post { - margin-top: -7px; - padding-top: 6px; -} -:root.catalog-hover-expand .catalog-container:hover > .catalog-post { - margin-left: -61px; - margin-right: -61px; -} -:root.catalog-hover-expand - .catalog-container:hover - > * - > :not(.catalog-replies) { - padding-left: 2px; - padding-right: 2px; -} -.catalog-link { - display: block; - position: relative; -} -.catalog-thumb { - border-radius: 2px; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); - vertical-align: top; -} -.catalog-thumb.spoiler-file { - width: 100px; - height: 100px; -} -.catalog-thumb.deleted-file { - width: 127px; - height: 13px; - padding: 20px 11px; -} -.catalog-thumb.no-file { - width: 77px; - height: 13px; - padding: 20px 36px; -} -.catalog-icons > img, -.catalog-stats > .menu-button { - width: 1em; - height: 1em; - margin: 0; - vertical-align: text-top; - padding-left: 2px; -} -.catalog-stats > .menu-button { - font-weight: normal; -} -.catalog-stats > .menu-button > i::before { - line-height: 11px; -} -.catalog-stats { - font-size: 10px; - font-weight: 700; - padding-top: 2px; -} -.catalog-stats > [title] { - cursor: help; -} -.catalog-post > .postMessage { - margin: 0; - padding-bottom: 0.3em; -} -.catalog-container:not(:hover) > * > .file, -.catalog-container:not(:hover) > * > .postInfo > :not(.subject), -.catalog-container:not(:hover) > * > .catalog-replies, -.catalog-container:not(:hover) .extra-linebreak, -.catalog-container:not(:hover) .abbr, -:root:not(.catalog-hover-expand) .catalog-container > * > .file, -:root:not(.catalog-hover-expand) - .catalog-container - > * - > .postInfo - > :not(.subject), -:root:not(.catalog-hover-expand) .catalog-container > * > .catalog-replies, -:root:not(.catalog-hover-expand) .catalog-container .extra-linebreak, -:root:not(.catalog-hover-expand) .catalog-container .abbr, -.catalog-thread > .catalog-container > :not(.catalog-post), -.catalog-post > .file > :not(.fileText), -.catalog-post > * > .fileText > :not(:first-child), -.catalog-post > .postInfo > :not(.subject):not(.nameBlock):not(.dateTime), -.catalog-post > .postInfo > .nameBlock > .contact-links, -.catalog-post > * > * > .posteruid, -.catalog-post > * > * > .postJumper, -:root.bottom-backlinks .catalog-post > .container, -.post:not(.catalog-post) > .catalog-link, -.post:not(.catalog-post) > .catalog-stats, -.post:not(.catalog-post) > .catalog-replies { - display: none; -} -.catalog-post > .file { - position: absolute; - left: 0; - right: 0; - top: 0; - min-height: 20px; - background-color: inherit; -} -.catalog-post > * > .fileText { - position: relative; - padding: 2px; - background-color: inherit; -} -.catalog-small .catalog-post > * .fileText { - font-size: 10px; -} -.catalog-post > * > .fileText:not(:hover) { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.catalog-post > * > .fileText:hover { - z-index: 1; -} -/* overrides 4chan CSS on div.post div.postInfo */ -.catalog-post > .postInfo.postInfo { - width: auto; -} -.catalog-post > * > .subject { - display: block; -} -.catalog-post > * > .dateTime { - display: inline-block; - font-style: italic; -} -:root.catalog-hover-expand .catalog-container:hover > * > * > .nameBlock, -:root.catalog-hover-expand .catalog-container:hover > * > * > .dateTime, -:root.catalog-hover-expand - .catalog-container:hover - > * - > .postMessage:not(:empty) { - padding-top: 0.3em; -} -.catalog-post .extra-linebreak { - content: ''; /* makes this work in Blink/WebKit */ - display: block; - margin-top: 0.3em; -} -.catalog-reply { - text-align: left; - white-space: nowrap; - border-top: 1px solid transparent; - display: -webkit-flex; - display: flex; - -webkit-flex-direction: row; - flex-direction: row; - -webkit-align-items: stretch; - align-items: stretch; -} -.catalog-reply > * { - padding: 3px; - overflow: hidden; - -webkit-flex: none; - flex: none; -} -.catalog-reply > span { - font-style: italic; - font-weight: bold; -} -.catalog-reply-excerpt { - -webkit-flex: 1 1 auto; - flex: 1 1 auto; -} -.catalog-post .prettyprinted { - max-width: 100%; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.catalog-post .MathJax_Display { - text-align: center !important; -} -.catalog-container:not(:hover) .exif, -:root:not(.catalog-hover-expand) .catalog-container .exif { - display: none !important; -} -.catalog-post > * > .exif { - border-collapse: collapse; -} -:root.catalog-hover-expand - .catalog-container:hover - .exif[style*='display: block;'] { - display: inline-block !important; -} -.catalog-post > * > .exif, -.catalog-post > * > .exif > tbody { - background-color: inherit; -} -.catalog-post > * > .exif, -.catalog-post > * > .exif td { - min-width: 0; -} -.catalog-post > * > .exif td { - padding-top: 1px; -} -:root.hats-enabled .catalog-thread::after { - content: ''; - pointer-events: none; - position: absolute; - background-size: contain; -} -:root.hats-enabled .catalog-small > .catalog-thread::after { - left: -8px; - top: -59px; - width: 96px; - height: 96px; -} -:root.hats-enabled:not(.werkTyme) - .catalog-small - > .catalog-thread:not(.noFile)::after { - left: calc(67px - 0.3px * var(--tn-w)); -} -:root.hats-enabled .catalog-large > .catalog-thread::after { - left: -15px; - top: -98px; - width: 160px; - height: 160px; -} -:root.hats-enabled:not(.werkTyme) - .catalog-large - > .catalog-thread:not(.noFile)::after { - left: calc(110px - 0.5px * var(--tn-w)); -} - -/* Copy Text Link's textarea element */ -textarea.copy-text-element { - height: 0; - width: 0; - position: absolute; - top: -10000px; -} - -/* Announcement Hiding */ -:root.hide-announcement $site$psa { - display: none; -} -.hide-announcement-button { - opacity: 0.4; - float: left; -} - -/* Unread */ -.unread-line { - margin: 0; - border-color: rgb(255, 0, 0); -} -.unread-line + br { - display: none; -} -.unread-mark-read { - float: right; - clear: both; - width: 100%; - text-align: right; -} -:not(.unread-thread) > .unread-mark-read { - display: none; -} - -/* Thread Updater */ -#updater { - background: none; - border: none; - box-shadow: none; -} -#updater > .move { - position: absolute; - top: -5px; - bottom: -5px; - left: -5px; - right: -5px; - z-index: -1; -} -#updater > div:last-child { - text-align: center; -} -#updater input[type='number'] { - width: 4em; -} -:root.float #updater { - padding: 0px 3px; -} -:root:not(.float).shortcut-icons #updater { - display: inline-block; - min-width: 12pt; - text-align: right; -} -.new { - color: limegreen; -} -#update-status:not(.empty) + #update-timer:not(.empty):not(.loading) { - margin-left: 5px; -} -#update-timer { - cursor: pointer; -} - -/* Thread Watcher */ -#thread-watcher { - position: absolute; -} -#thread-watcher { - padding-bottom: 3px; - padding-left: 3px; - white-space: nowrap; - min-width: 146px; -} -#watched-threads { - overflow-x: hidden; - overflow-y: auto; -} -#thread-watcher .refresh { - padding: 0px 3px; -} -:root.fixed-watcher #thread-watcher { - position: fixed; -} -:root.fixed-watcher #watched-threads { - /* XXX https://code.google.com/p/chromium/issues/detail?id=168840, https://bugs.webkit.org/show_bug.cgi?id=94158 */ - max-height: 85vh; - max-height: calc(100vh - 75px); -} -:root:not(.fixed-watcher) #watched-threads:not(:hover) { - max-height: 210px; - overflow-y: hidden; -} -#thread-watcher > .move { - padding-top: 3px; -} -#watched-threads > div { - padding-left: 3px; - padding-right: 3px; -} -#watched-threads .watcher-link { - max-width: 250px; - display: -webkit-inline-flex; - display: inline-flex; - -webkit-flex-direction: row; - flex-direction: row; -} -#watched-threads .watcher-page, -#watched-threads .watcher-unread { - -webkit-flex: 0 0 auto; - flex: 0 0 auto; - margin-right: 2px; -} -#watched-threads .watcher-title { - overflow: hidden; - text-overflow: ellipsis; - -webkit-flex: 0 1 auto; - flex: 0 1 auto; -} -#watched-threads .watcher-title:not(:first-child) { - margin-left: 2px; -} -.replies-quoting-you > a, -#watcher-link.replies-quoting-you, -.last-page > a > .watcher-page { - color: #f00; -} -#thread-watcher a { - text-decoration: none; -} -#thread-watcher .move > .close { - position: absolute; - right: 0px; - top: 0px; - padding: 0px 4px; -} -.watch-thread-link { - padding-top: 18px; - width: 18px; - height: 0px; - display: inline-block; - background-repeat: no-repeat; - opacity: 0.2; - position: relative; - top: 1px; - background-image: url("data:image/svg+xml,"); -} -.watch-thread-link.watched { - opacity: 1; -} - -/* Thread Stats */ -#thread-stats { - background: none; - border: none; - box-shadow: none; -} -:root.float #thread-stats > .move > :not(#page-count) { - pointer-events: none; -} -:root.float #thread-stats { - padding: 0px 3px; -} -#page-count { - cursor: pointer; -} - -/* Quote */ -.hashlink::before { - content: ' '; - visibility: hidden; -} -.inline + .hashlink { - display: none !important; -} -:root.resurrect-quotes .deadlink { - text-decoration: none !important; -} -.catalog-post .qmark-ct { - display: none; -} -.backlink.deadlink:not(.forwardlink), -.quotelink.deadlink:not(.forwardlink) { - text-decoration: underline !important; -} -:root:not(.catalog-mode) .inlined { - opacity: 0.5; -} -#qp input, -.forwarded { - display: none; -} -.quotelink.forwardlink, -.backlink.forwardlink { - text-decoration: none; - border-bottom: 1px dashed; -} -.filtered { - text-decoration: underline line-through; -} -:root.hide-backlinks .backlink.filtered, -:root.hide-backlinks .backlink.filtered + .hashlink.filtered { - display: none; -} -.postNum + .container::before { - content: ' '; -} -:root.bottom-backlinks .container { - display: block; - clear: both; - margin: 0 4px; -} -:root.bottom-backlinks .backlink { - font-size: 90%; -} -.inline { - border: 1px solid; - display: table; - margin: 2px 0; -} -.container ~ .inline { - margin-left: 20px; -} -:root.catalog-mode .inline { - display: none; -} -.inline .post { - border: 0 !important; - background-color: transparent !important; - display: table !important; - margin: 0 !important; - padding: 1px 2px !important; -} -#qp > .opContainer::after { - content: ''; - clear: both; - display: table; -} -#qp .post { - border: none; - margin: 0; - padding: 2px 2px 5px; -} -#qp img { - max-height: 80vh; - max-width: 50vw; -} - -/* Quote Threading */ -.threadContainer { - margin-left: 20px; - border-left: 1px solid rgba(128, 128, 128, 0.3); -} -.threadOP { - clear: both; -} - -/* File */ -.fileText-original, -.fnswitch:hover > .fntrunc, -.fnswitch:not(:hover) > .fnfull, -.expanded-image > .post > .file > .fileThumb > video[data-md5], -.expanded-image > .post > .file > .fileThumb > img[data-md5] { - display: none; -} -.full-image[data-file-i-d] { - display: none; - cursor: pointer; -} -.expanded-image > .post > .file > .fileThumb > .full-image { - display: inline; -} -.expanded-image { - clear: left; -} -.expanding { - opacity: 0.5; -} -:root.fit-height .full-image { - max-height: 100vh; -} -:root.fit-height.fixed .full-image { - /* XXX https://code.google.com/p/chromium/issues/detail?id=168840, https://bugs.webkit.org/show_bug.cgi?id=94158 */ - max-height: 93vh; - max-height: calc(100vh - 35px); -} -:root.fit-width .full-image { - max-width: 100%; -} -:root.ua-gecko.fit-width .full-image { - width: 100%; -} -.fileThumb > .warning { - clear: both; -} -#ihover { - pointer-events: none; - /* XXX https://code.google.com/p/chromium/issues/detail?id=168840, https://bugs.webkit.org/show_bug.cgi?id=94158 */ - max-height: 95vh; - max-height: calc(100vh - 25px); - max-width: 100vw; -} -/* WEBM Metadata */ -.webm-title > a::before { - content: 'title'; - text-decoration: underline; -} -.webm-title.loading > a::after { - content: '...'; -} -.webm-title.error > a:hover::before, -.webm-title.error > a:focus::before { - content: 'error'; - text-decoration: none; -} -.webm-title > span { - cursor: text; -} -.webm-title.not-found > span::before { - content: 'not found'; -} -.webm-title:not(:hover):not(:focus) > span, -.webm-title:hover > span + a, -.webm-title:focus > span + a { - display: none; -} -/* Volume control */ -input[name='Default Volume'] { - width: 4em; - height: 1ex; - vertical-align: middle; - margin: 0px; -} -/* Fappe and Werk Tyme */ -:root.fappeTyme $site$replyOriginal.noFile, -:root.fappeTyme $site$replyOriginal.noFile + br { - display: none; -} -:root.werkTyme $site$thumbLink, -:root.werkTyme $site$file$thumb, -:root.werkTyme .catalog-thumb:not(.deleted-file):not(.no-file), -:root:not(.werkTyme) .werkTyme-filename { - display: none; -} -.werkTyme-filename { - font-weight: bold; - font-size: 110%; -} -:root.werkTyme .catalog-link { - box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); - padding: 8px; - text-align: center; -} -:root.werkTyme .catalog-thumb { - box-shadow: none; - padding: 0; - vertical-align: middle; -} -.indicator { - background: rgba(255, 0, 0, 0.8); - font-weight: bold; - display: inline-block; - min-width: 9px; - padding: 0px 2px; - margin: 0 1px; - text-align: center; - color: white; - border-radius: 2px; - cursor: pointer; -} -:root:not(.fappeTyme) #shortcut-fappe, -:root:not(.werkTyme) #shortcut-werk { - display: none; -} - -/* Index/Reply Navigation */ -#navlinks { - font-size: 16px; - top: 25px; - right: 10px; -} -:root.catalog-mode #navlinks { - display: none; -} - -/* Highlighting */ -.qphl { - outline: 2px solid rgba(216, 94, 49, 0.8); -} -:root.highlight-you .quotesYou$site$highlightable$op, -:root.highlight-you .quotesYou$site$highlightable$reply { - border-left: 3px solid rgba(221, 0, 0, 0.8); -} -:root.highlight-own .yourPost$site$highlightable$op, -:root.highlight-own .yourPost$site$highlightable$reply { - border-left: 3px dashed rgba(221, 0, 0, 0.8); -} -.filter-highlight$site$highlightable$op, -.filter-highlight$site$highlightable$reply { - box-shadow: inset 5px 0 rgba(221, 0, 0, 0.5); -} -:root.highlight-own .yourPost > $site$sideArrows, -:root.highlight-you .quotesYou > $site$sideArrows, -.filter-highlight > $site$sideArrows { - color: rgba(221, 0, 0, 0.8); -} -:root.highlight-own .yourPost$site$highlightable$op::after, -:root.highlight-you .quotesYou$site$highlightable$op::after, -.filter-highlight$site$highlightable$op::after { - content: ''; - display: block; - clear: both; -} -:root:not(.werkTyme) .catalog-thread.filter-highlight .catalog-thumb, -:root.werkTyme .catalog-thread.filter-highlight:not(:hover), -:root.werkTyme:not(.catalog-hover-expand) .catalog-thread.filter-highlight, -:root.werkTyme.catalog-hover-expand - .catalog-thread.filter-highlight - > .catalog-container:hover - > .catalog-post, -:root.catalog $site$catalog$thread.filter-highlight$site$highlightable$catalog { - box-shadow: 0 0 3px 3px rgba(255, 0, 0, 0.5); -} -:root:not(.werkTyme) .catalog-thread.watched .catalog-thumb, -:root:root.werkTyme .catalog-thread.watched:not(:hover), -:root:root.werkTyme:not(.catalog-hover-expand) .catalog-thread.watched, -:root.werkTyme.catalog-hover-expand - .catalog-thread.watched - > .catalog-container:hover - > .catalog-post { - border: 2px solid rgba(255, 0, 0, 0.75); -} - -/* Spoiler text */ -:root.reveal-spoilers $site$spoiler, -:root.reveal-spoilers $site$spoiler > a { - color: white !important; -} -:root.reveal-spoilers .removed-spoiler::before { - content: '[spoiler]'; -} -:root.reveal-spoilers .removed-spoiler::after { - content: '[/spoiler]'; -} - -/* Thread & Reply Hiding */ -.hide-thread-button, -.hide-reply-button { - float: left; - margin-right: 4px; - padding: 2px; -} -$site$infoRoot a.hide-reply-button { - margin-right: 6px; - padding: 0; -} -.replacedSideArrows { - float: left; -} -.hide-thread-button:not(:hover), -.hide-reply-button:not(:hover) { - opacity: 0.4; -} -.threadContainer .hide-reply-button { - margin-left: 2px !important; - position: relative; - left: 1px; -} -.hide-thread-button { - margin-top: -1px; - width: 11px; -} -.stub ~ :not(.threadDivider) { - display: none !important; -} -.stub input { - display: inline-block; -} -$site$thread[hidden] + hr { - display: none; -} -:root.reply-hide $site$sideArrows { - display: none; -} -:root.sw-yotsuba.thread-hide .party-hat { - left: 19px; -} - -/* Anonymize */ -:root.anonymize $site$info$name, -:root.sw-yotsuba.anonymize .post-author:not([class*='capcode']) { - font-size: 0; -} -:root.anonymize $site$info$tripcode, -:root.sw-yotsuba.anonymize .n-pu { - display: none; -} -:root.anonymize $site$info$name::before, -:root.sw-yotsuba.anonymize .post-author:not([class*='capcode'])::before { - content: 'Anonymous'; - font-size: 10pt; -} -:root.sw-yotsuba.anonymize .flashListing .name::before, -:root.sw-yotsuba.anonymize - .post-last - > .post-author:not([class*='capcode'])::before { - font-size: 9pt; -} - -/* QR */ -:root.hide-original-post-form #togglePostFormLink, -#qr.autohide:not(.focus):not(:hover):not(:active) > form, -:root.thread-view #qr:not(.show-new-thread-option) select[data-name='thread'], -#file-n-submit:not(.has-file) #qr-filerm { - display: none; -} -:root.hide-original-post-form #postForm { - display: none !important; -} -#qr select, -#qr-filename-container > a, -.remove, -.captcha-img { - cursor: pointer; -} -#qr { - position: fixed; - padding: 1px; - border: 1px solid transparent; - min-width: 300px; - border-radius: 3px 3px 0 0; -} -#qr > form { - /* XXX https://code.google.com/p/chromium/issues/detail?id=168840, https://bugs.webkit.org/show_bug.cgi?id=94158 */ - max-height: 85vh; - max-height: calc(100vh - 75px); - overflow-y: auto; - overflow-x: hidden; -} -#qrtab { - border-radius: 3px 3px 0 0; -} -#qrtab { - margin-bottom: 1px; -} -#qr .close { - float: right; - padding: 0 3px; -} -.qr-link-container { - text-align: center; - margin: 16px 0; -} -.qr-link-container-bottom { - width: 200px; - position: absolute; - left: -100px; - margin-left: 50%; - text-align: center; -} -.qr-link { - border-radius: 3px; - padding: 6px 10px 5px; - font-weight: bold; - vertical-align: middle; - border-style: solid; - border-width: 1px; - font-size: 10pt; -} -.qr-link-container + #togglePostFormLink { - font-size: 10pt; - font-weight: normal; - margin: -8px 0 3.5px; -} -.persona { - width: 100%; - display: -webkit-flex; - display: flex; - -webkit-flex-direction: row; - flex-direction: row; -} -.persona .field { - -webkit-flex: 1; - flex: 1; - width: 0; -} -#qr.forced-anon input[data-name='name']:not(.force-show), -#qr.forced-anon input[data-name='sub']:not(.force-show), -#qr.reply-to-thread input[data-name='sub']:not(.force-show), -body:not(.board_f) #qr select[name='filetag'], -#qr.reply-to-thread select[name='filetag'], -#qr:not(.has-sjis) #sjis-toggle, -#qr:not(.has-math) #tex-preview-button, -#qr.tex-preview .textarea > :not(#tex-preview), -#qr:not(.tex-preview) #tex-preview { - display: none; -} -.persona button { - -webkit-flex: 0 0 23px; - flex: 0 0 23px; - -webkit-align-self: stretch; - align-self: stretch; - border: 1px solid #bbb; - padding: 0; - background: linear-gradient(to bottom, #f8f8f8, #dcdcdc) no-repeat; - color: #000; -} -#qr.sjis-preview #sjis-toggle, -#qr.tex-preview #tex-preview-button { - background: #dcdcdc; -} -#sjis-toggle, -#qr.sjis-preview textarea.field { - font-family: 'IPAMonaPGothic', 'Mona', 'MS PGothic', monospace; - font-size: 16px; - line-height: 17px; -} -#tex-preview-button { - font-size: 10px; -} -#tex-preview { - white-space: pre-line; -} -#qr textarea.field { - height: 14.8em; - min-height: 9em; -} -#qr.has-captcha textarea.field { - height: 9em; -} -input.field.tripped:not(:hover):not(:focus) { - color: transparent !important; - text-shadow: none !important; -} -#qr textarea { - min-width: 300px; - resize: both; -} -.field { - -moz-box-sizing: border-box; - box-sizing: border-box; - margin: 0px; - padding: 2px 4px 3px; -} -#qr label input[type='checkbox'] { - position: relative; - top: 2px; -} - -/* Recaptcha v2 */ -#qr .captcha-root { - position: relative; -} -#qr .captcha-container > div { - margin: auto; - width: 304px; -} -/* XXX scrollable with scroll bar hidden; prevents scroll on space press */ -:root.ua-blink #qr .captcha-container > div, -:root.ua-edge #qr .captcha-container > div { - overflow: hidden; -} -:root.ua-blink #qr .captcha-container > div > div:first-of-type, -:root.ua-edge #qr .captcha-container > div > div:first-of-type { - overflow-y: scroll; - overflow-x: hidden; - padding-right: 30px; - height: 99%; - width: 100%; -} -#qr .captcha-counter { - display: block; - width: 100%; - text-align: center; - pointer-events: none; -} -#qr.captcha-open .captcha-counter { - position: absolute; - bottom: 3px; -} -#qr .captcha-counter > a { - pointer-events: auto; - display: inline-block; /* XXX https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8851747/ */ -} -#qr:not(.captcha-open) .captcha-counter > a { - display: block; - width: 100%; -} -#qr.captcha-v2 #qr-captcha-iframe { - width: 302px; - height: 423px; - border: 0; - display: block; - margin: auto; -} -.goog-bubble-content { - max-width: 100vw; - max-height: 100vh; - overflow: auto; -} -.goog-bubble-content iframe { - position: static !important; -} - -/* File Input, Submit Button, Oekaki */ -#file-n-submit, -#qr .oekaki { - display: -webkit-flex; - display: flex; - -webkit-align-items: stretch; - align-items: stretch; - height: 25px; - margin-top: 1px; -} -#file-n-submit > input, -#qr-draw-button { - background: linear-gradient(to bottom, #f8f8f8, #dcdcdc) no-repeat; - border: 1px solid #bbb; - border-radius: 2px; - height: 100%; -} -#qr-file-button, -#qr-draw-button { - width: 15%; -} -#file-n-submit input[type='submit'] { - width: 25%; -} -#qr-filename-container { - -webkit-flex: 1 1 auto; - flex: 1 1 auto; - width: 0; - display: -webkit-flex; - display: flex; - -webkit-align-items: center; - align-items: center; - position: relative; - padding: 1px; -} -input#qr-filename { - border: none !important; - background: none !important; - outline: none; -} -#qr-filename, -.has-file #qr-no-file { - display: none; -} -#qr-no-file, -.has-file #qr-filename { - -webkit-flex: 1 1 auto; - flex: 1 1 auto; - width: 0px; /* XXX Fixes filename not shrinking to allow space for buttons in Edge */ - display: inline-block; - padding: 0; - padding-left: 3px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -#qr-no-file { - color: #aaa; -} -#qr .oekaki.has-file { - display: none; -} -#qr .oekaki > label { - -webkit-flex: 1 1 auto; - flex: 1 1 auto; - width: 0; - display: -webkit-flex; - display: flex; - -webkit-align-items: center; - align-items: center; - height: 100%; -} -#qr .oekaki > label > span { - margin: 0 3px; -} -#qr .oekaki > label > input { - -webkit-flex: 1 1 auto; - flex: 1 1 auto; - width: 0; - height: 100%; -} -#qr .oekaki-bg { - position: relative; - display: inline-block; - height: 100%; - width: 10%; - margin-left: 3px; -} -#qr .oekaki-bg > * { - position: absolute; - top: 0; - left: 0; - margin: 0; -} -#qr .oekaki-bg > :not([name='oekaki-bgcolor']) { - z-index: 1; -} -#qr [name='oekaki-bgcolor'] { - height: 100%; - width: 100%; - border: none; - padding: 0; -} -#qr [name='oekaki-bg']:not(:checked) ~ [name='oekaki-bgcolor'] { - visibility: hidden; -} -#qr input[type='file'] { - visibility: hidden; - position: absolute; -} - -/* Spoiler Checkbox, QR Icons */ -#qr-filename-container > label, -#qr-filename-container > a { - -webkit-flex: none; - flex: none; - margin: 0; - margin-right: 3px; -} -#qr:not(.has-spoiler) #qr-spoiler-label, -#file-n-submit:not(.has-file) #qr-spoiler-label, -.has-file #paste-area, -.has-file #url-button, -#file-n-submit:not(.custom-cooldown) #custom-cooldown-button { - display: none; -} -#qr-filename-container > label { - position: relative; -} -#qr-filename-container input[type='checkbox'] { - margin: 0; -} -.checkbox-letter { - font-size: 13px; - font-weight: bold; -} -#qr-filename-container - label:not(:hover) - > input[type='checkbox']:not(:focus):not(:checked), -#qr-filename-container - label:not(:hover) - > input[type='checkbox']:not(:focus):not(:checked) - ~ :not(.checkbox-letter), -#qr-filename-container label:hover > .checkbox-letter, -input[type='checkbox']:focus ~ .checkbox-letter, -input[type='checkbox']:checked ~ .checkbox-letter { - /* not displayed but still focusable */ - position: absolute; - opacity: 0; - pointer-events: none; -} -.checkbox-letter, -#paste-area, -#url-button, -#custom-cooldown-button, -#dump-button { - opacity: 0.6; -} -#paste-area { - font-size: 0; -} -#paste-area:focus { - opacity: 1; -} -#custom-cooldown-button.disabled { - opacity: 0.27; -} - -/* Thread and Flash Tag Select */ -#qr select { - background: white; - border: 1px solid #ccc; -} -#qr select[data-name='thread'] { - float: right; -} -#qr > form > select { - margin-top: 1px; -} - -/* Dumping UI */ -.dump #dump-list-container { - display: block; -} -#dump-list-container { - display: none; - position: relative; - overflow-y: hidden; - margin-top: 1px; -} -#dump-list { - overflow-x: auto; - overflow-y: auto; - white-space: nowrap; - width: 248px; - max-height: 248px; - min-height: 90px; - max-width: 100%; - min-width: 100%; - display: -webkit-flex; - display: flex; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; -} -#dump-list:hover { - overflow-x: auto; -} -.qr-preview { - -moz-box-sizing: border-box; - box-sizing: border-box; - counter-increment: thumbnails; - cursor: move; - display: inline-block; - height: 90px; - width: 90px; - padding: 2px; - opacity: 0.5; - overflow: hidden; - position: relative; - text-shadow: 0 0 2px #000; - -webkit-transition: opacity 0.25s ease-in-out, - -webkit-transform 0.25s ease-in-out; - transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out, - -webkit-transform 0.25s ease-in-out; - vertical-align: top; - background-size: cover; - -webkit-flex: none; - flex: none; -} -.qr-preview:hover, -.qr-preview:focus { - opacity: 0.9; -} -.qr-preview::before { - content: counter(thumbnails); - color: #fff; - position: absolute; - top: 3px; - right: 3px; - text-shadow: 0 0 3px #000, 0 0 8px #000; -} -.qr-preview#selected { - opacity: 1; -} -.qr-preview.drag { - box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); - -webkit-transform: scale(0.8); - transform: scale(0.8); -} -.qr-preview.over { - border-color: #fff; - -webkit-transform: scale(1.1); - transform: scale(1.1); - opacity: 0.9; - z-index: 10; -} -.qr-preview > span { - color: #fff; -} -.remove { - background: none; - color: #e00; - padding: 1px; -} -a:only-of-type > .remove { - display: none; -} -.remove:hover::after { - content: ' Remove'; -} -.qr-preview:not(.has-file) label, -#qr:not(.has-spoiler) .qr-preview-spoiler { - display: none; -} -.qr-preview > label { - background: rgba(0, 0, 0, 0.5); - color: #fff; - right: 0; - bottom: 0; - left: 0; - position: absolute; - text-align: center; -} -.qr-preview > label > input { - margin: 0; -} -#add-post { - cursor: pointer; - font-size: 2em; - position: absolute; - bottom: 20px; - right: 10px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} -.textarea { - position: relative; - display: -webkit-flex; - display: flex; -} -#char-count { - color: #000; - background: hsla(0, 0%, 100%, 0.5); - font-size: 8pt; - position: absolute; - bottom: 1px; - right: 1px; - pointer-events: none; -} -#char-count.warning { - color: red; -} - -/* Menu */ -.menu-button:not(.fa-bars) { - display: inline-block; - position: relative; - cursor: pointer; -} -#header-bar .menu-button i { - border-top: 6px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - display: inline-block; - margin: 2px; - vertical-align: middle; -} -.postInfo > .menu-button, -#thread-watcher .menu-button { - width: 18px; - height: 15px; - text-align: center; -} -#menu { - position: fixed; - outline: none; - font-weight: normal; -} -#menu, -.submenu { - border-radius: 3px; - padding-top: 1px; - padding-bottom: 3px; -} -.entry { - cursor: pointer; - display: block; - outline: none; - padding: 2px 10px; - position: relative; - text-decoration: none; - white-space: nowrap; - min-width: 70px; - text-align: left; - text-shadow: none; - font-size: 10pt; -} -.left > .entry.has-submenu { - padding-right: 17px !important; -} -.entry input[type='checkbox'], -.entry input[type='radio'] { - margin: 0px; - position: relative; - top: 2px; -} -.entry input[type='number'] { - width: 4.5em; -} -.entry.has-shortcut-text { - display: flex; - justify-content: space-between; - align-items: center; -} -.entry .shortcut-text { - opacity: 0.5; - font-size: 70%; - margin-left: 5px; -} -.has-submenu::after { - content: ''; - border-left: 0.5em solid; - border-top: 0.3em solid transparent; - border-bottom: 0.3em solid transparent; - display: inline-block; - margin: 0.3em; - position: absolute; - right: 3px; -} -.left .has-submenu::after { - border-left: 0; - border-right: 0.5em solid; -} -.submenu { - display: none; - position: absolute; - left: 100%; - top: -1px; - margin-left: 0px; - margin-top: -2px; -} -.focused > .submenu { - display: block; -} -.imp-exp-result { - position: absolute; - text-align: center; - margin: auto; - right: 0px; - left: 0px; - width: 200px; -} - -/* Custom Board Titles */ -.boardTitle, -.boardSubtitle { - white-space: pre-line; -} -.boardTitle[contenteditable='true'], -.boardSubtitle[contenteditable='true'] { - cursor: text !important; -} - -/* Embedding */ -.embedder:not(.embedded) > span { - display: none; -} -#embedding { - padding: 1px 4px 1px 4px; - position: fixed; -} -#embedding.empty { - display: none; -} -#embedding > div:first-child { - display: -webkit-flex; - display: flex; -} -#embedding .move { - -webkit-flex: 1; - flex: 1; -} -#embedding .jump { - margin: -1px 4px; - text-decoration: none; -} - -/* Gallery */ -#a-gallery { - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - display: -webkit-flex; - display: flex; - -webkit-flex-direction: row; - flex-direction: row; - background: rgba(0, 0, 0, 0.7); -} -.gal-viewport { - display: -webkit-flex; - display: flex; - -webkit-align-items: stretch; - align-items: stretch; - -webkit-flex-direction: row; - flex-direction: row; - -webkit-flex: 1 1 auto; - flex: 1 1 auto; - overflow: hidden; -} -.gal-thumbnails { - -webkit-flex: 0 0 150px; - flex: 0 0 150px; - overflow-y: auto; - display: -webkit-flex; - display: flex; - -webkit-flex-direction: column; - flex-direction: column; - -webkit-align-items: stretch; - align-items: stretch; - text-align: center; - background: rgba(0, 0, 0, 0.5); - border-left: 1px solid #222; -} -.gal-hide-thumbnails .gal-thumbnails { - display: none; -} -.gal-thumb img, -.gal-thumb video { - max-width: 125px; - max-height: 125px; - height: auto; - width: auto; -} -.gal-thumb { - -webkit-flex: 0 0 auto; - flex: 0 0 auto; - padding: 3px; - line-height: 0; - transition: background 0.2s linear; -} -.gal-highlight { - background: rgba(0, 190, 255, 0.8); -} -.gal-prev { - border-right: 1px solid #222; -} -.gal-next { - border-left: 1px solid #222; -} -.gal-prev, -.gal-next { - -webkit-flex: 0 0 20px; - flex: 0 0 20px; - position: relative; - cursor: pointer; - opacity: 0.7; - background-color: rgba(0, 0, 0, 0.3); -} -.gal-prev:hover, -.gal-next:hover { - opacity: 1; -} -.gal-prev::after, -.gal-next::after { - position: absolute; - top: 48.6%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - display: inline-block; - border-top: 11px solid transparent; - border-bottom: 11px solid transparent; - content: ''; -} -.gal-prev::after { - border-right: 12px solid #fff; - right: 5px; -} -.gal-next::after { - border-left: 12px solid #fff; - right: 3px; -} -.gal-image { - -webkit-flex: 1 0 auto; - flex: 1 0 auto; - display: -webkit-flex; - display: flex; - -webkit-align-items: flex-start; - align-items: flex-start; - -webkit-justify-content: space-around; - justify-content: space-around; - overflow: hidden; - /* Flex > Non-Flex child max-width and overflow fix (Firefox only?) */ - width: 1%; -} -:root:not(.gal-fit-height):not(.gal-pdf) .gal-image { - overflow-y: scroll !important; -} -:root:not(.gal-fit-width):not(.gal-pdf) .gal-image { - overflow-x: scroll !important; -} -.gal-image a { - display: -webkit-flex; - display: flex; - -webkit-align-items: flex-start; - align-items: flex-start; - margin: auto; - line-height: 0; - max-width: 100%; -} -:root.gal-pdf .gal-image a { - width: 100%; - height: 100%; -} -.gal-image img, -.gal-image video { - -webkit-flex: none; - flex: none; -} -.gal-fit-width .gal-image img, -.gal-fit-width .gal-image video { - max-width: 100%; -} -.gal-fit-height .gal-image img, -.gal-fit-height .gal-image video { - /* XXX https://code.google.com/p/chromium/issues/detail?id=168840, https://bugs.webkit.org/show_bug.cgi?id=94158 */ - max-height: 95vh; - max-height: calc(100vh - 25px); -} -.gal-image iframe { - width: 100%; - height: 100%; -} -.gal-buttons { - font-size: 2em; - margin-right: 3px; - padding-left: 7px; - padding-right: 7px; - top: 5px; -} -:root.gal-pdf .gal-buttons { - top: 40px; - background: rgba(0, 0, 0, 0.6) !important; - border-radius: 3px; -} -.gal-buttons a { - color: #ffffff; - text-shadow: 0px 0px 1px #000000; -} -.gal-buttons i { - display: inline-block; - margin: 2px; - position: relative; -} -.gal-start i { - border-left: 10px solid; - border-top: 6px solid transparent; - border-bottom: 6px solid transparent; - bottom: 1px; -} -.gal-stop i { - border: 5px solid; - bottom: 2px; -} -.gal-buttons.gal-playing > .gal-start, -.gal-buttons:not(.gal-playing) > .gal-stop { - display: none; -} -.gal-buttons .menu-button i { - border-top: 10px solid; - border-right: 6px solid transparent; - border-left: 6px solid transparent; - bottom: 2px; - vertical-align: baseline; -} -.gal-labels { - position: fixed; - bottom: 6px; - display: -webkit-flex; - display: flex; - -webkit-flex-direction: column; - flex-direction: column; - -webkit-align-items: flex-end; - align-items: flex-end; -} -:root:not(.show-sauce) .gal-sauce { - display: none; -} -.gal-name, -.gal-count, -.gal-sauce { - background: rgba(0, 0, 0, 0.6) !important; - border-radius: 3px; - padding: 1px 5px 2px 5px; - margin-top: 3px; - color: #ffffff !important; - text-decoration: none !important; -} -.gal-sauce a { - color: #ffffff !important; -} -.gal-name:hover, -.gal-buttons a:hover, -.gal-sauce a:hover { - color: rgb(95, 95, 101) !important; -} -:root.gal-pdf .gal-buttons a:hover { - color: rgb(204, 204, 204) !important; -} -.gal-buttons, -.gal-labels { - position: fixed; - right: 195px; -} -.gal-hide-thumbnails .gal-buttons, -.gal-hide-thumbnails .gal-labels { - right: 44px; -} -:root:not(.gal-fit-width):not(.gal-pdf) .gal-labels { - bottom: 23px !important; -} -:root.gal-fit-height:not(.gal-pdf):not(.gal-hide-thumbnails) .gal-buttons, -:root.gal-fit-height:not(.gal-pdf):not(.gal-hide-thumbnails) .gal-labels { - right: 178px !important; -} -:root.gal-hide-thumbnails.gal-fit-height:not(.gal-pdf) .gal-buttons, -:root.gal-hide-thumbnails.gal-fit-height:not(.gal-pdf) .gal-labels { - right: 28px !important; -} -:root.gallery-open.fixed #header-bar:not(.autohide), -:root.gallery-open.fixed #header-bar:not(.autohide) #shortcuts .fa::before { - visibility: hidden; -} - -/* Mod Contact Links */ -.contact-links { - margin-left: 2px; -} -.move-note > a { - text-decoration: underline; -} -.invisible { - font-size: 0; -} - -/* PostJumper */ -.postJumper > .prev, -.postJumper > .next { - font-size: 120%; -} - -/* PSA */ -.fcx-announcement { - text-align: center; -} -.fcx-announcement a { - text-decoration: underline; -} diff --git a/src/types/$.d.ts b/src/types/$.d.ts index 0ae4067..9e700e8 100644 --- a/src/types/$.d.ts +++ b/src/types/$.d.ts @@ -28,9 +28,9 @@ declare global { whenModified: ( url: string, bucket: string, - cb: (this: JQueryXHR) => void, + cb: (this: XMLHttpRequest, ev: ProgressEvent) => void, options?: WhenModifiedOptions - ) => JQueryXHR + ) => void } } export type Dict = { [key: string]: any } diff --git a/tsconfig.json b/tsconfig.json index b9c2587..71ca1ab 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,7 @@ "jsx": "react", "jsxFactory": "h", "jsxFragmentFactory": "hFragment", - "types": ["@violentmonkey/types", "@types/chrome", "@types/jquery"], + "types": ["@violentmonkey/types", "@types/chrome", "@types/jquery", "@types/node"], "lib": ["DOM", "ES2020"], // needs to be in the deepest dir used as target in the rollup build // https://stackoverflow.com/q/40460790, https://github.com/rollup/plugins/issues/243