diff --git a/package-lock.json b/package-lock.json index fa9f3d7..2749528 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "dependencies": { "copy-to-clipboard": "^3.3.3", - "jotai": "^2.10.1", + "jotai": "^2.10.2", "jotai-devtools": "^0.10.1", "jotai-location": "^0.5.5", "react": "^18.3.1", @@ -19,23 +19,23 @@ "whip-whep": "1.2.0" }, "devDependencies": { - "@eslint/js": "^9.14.0", + "@eslint/js": "^9.15.0", "@iconify-json/logos": "^1.2.3", "@stylistic/eslint-plugin-js": "^2.10.1", "@types/node": "^22.9.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", - "@unocss/preset-attributify": "^0.64.0", - "@unocss/preset-icons": "^0.64.0", - "@unocss/preset-uno": "^0.64.0", - "@unocss/reset": "^0.64.0", + "@unocss/preset-attributify": "^0.64.1", + "@unocss/preset-icons": "^0.64.1", + "@unocss/preset-uno": "^0.64.1", + "@unocss/reset": "^0.64.1", "@vitejs/plugin-react": "^4.3.3", "cross-env": "^7.0.3", "eslint": "^9.14.0", "typescript": "^5.6.3", - "typescript-eslint": "^8.13.0", - "unocss": "^0.64.0", - "vite": "^5.4.10" + "typescript-eslint": "^8.14.0", + "unocss": "^0.64.1", + "vite": "^5.4.11" } }, "node_modules/@ampproject/remapping": { @@ -873,9 +873,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", - "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz", + "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==", "dev": true, "license": "MIT", "engines": { @@ -1235,6 +1235,19 @@ } } }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.24.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", @@ -1612,17 +1625,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.13.0.tgz", - "integrity": "sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz", + "integrity": "sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/type-utils": "8.13.0", - "@typescript-eslint/utils": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/scope-manager": "8.14.0", + "@typescript-eslint/type-utils": "8.14.0", + "@typescript-eslint/utils": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1646,16 +1659,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.13.0.tgz", - "integrity": "sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.14.0.tgz", + "integrity": "sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/typescript-estree": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/scope-manager": "8.14.0", + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/typescript-estree": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0", "debug": "^4.3.4" }, "engines": { @@ -1675,14 +1688,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz", - "integrity": "sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz", + "integrity": "sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0" + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1693,14 +1706,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz", - "integrity": "sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz", + "integrity": "sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.13.0", - "@typescript-eslint/utils": "8.13.0", + "@typescript-eslint/typescript-estree": "8.14.0", + "@typescript-eslint/utils": "8.14.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1718,9 +1731,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz", - "integrity": "sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.14.0.tgz", + "integrity": "sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==", "dev": true, "license": "MIT", "engines": { @@ -1732,14 +1745,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz", - "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz", + "integrity": "sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/visitor-keys": "8.14.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1800,16 +1813,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz", - "integrity": "sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.14.0.tgz", + "integrity": "sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/typescript-estree": "8.13.0" + "@typescript-eslint/scope-manager": "8.14.0", + "@typescript-eslint/types": "8.14.0", + "@typescript-eslint/typescript-estree": "8.14.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1823,13 +1836,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz", - "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz", + "integrity": "sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/types": "8.14.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1854,15 +1867,15 @@ } }, "node_modules/@unocss/astro": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/astro/-/astro-0.64.0.tgz", - "integrity": "sha512-4Ijf3cQblSjdC3XV4SvzkEj17z6gNsuMGy7M+TvNN4cZhGLWQCIChtHR525ESGxJ4kdZ6FoIUoxmLdWHMOpX4Q==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/astro/-/astro-0.64.1.tgz", + "integrity": "sha512-UBB2nDc3aqBmdcgJHOsnAQaQnbdch4f3CKfV+LTv77D4tPizagUCODwPVTK3CA3leQzVbbUV06uHfo5hsv2PUw==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", - "@unocss/reset": "0.64.0", - "@unocss/vite": "0.64.0" + "@unocss/core": "0.64.1", + "@unocss/reset": "0.64.1", + "@unocss/vite": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -1877,17 +1890,17 @@ } }, "node_modules/@unocss/cli": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/cli/-/cli-0.64.0.tgz", - "integrity": "sha512-xfY/qm7vr/4Qaf+CcQHuBJSg5ApZBvvGVD1zwyGFgfhfOFYR1hI3DS2zl75zav6btEwwXsjY7AUv6uYGF4M7dA==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/cli/-/cli-0.64.1.tgz", + "integrity": "sha512-P08Routw1TiCZyvfcveZIQrJi4/agBtWJAMP4NwVgYre7Lgl0jYF4qn9NEpUS4z+Qc5t2U33+4q0xgZpVh4oPw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.3.0", "@rollup/pluginutils": "^5.1.3", - "@unocss/config": "0.64.0", - "@unocss/core": "0.64.0", - "@unocss/preset-uno": "0.64.0", + "@unocss/config": "0.64.1", + "@unocss/core": "0.64.1", + "@unocss/preset-uno": "0.64.1", "cac": "^6.7.14", "chokidar": "^3.6.0", "colorette": "^2.0.20", @@ -1908,13 +1921,13 @@ } }, "node_modules/@unocss/config": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/config/-/config-0.64.0.tgz", - "integrity": "sha512-L97x4vEk7jNG5ptZY5Xp0xgEk//tbMpQVm2BzfyL7w+Hg8X3AV4YjFL6hysHvpYiTdUCVaZg+S0s3b7wuj8Mqw==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/config/-/config-0.64.1.tgz", + "integrity": "sha512-uhUfVnRhVsqZrRuFGGFfvvSO9gVUSHgfXOF/u8MnQ/lG1MVyXpx5QykVhjSgSehMfQIFsZ2SID1y7Fd5f8kgLw==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", + "@unocss/core": "0.64.1", "unconfig": "~0.5.5" }, "engines": { @@ -1925,9 +1938,9 @@ } }, "node_modules/@unocss/core": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/core/-/core-0.64.0.tgz", - "integrity": "sha512-Qb8wWPYNlTagCdJGzULew+e3NMM8Bd7fr38lDLgrMj+njop+wzkSe1ZZOyMMH9yHSq/Rznn5eCjnyzyHwxGslQ==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/core/-/core-0.64.1.tgz", + "integrity": "sha512-D1ULd70a24/k6kGyHCIijbrrIn9UjFUEBg2R4xKX2/ViQb1k2MIgOs4VS20MkJX6kbZXqqm/zAFHzDhsQGIhBA==", "dev": true, "license": "MIT", "funding": { @@ -1935,27 +1948,27 @@ } }, "node_modules/@unocss/extractor-arbitrary-variants": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-0.64.0.tgz", - "integrity": "sha512-oVB8l8zM+x0MQJTkraRcsrfJnWEwyPVgMgtzmNUm//HqV+xTrjZCNtOqHFNIZdj/+w0gkErGQLxzRwyPjlHq4g==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-0.64.1.tgz", + "integrity": "sha512-tKtaeZYzSCaH1ASE7Uj45rPX4ApQHYE8eZFfaL3N4ZY0LYrTJPBnaLSRfLRwGD6KLHjoL3+sorywJiS/VVBcFQ==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0" + "@unocss/core": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/inspector": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/inspector/-/inspector-0.64.0.tgz", - "integrity": "sha512-aFEfxEuPOpbPNH3j1CLLnN7ZyZkc64XoxZbz7RbG20Wy5oJxonOnlu+Wikz9SfGvIyF16MVAMCkHu12WFRRC+g==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/inspector/-/inspector-0.64.1.tgz", + "integrity": "sha512-IDlSxvczxzQso/9aIneQaQ+jVhi8/Wb6uck1pRZm3q71uF3+mhzqEvQojbe1VaKqwUlCmBy2U+M/e8L5dJavlA==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", - "@unocss/rule-utils": "0.64.0", + "@unocss/core": "0.64.1", + "@unocss/rule-utils": "0.64.1", "gzip-size": "^6.0.0", "sirv": "^2.0.4", "vue-flow-layout": "^0.1.1" @@ -1965,15 +1978,15 @@ } }, "node_modules/@unocss/postcss": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/postcss/-/postcss-0.64.0.tgz", - "integrity": "sha512-OMDhAUDEzbb7i+fcYEYNxwdWJLSYklMrFGSC60ADK96UPX/B9S0z1pBz7N34DRPPIzg6shO6NQfDHOaxLelAeg==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/postcss/-/postcss-0.64.1.tgz", + "integrity": "sha512-tlc5ZFO6xoLhYukSRtKSBaP1SDmAatmHCbbRiH6ElncEQNpjl70raXMKjQWfIuAo8IniUe69ILZC+M60AGPYmA==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/config": "0.64.0", - "@unocss/core": "0.64.0", - "@unocss/rule-utils": "0.64.0", + "@unocss/config": "0.64.1", + "@unocss/core": "0.64.1", + "@unocss/rule-utils": "0.64.1", "css-tree": "^3.0.1", "postcss": "^8.4.47", "tinyglobby": "^0.2.10" @@ -1989,27 +2002,27 @@ } }, "node_modules/@unocss/preset-attributify": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-attributify/-/preset-attributify-0.64.0.tgz", - "integrity": "sha512-3T1mktq5rAQxHXtdLkjjj1UOjPwy9iGbVUChvxyaGV5oOsj1mvfe1oetxz8HqAVQak8MtvsJzFzvuuQQln/6OA==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-attributify/-/preset-attributify-0.64.1.tgz", + "integrity": "sha512-uxq4iiMZN+/Dy/TAQI/b+mWbHqI7ww/vVJC8tvjdXm9C4SditLb1Wd+Y183nhXI3Pa78wEibK5t8RaDc/fgKPg==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0" + "@unocss/core": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/preset-icons": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-icons/-/preset-icons-0.64.0.tgz", - "integrity": "sha512-jhozA4r583agZZpKttdootaWfvQ29lY/kHxNU1Ah2xeRQcVXXEh7M3cG0bo9HSIX9/BgXSk5rWQlqSPIqFl4Lw==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-icons/-/preset-icons-0.64.1.tgz", + "integrity": "sha512-aQ4hN2NFdJo08pzUYc1FpwTkNUByE7FB51KmRwXclsVKeXFGvFO3YUYeg5IDlTxqCfvFVWZ3q8NhnmpKGkbutw==", "dev": true, "license": "MIT", "dependencies": { "@iconify/utils": "^2.1.33", - "@unocss/core": "0.64.0", + "@unocss/core": "0.64.1", "ofetch": "^1.4.1" }, "funding": { @@ -2017,68 +2030,68 @@ } }, "node_modules/@unocss/preset-mini": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-mini/-/preset-mini-0.64.0.tgz", - "integrity": "sha512-bc7zanalVQUrETJ06eyS7y/lhceRlY8kBG/lRCV/dYmKl4Ho/s57LrpZH0G63OcO6IfWIjwoZHVC8/RHAqnYvQ==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-mini/-/preset-mini-0.64.1.tgz", + "integrity": "sha512-tl+ciN0elB9eETEVZQrNaMy4NpbLdWDVW7KlmpRZi4Eomf/Ntz+Wctp5V0aBvszo8arEaDiOwsgMxITvx9Ll6Q==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", - "@unocss/extractor-arbitrary-variants": "0.64.0", - "@unocss/rule-utils": "0.64.0" + "@unocss/core": "0.64.1", + "@unocss/extractor-arbitrary-variants": "0.64.1", + "@unocss/rule-utils": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/preset-tagify": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-tagify/-/preset-tagify-0.64.0.tgz", - "integrity": "sha512-WlRQXYgtVzJpVlZ+itXhrQyvMj6XW1InNIfvAHMorr5BGvMGETLRnuWwYYhGg2YDF/g+/EucU5PQmk9UkurBzg==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-tagify/-/preset-tagify-0.64.1.tgz", + "integrity": "sha512-xBGF7usHIDOMmLEgawpgbOAoNZ8qFZ/mpbRG9tdEjOHJ+rXJuJlZHhwIgwjQiFRCzSRtlsN57/iM37bZNRCEAg==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0" + "@unocss/core": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/preset-typography": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-typography/-/preset-typography-0.64.0.tgz", - "integrity": "sha512-hMKxhHTRUjvwB0gcdWOh6zWWolH9pvIvgB4p2GaFT1vKyFD0wkTZ/7S/Q3OMKJyevSKHyIgKd+PhNGKTx5FuQQ==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-typography/-/preset-typography-0.64.1.tgz", + "integrity": "sha512-5L/m0YrtF5P6W4U1DhMfqdKVFbso09TplVHK9udJMvYMaj4HzNNIo6GtpbSm2eCXBzxIYuzAjQ9kLldOXjZS1w==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", - "@unocss/preset-mini": "0.64.0" + "@unocss/core": "0.64.1", + "@unocss/preset-mini": "0.64.1" } }, "node_modules/@unocss/preset-uno": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-uno/-/preset-uno-0.64.0.tgz", - "integrity": "sha512-gUmuL8anty551r/Q2XU5wc0aNZ+te4yydnamXHSUv3EkX6PCphOaiWsQ5f95fj26G8EYH9fLBvxqXurFBPM7og==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-uno/-/preset-uno-0.64.1.tgz", + "integrity": "sha512-9427KmOHsck9mNfOXiCBy43Q9aAI1w15tCBJf2bDMHioJltc6JjW+Mg5DDZWnYelhzpXCYK7zTZtMJ40KxDx+g==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", - "@unocss/preset-mini": "0.64.0", - "@unocss/preset-wind": "0.64.0", - "@unocss/rule-utils": "0.64.0" + "@unocss/core": "0.64.1", + "@unocss/preset-mini": "0.64.1", + "@unocss/preset-wind": "0.64.1", + "@unocss/rule-utils": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/preset-web-fonts": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-web-fonts/-/preset-web-fonts-0.64.0.tgz", - "integrity": "sha512-qraIhS0tCFHvdPQnzGTfi/dggwyboWPU8UQn8oLMsmPKogNPsYQfjrtTZs8X6F1KNaPV18c6saaWYvVZ8tXPoA==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-web-fonts/-/preset-web-fonts-0.64.1.tgz", + "integrity": "sha512-qhc1976bVDMYG+aG5VKvTsKK7K8hMrNnhkCmfKmvdFH7xSj8MB80YxdmiAAcKh3cVk97bh0ej7ym6Lss7I2Idg==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", + "@unocss/core": "0.64.1", "ofetch": "^1.4.1" }, "funding": { @@ -2086,24 +2099,24 @@ } }, "node_modules/@unocss/preset-wind": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-0.64.0.tgz", - "integrity": "sha512-cJbZI4etFrIIQoC1VhRqyEZU5fUaYqOH3uIt5lM3osxBdAvHds7SPjLRbdR612US7JbuPeFhMMRnA1EYoo39sQ==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-0.64.1.tgz", + "integrity": "sha512-IpAfsi2tI4elb2uZzc3BSZgbi0axgwgJLPFW0BtZQe4u1J+zrUIOvjCu/2jmiB7LR05IShCyMKIz9Vi4EJm+gQ==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", - "@unocss/preset-mini": "0.64.0", - "@unocss/rule-utils": "0.64.0" + "@unocss/core": "0.64.1", + "@unocss/preset-mini": "0.64.1", + "@unocss/rule-utils": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/reset": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/reset/-/reset-0.64.0.tgz", - "integrity": "sha512-75SiDtRX/mtg/7GWeoLfDfdWF4z59zF1XesL46FNd2hDZL36a+SZHIKB/J+PPzLyX9irqm3mAETS2PNfynuJpA==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/reset/-/reset-0.64.1.tgz", + "integrity": "sha512-xx36rWcrIpyvI1l/v+szQLrxWAgsmk6GH85QQ5iE1qccQbL9IlhWHB1KEd3cRbJ1TFeZ2Mzca/qsjg0LU9ZVnA==", "dev": true, "license": "MIT", "funding": { @@ -2111,13 +2124,13 @@ } }, "node_modules/@unocss/rule-utils": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/rule-utils/-/rule-utils-0.64.0.tgz", - "integrity": "sha512-R5b/uspq6XsmpEqhxSzOOePHsS+pdxya+0pkQw7m6thsUxNDL7kVDpBiz2iNX5lnwagvhyhUWYu85a8XmZ8ymw==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/rule-utils/-/rule-utils-0.64.1.tgz", + "integrity": "sha512-h+Du0lezKHmdsEsGQGAtGrwrTrU+Av4eij46UzpzuNWFq0mAouBu8m/lgBI1AcY9B0Jg3EJalkOgA06tAKS8jg==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "^0.64.0", + "@unocss/core": "^0.64.1", "magic-string": "^0.30.12" }, "engines": { @@ -2128,68 +2141,68 @@ } }, "node_modules/@unocss/transformer-attributify-jsx": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.64.0.tgz", - "integrity": "sha512-/kG7NFmqMCftK5DJUgMUbe9SWRJt20Z55o36aaCkBcEsrTSYBmWYDyIJPZa3TxsjO8H1qDekRVu7CgDxwlxMEQ==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.64.1.tgz", + "integrity": "sha512-Zg7rfNheWxJh2G5C0gCctGc6c8NbmI6wqbYjUxUDXEeT+lrZqKeDpTmgcLis7gLqGELFvIqE5R0EpARvjrj9bw==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0" + "@unocss/core": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/transformer-compile-class": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/transformer-compile-class/-/transformer-compile-class-0.64.0.tgz", - "integrity": "sha512-p1LZG2AUsD0FrkCSo1JOsWVQ+sEMcgnVCm6XtCgxBraV3nPFeZUyxmj9yEkt0HhfYkMTvdT155c3rDhbwP8AFw==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-compile-class/-/transformer-compile-class-0.64.1.tgz", + "integrity": "sha512-oASb3lJq++Ll6LD3frT0WiEZUJupjrLF+rtkgz3lKPgD8bRpbh+m5FykGAIHj5VcIcYOACD4GkTrSFrQbL0GEw==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0" + "@unocss/core": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/transformer-directives": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/transformer-directives/-/transformer-directives-0.64.0.tgz", - "integrity": "sha512-+e2bDEQMEsfq4KZ2R+GQNrEv0bL3E1KbXGPQXUiMGitmZzzagDfIBk9VTP3gNhU+hgTaWtjXlReeap1eSmwKGQ==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-directives/-/transformer-directives-0.64.1.tgz", + "integrity": "sha512-6yWZh7YxYTaNSdATkGpP+aQ3aTRLNo4URDmLQKB3uaQbF0Ae5dLlxXWHZ26VIpKkQ3+hME4TRxEptTR0/ag7nw==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0", - "@unocss/rule-utils": "0.64.0", + "@unocss/core": "0.64.1", + "@unocss/rule-utils": "0.64.1", "css-tree": "^3.0.1" } }, "node_modules/@unocss/transformer-variant-group": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/transformer-variant-group/-/transformer-variant-group-0.64.0.tgz", - "integrity": "sha512-c4CN+W8ShBhGIma3KHHcBe7CRljRwZ0f5UamRrUIMs28a2jfa1TlPlr/4Ke5b6icr0mwTGajJEUaPanOK0Fp1A==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-variant-group/-/transformer-variant-group-0.64.1.tgz", + "integrity": "sha512-wQkD1x69YSiIXvSvNNTN6hTZXHVzbVY+xmfoXL3bi/1cDMzRmE9C2Gk/Rzm/BSQxsLusLfDDL0NuhxWoFmvWPA==", "dev": true, "license": "MIT", "dependencies": { - "@unocss/core": "0.64.0" + "@unocss/core": "0.64.1" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@unocss/vite": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/@unocss/vite/-/vite-0.64.0.tgz", - "integrity": "sha512-QrfXlI8YcIaqQc4WRVrLbCho8eEi5pjs1/C8AwnUHGximEDN6MZNUk0htjo4QZ+50IA2b4RrYdz1N3875bJoFg==", + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/@unocss/vite/-/vite-0.64.1.tgz", + "integrity": "sha512-DIvl7Mofc5Q6kKElMRALbH33xBYb5w3Yf7TQ860lmi3DOwjEcg+OWE1HD+iDf7IxZeqPsdF17NvJJaSdmr0m5Q==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.3.0", "@rollup/pluginutils": "^5.1.3", - "@unocss/config": "0.64.0", - "@unocss/core": "0.64.0", - "@unocss/inspector": "0.64.0", + "@unocss/config": "0.64.1", + "@unocss/core": "0.64.1", + "@unocss/inspector": "0.64.1", "chokidar": "^3.6.0", "magic-string": "^0.30.12", "tinyglobby": "^0.2.10" @@ -2222,119 +2235,119 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", - "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.12", + "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", - "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vue/compiler-core": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", - "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.12", - "@vue/compiler-dom": "3.5.12", - "@vue/compiler-ssr": "3.5.12", - "@vue/shared": "3.5.12", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", - "postcss": "^8.4.47", + "postcss": "^8.4.48", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", - "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vue/compiler-dom": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/reactivity": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz", - "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vue/shared": "3.5.12" + "@vue/shared": "3.5.13" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.12.tgz", - "integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vue/reactivity": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz", - "integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vue/reactivity": "3.5.12", - "@vue/runtime-core": "3.5.12", - "@vue/shared": "3.5.12", + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.12.tgz", - "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vue/compiler-ssr": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" }, "peerDependencies": { - "vue": "3.5.12" + "vue": "3.5.13" } }, "node_modules/@vue/shared": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz", - "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", "dev": true, "license": "MIT", "peer": true @@ -2408,19 +2421,6 @@ "node": ">= 8" } }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3008,6 +3008,16 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@eslint/js": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", + "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -3157,21 +3167,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fdir": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", - "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -3505,9 +3500,9 @@ } }, "node_modules/jotai": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.10.1.tgz", - "integrity": "sha512-4FycO+BOTl2auLyF2Chvi6KTDqdsdDDtpaL/WHQMs8f3KS1E3loiUShQzAzFA/sMU5cJ0hz/RT1xum9YbG/zaA==", + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.10.2.tgz", + "integrity": "sha512-DqsBTlRglIBviuJLfK6JxZzpd6vKfbuJ4IqRCz70RFEDeZf46Fcteb/FXxNr1UnoxR5oUy3oq7IE8BrEq0G5DQ==", "license": "MIT", "engines": { "node": ">=12.20.0" @@ -3791,19 +3786,6 @@ "node": ">=8.6" } }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -4021,13 +4003,13 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8.6" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -4046,9 +4028,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "funding": [ { @@ -4067,7 +4049,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -4312,19 +4294,6 @@ "node": ">=8.10.0" } }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/redux": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", @@ -4579,6 +4548,34 @@ "node": ">=12.0.0" } }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", + "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4687,15 +4684,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.13.0.tgz", - "integrity": "sha512-vIMpDRJrQd70au2G8w34mPps0ezFSPMEX4pXkTzUkrNbRX+36ais2ksGWN0esZL+ZMaFJEneOBHzCgSqle7DHw==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.14.0.tgz", + "integrity": "sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.13.0", - "@typescript-eslint/parser": "8.13.0", - "@typescript-eslint/utils": "8.13.0" + "@typescript-eslint/eslint-plugin": "8.14.0", + "@typescript-eslint/parser": "8.14.0", + "@typescript-eslint/utils": "8.14.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4740,29 +4737,29 @@ "license": "MIT" }, "node_modules/unocss": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/unocss/-/unocss-0.64.0.tgz", - "integrity": "sha512-wiEFRjGXSogzf/4+KICXjFDgSGloSCV1Ka2Dct/8Z8U+iwRqeVpHGVQcGjBFg9Uh0DH1fSVBbis2aPuIkT0nEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@unocss/astro": "0.64.0", - "@unocss/cli": "0.64.0", - "@unocss/core": "0.64.0", - "@unocss/postcss": "0.64.0", - "@unocss/preset-attributify": "0.64.0", - "@unocss/preset-icons": "0.64.0", - "@unocss/preset-mini": "0.64.0", - "@unocss/preset-tagify": "0.64.0", - "@unocss/preset-typography": "0.64.0", - "@unocss/preset-uno": "0.64.0", - "@unocss/preset-web-fonts": "0.64.0", - "@unocss/preset-wind": "0.64.0", - "@unocss/transformer-attributify-jsx": "0.64.0", - "@unocss/transformer-compile-class": "0.64.0", - "@unocss/transformer-directives": "0.64.0", - "@unocss/transformer-variant-group": "0.64.0", - "@unocss/vite": "0.64.0" + "version": "0.64.1", + "resolved": "https://registry.npmjs.org/unocss/-/unocss-0.64.1.tgz", + "integrity": "sha512-UTtK9TPneVht5r0cVEADS/N6970AoHhKvJKDkBPnk7OQdguIFPCykGyx4llukItzm0AoffGfwg5zQ+L8QJgupw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/astro": "0.64.1", + "@unocss/cli": "0.64.1", + "@unocss/core": "0.64.1", + "@unocss/postcss": "0.64.1", + "@unocss/preset-attributify": "0.64.1", + "@unocss/preset-icons": "0.64.1", + "@unocss/preset-mini": "0.64.1", + "@unocss/preset-tagify": "0.64.1", + "@unocss/preset-typography": "0.64.1", + "@unocss/preset-uno": "0.64.1", + "@unocss/preset-web-fonts": "0.64.1", + "@unocss/preset-wind": "0.64.1", + "@unocss/transformer-attributify-jsx": "0.64.1", + "@unocss/transformer-compile-class": "0.64.1", + "@unocss/transformer-directives": "0.64.1", + "@unocss/transformer-variant-group": "0.64.1", + "@unocss/vite": "0.64.1" }, "engines": { "node": ">=14" @@ -4771,7 +4768,7 @@ "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "@unocss/webpack": "0.64.0", + "@unocss/webpack": "0.64.1", "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0" }, "peerDependenciesMeta": { @@ -4917,9 +4914,9 @@ } }, "node_modules/vite": { - "version": "5.4.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", - "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -5407,18 +5404,18 @@ } }, "node_modules/vue": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.12.tgz", - "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@vue/compiler-dom": "3.5.12", - "@vue/compiler-sfc": "3.5.12", - "@vue/runtime-dom": "3.5.12", - "@vue/server-renderer": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" }, "peerDependencies": { "typescript": "*" diff --git a/package.json b/package.json index c95f992..b4743f6 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "copy-to-clipboard": "^3.3.3", - "jotai": "^2.10.1", + "jotai": "^2.10.2", "jotai-devtools": "^0.10.1", "jotai-location": "^0.5.5", "react": "^18.3.1", @@ -22,22 +22,22 @@ "whip-whep": "1.2.0" }, "devDependencies": { - "@eslint/js": "^9.14.0", + "@eslint/js": "^9.15.0", "@iconify-json/logos": "^1.2.3", "@stylistic/eslint-plugin-js": "^2.10.1", "@types/node": "^22.9.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", - "@unocss/preset-attributify": "^0.64.0", - "@unocss/preset-icons": "^0.64.0", - "@unocss/preset-uno": "^0.64.0", - "@unocss/reset": "^0.64.0", + "@unocss/preset-attributify": "^0.64.1", + "@unocss/preset-icons": "^0.64.1", + "@unocss/preset-uno": "^0.64.1", + "@unocss/reset": "^0.64.1", "@vitejs/plugin-react": "^4.3.3", "cross-env": "^7.0.3", "eslint": "^9.14.0", "typescript": "^5.6.3", - "typescript-eslint": "^8.13.0", - "unocss": "^0.64.0", - "vite": "^5.4.10" + "typescript-eslint": "^8.14.0", + "unocss": "^0.64.1", + "vite": "^5.4.11" } } diff --git a/tsconfig.json b/tsconfig.json index a93c0ec..0b6d32e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,6 +17,9 @@ "skipLibCheck": false }, "include": ["webapp"], - "exclude": ["**/vite.config.ts"], + "exclude": [ + "webapp/vite.config.ts", + "webapp/uno.config.ts" + ], "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json index 1b2c589..3e44028 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -6,5 +6,8 @@ "allowSyntheticDefaultImports": true, "strict": true }, - "include": ["webapp/vite.config.ts"] + "include": [ + "webapp/vite.config.ts", + "webapp/uno.config.ts" + ] } diff --git a/webapp/main.tsx b/webapp/main.tsx index 6656f61..26e13b7 100644 --- a/webapp/main.tsx +++ b/webapp/main.tsx @@ -1,11 +1,13 @@ import React from 'react' import { createRoot } from 'react-dom/client' -import './index.css' -import 'virtual:uno.css' -import App from './app' import { DevTools } from 'jotai-devtools' import '@unocss/reset/tailwind-compat.css' +import 'virtual:uno.css' +import 'jotai-devtools/styles.css' + +import App from './app' +import './index.css' const container = document.getElementById('root') const root = createRoot(container!) diff --git a/webapp/uno.config.ts b/webapp/uno.config.ts new file mode 100644 index 0000000..2a718b4 --- /dev/null +++ b/webapp/uno.config.ts @@ -0,0 +1,23 @@ +import { + defineConfig, + presetAttributify, + presetIcons, + presetUno, +} from 'unocss' + +export default defineConfig({ + shortcuts: [ + { logo: 'i-logos-react w-6em h-6em transform transition-800 hover:rotate-180' }, + { 'btn-primary': 'py-2 px-4 bg-blue-500 duration-500 text-white font-bold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75 disabled:pointer-events-none disabled:bg-slate-300' } + ], + presets: [ + presetUno(), + presetAttributify(), + presetIcons({ + extraProperties: { + 'display': 'inline-block', + 'vertical-align': 'middle' + } + }) + ] +}) diff --git a/webapp/vite.config.ts b/webapp/vite.config.ts index 1965825..9e26d2c 100644 --- a/webapp/vite.config.ts +++ b/webapp/vite.config.ts @@ -1,11 +1,8 @@ import { resolve } from 'node:path' import { defineConfig } from 'vite' -import React from '@vitejs/plugin-react' import UnoCSS from 'unocss/vite' -import presetAttributify from '@unocss/preset-attributify' -import presetIcons from '@unocss/preset-icons' -import presetUno from '@unocss/preset-uno' +import React from '@vitejs/plugin-react' const ProjectRoot = resolve(import.meta.dirname, '..') const WebAppRoot = resolve(ProjectRoot, 'webapp') @@ -31,22 +28,7 @@ export default defineConfig({ emptyOutDir: true }, plugins: [ - UnoCSS({ - shortcuts: [ - { logo: 'i-logos-react w-6em h-6em transform transition-800 hover:rotate-180' }, - { 'btn-primary': 'py-2 px-4 bg-blue-500 duration-500 text-white font-bold rounded-lg shadow-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75 disabled:pointer-events-none disabled:bg-slate-300' } - ], - presets: [ - presetUno(), - presetAttributify(), - presetIcons({ - extraProperties: { - 'display': 'inline-block', - 'vertical-align': 'middle' - } - }) - ] - }), + UnoCSS(resolve(WebAppRoot, 'uno.config.ts')), React() ] })