diff --git a/apps/web/package-lock.json b/apps/web/package-lock.json index d58b36957..e0f51d3c9 100644 --- a/apps/web/package-lock.json +++ b/apps/web/package-lock.json @@ -67,6 +67,7 @@ "platform": "^1.3.6", "qclone": "^1.2.0", "react": "18.2.0", + "react-avatar-editor": "^13.0.2", "react-complex-tree": "^2.2.4", "react-day-picker": "^8.9.1", "react-dom": "18.2.0", @@ -97,6 +98,7 @@ "@types/node-fetch": "^2.5.10", "@types/platform": "^1.3.4", "@types/react": "^18.2.39", + "@types/react-avatar-editor": "^13.0.2", "@types/react-dom": "^18.2.17", "@types/react-modal": "3.16.3", "@types/tinycolor2": "^1.4.3", @@ -2502,7 +2504,7 @@ }, "../../extensions/web-clipper/node_modules/@gar/promisify": { "version": "1.1.3", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@humanwhocodes/config-array": { @@ -3772,7 +3774,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs": { "version": "2.1.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "@gar/promisify": "^1.1.3", @@ -3784,7 +3786,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -3795,7 +3797,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs/node_modules/semver": { "version": "7.5.4", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -3809,12 +3811,12 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/@npmcli/move-file": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", @@ -3826,7 +3828,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/move-file/node_modules/rimraf": { "version": "3.0.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -4424,7 +4426,7 @@ }, "../../extensions/web-clipper/node_modules/@tootallnate/once": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 10" @@ -4670,7 +4672,7 @@ }, "../../extensions/web-clipper/node_modules/@types/minimist": { "version": "1.2.5", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/node": { @@ -4689,7 +4691,7 @@ }, "../../extensions/web-clipper/node_modules/@types/normalize-package-data": { "version": "2.4.4", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/parse-json": { @@ -4710,7 +4712,7 @@ }, "../../extensions/web-clipper/node_modules/@types/prop-types": { "version": "15.7.11", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/q": { @@ -4727,7 +4729,7 @@ }, "../../extensions/web-clipper/node_modules/@types/react": { "version": "18.2.39", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -4772,7 +4774,7 @@ }, "../../extensions/web-clipper/node_modules/@types/scheduler": { "version": "0.16.8", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/semver": { @@ -5322,7 +5324,7 @@ }, "../../extensions/web-clipper/node_modules/abbrev": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/abort-controller": { @@ -5891,7 +5893,7 @@ }, "../../extensions/web-clipper/node_modules/agentkeepalive": { "version": "4.5.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "humanize-ms": "^1.2.1" @@ -5902,7 +5904,7 @@ }, "../../extensions/web-clipper/node_modules/aggregate-error": { "version": "3.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", @@ -6041,12 +6043,12 @@ }, "../../extensions/web-clipper/node_modules/aproba": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/are-we-there-yet": { "version": "3.0.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "delegates": "^1.0.0", @@ -6227,7 +6229,7 @@ }, "../../extensions/web-clipper/node_modules/arrify": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6263,7 +6265,7 @@ }, "../../extensions/web-clipper/node_modules/async-foreach": { "version": "0.1.3", - "dev": true, + "devOptional": true, "engines": { "node": "*" } @@ -7026,7 +7028,7 @@ }, "../../extensions/web-clipper/node_modules/cacache": { "version": "16.1.3", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^2.1.0", @@ -7054,7 +7056,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -7062,7 +7064,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/glob": { "version": "8.1.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -7080,7 +7082,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/lru-cache": { "version": "7.18.3", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">=12" @@ -7088,7 +7090,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/minimatch": { "version": "5.1.6", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -7099,7 +7101,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/p-map": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" @@ -7113,7 +7115,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf": { "version": "3.0.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -7127,7 +7129,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -7136,7 +7138,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -7155,7 +7157,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -7243,7 +7245,7 @@ }, "../../extensions/web-clipper/node_modules/camelcase-keys": { "version": "6.2.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "camelcase": "^5.3.1", @@ -7416,7 +7418,7 @@ }, "../../extensions/web-clipper/node_modules/chownr": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">=10" @@ -7482,7 +7484,7 @@ }, "../../extensions/web-clipper/node_modules/clean-stack": { "version": "2.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -7622,7 +7624,7 @@ }, "../../extensions/web-clipper/node_modules/color-support": { "version": "1.1.3", - "dev": true, + "devOptional": true, "license": "ISC", "bin": { "color-support": "bin.js" @@ -7815,7 +7817,7 @@ }, "../../extensions/web-clipper/node_modules/console-control-strings": { "version": "1.1.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/content-disposition": { @@ -8506,7 +8508,7 @@ }, "../../extensions/web-clipper/node_modules/decamelize": { "version": "1.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8514,7 +8516,7 @@ }, "../../extensions/web-clipper/node_modules/decamelize-keys": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "decamelize": "^1.1.0", @@ -8529,7 +8531,7 @@ }, "../../extensions/web-clipper/node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8725,7 +8727,7 @@ }, "../../extensions/web-clipper/node_modules/delegates": { "version": "1.0.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/depd": { @@ -9073,7 +9075,7 @@ }, "../../extensions/web-clipper/node_modules/env-paths": { "version": "2.2.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -9092,7 +9094,7 @@ }, "../../extensions/web-clipper/node_modules/err-code": { "version": "2.0.3", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/error-ex": { @@ -10798,7 +10800,7 @@ }, "../../extensions/web-clipper/node_modules/fs-minipass": { "version": "2.1.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -10896,7 +10898,7 @@ }, "../../extensions/web-clipper/node_modules/gauge": { "version": "4.0.4", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", @@ -10914,7 +10916,7 @@ }, "../../extensions/web-clipper/node_modules/gaze": { "version": "1.1.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "globule": "^1.0.0" @@ -10963,7 +10965,7 @@ }, "../../extensions/web-clipper/node_modules/get-stdin": { "version": "4.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -11127,7 +11129,7 @@ }, "../../extensions/web-clipper/node_modules/globule": { "version": "1.3.4", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "glob": "~7.1.1", @@ -11140,7 +11142,7 @@ }, "../../extensions/web-clipper/node_modules/globule/node_modules/glob": { "version": "7.1.7", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -11159,7 +11161,7 @@ }, "../../extensions/web-clipper/node_modules/globule/node_modules/minimatch": { "version": "3.0.8", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -11217,7 +11219,7 @@ }, "../../extensions/web-clipper/node_modules/growly": { "version": "1.3.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/gzip-size": { @@ -11259,7 +11261,7 @@ }, "../../extensions/web-clipper/node_modules/hard-rejection": { "version": "2.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -11328,7 +11330,7 @@ }, "../../extensions/web-clipper/node_modules/has-unicode": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/has-yarn": { @@ -11375,7 +11377,7 @@ }, "../../extensions/web-clipper/node_modules/hosted-git-info": { "version": "4.1.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -11386,7 +11388,7 @@ }, "../../extensions/web-clipper/node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -11397,7 +11399,7 @@ }, "../../extensions/web-clipper/node_modules/hosted-git-info/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/hpack.js": { @@ -11545,7 +11547,7 @@ }, "../../extensions/web-clipper/node_modules/http-cache-semantics": { "version": "4.1.1", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause" }, "../../extensions/web-clipper/node_modules/http-deceiver": { @@ -11584,7 +11586,7 @@ }, "../../extensions/web-clipper/node_modules/http-proxy-agent": { "version": "5.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@tootallnate/once": "2", @@ -11684,7 +11686,7 @@ }, "../../extensions/web-clipper/node_modules/humanize-ms": { "version": "1.2.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ms": "^2.0.0" @@ -11829,7 +11831,7 @@ }, "../../extensions/web-clipper/node_modules/indent-string": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -11837,7 +11839,7 @@ }, "../../extensions/web-clipper/node_modules/infer-owner": { "version": "1.0.4", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/inflight": { @@ -11889,7 +11891,7 @@ }, "../../extensions/web-clipper/node_modules/ip": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/ipaddr.js": { @@ -12101,7 +12103,7 @@ }, "../../extensions/web-clipper/node_modules/is-lambda": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/is-map": { @@ -12208,7 +12210,7 @@ }, "../../extensions/web-clipper/node_modules/is-plain-obj": { "version": "1.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -15486,7 +15488,7 @@ }, "../../extensions/web-clipper/node_modules/js-base64": { "version": "2.6.4", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause" }, "../../extensions/web-clipper/node_modules/js-tokens": { @@ -16050,7 +16052,7 @@ }, "../../extensions/web-clipper/node_modules/make-fetch-happen": { "version": "10.2.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", @@ -16076,7 +16078,7 @@ }, "../../extensions/web-clipper/node_modules/make-fetch-happen/node_modules/lru-cache": { "version": "7.18.3", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">=12" @@ -16102,7 +16104,7 @@ }, "../../extensions/web-clipper/node_modules/map-obj": { "version": "4.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -16152,7 +16154,7 @@ }, "../../extensions/web-clipper/node_modules/meow": { "version": "9.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", @@ -16255,7 +16257,7 @@ }, "../../extensions/web-clipper/node_modules/min-indent": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=4" @@ -16346,7 +16348,7 @@ }, "../../extensions/web-clipper/node_modules/minimist-options": { "version": "4.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "arrify": "^1.0.1", @@ -16359,7 +16361,7 @@ }, "../../extensions/web-clipper/node_modules/minipass": { "version": "3.3.6", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -16370,7 +16372,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-collect": { "version": "1.0.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16381,7 +16383,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-fetch": { "version": "2.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "minipass": "^3.1.6", @@ -16397,7 +16399,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-flush": { "version": "1.0.5", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16408,7 +16410,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-pipeline": { "version": "1.2.4", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16419,7 +16421,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-sized": { "version": "1.0.3", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16430,12 +16432,12 @@ }, "../../extensions/web-clipper/node_modules/minipass/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/minizlib": { "version": "2.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "minipass": "^3.0.0", @@ -16447,12 +16449,12 @@ }, "../../extensions/web-clipper/node_modules/minizlib/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/mkdirp": { "version": "1.0.4", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" @@ -16583,7 +16585,7 @@ }, "../../extensions/web-clipper/node_modules/nan": { "version": "2.18.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/nanoid": { @@ -16682,7 +16684,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp": { "version": "8.4.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", @@ -16705,7 +16707,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/@npmcli/fs": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "@gar/promisify": "^1.0.1", @@ -16714,7 +16716,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/@npmcli/move-file": { "version": "1.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", @@ -16726,7 +16728,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/@tootallnate/once": { "version": "1.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 6" @@ -16734,7 +16736,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/cacache": { "version": "15.3.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^1.0.0", @@ -16762,7 +16764,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/http-proxy-agent": { "version": "4.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@tootallnate/once": "1", @@ -16775,7 +16777,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -16786,7 +16788,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/make-fetch-happen": { "version": "9.1.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "agentkeepalive": "^4.1.3", @@ -16812,7 +16814,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/minipass-fetch": { "version": "1.4.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "minipass": "^3.1.0", @@ -16828,7 +16830,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/p-map": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" @@ -16842,7 +16844,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/rimraf": { "version": "3.0.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -16856,7 +16858,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/semver": { "version": "7.5.4", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -16870,7 +16872,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/socks-proxy-agent": { "version": "6.2.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "agent-base": "^6.0.2", @@ -16883,7 +16885,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/ssri": { "version": "8.0.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" @@ -16894,7 +16896,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/unique-filename": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "unique-slug": "^2.0.0" @@ -16902,7 +16904,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/unique-slug": { "version": "2.0.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -16910,7 +16912,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/node-int64": { @@ -16919,7 +16921,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier": { "version": "10.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "growly": "^1.3.0", @@ -16932,7 +16934,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -16943,7 +16945,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier/node_modules/semver": { "version": "7.5.4", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -16957,7 +16959,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/node-releases": { @@ -16966,7 +16968,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass": { "version": "9.0.0", - "dev": true, + "devOptional": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -16994,7 +16996,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -17008,7 +17010,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/chalk": { "version": "4.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -17023,7 +17025,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/color-convert": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -17034,12 +17036,12 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/color-name": { "version": "1.1.4", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/has-flag": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -17047,7 +17049,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/supports-color": { "version": "7.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -17058,7 +17060,7 @@ }, "../../extensions/web-clipper/node_modules/nopt": { "version": "5.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "abbrev": "1" @@ -17072,7 +17074,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data": { "version": "3.0.3", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", @@ -17086,7 +17088,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -17097,7 +17099,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data/node_modules/semver": { "version": "7.5.4", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -17111,7 +17113,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/normalize-path": { @@ -17150,7 +17152,7 @@ }, "../../extensions/web-clipper/node_modules/npmlog": { "version": "6.0.2", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "are-we-there-yet": "^3.0.0", @@ -19215,12 +19217,12 @@ }, "../../extensions/web-clipper/node_modules/promise-inflight": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/promise-retry": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "err-code": "^2.0.2", @@ -19371,7 +19373,7 @@ }, "../../extensions/web-clipper/node_modules/quick-lru": { "version": "4.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -19797,7 +19799,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg": { "version": "5.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", @@ -19811,7 +19813,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up": { "version": "7.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "find-up": "^4.1.0", @@ -19827,7 +19829,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/find-up": { "version": "4.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "locate-path": "^5.0.0", @@ -19839,7 +19841,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/locate-path": { "version": "5.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "p-locate": "^4.1.0" @@ -19850,7 +19852,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/p-limit": { "version": "2.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -19864,7 +19866,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/p-locate": { "version": "4.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "p-limit": "^2.2.0" @@ -19875,7 +19877,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", - "dev": true, + "devOptional": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" @@ -19883,12 +19885,12 @@ }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", @@ -19899,7 +19901,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/semver": { "version": "5.7.2", - "dev": true, + "devOptional": true, "license": "ISC", "bin": { "semver": "bin/semver" @@ -19907,7 +19909,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", - "dev": true, + "devOptional": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" @@ -19966,7 +19968,7 @@ }, "../../extensions/web-clipper/node_modules/redent": { "version": "3.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "indent-string": "^4.0.0", @@ -20401,7 +20403,7 @@ }, "../../extensions/web-clipper/node_modules/retry": { "version": "0.12.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 4" @@ -20583,7 +20585,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph": { "version": "4.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "glob": "^7.0.0", @@ -20600,7 +20602,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -20614,7 +20616,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/cliui": { "version": "8.0.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -20627,7 +20629,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/color-convert": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -20638,12 +20640,12 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/color-name": { "version": "1.1.4", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/wrap-ansi": { "version": "7.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -20659,7 +20661,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/yargs": { "version": "17.7.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -20676,7 +20678,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/yargs-parser": { "version": "21.1.1", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">=12" @@ -20757,7 +20759,7 @@ }, "../../extensions/web-clipper/node_modules/scss-tokenizer": { "version": "0.4.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "js-base64": "^2.4.9", @@ -20766,7 +20768,7 @@ }, "../../extensions/web-clipper/node_modules/scss-tokenizer/node_modules/source-map": { "version": "0.7.4", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause", "engines": { "node": ">= 8" @@ -20960,7 +20962,7 @@ }, "../../extensions/web-clipper/node_modules/set-blocking": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/set-function-length": { @@ -21046,7 +21048,7 @@ }, "../../extensions/web-clipper/node_modules/shellwords": { "version": "0.1.1", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/side-channel": { @@ -21105,7 +21107,7 @@ }, "../../extensions/web-clipper/node_modules/smart-buffer": { "version": "4.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 6.0.0", @@ -21123,7 +21125,7 @@ }, "../../extensions/web-clipper/node_modules/socks": { "version": "2.7.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ip": "^2.0.0", @@ -21136,7 +21138,7 @@ }, "../../extensions/web-clipper/node_modules/socks-proxy-agent": { "version": "7.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "agent-base": "^6.0.2", @@ -21238,7 +21240,7 @@ }, "../../extensions/web-clipper/node_modules/spdx-correct": { "version": "3.2.0", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -21247,12 +21249,12 @@ }, "../../extensions/web-clipper/node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, + "devOptional": true, "license": "CC-BY-3.0" }, "../../extensions/web-clipper/node_modules/spdx-expression-parse": { "version": "3.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", @@ -21261,7 +21263,7 @@ }, "../../extensions/web-clipper/node_modules/spdx-license-ids": { "version": "3.0.16", - "dev": true, + "devOptional": true, "license": "CC0-1.0" }, "../../extensions/web-clipper/node_modules/spdy": { @@ -21339,7 +21341,7 @@ }, "../../extensions/web-clipper/node_modules/ssri": { "version": "9.0.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" @@ -21466,7 +21468,7 @@ }, "../../extensions/web-clipper/node_modules/stdout-stream": { "version": "1.4.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "readable-stream": "^2.0.1" @@ -21474,12 +21476,12 @@ }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/isarray": { "version": "1.0.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/readable-stream": { "version": "2.3.8", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", @@ -21493,12 +21495,12 @@ }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, + "devOptional": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/string_decoder": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" @@ -21726,7 +21728,7 @@ }, "../../extensions/web-clipper/node_modules/strip-indent": { "version": "3.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "min-indent": "^1.0.0" @@ -22103,7 +22105,7 @@ }, "../../extensions/web-clipper/node_modules/tar": { "version": "6.2.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "chownr": "^2.0.0", @@ -22119,7 +22121,7 @@ }, "../../extensions/web-clipper/node_modules/tar/node_modules/minipass": { "version": "5.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">=8" @@ -22127,7 +22129,7 @@ }, "../../extensions/web-clipper/node_modules/tar/node_modules/yallist": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/temp-dir": { @@ -22419,7 +22421,7 @@ }, "../../extensions/web-clipper/node_modules/trim-newlines": { "version": "3.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -22427,7 +22429,7 @@ }, "../../extensions/web-clipper/node_modules/true-case-path": { "version": "2.2.1", - "dev": true, + "devOptional": true, "license": "Apache-2.0" }, "../../extensions/web-clipper/node_modules/tryer": { @@ -22642,7 +22644,7 @@ }, "../../extensions/web-clipper/node_modules/type-fest": { "version": "0.18.1", - "dev": true, + "devOptional": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" @@ -22786,7 +22788,7 @@ }, "../../extensions/web-clipper/node_modules/unique-filename": { "version": "2.0.1", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "unique-slug": "^3.0.0" @@ -22797,7 +22799,7 @@ }, "../../extensions/web-clipper/node_modules/unique-slug": { "version": "3.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -23029,7 +23031,7 @@ }, "../../extensions/web-clipper/node_modules/validate-npm-package-license": { "version": "3.0.4", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", @@ -23916,7 +23918,7 @@ }, "../../extensions/web-clipper/node_modules/wide-align": { "version": "1.1.5", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" @@ -30429,7 +30431,6 @@ }, "../../packages/editor/node_modules/js-tokens": { "version": "4.0.0", - "dev": true, "license": "MIT" }, "../../packages/editor/node_modules/json-parse-even-better-errors": { @@ -30485,7 +30486,6 @@ }, "../../packages/editor/node_modules/loose-envify": { "version": "1.4.0", - "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -31007,7 +31007,6 @@ }, "../../packages/editor/node_modules/react": { "version": "18.2.0", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -31026,7 +31025,6 @@ }, "../../packages/editor/node_modules/react-dom": { "version": "18.2.0", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -31146,7 +31144,6 @@ }, "../../packages/editor/node_modules/scheduler": { "version": "0.23.0", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -36468,7 +36465,6 @@ }, "../desktop/node_modules/@electron/get": { "version": "2.0.2", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.1.1", @@ -36488,7 +36484,6 @@ }, "../desktop/node_modules/@electron/get/node_modules/fs-extra": { "version": "8.1.0", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -36501,7 +36496,6 @@ }, "../desktop/node_modules/@electron/get/node_modules/jsonfile": { "version": "4.0.0", - "dev": true, "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" @@ -36509,7 +36503,6 @@ }, "../desktop/node_modules/@electron/get/node_modules/semver": { "version": "6.3.0", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -36517,7 +36510,6 @@ }, "../desktop/node_modules/@electron/get/node_modules/universalify": { "version": "0.1.2", - "dev": true, "license": "MIT", "engines": { "node": ">= 4.0.0" @@ -36702,7 +36694,6 @@ }, "../desktop/node_modules/@sindresorhus/is": { "version": "4.6.0", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -36713,7 +36704,6 @@ }, "../desktop/node_modules/@szmarczak/http-timer": { "version": "4.0.6", - "dev": true, "license": "MIT", "dependencies": { "defer-to-connect": "^2.0.0" @@ -36753,7 +36743,6 @@ }, "../desktop/node_modules/@types/cacheable-request": { "version": "6.0.3", - "dev": true, "license": "MIT", "dependencies": { "@types/http-cache-semantics": "*", @@ -36780,12 +36769,10 @@ }, "../desktop/node_modules/@types/http-cache-semantics": { "version": "4.0.1", - "dev": true, "license": "MIT" }, "../desktop/node_modules/@types/keyv": { "version": "3.1.4", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -36798,12 +36785,10 @@ }, "../desktop/node_modules/@types/node": { "version": "18.16.1", - "dev": true, "license": "MIT" }, "../desktop/node_modules/@types/responselike": { "version": "1.0.0", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -36824,7 +36809,6 @@ }, "../desktop/node_modules/@types/yauzl": { "version": "2.10.0", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -37038,7 +37022,6 @@ }, "../desktop/node_modules/boolean": { "version": "3.2.0", - "dev": true, "license": "MIT", "optional": true }, @@ -37063,7 +37046,6 @@ }, "../desktop/node_modules/buffer-crc32": { "version": "0.2.13", - "dev": true, "license": "MIT", "engines": { "node": "*" @@ -37143,7 +37125,6 @@ }, "../desktop/node_modules/cacheable-lookup": { "version": "5.0.4", - "dev": true, "license": "MIT", "engines": { "node": ">=10.6.0" @@ -37151,7 +37132,6 @@ }, "../desktop/node_modules/cacheable-request": { "version": "7.0.4", - "dev": true, "license": "MIT", "dependencies": { "clone-response": "^1.0.2", @@ -37248,7 +37228,6 @@ }, "../desktop/node_modules/clone-response": { "version": "1.0.3", - "dev": true, "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" @@ -37365,7 +37344,6 @@ }, "../desktop/node_modules/decompress-response": { "version": "6.0.0", - "dev": true, "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" @@ -37379,7 +37357,6 @@ }, "../desktop/node_modules/decompress-response/node_modules/mimic-response": { "version": "3.1.0", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -37390,7 +37367,6 @@ }, "../desktop/node_modules/defer-to-connect": { "version": "2.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -37398,7 +37374,6 @@ }, "../desktop/node_modules/define-properties": { "version": "1.2.0", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -37422,7 +37397,6 @@ }, "../desktop/node_modules/detect-node": { "version": "2.1.0", - "dev": true, "license": "MIT", "optional": true }, @@ -37504,7 +37478,6 @@ }, "../desktop/node_modules/electron": { "version": "25.9.8", - "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -37614,7 +37587,6 @@ }, "../desktop/node_modules/end-of-stream": { "version": "1.4.4", - "dev": true, "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -37622,7 +37594,6 @@ }, "../desktop/node_modules/env-paths": { "version": "2.2.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -37635,7 +37606,6 @@ }, "../desktop/node_modules/es6-error": { "version": "4.1.1", - "dev": true, "license": "MIT", "optional": true }, @@ -37684,7 +37654,6 @@ }, "../desktop/node_modules/escape-string-regexp": { "version": "4.0.0", - "dev": true, "license": "MIT", "optional": true, "engines": { @@ -37696,7 +37665,6 @@ }, "../desktop/node_modules/extract-zip": { "version": "2.0.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", @@ -37725,7 +37693,6 @@ }, "../desktop/node_modules/fd-slicer": { "version": "1.1.0", - "dev": true, "license": "MIT", "dependencies": { "pend": "~1.2.0" @@ -37819,7 +37786,6 @@ }, "../desktop/node_modules/function-bind": { "version": "1.1.1", - "dev": true, "license": "MIT", "optional": true }, @@ -37832,7 +37798,6 @@ }, "../desktop/node_modules/get-intrinsic": { "version": "1.2.1", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -37847,7 +37812,6 @@ }, "../desktop/node_modules/get-stream": { "version": "5.2.0", - "dev": true, "license": "MIT", "dependencies": { "pump": "^3.0.0" @@ -37911,7 +37875,6 @@ }, "../desktop/node_modules/global-agent": { "version": "3.0.0", - "dev": true, "license": "BSD-3-Clause", "optional": true, "dependencies": { @@ -37928,7 +37891,6 @@ }, "../desktop/node_modules/globalthis": { "version": "1.0.3", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -37943,7 +37905,6 @@ }, "../desktop/node_modules/got": { "version": "11.8.6", - "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", @@ -37971,7 +37932,6 @@ }, "../desktop/node_modules/has": { "version": "1.0.3", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -37991,7 +37951,6 @@ }, "../desktop/node_modules/has-property-descriptors": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -38003,7 +37962,6 @@ }, "../desktop/node_modules/has-proto": { "version": "1.0.1", - "dev": true, "license": "MIT", "optional": true, "engines": { @@ -38015,7 +37973,6 @@ }, "../desktop/node_modules/has-symbols": { "version": "1.0.3", - "dev": true, "license": "MIT", "optional": true, "engines": { @@ -38038,7 +37995,6 @@ }, "../desktop/node_modules/http-cache-semantics": { "version": "4.1.1", - "dev": true, "license": "BSD-2-Clause" }, "../desktop/node_modules/http-proxy-agent": { @@ -38056,7 +38012,6 @@ }, "../desktop/node_modules/http2-wrapper": { "version": "1.0.3", - "dev": true, "license": "MIT", "dependencies": { "quick-lru": "^5.1.1", @@ -38260,7 +38215,6 @@ }, "../desktop/node_modules/json-buffer": { "version": "3.0.1", - "dev": true, "license": "MIT" }, "../desktop/node_modules/json-schema-traverse": { @@ -38270,7 +38224,6 @@ }, "../desktop/node_modules/json-stringify-safe": { "version": "5.0.1", - "dev": true, "license": "ISC", "optional": true }, @@ -38297,7 +38250,6 @@ }, "../desktop/node_modules/keyv": { "version": "4.5.2", - "dev": true, "license": "MIT", "dependencies": { "json-buffer": "3.0.1" @@ -38322,7 +38274,6 @@ }, "../desktop/node_modules/lowercase-keys": { "version": "2.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -38340,7 +38291,6 @@ }, "../desktop/node_modules/matcher": { "version": "3.0.0", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -38382,7 +38332,6 @@ }, "../desktop/node_modules/mimic-response": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -38463,7 +38412,6 @@ }, "../desktop/node_modules/normalize-url": { "version": "6.1.0", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -38474,7 +38422,6 @@ }, "../desktop/node_modules/object-keys": { "version": "1.1.1", - "dev": true, "license": "MIT", "optional": true, "engines": { @@ -38483,7 +38430,6 @@ }, "../desktop/node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -38491,7 +38437,6 @@ }, "../desktop/node_modules/p-cancelable": { "version": "2.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -38526,7 +38471,6 @@ }, "../desktop/node_modules/pend": { "version": "1.2.0", - "dev": true, "license": "MIT" }, "../desktop/node_modules/picomatch": { @@ -38561,7 +38505,6 @@ }, "../desktop/node_modules/progress": { "version": "2.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -38581,7 +38524,6 @@ }, "../desktop/node_modules/pump": { "version": "3.0.0", - "dev": true, "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -38598,7 +38540,6 @@ }, "../desktop/node_modules/quick-lru": { "version": "5.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -38677,12 +38618,10 @@ }, "../desktop/node_modules/resolve-alpn": { "version": "1.2.1", - "dev": true, "license": "MIT" }, "../desktop/node_modules/responselike": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "lowercase-keys": "^2.0.0" @@ -38715,7 +38654,6 @@ }, "../desktop/node_modules/roarr": { "version": "2.15.4", - "dev": true, "license": "BSD-3-Clause", "optional": true, "dependencies": { @@ -38788,13 +38726,11 @@ }, "../desktop/node_modules/semver-compare": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true }, "../desktop/node_modules/serialize-error": { "version": "7.0.1", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -38809,7 +38745,6 @@ }, "../desktop/node_modules/serialize-error/node_modules/type-fest": { "version": "0.13.1", - "dev": true, "license": "(MIT OR CC0-1.0)", "optional": true, "engines": { @@ -38868,7 +38803,6 @@ }, "../desktop/node_modules/sprintf-js": { "version": "1.1.2", - "dev": true, "license": "BSD-3-Clause", "optional": true }, @@ -38933,7 +38867,6 @@ }, "../desktop/node_modules/sumchecker": { "version": "3.0.1", - "dev": true, "license": "Apache-2.0", "dependencies": { "debug": "^4.1.0" @@ -39137,7 +39070,6 @@ }, "../desktop/node_modules/wrappy": { "version": "1.0.2", - "dev": true, "license": "ISC" }, "../desktop/node_modules/xmlbuilder": { @@ -39184,7 +39116,6 @@ }, "../desktop/node_modules/yauzl": { "version": "2.10.0", - "dev": true, "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", @@ -39200,7 +39131,6 @@ }, "node_modules/@ampproject/remapping": { "version": "2.2.1", - "dev": true, "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -39338,7 +39268,6 @@ }, "node_modules/@babel/compat-data": { "version": "7.23.3", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -39346,7 +39275,6 @@ }, "node_modules/@babel/core": { "version": "7.23.3", - "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -39375,7 +39303,6 @@ }, "node_modules/@babel/generator": { "version": "7.23.3", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.23.3", @@ -39411,7 +39338,6 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.22.15", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.9", @@ -39479,7 +39405,6 @@ }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -39487,7 +39412,6 @@ }, "node_modules/@babel/helper-function-name": { "version": "7.23.0", - "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", @@ -39499,7 +39423,6 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" @@ -39531,7 +39454,6 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.23.3", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", @@ -39559,9 +39481,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "dev": true, - "license": "MIT", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "engines": { "node": ">=6.9.0" } @@ -39600,7 +39522,6 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" @@ -39622,7 +39543,6 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.22.6", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" @@ -39647,7 +39567,6 @@ }, "node_modules/@babel/helper-validator-option": { "version": "7.22.15", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -39668,7 +39587,6 @@ }, "node_modules/@babel/helpers": { "version": "7.23.2", - "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", @@ -39750,7 +39668,6 @@ }, "node_modules/@babel/parser": { "version": "7.23.3", - "dev": true, "license": "MIT", "bin": { "parser": "bin/babel-parser.js" @@ -40626,6 +40543,52 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", + "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.23.3", "dev": true, @@ -40879,7 +40842,6 @@ }, "node_modules/@babel/template": { "version": "7.22.15", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", @@ -40892,7 +40854,6 @@ }, "node_modules/@babel/traverse": { "version": "7.23.3", - "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.22.13", @@ -40986,6 +40947,27 @@ "react": ">=16.8.0" } }, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.11.0", "license": "MIT", @@ -41125,7 +41107,6 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -41138,7 +41119,6 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -41146,7 +41126,6 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -41163,12 +41142,10 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.20", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -41683,6 +41660,18 @@ "dev": true, "license": "MIT" }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, "node_modules/@standardnotes/auth": { "version": "3.19.4", "license": "AGPL-3.0-or-later", @@ -42177,6 +42166,18 @@ "node": ">=10" } }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "peer": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@tanstack/query-core": { "version": "4.36.1", "license": "MIT", @@ -42241,6 +42242,21 @@ "polished": "^4.0.5" } }, + "node_modules/@theme-ui/color-modes": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@theme-ui/color-modes/-/color-modes-0.16.2.tgz", + "integrity": "sha512-jWEWx53lxNgWCT38i/kwLV2rsvJz8lVZgi5oImnVwYba9VejXD23q1ckbNFJHosQ8KKXY87ht0KPC6BQFIiHtQ==", + "peer": true, + "dependencies": { + "@theme-ui/core": "^0.16.2", + "@theme-ui/css": "^0.16.2", + "deepmerge": "^4.2.2" + }, + "peerDependencies": { + "@emotion/react": "^11.11.1", + "react": ">=18" + } + }, "node_modules/@theme-ui/components": { "version": "0.16.1", "license": "MIT", @@ -42259,10 +42275,11 @@ } }, "node_modules/@theme-ui/core": { - "version": "0.16.1", - "license": "MIT", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@theme-ui/core/-/core-0.16.2.tgz", + "integrity": "sha512-bBd/ltbwO9vIUjF1jtlOX6XN0IIOdf1vzBp2JCKsSOqdfn84m+XL8OogIe/zOhQ+aM94Nrq4+32tFJc8sFav4Q==", "dependencies": { - "@theme-ui/css": "^0.16.1", + "@theme-ui/css": "^0.16.2", "deepmerge": "^4.2.2" }, "peerDependencies": { @@ -42271,8 +42288,9 @@ } }, "node_modules/@theme-ui/css": { - "version": "0.16.1", - "license": "MIT", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@theme-ui/css/-/css-0.16.2.tgz", + "integrity": "sha512-fNe+FhwKC5+7jQfxCRnm3oqYNhMFuiWiLA9OoLBEkt3b4egot29UK1+fqemwiNVjl206e2fPT5Z7uXRdb6LC2A==", "dependencies": { "csstype": "^3.0.10" }, @@ -42280,6 +42298,21 @@ "@emotion/react": "^11.11.1" } }, + "node_modules/@theme-ui/theme-provider": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@theme-ui/theme-provider/-/theme-provider-0.16.2.tgz", + "integrity": "sha512-LRnVevODcGqO0JyLJ3wht+PV3ZoZcJ7XXLJAJWDoGeII4vZcPQKwVy4Lpz/juHsZppQxKcB3U+sQDGBnP25irQ==", + "peer": true, + "dependencies": { + "@theme-ui/color-modes": "^0.16.2", + "@theme-ui/core": "^0.16.2", + "@theme-ui/css": "^0.16.2" + }, + "peerDependencies": { + "@emotion/react": "^11.11.1", + "react": ">=18" + } + }, "node_modules/@trpc/client": { "version": "10.38.3", "funding": [ @@ -42306,7 +42339,6 @@ }, "node_modules/@trpc/server": { "version": "10.38.3", - "dev": true, "funding": [ "https://trpc.io/sponsor" ], @@ -42349,6 +42381,18 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "peer": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, "node_modules/@types/chai": { "version": "4.3.10", "dev": true, @@ -42369,6 +42413,28 @@ "@types/ms": "*" } }, + "node_modules/@types/eslint": { + "version": "8.56.4", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.4.tgz", + "integrity": "sha512-lG1GLUnL5vuRBGb3MgWUWLdGMH2Hps+pERuyQXCfWozuGKdnhf9Pbg4pkcrVUHjKrU7Rl+GCZ/299ObBXZFAxg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.5", "dev": true, @@ -42391,6 +42457,12 @@ "@types/unist": "^2" } }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "peer": true + }, "node_modules/@types/json-schema": { "version": "7.0.15", "dev": true, @@ -42400,6 +42472,15 @@ "version": "0.16.7", "license": "MIT" }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/marked": { "version": "4.3.2", "dev": true, @@ -42418,7 +42499,6 @@ }, "node_modules/@types/node": { "version": "20.9.0", - "dev": true, "license": "MIT", "dependencies": { "undici-types": "~5.26.4" @@ -42448,12 +42528,12 @@ }, "node_modules/@types/prop-types": { "version": "15.7.10", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/react": { "version": "18.2.51", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -42461,6 +42541,15 @@ "csstype": "^3.0.2" } }, + "node_modules/@types/react-avatar-editor": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@types/react-avatar-editor/-/react-avatar-editor-13.0.2.tgz", + "integrity": "sha512-vnGU4sx5TDB9JMCuw+kB3+jfDNMhVlpBbgMRZG9NzVnaBb5xUjVV4VmHdD2O8gj/pb5GN+QXKk7jan09aMjG2A==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/react-dom": { "version": "18.2.18", "dev": true, @@ -42485,9 +42574,18 @@ "@types/node": "*" } }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.8", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/styled-system": { @@ -42516,6 +42614,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@vitejs/plugin-react-swc": { "version": "3.3.2", "dev": true, @@ -42590,6 +42698,181 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, "node_modules/@zip.js/zip.js": { "version": "2.7.32", "license": "BSD-3-Clause", @@ -42615,6 +42898,16 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-walk": { "version": "8.3.0", "dev": true, @@ -42860,18 +43153,33 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "dev": true, - "license": "MIT", + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.5.0", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.8.6", "dev": true, @@ -42885,11 +43193,26 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "dev": true, - "license": "MIT", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -42991,6 +43314,13 @@ "version": "1.0.0", "license": "ISC" }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "optional": true, + "peer": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "devOptional": true, @@ -43012,8 +43342,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "dev": true, + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "funding": [ { "type": "opencollective", @@ -43028,11 +43359,10 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -43065,6 +43395,15 @@ "ieee754": "^1.2.1" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "peer": true, + "engines": { + "node": "*" + } + }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "license": "BSD-3-Clause" @@ -43093,6 +43432,33 @@ "node": ">=8" } }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "peer": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "peer": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/call-bind": { "version": "1.0.5", "dev": true, @@ -43125,8 +43491,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001562", - "dev": true, + "version": "1.0.30001591", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz", + "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==", "funding": [ { "type": "opencollective", @@ -43140,8 +43507,7 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/canvas": { "version": "2.11.2", @@ -43240,6 +43606,16 @@ "node": ">=10" } }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/classnames": { "version": "2.3.2", "license": "MIT" @@ -43261,6 +43637,18 @@ "node": ">=12" } }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "peer": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/color-convert": { "version": "2.0.1", "dev": true, @@ -43335,15 +43723,14 @@ }, "node_modules/convert-source-map": { "version": "2.0.0", - "dev": true, "license": "MIT" }, "node_modules/core-js-compat": { - "version": "3.33.2", - "dev": true, - "license": "MIT", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", "dependencies": { - "browserslist": "^4.22.1" + "browserslist": "^4.22.3" }, "funding": { "type": "opencollective", @@ -43489,7 +43876,6 @@ }, "node_modules/decompress-response": { "version": "6.0.0", - "devOptional": true, "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" @@ -43503,7 +43889,6 @@ }, "node_modules/decompress-response/node_modules/mimic-response": { "version": "3.1.0", - "devOptional": true, "license": "MIT", "engines": { "node": ">=10" @@ -43538,9 +43923,18 @@ "node": ">=0.10.0" } }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "peer": true, + "engines": { + "node": ">=10" + } + }, "node_modules/define-data-property": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.1", @@ -43561,7 +43955,7 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", @@ -43602,6 +43996,13 @@ "node": ">=8" } }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "optional": true, + "peer": true + }, "node_modules/diff": { "version": "5.1.0", "license": "BSD-3-Clause", @@ -43702,10 +44103,28 @@ "node": ">=0.10.0" } }, + "node_modules/electron": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-29.1.0.tgz", + "integrity": "sha512-giJVIm0sWVp+8V1GXrKqKTb+h7no0P3ooYqEd34AD9wMJzGnAeL+usj+R0155/0pdvvP1mgydnA7lcaFA2M9lw==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^20.9.0", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, "node_modules/electron-to-chromium": { - "version": "1.4.585", - "dev": true, - "license": "ISC" + "version": "1.4.685", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.685.tgz", + "integrity": "sha512-yDYeobbTEe4TNooEzOQO6xFqg9XnAkVy2Lod1C1B2it8u47JNLYvl9nLDWBamqUakWB8Jc1hhS1uHUNYTNQdfw==" }, "node_modules/electron-trpc": { "version": "0.5.2", @@ -43734,12 +44153,25 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "devOptional": true, "license": "MIT", "dependencies": { "once": "^1.4.0" } }, + "node_modules/enhanced-resolve": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", + "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "4.5.0", "license": "BSD-2-Clause", @@ -43750,6 +44182,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/error-ex": { "version": "1.3.2", "license": "MIT", @@ -43809,6 +44250,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "peer": true + }, "node_modules/es-set-tostringtag": { "version": "2.0.2", "dev": true, @@ -43838,6 +44286,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "optional": true, + "peer": true + }, "node_modules/esbuild": { "version": "0.18.20", "dev": true, @@ -43876,7 +44331,6 @@ }, "node_modules/escalade": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -43892,6 +44346,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/esprima": { "version": "4.0.1", "license": "BSD-2-Clause", @@ -43903,6 +44371,39 @@ "node": ">=4" } }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "dev": true, @@ -43924,6 +44425,16 @@ "version": "5.0.1", "license": "MIT" }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/exenv": { "version": "1.2.2", "license": "BSD-3-Clause" @@ -43950,6 +44461,26 @@ "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, @@ -43983,6 +44514,15 @@ "reusify": "^1.0.4" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "peer": true, + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/fflate": { "version": "0.8.1", "license": "MIT" @@ -44158,6 +44698,20 @@ "devOptional": true, "license": "MIT" }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/fs-minipass": { "version": "2.1.0", "license": "ISC", @@ -44243,7 +44797,6 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -44267,7 +44820,7 @@ }, "node_modules/get-intrinsic": { "version": "1.2.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2", @@ -44284,6 +44837,21 @@ "dev": true, "license": "ISC" }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "dev": true, @@ -44334,9 +44902,69 @@ "node": ">= 6" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "optional": true, + "peer": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "optional": true, + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-agent/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true, + "peer": true + }, "node_modules/globals": { "version": "11.12.0", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -44344,7 +44972,7 @@ }, "node_modules/globalthis": { "version": "1.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "define-properties": "^1.1.3" @@ -44365,7 +44993,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" @@ -44374,9 +45002,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "peer": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", - "dev": true, "license": "ISC" }, "node_modules/gray-matter": { @@ -44424,7 +45076,7 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.2" @@ -44435,7 +45087,7 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -44446,7 +45098,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -44666,6 +45318,25 @@ "entities": "^4.4.0" } }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "peer": true + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "peer": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "license": "MIT", @@ -45119,6 +45790,37 @@ "node": ">=10" } }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "license": "MIT" @@ -45136,7 +45838,6 @@ }, "node_modules/jsesc": { "version": "2.5.2", - "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -45145,6 +45846,12 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "peer": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "license": "MIT" @@ -45159,9 +45866,15 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "optional": true, + "peer": true + }, "node_modules/json5": { "version": "2.2.3", - "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -45175,6 +45888,15 @@ "dev": true, "license": "MIT" }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsonpointer": { "version": "5.0.1", "dev": true, @@ -45278,6 +46000,15 @@ "prebuild-install": "^7.0.1" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "peer": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", "license": "MIT", @@ -45324,6 +46055,16 @@ "version": "1.2.4", "license": "MIT" }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, "node_modules/loader-utils": { "version": "2.0.4", "dev": true, @@ -45455,9 +46196,17 @@ "tslib": "^2.0.3" } }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/lru-cache": { "version": "5.1.1", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -45510,6 +46259,19 @@ "node": ">= 12" } }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "optional": true, + "peer": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mdast-util-definitions": { "version": "5.1.2", "license": "MIT", @@ -46328,6 +47090,15 @@ "node": ">= 0.6" } }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "3.1.2", "devOptional": true, @@ -46448,6 +47219,13 @@ "devOptional": true, "license": "MIT" }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, "node_modules/no-case": { "version": "3.0.4", "dev": true, @@ -46522,9 +47300,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "dev": true, - "license": "MIT" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/nopt": { "version": "5.0.0", @@ -46548,6 +47326,18 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/npmlog": { "version": "5.0.1", "license": "ISC", @@ -46586,7 +47376,7 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -46611,7 +47401,6 @@ }, "node_modules/once": { "version": "1.4.0", - "devOptional": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -46643,6 +47432,15 @@ "@otplib/preset-v11": "^12.0.1" } }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/p-limit": { "version": "4.0.0", "dev": true, @@ -46748,6 +47546,12 @@ "canvas": "^2.11.2" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "peer": true + }, "node_modules/phone": { "version": "3.1.41", "license": "MIT", @@ -46757,7 +47561,6 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -46944,6 +47747,15 @@ "dev": true, "license": "MIT" }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prop-types": { "version": "15.8.1", "license": "MIT", @@ -46967,7 +47779,6 @@ }, "node_modules/pump": { "version": "3.0.0", - "devOptional": true, "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -47009,6 +47820,18 @@ ], "license": "MIT" }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/randombytes": { "version": "2.1.0", "dev": true, @@ -47041,6 +47864,20 @@ "node": ">=0.10.0" } }, + "node_modules/react-avatar-editor": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/react-avatar-editor/-/react-avatar-editor-13.0.2.tgz", + "integrity": "sha512-a4ajbi7lwDh98kgEtSEeKMu0vs0CHTczkq4Xcxr1EiwMFH1GlgHCEtwGU8q/H5W8SeLnH4KPK8LUjEEaZXklxQ==", + "dependencies": { + "@babel/plugin-transform-runtime": "^7.12.1", + "@babel/runtime": "^7.12.5", + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "react": "^0.14.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^0.14.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-complex-tree": { "version": "2.2.4", "license": "MIT", @@ -47423,6 +48260,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "peer": true + }, "node_modules/resolve-from": { "version": "4.0.0", "license": "MIT", @@ -47430,6 +48273,18 @@ "node": ">=4" } }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "peer": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/reusify": { "version": "1.0.4", "dev": true, @@ -47453,6 +48308,31 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "optional": true, + "peer": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/roarr/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "optional": true, + "peer": true + }, "node_modules/rollup": { "version": "3.29.4", "dev": true, @@ -47623,12 +48503,44 @@ }, "node_modules/semver": { "version": "6.3.1", - "devOptional": true, "license": "ISC", "bin": { "semver": "bin/semver.js" } }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "optional": true, + "peer": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "optional": true, + "peer": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "license": "ISC", @@ -48001,6 +48913,18 @@ "version": "4.2.0", "license": "MIT" }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "peer": true, + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -48032,6 +48956,16 @@ "dev": true, "license": "MIT" }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/tar": { "version": "6.2.0", "license": "ISC", @@ -48137,6 +49071,41 @@ "node": ">=10" } }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "dev": true, @@ -48239,6 +49208,19 @@ "node": ">=4" } }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.0", "dev": true, @@ -48321,7 +49303,6 @@ }, "node_modules/undici-types": { "version": "5.26.5", - "dev": true, "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -48481,6 +49462,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/upath": { "version": "1.2.0", "dev": true, @@ -48492,7 +49482,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.0.13", - "dev": true, "funding": [ { "type": "opencollective", @@ -48816,6 +49805,20 @@ "loose-envify": "^1.0.0" } }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/web-namespaces": { "version": "2.0.1", "license": "MIT", @@ -48839,6 +49842,64 @@ "node": ">=12" } }, + "node_modules/webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/whatwg-encoding": { "version": "2.0.0", "dev": true, @@ -49397,7 +50458,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "devOptional": true, "license": "ISC" }, "node_modules/y18n": { @@ -49410,7 +50470,6 @@ }, "node_modules/yallist": { "version": "3.1.1", - "dev": true, "license": "ISC" }, "node_modules/yaml": { @@ -49445,6 +50504,16 @@ "node": ">=12" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "peer": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "1.0.0", "dev": true, diff --git a/apps/web/package.json b/apps/web/package.json index a60a42b73..0b085432f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -65,6 +65,7 @@ "platform": "^1.3.6", "qclone": "^1.2.0", "react": "18.2.0", + "react-avatar-editor": "^13.0.2", "react-complex-tree": "^2.2.4", "react-day-picker": "^8.9.1", "react-dom": "18.2.0", @@ -95,6 +96,7 @@ "@types/node-fetch": "^2.5.10", "@types/platform": "^1.3.4", "@types/react": "^18.2.39", + "@types/react-avatar-editor": "^13.0.2", "@types/react-dom": "^18.2.17", "@types/react-modal": "3.16.3", "@types/tinycolor2": "^1.4.3", diff --git a/apps/web/src/common/dialog-controller.tsx b/apps/web/src/common/dialog-controller.tsx index b92bf5c19..366716a3f 100644 --- a/apps/web/src/common/dialog-controller.tsx +++ b/apps/web/src/common/dialog-controller.tsx @@ -33,8 +33,13 @@ import { ConfirmDialogProps } from "../dialogs/confirm"; import { getFormattedDate } from "@notesnook/common"; import { downloadUpdate } from "../utils/updater"; import { ThemeMetadata } from "@notesnook/themes-server"; -import { Color, Reminder, Tag } from "@notesnook/core"; -import { AuthenticatorType } from "@notesnook/core/dist/api/user-manager"; +import { + Color, + Profile, + Reminder, + Tag, + AuthenticatorType +} from "@notesnook/core"; import { createRoot } from "react-dom/client"; import { PasswordDialogProps } from "../dialogs/password-dialog"; @@ -465,6 +470,12 @@ export function showAttachmentsDialog() { )); } +export function showEditProfileDialog(profile?: Profile) { + return showDialog("EditProfileDialog", (Dialog, perform) => ( + perform(res)} profile={profile} /> + )); +} + export function showSettings() { return showDialog("SettingsDialog", (Dialog, perform) => ( perform(res)} /> diff --git a/apps/web/src/components/navigation-menu/index.tsx b/apps/web/src/components/navigation-menu/index.tsx index db867a68f..a968a96da 100644 --- a/apps/web/src/components/navigation-menu/index.tsx +++ b/apps/web/src/components/navigation-menu/index.tsx @@ -35,7 +35,8 @@ import { Login, Circle, Icon, - Reminders + Reminders, + User } from "../icons"; import { AnimatedFlex } from "../animated"; import NavigationItem, { SortableNavigationItem } from "./navigation-item"; @@ -134,6 +135,7 @@ function NavigationMenu(props: NavigationMenuProps) { const shortcuts = useAppStore((store) => store.shortcuts); const refreshNavItems = useAppStore((store) => store.refreshNavItems); const isLoggedIn = useUserStore((store) => store.isLoggedIn); + const profile = useUserStore((store) => store.profile); const isMobile = useMobile(); const theme = useThemeStore((store) => store.colorScheme); const toggleNightMode = useThemeStore((store) => store.toggleColorScheme); @@ -463,8 +465,9 @@ function NavigationMenu(props: NavigationMenuProps) { id={settings.id} isTablet={isTablet} key={settings.path} - title={settings.title} - icon={settings.icon} + title={profile?.fullName || settings.title} + icon={profile?.fullName ? User : settings.icon} + image={profile?.fullName ? profile?.profilePicture : undefined} onClick={() => { if (!isMobile && location === settings.path) return toggleNavigationContainer(); diff --git a/apps/web/src/components/navigation-menu/navigation-item.tsx b/apps/web/src/components/navigation-menu/navigation-item.tsx index 326078a56..9d6a183fc 100644 --- a/apps/web/src/components/navigation-menu/navigation-item.tsx +++ b/apps/web/src/components/navigation-menu/navigation-item.tsx @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import { Button, Flex, FlexProps, Text } from "@theme-ui/components"; +import { Button, Flex, FlexProps, Image, Text } from "@theme-ui/components"; import { useStore as useAppStore } from "../../stores/app-store"; import { Menu } from "../../hooks/use-menu"; import useMobile from "../../hooks/use-mobile"; @@ -29,7 +29,8 @@ import { useSortable } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; type NavigationItemProps = { - icon: Icon; + icon?: Icon; + image?: string; color?: SchemeColors; title: string; isTablet?: boolean; @@ -49,6 +50,7 @@ function NavigationItem( ) { const { icon: Icon, + image, color, title, isLoading, @@ -121,11 +123,15 @@ function NavigationItem( if (onClick) onClick(); }} > - + {image ? ( + + ) : Icon ? ( + + ) : null} {isShortcut && ( . +*/ + +import { Perform } from "../common/dialog-controller"; +import Dialog from "../components/dialog"; +import { Profile } from "@notesnook/core"; +import Field from "../components/field"; +import AvatarEditor from "react-avatar-editor"; +import { Avatar, Button, Flex, Slider } from "@theme-ui/components"; +import { User } from "../components/icons"; +import { useRef, useState } from "react"; +import { showFilePicker } from "../utils/file-picker"; +import { db } from "../common/db"; +import { useStore as useUserStore } from "../stores/user-store"; +import { showToast } from "../utils/toast"; + +export type EditProfileDialogProps = { + onClose: Perform; + profile?: Profile; +}; + +export default function EditProfileDialog(props: EditProfileDialogProps) { + const { profile } = props; + const [profilePicture, setProfilePicture] = useState< + File | string | undefined + >(profile?.profilePicture); + const profileRef = useRef(null); + const [fullName, setFullName] = useState( + profile?.fullName + ); + const [scale, setScale] = useState(1); + const [isLoading, setIsLoading] = useState(false); + const [clearProfilePicture, setClearProfilePicture] = useState(false); + + return ( + props.onClose(false)} + positiveButton={{ + loading: isLoading, + disabled: isLoading, + text: "Save", + onClick: async () => { + setIsLoading(true); + try { + await db.user.setProfile({ + fullName, + profilePicture: profileRef.current + ? profileRef.current + .getImageScaledToCanvas() + .toDataURL("image/jpeg", 1) + : clearProfilePicture + ? undefined + : profile?.profilePicture + }); + await useUserStore.getState().refreshUser(); + showToast("success", "Profile updated!"); + props.onClose(true); + } catch (e) { + console.error(e); + showToast("error", (e as Error).message); + } finally { + setIsLoading(false); + } + } + }} + width={400} + negativeButton={{ text: "Cancel", onClick: () => props.onClose(false) }} + > + + + {profilePicture ? ( + + ) : ( + + + + )} + + + {profilePicture ? ( + + ) : null} + + {profilePicture ? ( + setScale(e.target.valueAsNumber)} + /> + ) : null} + + setFullName(e.target.value)} + /> + + + ); +} diff --git a/apps/web/src/dialogs/index.ts b/apps/web/src/dialogs/index.ts index 50034132c..ff2bc5dc4 100644 --- a/apps/web/src/dialogs/index.ts +++ b/apps/web/src/dialogs/index.ts @@ -53,6 +53,7 @@ const EmailChangeDialog = React.lazy(() => import("./email-change-dialog")); const AddTagsDialog = React.lazy(() => import("./add-tags-dialog")); const ThemeDetailsDialog = React.lazy(() => import("./theme-details-dialog")); const CreateColorDialog = React.lazy(() => import("./create-color-dialog")); +const EditProfileDialog = React.lazy(() => import("./edit-profile-dialog")); export const Dialogs = { AddNotebookDialog, @@ -81,5 +82,6 @@ export const Dialogs = { AddTagsDialog, SettingsDialog, ThemeDetailsDialog, - CreateColorDialog + CreateColorDialog, + EditProfileDialog }; diff --git a/apps/web/src/dialogs/settings/components/user-profile.tsx b/apps/web/src/dialogs/settings/components/user-profile.tsx index db8cffe62..a978b0aac 100644 --- a/apps/web/src/dialogs/settings/components/user-profile.tsx +++ b/apps/web/src/dialogs/settings/components/user-profile.tsx @@ -17,17 +17,19 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import { Flex, Text } from "@theme-ui/components"; -import { User } from "../../../components/icons"; +import { Button, Flex, Image, Text } from "@theme-ui/components"; +import { Edit, User } from "../../../components/icons"; import { useStore as useUserStore } from "../../../stores/user-store"; import { getObjectIdTimestamp } from "@notesnook/core/dist/utils/object-id"; import { getFormattedDate } from "@notesnook/common"; import { SUBSCRIPTION_STATUS } from "../../../common/constants"; import dayjs from "dayjs"; import { useMemo } from "react"; +import { showEditProfileDialog } from "../../../common/dialog-controller"; export function UserProfile() { const user = useUserStore((store) => store.user); + const profile = useUserStore((store) => store.profile); const { isTrial, @@ -88,42 +90,82 @@ export function UserProfile() { sx={{ borderRadius: "default", alignItems: "center", + justifyContent: "space-between", bg: "var(--background-secondary)", p: 2, mb: 4 }} > - - - - - + - {remainingDays > 0 && (isPro || isProCancelled) - ? `PRO` - : remainingDays > 0 && isTrial - ? "TRIAL" - : isBeta - ? "BETA TESTER" - : "BASIC"} - - {user.email} - - Member since {getFormattedDate(getObjectIdTimestamp(user.id), "date")} - + {profile?.profilePicture ? ( + + ) : ( + + )} + + + + {remainingDays > 0 && (isPro || isProCancelled) + ? `PRO` + : remainingDays > 0 && isTrial + ? "TRIAL" + : isBeta + ? "BETA TESTER" + : "BASIC"} + + + {profile?.fullName ? ( + <> + {profile?.fullName} + + {user.email} • Member since{" "} + {getFormattedDate(getObjectIdTimestamp(user.id), "date")} + + + ) : ( + <> + {user.email} + + Member since + {getFormattedDate(getObjectIdTimestamp(user.id), "date")} + + + )} + + ); } diff --git a/apps/web/src/stores/user-store.ts b/apps/web/src/stores/user-store.ts index 7b47bf76c..cd02a6789 100644 --- a/apps/web/src/stores/user-store.ts +++ b/apps/web/src/stores/user-store.ts @@ -31,7 +31,7 @@ import { hashNavigate } from "../navigation"; import { isUserPremium } from "../hooks/use-is-user-premium"; import { SUBSCRIPTION_STATUS } from "../common/constants"; import { ANALYTICS_EVENTS, trackEvent } from "../utils/analytics"; -import { User } from "@notesnook/core/dist/api/user-manager"; +import { AuthenticatorType, Profile, User } from "@notesnook/core"; class UserStore extends BaseStore { isLoggedIn?: boolean; @@ -39,6 +39,7 @@ class UserStore extends BaseStore { isSigningIn = false; user?: User = undefined; + profile?: Profile; counter = 0; init = () => { @@ -47,32 +48,35 @@ class UserStore extends BaseStore { window.location.replace("/sessionexpired"); }); - db.user.getUser().then(async (user) => { + db.user.getUser().then((user) => { if (!user) { - this.set((state) => { - state.isLoggedIn = false; - }); + this.set({ isLoggedIn: false }); return; } - this.set((state) => { - state.user = user; - state.isLoggedIn = true; + this.set({ + user, + isLoggedIn: true }); if (Config.get("sessionExpired")) EV.publish(EVENTS.userSessionExpired); }); + db.user.getProfile().then((profile) => this.set({ profile })); + if (Config.get("sessionExpired")) return; return db.user.fetchUser().then(async (user) => { if (!user) return false; - EV.remove(EVENTS.userSubscriptionUpdated, EVENTS.userEmailConfirmed); + const profile = await db.user.getProfile(); - this.set((state) => { - state.user = user; - state.isLoggedIn = true; + this.set({ + profile, + user, + isLoggedIn: true }); + EV.remove(EVENTS.userSubscriptionUpdated, EVENTS.userEmailConfirmed); + EV.subscribe(EVENTS.userSubscriptionUpdated, (subscription) => { const wasUserPremium = isUserPremium(); this.set((state) => { @@ -107,18 +111,29 @@ class UserStore extends BaseStore { refreshUser = async () => { return db.user.fetchUser().then(async (user) => { - this.set((state) => (state.user = user)); + const profile = await db.user.getProfile(); + this.set({ user, profile }); }); }; - login = async (form, skipInit = false, sessionExpired = false) => { + login = async ( + form: + | { email: string } + | { email: string; password: string } + | { code: string; method: AuthenticatorType }, + skipInit = false, + sessionExpired = false + ) => { this.set((state) => (state.isLoggingIn = true)); - const { email, password, code, method } = form; try { - if (code) { + if ("email" in form && !("password" in form)) { + return await db.user.authenticateEmail(form.email); + } else if ("code" in form) { + const { code, method } = form; return await db.user.authenticateMultiFactorCode(code, method); - } else if (password) { + } else if ("password" in form) { + const { email, password } = form; await db.user.authenticatePassword( email, password, @@ -129,15 +144,13 @@ class UserStore extends BaseStore { if (skipInit) return true; return this.init(); - } else if (email) { - return await db.user.authenticateEmail(email); } } finally { this.set((state) => (state.isLoggingIn = false)); } }; - signup = (form) => { + signup = (form: { email: string; password: string }) => { this.set((state) => (state.isSigningIn = true)); return db.user .signup(form.email.toLowerCase(), form.password)