diff --git a/package.json b/package.json index 1948d8ad..d0f708d6 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@noble/ciphers": "^0.2.0", "@noble/curves": "^1.1.0", "@noble/hashes": "^1.3.1", - "@nostr-dev-kit/ndk": "^0.8.3", + "@nostr-dev-kit/ndk": "^0.8.7", "@nostr-fetch/adapter-ndk": "^0.11.0", "@radix-ui/react-collapsible": "^1.0.3", "@radix-ui/react-dialog": "^1.0.4", @@ -57,7 +57,7 @@ "cheerio": "1.0.0-rc.12", "dayjs": "^1.11.9", "destr": "^1.2.2", - "framer-motion": "^10.15.0", + "framer-motion": "^10.15.1", "get-urls": "^11.0.0", "html-to-text": "^9.0.5", "immer": "^10.0.2", @@ -79,7 +79,7 @@ "remark-gfm": "^3.0.1", "tauri-controls": "^0.0.5", "tippy.js": "^6.3.7", - "zustand": "^4.4.0" + "zustand": "^4.4.1" }, "devDependencies": { "@tailwindcss/typography": "^0.5.9", @@ -87,7 +87,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/html-to-text": "^9.0.1", "@types/node": "^18.17.3", - "@types/react": "^18.2.18", + "@types/react": "^18.2.19", "@types/react-dom": "^18.2.7", "@types/youtube-player": "^5.5.7", "@typescript-eslint/eslint-plugin": "^5.62.0", @@ -112,7 +112,7 @@ "tailwind-merge": "^1.14.0", "tailwindcss": "^3.3.3", "typescript": "^4.9.5", - "vite": "^4.4.8", + "vite": "^4.4.9", "vite-plugin-top-level-await": "^1.3.1", "vite-tsconfig-paths": "^4.2.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db744f0b..778bf388 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,23 +14,23 @@ dependencies: specifier: ^1.3.1 version: 1.3.1 '@nostr-dev-kit/ndk': - specifier: ^0.8.3 - version: 0.8.3(typescript@4.9.5) + specifier: ^0.8.7 + version: 0.8.7(typescript@4.9.5) '@nostr-fetch/adapter-ndk': specifier: ^0.11.0 - version: 0.11.0(@nostr-dev-kit/ndk@0.8.3)(nostr-fetch@0.12.2) + version: 0.11.0(@nostr-dev-kit/ndk@0.8.7)(nostr-fetch@0.12.2) '@radix-ui/react-collapsible': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dialog': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popover': specifier: ^1.0.6 - version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.6 - version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) '@scure/base': specifier: ^1.1.1 version: 1.1.1 @@ -57,13 +57,13 @@ dependencies: version: github.com/tauri-apps/tauri-plugin-clipboard-manager/549ca993a47ae7aafff635d99fc3e6dc124b9181 '@tauri-apps/plugin-dialog': specifier: github:tauri-apps/tauri-plugin-dialog#v2 - version: github.com/tauri-apps/tauri-plugin-dialog/c84cc21fbcd1cd284a4832e8021e08460cd42963 + version: github.com/tauri-apps/tauri-plugin-dialog/2a358d18e865b31c6878f91bd068cfe36d00d639 '@tauri-apps/plugin-fs': specifier: github:tauri-apps/tauri-plugin-fs#v2 version: github.com/tauri-apps/tauri-plugin-fs/60e8dec66d2582cc39ebdd7b7101e9c96c23e52a '@tauri-apps/plugin-http': specifier: github:tauri-apps/tauri-plugin-http#v2 - version: github.com/tauri-apps/tauri-plugin-http/b23c48592e1b6f1924feb273e1754944063e4ee8 + version: github.com/tauri-apps/tauri-plugin-http/6d45e3ecae761f1990ed6366e6138c69775c58d8 '@tauri-apps/plugin-notification': specifier: github:tauri-apps/tauri-plugin-notification#v2 version: github.com/tauri-apps/tauri-plugin-notification/9989c95217af5abcf847e790cb74dda485c0459a @@ -75,7 +75,7 @@ dependencies: version: github.com/tauri-apps/tauri-plugin-process/ed3f8f78ddecc72c926239f5a10ec6ce1b8c353e '@tauri-apps/plugin-shell': specifier: github:tauri-apps/tauri-plugin-shell#v2 - version: github.com/tauri-apps/tauri-plugin-shell/ecff26b9c9c4084374dd12ddbe24fc77fe382990 + version: github.com/tauri-apps/tauri-plugin-shell/e538c5178508060d6fc1d1f8b03fa8f40fb53626 '@tauri-apps/plugin-sql': specifier: github:tauri-apps/tauri-plugin-sql#v2 version: github.com/tauri-apps/tauri-plugin-sql/0591e9f63e0f86be79c209f4bcb564ccce4bd05c @@ -122,8 +122,8 @@ dependencies: specifier: ^1.2.2 version: 1.2.2 framer-motion: - specifier: ^10.15.0 - version: 10.15.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^10.15.1 + version: 10.15.1(react-dom@18.2.0)(react@18.2.0) get-urls: specifier: ^11.0.0 version: 11.0.0 @@ -165,7 +165,7 @@ dependencies: version: 4.4.1(react-dom@18.2.0)(react@18.2.0) react-markdown: specifier: ^8.0.7 - version: 8.0.7(@types/react@18.2.18)(react@18.2.0) + version: 8.0.7(@types/react@18.2.19)(react@18.2.0) react-player: specifier: ^2.12.0 version: 2.12.0(react@18.2.0) @@ -188,8 +188,8 @@ dependencies: specifier: ^6.3.7 version: 6.3.7 zustand: - specifier: ^4.4.0 - version: 4.4.0(@types/react@18.2.18)(immer@10.0.2)(react@18.2.0) + specifier: ^4.4.1 + version: 4.4.1(@types/react@18.2.19)(immer@10.0.2)(react@18.2.0) devDependencies: '@tailwindcss/typography': @@ -208,8 +208,8 @@ devDependencies: specifier: ^18.17.3 version: 18.17.3 '@types/react': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^18.2.19 + version: 18.2.19 '@types/react-dom': specifier: ^18.2.7 version: 18.2.7 @@ -224,7 +224,7 @@ devDependencies: version: 5.62.0(eslint@8.46.0)(typescript@4.9.5) '@vitejs/plugin-react-swc': specifier: ^3.3.2 - version: 3.3.2(vite@4.4.8) + version: 3.3.2(vite@4.4.9) autoprefixer: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.27) @@ -283,14 +283,14 @@ devDependencies: specifier: ^4.9.5 version: 4.9.5 vite: - specifier: ^4.4.8 - version: 4.4.8(@types/node@18.17.3) + specifier: ^4.4.9 + version: 4.4.9(@types/node@18.17.3) vite-plugin-top-level-await: specifier: ^1.3.1 - version: 1.3.1(vite@4.4.8) + version: 1.3.1(vite@4.4.9) vite-tsconfig-paths: specifier: ^4.2.0 - version: 4.2.0(typescript@4.9.5)(vite@4.4.8) + version: 4.2.0(typescript@4.9.5)(vite@4.4.9) packages: @@ -308,34 +308,35 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 dev: false - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + /@babel/code-frame@7.22.10: + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.22.10 + chalk: 2.4.2 /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.22.9: - resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + /@babel/core@7.22.10: + resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) - '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.7 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -354,24 +355,21 @@ packages: source-map: 0.5.7 dev: true - /@babel/generator@7.22.9: - resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + /@babel/generator@7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 dev: false - /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 '@babel/helper-validator-option': 7.22.5 browserslist: 4.21.10 lru-cache: 5.1.1 @@ -387,28 +385,28 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: false - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 @@ -425,14 +423,14 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} @@ -447,49 +445,49 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.22.6: - resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + /@babel/helpers@7.22.10: + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color dev: false - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.22.10: + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.7: - resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} + /@babel/parser@7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.17.0 - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: false @@ -501,31 +499,31 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@babel/runtime@7.22.6: - resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + /@babel/runtime@7.22.10: + resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.0 /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/code-frame': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 /@babel/traverse@7.17.3: resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 '@babel/generator': 7.17.7 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@babel/types': 7.17.0 debug: 4.3.4 globals: 11.12.0 @@ -533,18 +531,18 @@ packages: - supports-color dev: true - /@babel/traverse@7.22.8: - resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} + /@babel/traverse@7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -558,8 +556,8 @@ packages: '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 @@ -588,8 +586,8 @@ packages: dev: false optional: true - /@esbuild/android-arm64@0.18.18: - resolution: {integrity: sha512-dkAPYzRHq3dNXIzOyAknYOzsx8o3KWaNiuu56B2rP9IFPmFWMS58WQcTlUQi6iloku8ZyHHMluCe5sTWhKq/Yw==} + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -606,8 +604,8 @@ packages: dev: false optional: true - /@esbuild/android-arm@0.18.18: - resolution: {integrity: sha512-oBymf7ZwplAawSxmiSlBCf+FMcY0f4bs5QP2jn43JKUf0M9DnrUTjqa5RvFPl1elw+sMfcpfBRPK+rb+E1q7zg==} + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -624,8 +622,8 @@ packages: dev: false optional: true - /@esbuild/android-x64@0.18.18: - resolution: {integrity: sha512-r7/pVcrUQMYkjvtE/1/n6BxhWM+/9tvLxDG1ev1ce4z3YsqoxMK9bbOM6bFcj0BowMeGQvOZWcBV182lFFKmrw==} + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -642,8 +640,8 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64@0.18.18: - resolution: {integrity: sha512-MSe2iV9MAH3wfP0g+vzN9bp36rtPPuCSk+bT5E2vv/d8krvW5uB/Pi/Q5+txUZuxsG3GcO8dhygjnFq0wJU9hQ==} + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -660,8 +658,8 @@ packages: dev: false optional: true - /@esbuild/darwin-x64@0.18.18: - resolution: {integrity: sha512-ARFYISOWkaifjcr48YtO70gcDNeOf1H2RnmOj6ip3xHIj66f3dAbhcd5Nph5np6oHI7DhHIcr9MWO18RvUL1bw==} + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -678,8 +676,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64@0.18.18: - resolution: {integrity: sha512-BHnXmexzEWRU2ZySJosU0Ts0NRnJnNrMB6t4EiIaOSel73I8iLsNiTPLH0rJulAh19cYZutsB5XHK6N8fi5eMg==} + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -696,8 +694,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.18.18: - resolution: {integrity: sha512-n823w35wm0ZOobbuE//0sJjuz1Qj619+AwjgOcAJMN2pomZhH9BONCtn+KlfrmM/NWZ+27yB/eGVFzUIWLeh3w==} + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -714,8 +712,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm64@0.18.18: - resolution: {integrity: sha512-zANxnwF0sCinDcAqoMohGoWBK9QaFJ65Vgh0ZE+RXtURaMwx+RfmfLElqtnn7X8OYNckMoIXSg7u+tZ3tqTlrA==} + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -732,8 +730,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm@0.18.18: - resolution: {integrity: sha512-Kck3jxPLQU4VeAGwe8Q4NU+IWIx+suULYOFUI9T0C2J1+UQlOHJ08ITN+MaJJ+2youzJOmKmcphH/t3SJxQ1Tw==} + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -750,8 +748,8 @@ packages: dev: false optional: true - /@esbuild/linux-ia32@0.18.18: - resolution: {integrity: sha512-+VHz2sIRlY5u8IlaLJpdf5TL2kM76yx186pW7bpTB+vLWpzcFQVP04L842ZB2Ty13A1VXUvy3DbU1jV65P2skg==} + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -768,8 +766,8 @@ packages: dev: false optional: true - /@esbuild/linux-loong64@0.18.18: - resolution: {integrity: sha512-fXPEPdeGBvguo/1+Na8OIWz3667BN1cwbGtTEZWTd0qdyTsk5gGf9jVX8MblElbDb/Cpw6y5JiaQuL96YmvBwQ==} + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -786,8 +784,8 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el@0.18.18: - resolution: {integrity: sha512-dLvRB87pIBIRnEIC32LIcgwK1JzlIuADIRjLKdUIpxauKwMuS/xMpN+cFl+0nN4RHNYOZ57DmXFFmQAcdlFOmw==} + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -804,8 +802,8 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64@0.18.18: - resolution: {integrity: sha512-fRChqIJZ7hLkXSKfBLYgsX9Ssb5OGCjk3dzCETF5QSS1qjTgayLv0ALUdJDB9QOh/nbWwp+qfLZU6md4XcjL7w==} + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -822,8 +820,8 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64@0.18.18: - resolution: {integrity: sha512-ALK/BT3u7Hoa/vHjow6W6+MKF0ohYcVcVA1EpskI4bkBPVuDLrUDqt2YFifg5UcZc8qup0CwQqWmFUd6VMNgaA==} + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -840,8 +838,8 @@ packages: dev: false optional: true - /@esbuild/linux-s390x@0.18.18: - resolution: {integrity: sha512-crT7jtOXd9iirY65B+mJQ6W0HWdNy8dtkZqKGWNcBnunpLcTCfne5y5bKic9bhyYzKpQEsO+C/VBPD8iF0RhRw==} + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -858,8 +856,8 @@ packages: dev: false optional: true - /@esbuild/linux-x64@0.18.18: - resolution: {integrity: sha512-/NSgghjBOW9ELqjXDYxOCCIsvQUZpvua1/6NdnA9Vnrp9UzEydyDdFXljUjMMS9p5KxMzbMO9frjHYGVHBfCHg==} + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -876,8 +874,8 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64@0.18.18: - resolution: {integrity: sha512-8Otf05Vx5sZjLLDulgr5QS5lsWXMplKZEyHMArH9/S4olLlhzmdhQBPhzhJTNwaL2FJNdWcUPNGAcoD5zDTfUA==} + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -894,8 +892,8 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64@0.18.18: - resolution: {integrity: sha512-tFiFF4kT5L5qhVrWJUNxEXWvvX8nK/UX9ZrB7apuTwY3f6+Xy4aFMBPwAVrBYtBd5MOUuyOVHK6HBZCAHkwUlw==} + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -912,8 +910,8 @@ packages: dev: false optional: true - /@esbuild/sunos-x64@0.18.18: - resolution: {integrity: sha512-MPogVV8Bzh8os4OM+YDGGsSzCzmNRiyKGtHoJyZLtI4BMmd6EcxmGlcEGK1uM46h1BiOyi7Z7teUtzzQhvkC+w==} + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -930,8 +928,8 @@ packages: dev: false optional: true - /@esbuild/win32-arm64@0.18.18: - resolution: {integrity: sha512-YKD6LF/XXY9REu+ZL5RAsusiG48n602qxsMVh/E8FFD9hp4OyTQaL9fpE1ovxwQXqFio+tT0ITUGjDSSSPN13w==} + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -948,8 +946,8 @@ packages: dev: false optional: true - /@esbuild/win32-ia32@0.18.18: - resolution: {integrity: sha512-NjSBmBsyZBTsZB6ga6rA6PfG/RHnwruUz/9YEVXcm4STGauFWvhYhOMhEyw1yU5NVgYYm8CH5AltCm77TS21/Q==} + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -966,8 +964,8 @@ packages: dev: false optional: true - /@esbuild/win32-x64@0.18.18: - resolution: {integrity: sha512-eTSg/gC3p3tdjj4roDhe5xu94l1s2jMazP8u2FsYO8SEKvSpPOO71EucprDn/IuErDPvTFUhV9lTw5z5WJCRKQ==} + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1090,27 +1088,24 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 /@noble/ciphers@0.2.0: resolution: {integrity: sha512-6YBxJDAapHSdd3bLDv6x2wRPwq4QFMUaB3HvljNBUTThDd12eSm7/3F+2lnfzx2jvM+S6Nsy0jEt9QbPqSwqRw==} @@ -1153,8 +1148,8 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@nostr-dev-kit/ndk@0.8.3(typescript@4.9.5): - resolution: {integrity: sha512-njdcTN0+/TW0xOqd+eQco1HN735f2uxv1wXbFUxKlkxd9ApnAlondqMZB69byHMVJuwA/iNbMZKdiPrAEGGJ3w==} + /@nostr-dev-kit/ndk@0.8.7(typescript@4.9.5): + resolution: {integrity: sha512-42gj4WHYm8ZDETBoBVEOJq/An4Pvmj6LVYghgwYUualXqG07NPh8uImbEew9fdbD+NKQnPA+TfzLhq83dUWW8Q==} dependencies: '@noble/hashes': 1.3.1 '@noble/secp256k1': 2.0.0 @@ -1182,13 +1177,13 @@ packages: - typescript dev: false - /@nostr-fetch/adapter-ndk@0.11.0(@nostr-dev-kit/ndk@0.8.3)(nostr-fetch@0.12.2): + /@nostr-fetch/adapter-ndk@0.11.0(@nostr-dev-kit/ndk@0.8.7)(nostr-fetch@0.12.2): resolution: {integrity: sha512-Otl7SEzm9ecqyHB10bpYXBu1qpqJEnipp7dZ4qcA9LeJAtM38fnYKUD34HX0JXA9EDjtc6VS5UNZe544xC9GCg==} peerDependencies: '@nostr-dev-kit/ndk': ^0.5.0 nostr-fetch: ^0.11.0 dependencies: - '@nostr-dev-kit/ndk': 0.8.3(typescript@4.9.5) + '@nostr-dev-kit/ndk': 0.8.7(typescript@4.9.5) '@nostr-fetch/kernel': 0.11.0 nostr-fetch: 0.12.2 dev: false @@ -1228,10 +1223,10 @@ packages: /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -1244,15 +1239,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -1265,22 +1260,22 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -1289,12 +1284,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -1303,12 +1298,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==} peerDependencies: '@types/react': '*' @@ -1321,28 +1316,28 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.18)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.19)(react@18.2.0) dev: false - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: '@types/react': '*' @@ -1355,19 +1350,19 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -1376,12 +1371,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} peerDependencies: '@types/react': '*' @@ -1394,17 +1389,17 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -1413,13 +1408,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==} peerDependencies: '@types/react': '*' @@ -1432,29 +1427,29 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.18)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.19)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: '@types/react': '*' @@ -1467,24 +1462,24 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.18)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.19)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.18 + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: '@types/react': '*' @@ -1497,15 +1492,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -1518,16 +1513,16 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -1540,15 +1535,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -1557,13 +1552,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==} peerDependencies: '@types/react': '*' @@ -1576,26 +1571,26 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.18 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -1604,12 +1599,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -1618,13 +1613,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -1633,13 +1628,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -1648,12 +1643,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -1662,13 +1657,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.18 + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.18)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -1677,13 +1672,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.19)(react@18.2.0) + '@types/react': 18.2.19 react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -1696,9 +1691,9 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.18 + '@babel/runtime': 7.22.10 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.19)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.19 '@types/react-dom': 18.2.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1707,7 +1702,7 @@ packages: /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 dev: false /@remirror/core-constants@2.0.2: @@ -1783,8 +1778,8 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false - /@swc/core-darwin-arm64@1.3.74: - resolution: {integrity: sha512-2rMV4QxM583jXcREfo0MhV3Oj5pgRSfSh/kVrB1twL2rQxOrbzkAPT/8flmygdVoL4f2F7o1EY5lKlYxEBiIKQ==} + /@swc/core-darwin-arm64@1.3.75: + resolution: {integrity: sha512-anDnx9L465lGbjB2mvcV54NGHW6illr0IDvVV7JmkabYUVneaRdQvTr0tbHv3xjHnjrK1wuwVOHKV0LcQF2tnQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -1792,8 +1787,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.74: - resolution: {integrity: sha512-KKEGE1wXneYXe15fWDRM8/oekd/Q4yAuccA0vWY/7i6nOSPqWYcSDR0nRtR030ltDxWt0rk/eCTmNkrOWrKs3A==} + /@swc/core-darwin-x64@1.3.75: + resolution: {integrity: sha512-dIHDfrLmeZfr2xwi1whO7AmzdI3HdamgvxthaL+S8L1x8TeczAZEvsmZTjy3s8p3Va4rbGXcb3+uBhmfkqCbfw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -1801,8 +1796,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.74: - resolution: {integrity: sha512-HehH5DR6r/5fIVu7tu8ZqgrHkhSCQNewf1ztFQJgcmaQWn+H4AJERBjwkjosqh4TvUJucZv8vyRTvrFeBXaCSA==} + /@swc/core-linux-arm-gnueabihf@1.3.75: + resolution: {integrity: sha512-qeJmvMGrjC6xt+G0R4kVqqxvlhxJx7tTzhcEoWgLJnfvGZiF6SJdsef4OSM7HuReXrlBoEtJbfGPrLJtbV+C0w==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -1810,8 +1805,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.74: - resolution: {integrity: sha512-+xkbCRz/wczgdknoV4NwYxbRI2dD7x/qkIFcVM2buzLCq8oWLweuV8+aL4pRqu0qDh7ZSb1jcaVTUIsySCJznA==} + /@swc/core-linux-arm64-gnu@1.3.75: + resolution: {integrity: sha512-sqA9JqHEJBF4AdNuwo5zRqq0HC3l31SPsG9zpRa4nRzG5daBBJ80H7fi6PZQud1rfNNq+Q08gjYrdrxwHstvjw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -1819,8 +1814,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.74: - resolution: {integrity: sha512-maKFZSCD3tQznzPV7T3V+TtiWZFEFM8YrnSS5fQNNb+K9J65sL+170uTb3M7H4cFkG+9Sm5k5yCrCIutlvV48g==} + /@swc/core-linux-arm64-musl@1.3.75: + resolution: {integrity: sha512-95rQT5xTAL3eKhMJbJbLsZHHP9EUlh1rcrFoLf0gUApoVF8g94QjZ9hYZiI72mMP5WPjgTEXQVnVB9O2GxeaLw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -1828,8 +1823,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.74: - resolution: {integrity: sha512-LEXpcShF6DLTWJSiBhMSYZkLQ27UvaQ24fCFhoIV/R3dhYaUpHmIyLPPBNC82T03lB3ONUFVwrRw6fxDJ/f00A==} + /@swc/core-linux-x64-gnu@1.3.75: + resolution: {integrity: sha512-If7UpAhnPduMmtC+TSgPpZ1UXZfp2hIpjUFxpeCmHHYLS6Fn/2GZC5hpEiu+wvFJF0hzPh93eNAHa9gUxGUG+w==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -1837,8 +1832,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.74: - resolution: {integrity: sha512-sxsFctbFMZEFmDE7CmYljG0dMumH8XBTwwtGr8s6z0fYAzXBGNq2AFPcmEh2np9rPWkt7pE1m0ByESD+dMkbxQ==} + /@swc/core-linux-x64-musl@1.3.75: + resolution: {integrity: sha512-HOhxX0YNHTElCZqIviquka3CGYTN8rSQ6BdFfSk/K0O+ZEHx3qGte0qr+gGLPF/237GxreUkp3OMaWKuURtuCg==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -1846,8 +1841,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.74: - resolution: {integrity: sha512-F7hY9/BjFCozA4YPFYFH5FGCyWwa44vIXHqG66F5cDwXDGFn8ZtBsYIsiPfUYcx0AeAo1ojnVWKPxokZhYNYqA==} + /@swc/core-win32-arm64-msvc@1.3.75: + resolution: {integrity: sha512-7QPI+mvBXAerVfWahrgBNe+g7fK8PuetxFnZSEmXUcDXvWcdJXAndD7GjAJzbDyjQpLKHbsDKMiHYvfNxZoN/A==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -1855,8 +1850,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.74: - resolution: {integrity: sha512-qBAsiD1AlIdqED6wy3UNRHyAys9pWMUidX0LJ6mj24r/vfrzzTBAUrLJe5m7bzE+F1Rgi001avYJeEW1DLEJ+Q==} + /@swc/core-win32-ia32-msvc@1.3.75: + resolution: {integrity: sha512-EfABCy4Wlq7O5ShWsm32FgDkSjyeyj/SQ4wnUIvWpkXhgfT1iNXky7KRU1HtX+SmnVk/k/NnabVZpIklYbjtZA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -1864,8 +1859,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.74: - resolution: {integrity: sha512-S3YAvvLprTnPRwQuy9Dkwubb5SRLpVK3JJsqYDbGfgj8PGQyKHZcVJ5X3nfFsoWLy3j9B/3Os2nawprRSzeC5A==} + /@swc/core-win32-x64-msvc@1.3.75: + resolution: {integrity: sha512-cTvP0pOD9C3pSp1cwtt85ZsrUkQz8RZfSPhM+jCGxKxmoowDCnInoOQ4Ica/ehyuUnQ4/IstSdYtYpO5yzPDJg==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -1873,8 +1868,8 @@ packages: dev: true optional: true - /@swc/core@1.3.74: - resolution: {integrity: sha512-P+MIExOTdWlfq8Heb1/NhBAke6UTckd4cRDuJoFcFMGBRvgoCMNWhnfP3FRRXPLI7GGg27dRZS+xHiqYyQmSrA==} + /@swc/core@1.3.75: + resolution: {integrity: sha512-YLqd5oZVnaOq/OzkjRSsJUQqAfKYiD0fzUyVUPVlNNCoQEfVfSMcXH80hLmYe9aDH0T/a7qEMjWyIr/0kWqy1A==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -1883,16 +1878,16 @@ packages: '@swc/helpers': optional: true optionalDependencies: - '@swc/core-darwin-arm64': 1.3.74 - '@swc/core-darwin-x64': 1.3.74 - '@swc/core-linux-arm-gnueabihf': 1.3.74 - '@swc/core-linux-arm64-gnu': 1.3.74 - '@swc/core-linux-arm64-musl': 1.3.74 - '@swc/core-linux-x64-gnu': 1.3.74 - '@swc/core-linux-x64-musl': 1.3.74 - '@swc/core-win32-arm64-msvc': 1.3.74 - '@swc/core-win32-ia32-msvc': 1.3.74 - '@swc/core-win32-x64-msvc': 1.3.74 + '@swc/core-darwin-arm64': 1.3.75 + '@swc/core-darwin-x64': 1.3.75 + '@swc/core-linux-arm-gnueabihf': 1.3.75 + '@swc/core-linux-arm64-gnu': 1.3.75 + '@swc/core-linux-arm64-musl': 1.3.75 + '@swc/core-linux-x64-gnu': 1.3.75 + '@swc/core-linux-x64-musl': 1.3.75 + '@swc/core-win32-arm64-msvc': 1.3.75 + '@swc/core-win32-ia32-msvc': 1.3.75 + '@swc/core-win32-x64-msvc': 1.3.75 dev: true /@tailwindcss/typography@0.5.9(tailwindcss@3.3.3): @@ -2394,7 +2389,7 @@ packages: optional: true dependencies: '@babel/generator': 7.17.7 - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@babel/traverse': 7.17.3 '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 @@ -2478,10 +2473,10 @@ packages: /@types/react-dom@18.2.7: resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.19 - /@types/react@18.2.18: - resolution: {integrity: sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==} + /@types/react@18.2.19: + resolution: {integrity: sha512-e2S8wmY1ePfM517PqCG80CcE48Xs5k0pwJzuDZsfE8IZRRBfOMCF+XqnFxu6mWtyivum1MQm4aco+WIt6Coimw==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -2627,13 +2622,13 @@ packages: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.2 - /@vitejs/plugin-react-swc@3.3.2(vite@4.4.8): + /@vitejs/plugin-react-swc@3.3.2(vite@4.4.9): resolution: {integrity: sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA==} peerDependencies: vite: ^4 dependencies: - '@swc/core': 1.3.74 - vite: 4.4.8(@types/node@18.17.3) + '@swc/core': 1.3.75 + vite: 4.4.9(@types/node@18.17.3) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -2663,15 +2658,11 @@ packages: - supports-color dev: false - /agentkeepalive@4.4.0: - resolution: {integrity: sha512-MysLRwkhsJTZKs+fsZIsTgBlr3IjQroonVJWMSqC9k3LS6f6ZifePl9fCqOtvc8p0CeYDSZVFvytdkwhOGaSZA==} + /agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4 - depd: 2.0.0 humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color dev: false /aggregate-error@3.1.0: @@ -2882,11 +2873,11 @@ packages: dequal: 2.0.3 dev: true - /babel-plugin-transform-react-createelement-to-jsx@1.1.0(@babel/core@7.22.9): + /babel-plugin-transform-react-createelement-to-jsx@1.1.0(@babel/core@7.22.10): resolution: {integrity: sha512-43xMHy06ARCmF8UKte/9OJ+gp5bh51UoUe5SYTSBh3zFtcjxzCTzwKyGv8uOWGQNYrrPAl6iyynxARSXDCXoNA==} engines: {node: '>=0.12'} dependencies: - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@babel/polyfill': 7.12.1 transitivePeerDependencies: - '@babel/core' @@ -2931,7 +2922,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001519 - electron-to-chromium: 1.4.485 + electron-to-chromium: 1.4.487 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) @@ -3325,11 +3316,6 @@ packages: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -3408,8 +3394,8 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - /electron-to-chromium@1.4.485: - resolution: {integrity: sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w==} + /electron-to-chromium@1.4.487: + resolution: {integrity: sha512-XbCRs/34l31np/p33m+5tdBrdXu9jJkZxSbNxj5I0H1KtV2ZMSB+i/HYqDiRzHaFx2T5EdytjoBRe8QRJE2vQg==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3571,34 +3557,34 @@ packages: '@esbuild/win32-x64': 0.17.19 dev: false - /esbuild@0.18.18: - resolution: {integrity: sha512-UckDPWvdVJLNT0npk5AMTpVwGRQhS76rWFLmHwEtgNvWlR9sgVV1eyc/oeBtM86q9s8ABBLMmm0CwNxhVemOiw==} + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.18 - '@esbuild/android-arm64': 0.18.18 - '@esbuild/android-x64': 0.18.18 - '@esbuild/darwin-arm64': 0.18.18 - '@esbuild/darwin-x64': 0.18.18 - '@esbuild/freebsd-arm64': 0.18.18 - '@esbuild/freebsd-x64': 0.18.18 - '@esbuild/linux-arm': 0.18.18 - '@esbuild/linux-arm64': 0.18.18 - '@esbuild/linux-ia32': 0.18.18 - '@esbuild/linux-loong64': 0.18.18 - '@esbuild/linux-mips64el': 0.18.18 - '@esbuild/linux-ppc64': 0.18.18 - '@esbuild/linux-riscv64': 0.18.18 - '@esbuild/linux-s390x': 0.18.18 - '@esbuild/linux-x64': 0.18.18 - '@esbuild/netbsd-x64': 0.18.18 - '@esbuild/openbsd-x64': 0.18.18 - '@esbuild/sunos-x64': 0.18.18 - '@esbuild/win32-arm64': 0.18.18 - '@esbuild/win32-ia32': 0.18.18 - '@esbuild/win32-x64': 0.18.18 + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 dev: true /escalade@3.1.1: @@ -3640,8 +3626,8 @@ packages: supports-hyperlinks: 2.3.0 dev: false - /eslint-import-resolver-node@0.3.8: - resolution: {integrity: sha512-tEe+Pok22qIGaK3KoMP+N96GVDS66B/zreoVVmiavLvRUEmGRtvb4B8wO9jwnb8d2lvHtrkhZ7UD73dWBVnf/Q==} + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.0 @@ -3650,7 +3636,7 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint@8.46.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.46.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -3674,7 +3660,7 @@ packages: '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@4.9.5) debug: 3.2.7 eslint: 8.46.0 - eslint-import-resolver-node: 0.3.8 + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: false @@ -3697,8 +3683,8 @@ packages: debug: 3.2.7 doctrine: 2.1.0 eslint: 8.46.0 - eslint-import-resolver-node: 0.3.8 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint@8.46.0) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.46.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -3721,7 +3707,7 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 aria-query: 5.3.0 array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 @@ -4006,8 +3992,8 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /framer-motion@10.15.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HDjWrYWgbO5orKuhnXETLFzk7UUvwWur2HFs2elAZ8lVpI49ClHql31DNTVvVBcOrSHfAOS4eBDBedIvOx634w==} + /framer-motion@10.15.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6avJj/Uftblw0fMmo6jDHkKRH4TBdkMX/FiyR3G/hFe3hQHE4BUNJCqlMPKg9EzfI5jyqDOwO5oDnU+bW5y0eg==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -4859,7 +4845,7 @@ packages: resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - agentkeepalive: 4.4.0 + agentkeepalive: 4.5.0 cacache: 17.1.3 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 @@ -5330,12 +5316,12 @@ packages: /million@2.5.4-beta.2: resolution: {integrity: sha512-w9oZb83k+Zha8K/NJjOuEyBPUAeJaf9E8UFtwO5KIRoNHjhlHXcY0Rh9yaQD4wwARxcVy9/H2IvYRU1/PZm7aw==} dependencies: - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 - babel-plugin-transform-react-createelement-to-jsx: 1.1.0(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/types': 7.22.10 + babel-plugin-transform-react-createelement-to-jsx: 1.1.0(@babel/core@7.22.10) kleur: 4.1.5 unplugin: 1.4.0 transitivePeerDependencies: @@ -5807,7 +5793,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -6308,7 +6294,7 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: false - /react-markdown@8.0.7(@types/react@18.2.18)(react@18.2.0): + /react-markdown@8.0.7(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} peerDependencies: '@types/react': '>=16' @@ -6316,7 +6302,7 @@ packages: dependencies: '@types/hast': 2.3.5 '@types/prop-types': 15.7.5 - '@types/react': 18.2.18 + '@types/react': 18.2.19 '@types/unist': 2.0.7 comma-separated-tokens: 2.0.3 hast-util-whitespace: 2.0.1 @@ -6348,7 +6334,7 @@ packages: react-fast-compare: 3.2.2 dev: false - /react-remove-scroll-bar@2.3.4(@types/react@18.2.18)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -6358,13 +6344,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.19 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.18)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.19)(react@18.2.0) tslib: 2.6.1 dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.18)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -6374,13 +6360,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.19 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.18)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.18)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.19)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.19)(react@18.2.0) tslib: 2.6.1 - use-callback-ref: 1.3.0(@types/react@18.2.18)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.18)(react@18.2.0) + use-callback-ref: 1.3.0(@types/react@18.2.19)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.19)(react@18.2.0) dev: false /react-router-dom@6.14.2(react-dom@18.2.0)(react@18.2.0): @@ -6411,7 +6397,7 @@ packages: engines: {node: '>=0.12.0'} dev: false - /react-style-singleton@2.2.1(@types/react@18.2.18)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -6421,7 +6407,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.19 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -6505,6 +6491,10 @@ packages: /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} /regexp.prototype.flags@1.5.0: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} @@ -7363,7 +7353,7 @@ packages: tlds: 1.240.0 dev: false - /use-callback-ref@1.3.0(@types/react@18.2.18)(react@18.2.0): + /use-callback-ref@1.3.0(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} engines: {node: '>=10'} peerDependencies: @@ -7373,12 +7363,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.19 react: 18.2.0 tslib: 2.6.1 dev: false - /use-sidecar@1.1.2(@types/react@18.2.18)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.19)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -7388,7 +7378,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.19 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.1 @@ -7457,21 +7447,21 @@ packages: vfile-message: 3.1.4 dev: false - /vite-plugin-top-level-await@1.3.1(vite@4.4.8): + /vite-plugin-top-level-await@1.3.1(vite@4.4.9): resolution: {integrity: sha512-55M1h4NAwkrpxPNOJIBzKZFihqLUzIgnElLSmPNPMR2Fn9+JHKaNg3sVX1Fq+VgvuBksQYxiD3OnwQAUu7kaPQ==} peerDependencies: vite: '>=2.8' dependencies: '@rollup/plugin-virtual': 3.0.1 - '@swc/core': 1.3.74 + '@swc/core': 1.3.75 uuid: 9.0.0 - vite: 4.4.8(@types/node@18.17.3) + vite: 4.4.9(@types/node@18.17.3) transitivePeerDependencies: - '@swc/helpers' - rollup dev: true - /vite-tsconfig-paths@4.2.0(typescript@4.9.5)(vite@4.4.8): + /vite-tsconfig-paths@4.2.0(typescript@4.9.5)(vite@4.4.9): resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==} peerDependencies: vite: '*' @@ -7482,14 +7472,14 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 2.1.2(typescript@4.9.5) - vite: 4.4.8(@types/node@18.17.3) + vite: 4.4.9(@types/node@18.17.3) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.4.8(@types/node@18.17.3): - resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==} + /vite@4.4.9(@types/node@18.17.3): + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -7517,7 +7507,7 @@ packages: optional: true dependencies: '@types/node': 18.17.3 - esbuild: 0.18.18 + esbuild: 0.18.20 postcss: 8.4.27 rollup: 3.27.2 optionalDependencies: @@ -7659,8 +7649,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /zustand@4.4.0(@types/react@18.2.18)(immer@10.0.2)(react@18.2.0): - resolution: {integrity: sha512-2dq6wq4dSxbiPTamGar0NlIG/av0wpyWZJGeQYtUOLegIUvhM2Bf86ekPlmgpUtS5uR7HyetSiktYrGsdsyZgQ==} + /zustand@4.4.1(@types/react@18.2.19)(immer@10.0.2)(react@18.2.0): + resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -7674,7 +7664,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.18 + '@types/react': 18.2.19 immer: 10.0.2 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) @@ -7708,8 +7698,8 @@ packages: '@tauri-apps/api': 2.0.0-alpha.5 dev: false - github.com/tauri-apps/tauri-plugin-dialog/c84cc21fbcd1cd284a4832e8021e08460cd42963: - resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-dialog/tar.gz/c84cc21fbcd1cd284a4832e8021e08460cd42963} + github.com/tauri-apps/tauri-plugin-dialog/2a358d18e865b31c6878f91bd068cfe36d00d639: + resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-dialog/tar.gz/2a358d18e865b31c6878f91bd068cfe36d00d639} name: '@tauri-apps/plugin-dialog' version: 2.0.0-alpha.0 dependencies: @@ -7724,8 +7714,8 @@ packages: '@tauri-apps/api': 2.0.0-alpha.5 dev: false - github.com/tauri-apps/tauri-plugin-http/b23c48592e1b6f1924feb273e1754944063e4ee8: - resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-http/tar.gz/b23c48592e1b6f1924feb273e1754944063e4ee8} + github.com/tauri-apps/tauri-plugin-http/6d45e3ecae761f1990ed6366e6138c69775c58d8: + resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-http/tar.gz/6d45e3ecae761f1990ed6366e6138c69775c58d8} name: '@tauri-apps/plugin-http' version: 2.0.0-alpha.0 dependencies: @@ -7756,8 +7746,8 @@ packages: '@tauri-apps/api': 2.0.0-alpha.5 dev: false - github.com/tauri-apps/tauri-plugin-shell/ecff26b9c9c4084374dd12ddbe24fc77fe382990: - resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-shell/tar.gz/ecff26b9c9c4084374dd12ddbe24fc77fe382990} + github.com/tauri-apps/tauri-plugin-shell/e538c5178508060d6fc1d1f8b03fa8f40fb53626: + resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-shell/tar.gz/e538c5178508060d6fc1d1f8b03fa8f40fb53626} name: '@tauri-apps/plugin-shell' version: 2.0.0-alpha.0 dependencies: diff --git a/src-tauri/migrations/20230808085847_add_relays_table.sql b/src-tauri/migrations/20230808085847_add_relays_table.sql new file mode 100644 index 00000000..17953d97 --- /dev/null +++ b/src-tauri/migrations/20230808085847_add_relays_table.sql @@ -0,0 +1,10 @@ +-- Add migration script here +CREATE TABLE + relays ( + id INTEGER NOT NULL PRIMARY KEY, + account_id INTEGER NOT NULL, + relay TEXT NOT NULL, + purpose TEXT NOT NULL DEFAULT '', + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (account_id) REFERENCES accounts (id) + ); \ No newline at end of file diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 8988832d..8f595610 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -105,6 +105,12 @@ fn main() { sql: include_str!("../migrations/20230804083544_add_network_to_account.sql"), kind: MigrationKind::Up, }, + Migration { + version: 20230808085847, + description: "add relays", + sql: include_str!("../migrations/20230808085847_add_relays_table.sql"), + kind: MigrationKind::Up, + }, ], ) .build(), diff --git a/src/app.tsx b/src/app.tsx index 37d6ed57..04d62d74 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -10,6 +10,9 @@ import { ImportStep2Screen } from '@app/auth/import/step-2'; import { ImportStep3Screen } from '@app/auth/import/step-3'; import { MigrateScreen } from '@app/auth/migrate'; import { OnboardingScreen } from '@app/auth/onboarding'; +import { OnboardStep1Screen } from '@app/auth/onboarding/step-1'; +import { OnboardStep2Screen } from '@app/auth/onboarding/step-2'; +import { OnboardStep3Screen } from '@app/auth/onboarding/step-3'; import { ResetScreen } from '@app/auth/reset'; import { UnlockScreen } from '@app/auth/unlock'; import { WelcomeScreen } from '@app/auth/welcome'; @@ -77,7 +80,6 @@ const router = createBrowserRouter([ element: , children: [ { path: 'welcome', element: }, - { path: 'onboarding', element: }, { path: 'import', element: , @@ -96,6 +98,15 @@ const router = createBrowserRouter([ { path: 'step-3', element: }, ], }, + { + path: 'onboarding', + element: , + children: [ + { path: '', element: }, + { path: 'step-2', element: }, + { path: 'step-3', element: }, + ], + }, { path: 'unlock', element: }, { path: 'migrate', element: }, { path: 'reset', element: }, diff --git a/src/app/auth/components/user.tsx b/src/app/auth/components/user.tsx index 99e2e399..177e3012 100644 --- a/src/app/auth/components/user.tsx +++ b/src/app/auth/components/user.tsx @@ -3,7 +3,7 @@ import { Image } from '@shared/image'; import { DEFAULT_AVATAR } from '@stores/constants'; import { useProfile } from '@utils/hooks/useProfile'; -import { shortenKey } from '@utils/shortenKey'; +import { displayNpub } from '@utils/shortenKey'; export function User({ pubkey, fallback }: { pubkey: string; fallback?: string }) { const { status, user } = useProfile(pubkey, fallback); @@ -32,10 +32,10 @@ export function User({ pubkey, fallback }: { pubkey: string; fallback?: string }
- {user?.name || user?.displayName || user?.display_name} + {user?.name || user?.display_name || user?.nip05} - {user?.nip05?.toLowerCase() || shortenKey(pubkey)} + {user?.nip05?.toLowerCase() || displayNpub(pubkey, 16)}
diff --git a/src/app/auth/components/userRelay.tsx b/src/app/auth/components/userRelay.tsx new file mode 100644 index 00000000..2280c7db --- /dev/null +++ b/src/app/auth/components/userRelay.tsx @@ -0,0 +1,39 @@ +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { displayNpub } from '@utils/shortenKey'; + +export function UserRelay({ pubkey }: { pubkey: string }) { + const { status, user } = useProfile(pubkey); + + if (status === 'loading') { + return ( +
+
+
+ + +
+
+ ); + } + + return ( +
+ Use by +
+ {pubkey} + + {user?.name || user?.display_name || user?.nip05 || displayNpub(pubkey, 16)} + +
+
+ ); +} diff --git a/src/app/auth/create/step-3.tsx b/src/app/auth/create/step-3.tsx index 84ba8c3d..fbc90e6d 100644 --- a/src/app/auth/create/step-3.tsx +++ b/src/app/auth/create/step-3.tsx @@ -1,3 +1,4 @@ +import { useQueryClient } from '@tanstack/react-query'; import { useState } from 'react'; import { useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; @@ -14,7 +15,9 @@ import { usePublish } from '@utils/hooks/usePublish'; export function CreateStep3Screen() { const { publish } = usePublish(); + const navigate = useNavigate(); + const queryClient = useQueryClient(); const [loading, setLoading] = useState(false); const [picture, setPicture] = useState(DEFAULT_AVATAR); @@ -43,8 +46,10 @@ export function CreateStep3Screen() { tags: [], }); + queryClient.invalidateQueries(['currentAccount']); + if (event) { - setTimeout(() => navigate('/auth/create/step-4', { replace: true }), 1000); + setTimeout(() => navigate('/auth/onboarding', { replace: true }), 1000); } } catch (e) { console.log('error: ', e); diff --git a/src/app/auth/import/step-3.tsx b/src/app/auth/import/step-3.tsx index f2e89c2a..d3a034fc 100644 --- a/src/app/auth/import/step-3.tsx +++ b/src/app/auth/import/step-3.tsx @@ -6,8 +6,7 @@ import { User } from '@app/auth/components/user'; import { updateLastLogin } from '@libs/storage'; -import { LoaderIcon } from '@shared/icons'; -import { ArrowRightCircleIcon } from '@shared/icons/arrowRightCircle'; +import { ArrowRightCircleIcon, LoaderIcon } from '@shared/icons'; import { useAccount } from '@utils/hooks/useAccount'; import { useNostr } from '@utils/hooks/useNostr'; @@ -33,7 +32,7 @@ export function ImportStep3Screen() { queryClient.invalidateQueries(['currentAccount']); - navigate('/', { replace: true }); + navigate('/auth/onboarding/step-2', { replace: true }); } catch (e) { console.log('error: ', e); setLoading(false); diff --git a/src/app/auth/onboarding.tsx b/src/app/auth/onboarding.tsx deleted file mode 100644 index 70bad924..00000000 --- a/src/app/auth/onboarding.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import { useState } from 'react'; -import { Link, useNavigate } from 'react-router-dom'; - -import { LoaderIcon } from '@shared/icons'; -import { ArrowRightCircleIcon } from '@shared/icons/arrowRightCircle'; -import { User } from '@shared/user'; - -import { useAccount } from '@utils/hooks/useAccount'; -import { usePublish } from '@utils/hooks/usePublish'; - -export function OnboardingScreen() { - const navigate = useNavigate(); - - const { publish } = usePublish(); - const { status, account } = useAccount(); - - const [loading, setLoading] = useState(false); - - const submit = async () => { - try { - setLoading(true); - - // publish event - publish({ - content: 'Running Lume, join with me #nostr #lume : https://lume.nu', - kind: 1, - tags: [], - }); - - // redirect to home - setTimeout(() => navigate('/', { replace: true }), 1200); - } catch (error) { - console.log(error); - } - }; - - return ( -
-
-
-

- 👋 Hello, welcome you to Lume -

-

- You're a part of Nostr community now -

-

- If Lume gets your attention, please help us spread it and don't forget - invite your friend join with you, we can have fun togother -

-
-
-
- {status === 'success' && ( - - )} -
-

Running Lume, join with me #nostr #lume

- - https://lume.nu - -
-
-
-
- - - Skip - -
-
-
- ); -} diff --git a/src/app/auth/onboarding/index.tsx b/src/app/auth/onboarding/index.tsx new file mode 100644 index 00000000..8a9358a7 --- /dev/null +++ b/src/app/auth/onboarding/index.tsx @@ -0,0 +1,9 @@ +import { Outlet } from 'react-router-dom'; + +export function OnboardingScreen() { + return ( +
+ +
+ ); +} diff --git a/src/app/auth/onboarding/step-1.tsx b/src/app/auth/onboarding/step-1.tsx new file mode 100644 index 00000000..5a7ebc0d --- /dev/null +++ b/src/app/auth/onboarding/step-1.tsx @@ -0,0 +1,123 @@ +import { useQuery, useQueryClient } from '@tanstack/react-query'; +import { useState } from 'react'; +import { Link, useNavigate } from 'react-router-dom'; + +import { User } from '@app/auth/components/user'; + +import { updateAccount } from '@libs/storage'; + +import { ArrowRightCircleIcon, CheckCircleIcon, LoaderIcon } from '@shared/icons'; + +import { useAccount } from '@utils/hooks/useAccount'; +import { usePublish } from '@utils/hooks/usePublish'; +import { arrayToNIP02 } from '@utils/transform'; + +export function OnboardStep1Screen() { + const queryClient = useQueryClient(); + const navigate = useNavigate(); + + const { publish } = usePublish(); + const { account } = useAccount(); + const { status, data } = useQuery(['trending-profiles'], async () => { + const res = await fetch('https://api.nostr.band/v0/trending/profiles'); + if (!res.ok) { + throw new Error('Error'); + } + return res.json(); + }); + + const [loading, setLoading] = useState(false); + const [follows, setFollows] = useState([]); + + // toggle follow state + const toggleFollow = (pubkey: string) => { + const arr = follows.includes(pubkey) + ? follows.filter((i) => i !== pubkey) + : [...follows, pubkey]; + setFollows(arr); + }; + + const submit = async () => { + try { + setLoading(true); + + const tags = arrayToNIP02([...follows, account.pubkey]); + const event = await publish({ content: '', kind: 3, tags: tags }); + await updateAccount('follows', follows); + + // redirect to next step + if (event) { + setTimeout(() => { + queryClient.invalidateQueries(['currentAccount']); + navigate('/auth/onboarding/step-2', { replace: true }); + }, 1000); + } + } catch { + console.log('error'); + } + }; + + return ( +
+
+

Enrich your network

+

Choose account you want to follow

+
+
+
+ {status === 'loading' ? ( +
+ +
+ ) : ( + data?.profiles.map( + (item: { pubkey: string; profile: { content: string } }) => ( + + ) + ) + )} +
+
+ + + Skip, you can add later + +
+
+
+ ); +} diff --git a/src/app/auth/onboarding/step-2.tsx b/src/app/auth/onboarding/step-2.tsx new file mode 100644 index 00000000..d0c2e395 --- /dev/null +++ b/src/app/auth/onboarding/step-2.tsx @@ -0,0 +1,117 @@ +import { useState } from 'react'; +import { Link, useNavigate } from 'react-router-dom'; + +import { createBlock } from '@libs/storage'; + +import { ArrowRightCircleIcon, CheckCircleIcon, LoaderIcon } from '@shared/icons'; + +import { BLOCK_KINDS } from '@stores/constants'; + +const data = [ + { hashtag: '#bitcoin' }, + { hashtag: '#nostr' }, + { hashtag: '#zap' }, + { hashtag: '#LFG' }, + { hashtag: '#zapchain' }, + { hashtag: '#plebchain' }, + { hashtag: '#nodes' }, + { hashtag: '#hodl' }, + { hashtag: '#stacksats' }, + { hashtag: '#nokyc' }, + { hashtag: '#anime' }, + { hashtag: '#waifu' }, + { hashtag: '#manga' }, + { hashtag: '#nostriches' }, + { hashtag: '#dev' }, +]; + +export function OnboardStep2Screen() { + const navigate = useNavigate(); + + const [loading, setLoading] = useState(false); + const [tags, setTags] = useState(new Set()); + + const toggleTag = (tag: string) => { + if (tags.has(tag)) { + setTags((prev) => { + prev.delete(tag); + return new Set(prev); + }); + } else { + if (tags.size >= 3) return; + setTags((prev) => new Set(prev.add(tag))); + } + }; + + const submit = async () => { + try { + setLoading(true); + + for (const tag of tags) { + await createBlock(BLOCK_KINDS.hashtag, tag, tag.replace('#', '')); + } + + setTimeout(() => navigate('/auth/onboarding/step-3', { replace: true }), 1000); + } catch { + console.log('error'); + } + }; + + return ( +
+
+

+ Choose {tags.size}/3 your favorite tags +

+

Customize your space which hashtag widget

+
+
+
+ {data.map((item: { hashtag: string }) => ( + + ))} +
+
+ + + Skip, you can add later + +
+
+
+ ); +} diff --git a/src/app/auth/onboarding/step-3.tsx b/src/app/auth/onboarding/step-3.tsx new file mode 100644 index 00000000..4f422cee --- /dev/null +++ b/src/app/auth/onboarding/step-3.tsx @@ -0,0 +1,172 @@ +import { useQuery } from '@tanstack/react-query'; +import { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; + +import { UserRelay } from '@app/auth/components/userRelay'; + +import { useNDK } from '@libs/ndk/provider'; +import { createRelay } from '@libs/storage'; + +import { ArrowRightCircleIcon, CheckCircleIcon, LoaderIcon } from '@shared/icons'; + +import { FULL_RELAYS } from '@stores/constants'; + +import { useAccount } from '@utils/hooks/useAccount'; +import { usePublish } from '@utils/hooks/usePublish'; + +export function OnboardStep3Screen() { + const navigate = useNavigate(); + + const [loading, setLoading] = useState(false); + const [relays, setRelays] = useState(new Set()); + + const { publish } = usePublish(); + const { account } = useAccount(); + const { fetcher, relayUrls } = useNDK(); + const { status, data } = useQuery( + ['relays'], + async () => { + const tmp = new Map(); + const events = await fetcher.fetchAllEvents( + relayUrls, + { kinds: [10002], authors: account.follows }, + { since: 0 } + ); + + if (events) { + events.forEach((event) => { + event.tags.forEach((tag) => { + tmp.set(tag[1], event.pubkey); + }); + }); + } + + return tmp; + }, + { + enabled: account ? true : false, + } + ); + + const toggleRelay = (relay: string) => { + if (relays.has(relay)) { + setRelays((prev) => { + prev.delete(relay); + return new Set(prev); + }); + } else { + setRelays((prev) => new Set(prev.add(relay))); + } + }; + + const submit = async (skip?: boolean) => { + setLoading(true); + try { + if (!skip) { + for (const relay of relays) { + await createRelay(relay); + } + + const tags = Array.from(relays).map((relay) => ['r', relay.replace(/\/+$/, '')]); + await publish({ content: '', kind: 10002, tags: tags }); + } else { + for (const relay of FULL_RELAYS) { + await createRelay(relay); + } + } + + setTimeout(() => { + navigate('/', { replace: true }); + }, 1000); + } catch (e) { + setLoading(false); + console.log('error: ', e); + } + }; + + const relaysAsArray = Array.from(data?.keys() || []); + + return ( +
+
+

Relay discovery

+

+ You can add relay which is using by who you're following to easier reach + their content. Learn more about relay{' '} + + here (nostr.com) + +

+
+
+
+ {status === 'loading' ? ( +
+ +
+ ) : ( + relaysAsArray.map((item, index) => ( + + )) + )} + {relays.size > 5 && ( +
+

+ Using too much relay can cause high resource usage +

+
+ )} +
+
+ + +
+
+
+ ); +} diff --git a/src/libs/ndk/instance.ts b/src/libs/ndk/instance.ts index f8ae4d84..7d406c45 100644 --- a/src/libs/ndk/instance.ts +++ b/src/libs/ndk/instance.ts @@ -1,30 +1,38 @@ // source: https://github.com/nostr-dev-kit/ndk-react/ -import NDK, { NDKCacheAdapter } from '@nostr-dev-kit/ndk'; +import NDK from '@nostr-dev-kit/ndk'; import { ndkAdapter } from '@nostr-fetch/adapter-ndk'; -import { NostrFetcher, normalizeRelayUrlSet } from 'nostr-fetch'; +import { NostrFetcher } from 'nostr-fetch'; import { useEffect, useState } from 'react'; import TauriAdapter from '@libs/ndk/cache'; -import { getSetting } from '@libs/storage'; +import { getExplicitRelayUrls } from '@libs/storage'; -const setting = await getSetting('relays'); -const relays = normalizeRelayUrlSet(JSON.parse(setting)); +import { FULL_RELAYS } from '@stores/constants'; export const NDKInstance = () => { const [ndk, setNDK] = useState(undefined); - const [relayUrls, setRelayUrls] = useState(relays); + const [relayUrls, setRelayUrls] = useState([]); const [fetcher, setFetcher] = useState(undefined); + const [cacheAdapter] = useState(new TauriAdapter()); useEffect(() => { - const cacheAdapter = new TauriAdapter(); - loadNdk(relays, cacheAdapter); + loadNdk(); return () => { cacheAdapter.save(); }; - }, [relays]); + }, []); + + async function loadNdk() { + let explicitRelayUrls: string[]; + const explicitRelayUrlsFromDB = await getExplicitRelayUrls(); + + if (explicitRelayUrlsFromDB) { + explicitRelayUrls = explicitRelayUrlsFromDB; + } else { + explicitRelayUrls = FULL_RELAYS; + } - async function loadNdk(explicitRelayUrls: string[], cacheAdapter: NDKCacheAdapter) { const ndkInstance = new NDK({ explicitRelayUrls, cacheAdapter }); try { diff --git a/src/libs/ndk/provider.tsx b/src/libs/ndk/provider.tsx index 6ebef78f..b089e722 100644 --- a/src/libs/ndk/provider.tsx +++ b/src/libs/ndk/provider.tsx @@ -9,7 +9,7 @@ interface NDKContext { ndk: NDK; relayUrls: string[]; fetcher: NostrFetcher; - loadNdk: (_: string[]) => void; + loadNdk: () => void; } const NDKContext = createContext({ diff --git a/src/libs/storage.tsx b/src/libs/storage.tsx index 1ffdb84e..2a20c258 100644 --- a/src/libs/storage.tsx +++ b/src/libs/storage.tsx @@ -3,7 +3,15 @@ import destr from 'destr'; import { parser } from '@utils/parser'; import { getParentID } from '@utils/transform'; -import { Account, Block, Chats, LumeEvent, Profile, Settings } from '@utils/types'; +import { + Account, + Block, + Chats, + LumeEvent, + Profile, + Relays, + Settings, +} from '@utils/types'; let db: null | Database = null; @@ -507,3 +515,39 @@ export async function removePrivkey() { `UPDATE accounts SET privkey = "privkey is stored in secure storage" WHERE id = "${activeAccount.id}";` ); } + +// get relays +export async function getRelays() { + const db = await connect(); + const activeAccount = await getActiveAccount(); + return (await db.select( + `SELECT * FROM relays WHERE account_id = "${activeAccount.id}";` + )) as Relays[]; +} + +// get relays +export async function getExplicitRelayUrls() { + const db = await connect(); + const activeAccount = await getActiveAccount(); + const result: Relays[] = await db.select( + `SELECT * FROM relays WHERE account_id = "${activeAccount.id}";` + ); + if (result.length > 0) return result.map((el) => el.relay); + return null; +} + +// create relay +export async function createRelay(relay: string, purpose?: string) { + const db = await connect(); + const activeAccount = await getActiveAccount(); + return await db.execute( + 'INSERT OR IGNORE INTO blocks (account_id, relay, purpose) VALUES (?, ?, ?);', + [activeAccount.id, relay, purpose || ''] + ); +} + +// remove relay +export async function removeRelay(relay: string) { + const db = await connect(); + return await db.execute(`DELETE FROM relays WHERE relay = "${relay}";`); +} diff --git a/src/shared/icons/index.tsx b/src/shared/icons/index.tsx index 1ea186cf..c0dd75a0 100644 --- a/src/shared/icons/index.tsx +++ b/src/shared/icons/index.tsx @@ -48,4 +48,5 @@ export * from './thread'; export * from './strangers'; export * from './download'; export * from './horizontalDots'; +export * from './arrowRightCircle'; // @endindex diff --git a/src/stores/constants.tsx b/src/stores/constants.tsx index 3e5933f1..7bd630cb 100644 --- a/src/stores/constants.tsx +++ b/src/stores/constants.tsx @@ -66,8 +66,6 @@ export const OPENGRAPH = { export const FULL_RELAYS = [ 'wss://relayable.org', 'wss://relay.damus.io', - 'wss://relay.nostrgraph.net', - 'wss://relay.nostr.band/all', 'wss://nostr.mutinywallet.com', ]; diff --git a/src/utils/types.d.ts b/src/utils/types.d.ts index b56ae3e8..da977d63 100644 --- a/src/utils/types.d.ts +++ b/src/utils/types.d.ts @@ -55,3 +55,10 @@ export interface Settings { key: string; value: string; } + +export interface Relays { + id?: string; + account_id?: number; + relay: string; + purpose?: string; +}