diff --git a/.prettierrc b/.prettierrc index 66a5b92cd..c294aaca5 100644 --- a/.prettierrc +++ b/.prettierrc @@ -11,7 +11,6 @@ "^@app/(.*)$", "^@libs/(.*)$", "^@shared/(.*)$", - "^@stores/(.*)$", "^@utils/(.*)$", "^[./]" ], diff --git a/index.html b/index.html index 7e1a22dba..55d618367 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,9 @@ Lume - +
diff --git a/package.json b/package.json index b3891efd3..285211c2e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lume", "description": "the communication app", "private": true, - "version": "2.2.0", + "version": "2.2.1", "scripts": { "dev": "vite", "build": "vite build", @@ -33,8 +33,8 @@ "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-toolbar": "^1.0.4", "@radix-ui/react-tooltip": "^1.0.7", - "@tanstack/react-query": "^5.12.1", - "@tanstack/react-query-devtools": "^5.12.1", + "@tanstack/react-query": "^5.12.2", + "@tanstack/react-query-devtools": "^5.12.2", "@tauri-apps/api": "2.0.0-alpha.11", "@tauri-apps/cli": "2.0.0-alpha.17", "@tauri-apps/plugin-autostart": "2.0.0-alpha.3", @@ -60,16 +60,15 @@ "@tiptap/react": "^2.1.13", "@tiptap/starter-kit": "^2.1.13", "@tiptap/suggestion": "^2.1.13", + "@vidstack/react": "^1.8.3", "dayjs": "^1.11.10", "framer-motion": "^10.16.12", "html-to-text": "^9.0.5", - "idb-keyval": "^6.2.1", "light-bolt11-decoder": "^3.0.0", "lru-cache": "^10.1.0", "markdown-to-jsx": "^7.3.2", - "media-chrome": "^1.5.4", "minidenticons": "^4.2.0", - "nanoid": "^5.0.3", + "nanoid": "^5.0.4", "nostr-fetch": "^0.13.1", "nostr-tools": "^1.17.0", "qrcode.react": "^3.1.0", @@ -85,8 +84,8 @@ "sonner": "^1.2.4", "tauri-controls": "github:reyamir/tauri-controls", "tippy.js": "^6.3.7", - "tiptap-markdown": "^0.8.7", - "virtua": "^0.16.7", + "tiptap-markdown": "^0.8.8", + "virtua": "^0.17.4", "zustand": "^4.4.7" }, "devDependencies": { @@ -94,8 +93,8 @@ "@tailwindcss/typography": "^0.5.10", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/html-to-text": "^9.0.4", - "@types/node": "^20.10.2", - "@types/react": "^18.2.40", + "@types/node": "^20.10.3", + "@types/react": "^18.2.41", "@types/react-dom": "^18.2.17", "@typescript-eslint/eslint-plugin": "^6.13.1", "@typescript-eslint/parser": "^6.13.1", @@ -105,13 +104,13 @@ "cross-env": "^7.0.3", "encoding": "^0.1.13", "eslint": "^8.55.0", - "eslint-config-prettier": "^9.0.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", "husky": "^8.0.3", - "lint-staged": "^15.1.0", - "postcss": "^8.4.31", + "lint-staged": "^15.2.0", + "postcss": "^8.4.32", "prettier": "^3.1.0", "prettier-plugin-tailwindcss": "^0.5.7", "prop-types": "^15.8.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 55d8fd091..ed1f6b858 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,43 +19,43 @@ dependencies: version: 0.13.1(@nostr-dev-kit/ndk@2.2.0)(nostr-fetch@0.13.1) '@radix-ui/react-accordion': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-alert-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-avatar': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-collapsible': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dropdown-menu': specifier: ^2.0.6 - version: 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-hover-card': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popover': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-switch': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toolbar': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query': - specifier: ^5.12.1 - version: 5.12.1(react@18.2.0) + specifier: ^5.12.2 + version: 5.12.2(react@18.2.0) '@tanstack/react-query-devtools': - specifier: ^5.12.1 - version: 5.12.1(@tanstack/react-query@5.12.1)(react@18.2.0) + specifier: ^5.12.2 + version: 5.12.2(@tanstack/react-query@5.12.2)(react@18.2.0) '@tauri-apps/api': specifier: 2.0.0-alpha.11 version: 2.0.0-alpha.11 @@ -131,6 +131,9 @@ dependencies: '@tiptap/suggestion': specifier: ^2.1.13 version: 2.1.13(@tiptap/core@2.1.13)(@tiptap/pm@2.1.13) + '@vidstack/react': + specifier: ^1.8.3 + version: 1.8.3(@types/react@18.2.41)(react@18.2.0) dayjs: specifier: ^1.11.10 version: 1.11.10 @@ -140,9 +143,6 @@ dependencies: html-to-text: specifier: ^9.0.5 version: 9.0.5 - idb-keyval: - specifier: ^6.2.1 - version: 6.2.1 light-bolt11-decoder: specifier: ^3.0.0 version: 3.0.0 @@ -152,15 +152,12 @@ dependencies: markdown-to-jsx: specifier: ^7.3.2 version: 7.3.2(react@18.2.0) - media-chrome: - specifier: ^1.5.4 - version: 1.5.4 minidenticons: specifier: ^4.2.0 version: 4.2.0 nanoid: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.0.4 + version: 5.0.4 nostr-fetch: specifier: ^0.13.1 version: 0.13.1 @@ -196,7 +193,7 @@ dependencies: version: 1.1.1 reactflow: specifier: ^11.10.1 - version: 11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + version: 11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) sonner: specifier: ^1.2.4 version: 1.2.4(react-dom@18.2.0)(react@18.2.0) @@ -207,14 +204,14 @@ dependencies: specifier: ^6.3.7 version: 6.3.7 tiptap-markdown: - specifier: ^0.8.7 - version: 0.8.7(@tiptap/core@2.1.13) + specifier: ^0.8.8 + version: 0.8.8(@tiptap/core@2.1.13) virtua: - specifier: ^0.16.7 - version: 0.16.7(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.17.4 + version: 0.17.4(react-dom@18.2.0)(react@18.2.0) zustand: specifier: ^4.4.7 - version: 4.4.7(@types/react@18.2.40)(react@18.2.0) + version: 4.4.7(@types/react@18.2.41)(react@18.2.0) devDependencies: '@tailwindcss/forms': @@ -230,11 +227,11 @@ devDependencies: specifier: ^9.0.4 version: 9.0.4 '@types/node': - specifier: ^20.10.2 - version: 20.10.2 + specifier: ^20.10.3 + version: 20.10.3 '@types/react': - specifier: ^18.2.40 - version: 18.2.40 + specifier: ^18.2.41 + version: 18.2.41 '@types/react-dom': specifier: ^18.2.17 version: 18.2.17 @@ -249,7 +246,7 @@ devDependencies: version: 3.5.0(vite@4.5.0) autoprefixer: specifier: ^10.4.16 - version: 10.4.16(postcss@8.4.31) + version: 10.4.16(postcss@8.4.32) clsx: specifier: ^2.0.0 version: 2.0.0 @@ -263,8 +260,8 @@ devDependencies: specifier: ^8.55.0 version: 8.55.0 eslint-config-prettier: - specifier: ^9.0.0 - version: 9.0.0(eslint@8.55.0) + specifier: ^9.1.0 + version: 9.1.0(eslint@8.55.0) eslint-plugin-jsx-a11y: specifier: ^6.8.0 version: 6.8.0(eslint@8.55.0) @@ -278,11 +275,11 @@ devDependencies: specifier: ^8.0.3 version: 8.0.3 lint-staged: - specifier: ^15.1.0 - version: 15.1.0 + specifier: ^15.2.0 + version: 15.2.0 postcss: - specifier: ^8.4.31 - version: 8.4.31 + specifier: ^8.4.32 + version: 8.4.32 prettier: specifier: ^3.1.0 version: 3.1.0 @@ -306,7 +303,7 @@ devDependencies: version: 5.3.2 vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@20.10.2) + version: 4.5.0(@types/node@20.10.3) vite-plugin-top-level-await: specifier: ^1.3.1 version: 1.3.1(vite@4.5.0) @@ -897,7 +894,7 @@ packages: '@babel/runtime': 7.23.5 dev: false - /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} peerDependencies: '@types/react': '*' @@ -912,21 +909,21 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==} peerDependencies: '@types/react': '*' @@ -941,18 +938,18 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -966,14 +963,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==} peerDependencies: '@types/react': '*' @@ -987,17 +984,17 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -1012,20 +1009,20 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -1039,17 +1036,17 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -1059,11 +1056,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -1073,11 +1070,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -1092,26 +1089,26 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.41)(react@18.2.0) dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -1121,11 +1118,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -1140,17 +1137,17 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -1165,19 +1162,19 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -1187,11 +1184,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -1205,16 +1202,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-hover-card@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-hover-card@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==} peerDependencies: '@types/react': '*' @@ -1229,21 +1226,21 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -1253,12 +1250,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -1273,30 +1270,30 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.41)(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -1311,27 +1308,27 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.41)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -1346,22 +1343,22 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.40)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.41)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.40 + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -1375,14 +1372,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -1396,15 +1393,15 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -1418,14 +1415,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -1440,21 +1437,21 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -1468,14 +1465,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -1485,12 +1482,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==} peerDependencies: '@types/react': '*' @@ -1505,19 +1502,19 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' @@ -1532,19 +1529,19 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' @@ -1559,15 +1556,15 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} peerDependencies: '@types/react': '*' @@ -1582,19 +1579,19 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -1609,24 +1606,24 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 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.40)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -1636,11 +1633,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -1650,12 +1647,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -1665,12 +1662,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -1680,11 +1677,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: '@types/react': '*' @@ -1694,11 +1691,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -1709,11 +1706,11 @@ packages: dependencies: '@babel/runtime': 7.23.5 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.40)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -1723,12 +1720,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.40)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.41)(react@18.2.0) + '@types/react': 18.2.41 react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -1742,8 +1739,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.40 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.41 '@types/react-dom': 18.2.17 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1755,39 +1752,39 @@ packages: '@babel/runtime': 7.23.5 dev: false - /@reactflow/background@11.3.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/background@11.3.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-06FPlSUOOMALEEs+2PqPAbpqmL7WDjrkbG2UsDr2d6mbcDDhHiV4tu9FYoz44SQvXo7ma9VRotlsaR4OiRcYsg==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.7(@types/react@18.2.40)(react@18.2.0) + zustand: 4.4.7(@types/react@18.2.41)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/controls@11.2.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/controls@11.2.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-4QHT92/ACVlZkvV+Hq44bAPV8WbMhkJl+/J0EbXcqQ1+an7cWJsF84eeelJw7R5J76RoaSSpKdsWsL2v7HAVlw==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.7(@types/react@18.2.40)(react@18.2.0) + zustand: 4.4.7(@types/react@18.2.41)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/core@11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/core@11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GIh3usY1W3eVobx//OO9+Cwm+5evQBBdPGxDaeXwm25UqPMWRI240nXQA5F/5gL5Mwpf0DUC7DR2EmrKNQy+Rw==} peerDependencies: react: '>=17' @@ -1803,19 +1800,19 @@ packages: d3-zoom: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.7(@types/react@18.2.40)(react@18.2.0) + zustand: 4.4.7(@types/react@18.2.41)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/minimap@11.7.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/minimap@11.7.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kJEtyeQkTZYViLGebVWHVUJROMAGcvejvT+iX4DqKnFb5yK8E8LWlXQpRx2FrL9gDy80mJJaciy7IxnnQKE1bg==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) '@types/d3-selection': 3.0.10 '@types/d3-zoom': 3.0.8 classcat: 5.0.4 @@ -1823,41 +1820,41 @@ packages: d3-zoom: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.7(@types/react@18.2.40)(react@18.2.0) + zustand: 4.4.7(@types/react@18.2.41)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/node-resizer@2.2.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/node-resizer@2.2.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1Xb6q97uP7hRBLpog9sRCNfnsHdDgFRGEiU+lQqGgPEAeYwl4nRjWa/sXwH6ajniKxBhGEvrdzOgEFn6CRMcpQ==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 d3-drag: 3.0.0 d3-selection: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.7(@types/react@18.2.40)(react@18.2.0) + zustand: 4.4.7(@types/react@18.2.41)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/node-toolbar@1.3.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/node-toolbar@1.3.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-JXDEuZ0wKjZ8z7qK2bIst0eZPzNyVEsiHL0e93EyuqT4fA9icoyE0fLq2ryNOOp7MXgId1h7LusnH6ta45F0yQ==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.7(@types/react@18.2.40)(react@18.2.0) + zustand: 4.4.7(@types/react@18.2.41)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer @@ -2078,19 +2075,19 @@ packages: resolution: {integrity: sha512-AUWLgdZEYq/ckMZrtKpofOwqxuFiEIdy3gZOh/ouIBVra9ijXVTxYt5cZFSjXJT4q/o0DMii6xMZuIJx2qXZ6g==} dev: false - /@tanstack/react-query-devtools@5.12.1(@tanstack/react-query@5.12.1)(react@18.2.0): - resolution: {integrity: sha512-imHdhA2KGDPAPbBEyztjYDhwn2HioTk6uPc7g6W0xORKTmHETQnAuWttqUHg8VHI3CHi5ACHPUAckoHg/PllMQ==} + /@tanstack/react-query-devtools@5.12.2(@tanstack/react-query@5.12.2)(react@18.2.0): + resolution: {integrity: sha512-EpjYxwUBj+CuzAiB++FMeHzNey4TynuudfWVMsZg0uzLrnR5I0j1CWHJkNsTutb/Db9TNG1Ae66n8ywVvPd1gQ==} peerDependencies: - '@tanstack/react-query': ^5.12.1 + '@tanstack/react-query': ^5.12.2 react: ^18.0.0 dependencies: '@tanstack/query-devtools': 5.12.1 - '@tanstack/react-query': 5.12.1(react@18.2.0) + '@tanstack/react-query': 5.12.2(react@18.2.0) react: 18.2.0 dev: false - /@tanstack/react-query@5.12.1(react@18.2.0): - resolution: {integrity: sha512-pEqa0VENgw/0DunBAlnL7mruouCudclK/GecpgE5ayMAnLFW+FjBgMjNpMPeoSORzJKBsYgkgM7DYb3LQhXQxA==} + /@tanstack/react-query@5.12.2(react@18.2.0): + resolution: {integrity: sha512-BeWZu8zVFH20oRc+S/K9ADPgWjEzP/XQCGBNz5IbApUwPQAdwkQYbXODVL5AyAlWiSxhx+P2xlARPBApj2Yrog==} peerDependencies: react: ^18.0.0 dependencies: @@ -2807,8 +2804,8 @@ packages: resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} dev: false - /@types/node@20.10.2: - resolution: {integrity: sha512-37MXfxkb0vuIlRKHNxwCkb60PNBpR94u4efQuN4JgIAm66zfCDXGSAFCef9XUWFovX2R1ok6Z7MHhtdVXXkkIw==} + /@types/node@20.10.3: + resolution: {integrity: sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==} dependencies: undici-types: 5.26.5 dev: true @@ -2827,10 +2824,10 @@ packages: /@types/react-dom@18.2.17: resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==} dependencies: - '@types/react': 18.2.40 + '@types/react': 18.2.41 - /@types/react@18.2.40: - resolution: {integrity: sha512-H+BUhb9C1zBtogDLAk+KCNRKiHDrqSwQT/0z0PVTwMFBxqg3011ByLomADtgkgMkfwj4AMOiXBReyLTUBg681g==} + /@types/react@18.2.41: + resolution: {integrity: sha512-CwOGr/PiLiNBxEBqpJ7fO3kocP/2SSuC9fpH5K7tusrg4xPSRT/193rzolYwQnTN02We/ATXKnb6GqA5w4fRxw==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -2982,13 +2979,25 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true + /@vidstack/react@1.8.3(@types/react@18.2.41)(react@18.2.0): + resolution: {integrity: sha512-QCyHy6e3LpzfajtjrhJPXzGYbBrBCUE5qYAatKXX+nxWqRvspa0fJPlnGeWb+tg6DlDsgwDLFjGNWj8qUeUVXQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': ^18.0.0 + react: ^18.0.0 + dependencies: + '@types/react': 18.2.41 + media-captions: 1.0.2 + react: 18.2.0 + dev: false + /@vitejs/plugin-react-swc@3.5.0(vite@4.5.0): resolution: {integrity: sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==} peerDependencies: vite: ^4 || ^5 dependencies: '@swc/core': 1.3.100 - vite: 4.5.0(@types/node@20.10.2) + vite: 4.5.0(@types/node@20.10.3) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -3016,11 +3025,11 @@ packages: uri-js: 4.4.1 dev: true - /ansi-escapes@5.0.0: - resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} - engines: {node: '>=12'} + /ansi-escapes@6.2.0: + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} dependencies: - type-fest: 1.4.0 + type-fest: 3.13.1 dev: true /ansi-regex@5.0.1: @@ -3160,19 +3169,19 @@ packages: has-symbols: 1.0.3 dev: true - /autoprefixer@10.4.16(postcss@8.4.31): + /autoprefixer@10.4.16(postcss@8.4.32): resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.1 - caniuse-lite: 1.0.30001565 + browserslist: 4.22.2 + caniuse-lite: 1.0.30001566 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.31 + postcss: 8.4.32 postcss-value-parser: 4.2.0 dev: true @@ -3215,15 +3224,15 @@ packages: fill-range: 7.0.1 dev: true - /browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001565 + caniuse-lite: 1.0.30001566 electron-to-chromium: 1.4.601 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.1) + update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true /bufferutil@4.0.8: @@ -3252,8 +3261,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite@1.0.30001565: - resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==} + /caniuse-lite@1.0.30001566: + resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==} dev: true /case-anything@2.1.13: @@ -3309,12 +3318,12 @@ packages: restore-cursor: 4.0.0 dev: true - /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} dependencies: slice-ansi: 5.0.0 - string-width: 5.1.2 + string-width: 7.0.0 dev: true /clsx@2.0.0: @@ -3597,14 +3606,14 @@ packages: domhandler: 5.0.3 dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true - /electron-to-chromium@1.4.601: resolution: {integrity: sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==} dev: true + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + dev: true + /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true @@ -3782,8 +3791,8 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-config-prettier@9.0.0(eslint@8.55.0): - resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + /eslint-config-prettier@9.1.0(eslint@8.55.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -4108,6 +4117,11 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + dev: true + /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -4298,10 +4312,6 @@ packages: safer-buffer: 2.1.2 dev: true - /idb-keyval@6.2.1: - resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} - dev: false - /ignore@5.3.0: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} @@ -4423,6 +4433,13 @@ packages: engines: {node: '>=12'} dev: true + /is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + dependencies: + get-east-asian-width: 1.2.0 + dev: true + /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -4660,8 +4677,8 @@ packages: uc.micro: 1.0.6 dev: false - /lint-staged@15.1.0: - resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} + /lint-staged@15.2.0: + resolution: {integrity: sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -4669,8 +4686,8 @@ packages: commander: 11.1.0 debug: 4.3.4 execa: 8.0.1 - lilconfig: 2.1.0 - listr2: 7.0.2 + lilconfig: 3.0.0 + listr2: 8.0.0 micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 @@ -4679,16 +4696,16 @@ packages: - supports-color dev: true - /listr2@7.0.2: - resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} - engines: {node: '>=16.0.0'} + /listr2@8.0.0: + resolution: {integrity: sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==} + engines: {node: '>=18.0.0'} dependencies: - cli-truncate: 3.1.0 + cli-truncate: 4.0.0 colorette: 2.0.20 eventemitter3: 5.0.1 - log-update: 5.0.1 + log-update: 6.0.0 rfdc: 1.3.0 - wrap-ansi: 8.1.0 + wrap-ansi: 9.0.0 dev: true /locate-path@6.0.0: @@ -4714,15 +4731,15 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true - /log-update@5.0.1: - resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /log-update@6.0.0: + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} dependencies: - ansi-escapes: 5.0.0 + ansi-escapes: 6.2.0 cli-cursor: 4.0.0 - slice-ansi: 5.0.0 + slice-ansi: 7.1.0 strip-ansi: 7.1.0 - wrap-ansi: 8.1.0 + wrap-ansi: 9.0.0 dev: true /loose-envify@1.4.0: @@ -4775,8 +4792,9 @@ packages: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} dev: false - /media-chrome@1.5.4: - resolution: {integrity: sha512-BKWxw21Y6WZX4WX5WfwtmyMlnCKf4IrVbG7n5dWbQQew1ZFtKEUjR0xYqKDqOi1fkZkP3T2j2+MCRNuRB5YT+A==} + /media-captions@1.0.2: + resolution: {integrity: sha512-QxAFc+XTGZeMx+ZvLtMxEDgAjd0kr1LJ2NekLr1cw/UKENOxK7B9g6HwtuTQzCXxmb4Dknd4T8M7FOqqCK9buA==} + engines: {node: '>=16'} dev: false /merge-stream@2.0.0: @@ -4843,8 +4861,8 @@ packages: hasBin: true dev: true - /nanoid@5.0.3: - resolution: {integrity: sha512-I7X2b22cxA4LIHXPSqbBCEQSL+1wv8TuoefejsX4HFWyC6jc5JG7CEaxOltiKjc1M+YCS2YkrZZcj4+dytw9GA==} + /nanoid@5.0.4: + resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==} engines: {node: ^18 || >=20} hasBin: true dev: false @@ -5119,29 +5137,29 @@ packages: engines: {node: '>= 6'} dev: true - /postcss-import@15.1.0(postcss@8.4.31): + /postcss-import@15.1.0(postcss@8.4.32): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.32 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 dev: true - /postcss-js@4.0.1(postcss@8.4.31): + /postcss-js@4.0.1(postcss@8.4.32): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.31 + postcss: 8.4.32 dev: true - /postcss-load-config@4.0.2(postcss@8.4.31): + /postcss-load-config@4.0.2(postcss@8.4.32): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -5154,17 +5172,17 @@ packages: optional: true dependencies: lilconfig: 3.0.0 - postcss: 8.4.31 + postcss: 8.4.32 yaml: 2.3.4 dev: true - /postcss-nested@6.0.1(postcss@8.4.31): + /postcss-nested@6.0.1(postcss@8.4.32): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.31 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: true @@ -5188,8 +5206,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -5483,7 +5501,7 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true - /react-remove-scroll-bar@2.3.4(@types/react@18.2.40)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -5493,13 +5511,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.40)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.41)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.40)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -5509,13 +5527,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.40)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.40)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.41)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.41)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.0(@types/react@18.2.40)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.40)(react@18.2.0) + use-callback-ref: 1.3.0(@types/react@18.2.41)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.41)(react@18.2.0) dev: false /react-router-dom@6.20.1(react-dom@18.2.0)(react@18.2.0): @@ -5546,7 +5564,7 @@ packages: engines: {node: '>=0.12.0'} dev: false - /react-style-singleton@2.2.1(@types/react@18.2.40)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -5556,7 +5574,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.40 + '@types/react': 18.2.41 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -5570,18 +5588,18 @@ packages: loose-envify: 1.4.0 dev: false - /reactflow@11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0): + /reactflow@11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Q616fElAc5/N37tMwjuRkkgm/VgmnLLTNNCj61z5mvJxae+/VXZQMfot1K6a5LLz9G3SVKqU97PMb9Ga1PRXew==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/background': 11.3.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/controls': 11.2.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/core': 11.10.1(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/minimap': 11.7.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/node-resizer': 2.2.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/node-toolbar': 1.3.6(@types/react@18.2.40)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/background': 11.3.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/controls': 11.2.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.10.1(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/minimap': 11.7.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/node-resizer': 2.2.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/node-toolbar': 1.3.6(@types/react@18.2.41)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -5799,6 +5817,14 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true + /slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + dev: true + /sonner@1.2.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-WGLP2QQnomgewaCTsK7YWiLcy5n1Yj83vsL5cP4zHMmpSkmFsCYTpQKhlXJrPE5kzjwbqCkCFXcOpbKc4vaUaA==} peerDependencies: @@ -5824,12 +5850,12 @@ packages: engines: {node: '>=0.6.19'} dev: true - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + /string-width@7.0.0: + resolution: {integrity: sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==} + engines: {node: '>=18'} dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 dev: true @@ -5960,11 +5986,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.31 - postcss-import: 15.1.0(postcss@8.4.31) - postcss-js: 4.0.1(postcss@8.4.31) - postcss-load-config: 4.0.2(postcss@8.4.31) - postcss-nested: 6.0.1(postcss@8.4.31) + postcss: 8.4.32 + postcss-import: 15.1.0(postcss@8.4.32) + postcss-js: 4.0.1(postcss@8.4.32) + postcss-load-config: 4.0.2(postcss@8.4.32) + postcss-nested: 6.0.1(postcss@8.4.32) postcss-selector-parser: 6.0.13 resolve: 1.22.8 sucrase: 3.34.0 @@ -6000,8 +6026,8 @@ packages: '@popperjs/core': 2.11.8 dev: false - /tiptap-markdown@0.8.7(@tiptap/core@2.1.13): - resolution: {integrity: sha512-jHnAm/yyKSCGL4xh2/73PNMI0+sZ1qrmZAda2fMwtpVs9LMYi8aYPilJLn4mL5RNrALE6jx+KRmGsq3DGpvnaQ==} + /tiptap-markdown@0.8.8(@tiptap/core@2.1.13): + resolution: {integrity: sha512-I2w/IpvCZ1BoR3nQzG0wRK3uGmDv+Ohyr++G24Ma6RzoDYd0TVGXZp0BOODX5Jj4c6heVY8eksahSeAwJMZBeg==} peerDependencies: '@tiptap/core': ^2.0.3 dependencies: @@ -6074,16 +6100,16 @@ packages: engines: {node: '>=10'} dev: true - /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - dev: true - /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} dev: false + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: true + /type@1.2.0: resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} dev: false @@ -6162,13 +6188,13 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): + /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.1 + browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -6179,7 +6205,7 @@ packages: punycode: 2.3.1 dev: true - /use-callback-ref@1.3.0(@types/react@18.2.40)(react@18.2.0): + /use-callback-ref@1.3.0(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} engines: {node: '>=10'} peerDependencies: @@ -6189,12 +6215,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 tslib: 2.6.2 dev: false - /use-sidecar@1.1.2(@types/react@18.2.40)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -6204,7 +6230,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.40 + '@types/react': 18.2.41 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -6240,8 +6266,8 @@ packages: hasBin: true dev: true - /virtua@0.16.7(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-n7fzGHm88lY+ZlYadqrWV/7uiwAxg58na1+LSnEnVZdVFH2EJVsF3QgAA9sP9J2/OeNhxHd6nhgVKNEslWSOMA==} + /virtua@0.17.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-969hSYRIpRkiAp39RWD5i1CneeIVl7qZ4NSn0M6tnQcc6Z5dfNTW713MCrtPMef3xVSOVJAHCKCP9xR/3ALFaA==} peerDependencies: react: '>=16.14.0' react-dom: '>=16.14.0' @@ -6258,7 +6284,7 @@ packages: '@rollup/plugin-virtual': 3.0.2 '@swc/core': 1.3.100 uuid: 9.0.1 - vite: 4.5.0(@types/node@20.10.2) + vite: 4.5.0(@types/node@20.10.3) transitivePeerDependencies: - '@swc/helpers' - rollup @@ -6275,13 +6301,13 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 2.1.2(typescript@5.3.2) - vite: 4.5.0(@types/node@20.10.2) + vite: 4.5.0(@types/node@20.10.3) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.5.0(@types/node@20.10.2): + /vite@4.5.0(@types/node@20.10.3): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -6309,9 +6335,9 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.2 + '@types/node': 20.10.3 esbuild: 0.18.20 - postcss: 8.4.31 + postcss: 8.4.32 rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 @@ -6405,12 +6431,12 @@ packages: isexe: 2.0.0 dev: true - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + /wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} dependencies: ansi-styles: 6.2.1 - string-width: 5.1.2 + string-width: 7.0.0 strip-ansi: 7.1.0 dev: true @@ -6437,7 +6463,7 @@ packages: engines: {node: '>=10'} dev: true - /zustand@4.4.7(@types/react@18.2.40)(react@18.2.0): + /zustand@4.4.7(@types/react@18.2.41)(react@18.2.0): resolution: {integrity: sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==} engines: {node: '>=12.7.0'} peerDependencies: @@ -6452,7 +6478,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.40 + '@types/react': 18.2.41 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) dev: false diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 90fcef171..d4b942f21 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -9,7 +9,7 @@ }, "package": { "productName": "Lume", - "version": "2.2.0" + "version": "2.2.1" }, "plugins": { "fs": { diff --git a/src/app.css b/src/app.css index e6e16190c..698017061 100644 --- a/src/app.css +++ b/src/app.css @@ -1,5 +1,9 @@ /* @import 'reactflow/dist/style.css'; */ +/* Vidstack */ +@import '@vidstack/react/player/styles/default/theme.css'; +@import '@vidstack/react/player/styles/default/layouts/video.css'; + @tailwind base; @tailwind components; @tailwind utilities; @@ -41,22 +45,6 @@ input::-ms-clear { background-clip: padding-box; } -.player { - --brand-color: #f5f5f5; - --focus-color: #4e9cf6; - --audio-brand: var(--brand-color); - --audio-focus-ring-color: var(--focus-color); - --audio-border-radius: 2px; - --video-brand: var(--brand-color); - --video-focus-ring-color: var(--focus-color); - --video-border-radius: 8px; - @apply w-full; -} - -.player[data-view-type='video'] { - @apply aspect-video; -} - .ProseMirror p.is-empty::before { @apply text-neutral-600 dark:text-neutral-400 float-left h-0 pointer-events-none content-[attr(data-placeholder)]; } diff --git a/src/app.tsx b/src/app.tsx index 54fef1764..3f75e4652 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -308,7 +308,7 @@ export default function App() { router={router} fallbackElement={
- +
} future={{ v7_startTransition: true }} diff --git a/src/app/auth/import.tsx b/src/app/auth/import.tsx index 29d468ba8..7a995d3a0 100644 --- a/src/app/auth/import.tsx +++ b/src/app/auth/import.tsx @@ -1,5 +1,6 @@ import NDK, { NDKNip46Signer, NDKPrivateKeySigner } from '@nostr-dev-kit/ndk'; import { readText } from '@tauri-apps/plugin-clipboard-manager'; +import { open } from '@tauri-apps/plugin-shell'; import { motion } from 'framer-motion'; import { nip19 } from 'nostr-tools'; import { useState } from 'react'; @@ -49,6 +50,9 @@ export function ImportAccountScreen() { await db.createSetting('nsecbunker', '1'); await db.secureSave(`${pubkey}-nsecbunker`, localSigner.privateKey); + // open nsecbunker web app in default browser + await open('https://app.nsecbunker.com/keys'); + const bunker = new NDK({ explicitRelayUrls: ['wss://relay.nsecbunker.com', 'wss://nostr.vulpem.com'], }); @@ -141,6 +145,7 @@ export function ImportAccountScreen() {
) : null} + {npub.indexOf('#') > -1 ? ( +

+ You're using nsecbunker token, keep in mind it only can redeem + one-time, you need to login again in the next launch +

+ ) : null} diff --git a/src/app/chats/components/chatListItem.tsx b/src/app/chats/components/chatListItem.tsx index 99f1707d1..68d827a9a 100644 --- a/src/app/chats/components/chatListItem.tsx +++ b/src/app/chats/components/chatListItem.tsx @@ -12,14 +12,14 @@ import { useProfile } from '@utils/hooks/useProfile'; import { displayNpub } from '@utils/shortenKey'; export const ChatListItem = memo(function ChatListItem({ event }: { event: NDKEvent }) { - const { status, user } = useProfile(event.pubkey); + const { isLoading, user } = useProfile(event.pubkey); const decryptedContent = useDecryptMessage(event); const createdAt = formatCreatedAt(event.created_at, true); const svgURI = 'data:image/svg+xml;utf8,' + encodeURIComponent(minidenticon(event.pubkey, 90, 50)); - if (status === 'pending') { + if (isLoading) { return (
diff --git a/src/app/explore/components/groupTitle.tsx b/src/app/explore/components/groupTitle.tsx index 1d9c1ca66..14828d7f4 100644 --- a/src/app/explore/components/groupTitle.tsx +++ b/src/app/explore/components/groupTitle.tsx @@ -3,9 +3,9 @@ import { memo } from 'react'; import { useProfile } from '@utils/hooks/useProfile'; export const GroupTitle = memo(function GroupTitle({ pubkey }: { pubkey: string }) { - const { status, user } = useProfile(pubkey); + const { isLoading, user } = useProfile(pubkey); - if (status === 'pending') { + if (isLoading) { return
; } diff --git a/src/app/explore/components/userWithDrawer.tsx b/src/app/explore/components/userWithDrawer.tsx index 9feb60357..f498b70b8 100644 --- a/src/app/explore/components/userWithDrawer.tsx +++ b/src/app/explore/components/userWithDrawer.tsx @@ -23,7 +23,7 @@ export const UserWithDrawer = memo(function UserWithDrawer({ }) { const { db } = useStorage(); const { ndk } = useNDK(); - const { status, user } = useProfile(pubkey); + const { isLoading, user } = useProfile(pubkey); const [followed, setFollowed] = useState(false); @@ -82,7 +82,7 @@ export const UserWithDrawer = memo(function UserWithDrawer({
- {status === 'pending' ? ( + {isLoading ? (

Loading...

diff --git a/src/app/new/components/mentionPopupItem.tsx b/src/app/new/components/mentionPopupItem.tsx index d4e8f95d8..f91fe830e 100644 --- a/src/app/new/components/mentionPopupItem.tsx +++ b/src/app/new/components/mentionPopupItem.tsx @@ -1,10 +1,18 @@ +import * as Avatar from '@radix-ui/react-avatar'; +import { minidenticon } from 'minidenticons'; +import { useMemo } from 'react'; + import { useProfile } from '@utils/hooks/useProfile'; import { displayNpub } from '@utils/shortenKey'; export function MentionPopupItem({ pubkey, embed }: { pubkey: string; embed?: string }) { - const { status, user } = useProfile(pubkey, embed); + const { isLoading, user } = useProfile(pubkey, embed); + const svgURI = useMemo( + () => 'data:image/svg+xml;utf8,' + encodeURIComponent(minidenticon(pubkey, 90, 50)), + [pubkey] + ); - if (status === 'pending') { + if (isLoading) { return (
@@ -18,14 +26,25 @@ export function MentionPopupItem({ pubkey, embed }: { pubkey: string; embed?: st return (
- {pubkey} + + + + {pubkey} + +
- {user.display_name || user.displayName || user.name} + {user?.display_name || user?.displayName || user?.name}
{displayNpub(pubkey, 16)} diff --git a/src/app/notes/article.tsx b/src/app/notes/article.tsx index d4a1ba2be..912489db7 100644 --- a/src/app/notes/article.tsx +++ b/src/app/notes/article.tsx @@ -4,6 +4,7 @@ import { nip19 } from 'nostr-tools'; import { EventPointer } from 'nostr-tools/lib/types/nip19'; import { useMemo, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; +import { toast } from 'sonner'; import { ArrowLeftIcon, CheckCircleIcon, ShareIcon } from '@shared/icons'; import { NoteReplyForm } from '@shared/notes'; @@ -40,14 +41,18 @@ export function ArticleNoteScreen() { }, [data]); const share = async () => { - await writeText( - 'https://njump.me/' + - nip19.neventEncode({ id: data.id, author: data.pubkey } as EventPointer) - ); - // update state - setIsCopy(true); - // reset state after 2 sec - setTimeout(() => setIsCopy(false), 2000); + try { + await writeText( + 'https://njump.me/' + + nip19.neventEncode({ id: data?.id, author: data?.pubkey } as EventPointer) + ); + // update state + setIsCopy(true); + // reset state after 2 sec + setTimeout(() => setIsCopy(false), 2000); + } catch (e) { + toast.error(e); + } }; return ( diff --git a/src/app/notes/text.tsx b/src/app/notes/text.tsx index 7228489fe..9e723251a 100644 --- a/src/app/notes/text.tsx +++ b/src/app/notes/text.tsx @@ -4,6 +4,7 @@ import { nip19 } from 'nostr-tools'; import { EventPointer } from 'nostr-tools/lib/types/nip19'; import { useRef, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; +import { toast } from 'sonner'; import { ArrowLeftIcon, CheckCircleIcon, ReplyIcon, ShareIcon } from '@shared/icons'; import { @@ -30,14 +31,18 @@ export function TextNoteScreen() { const [isCopy, setIsCopy] = useState(false); const share = async () => { - await writeText( - 'https://njump.me/' + - nip19.neventEncode({ id: data.id, author: data.pubkey } as EventPointer) - ); - // update state - setIsCopy(true); - // reset state after 2 sec - setTimeout(() => setIsCopy(false), 2000); + try { + await writeText( + 'https://njump.me/' + + nip19.neventEncode({ id: data?.id, author: data?.pubkey } as EventPointer) + ); + // update state + setIsCopy(true); + // reset state after 2 sec + setTimeout(() => setIsCopy(false), 2000); + } catch (e) { + toast.error(e); + } }; const scrollToReply = () => { diff --git a/src/app/relays/components/relayEventList.tsx b/src/app/relays/components/relayEventList.tsx index 4f3600597..e9249a04e 100644 --- a/src/app/relays/components/relayEventList.tsx +++ b/src/app/relays/components/relayEventList.tsx @@ -1,5 +1,6 @@ import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk'; import { useQuery } from '@tanstack/react-query'; +import { normalizeRelayUrl } from 'nostr-fetch'; import { useCallback } from 'react'; import { VList } from 'virtua'; @@ -15,7 +16,7 @@ export function RelayEventList({ relayUrl }: { relayUrl: string }) { queryFn: async () => { const url = 'wss://' + relayUrl; const events = await fetcher.fetchLatestEvents( - [url], + [normalizeRelayUrl(url)], { kinds: [NDKKind.Text, NDKKind.Repost], }, @@ -24,6 +25,8 @@ export function RelayEventList({ relayUrl }: { relayUrl: string }) { return events as unknown as NDKEvent[]; }, refetchOnWindowFocus: false, + refetchOnReconnect: false, + refetchOnMount: false, }); const renderItem = useCallback( @@ -41,19 +44,18 @@ export function RelayEventList({ relayUrl }: { relayUrl: string }) { ); return ( -
- - {status === 'pending' ? ( -
-
- -

Loading newsfeed...

-
+ + {status === 'pending' ? ( +
+
+ +

Loading newsfeed...

- ) : ( - data.map((item) => renderItem(item)) - )} - -
+
+ ) : ( + data.map((item) => renderItem(item)) + )} +
+ ); } diff --git a/src/app/relays/components/relayList.tsx b/src/app/relays/components/relayList.tsx index ec77917a4..23861733f 100644 --- a/src/app/relays/components/relayList.tsx +++ b/src/app/relays/components/relayList.tsx @@ -9,8 +9,6 @@ import { useNostr } from '@utils/hooks/useNostr'; import { useRelay } from '@utils/hooks/useRelay'; export function RelayList() { - const navigate = useNavigate(); - const { getAllRelaysByUsers } = useNostr(); const { connectRelay } = useRelay(); const { status, data } = useQuery({ @@ -24,6 +22,8 @@ export function RelayList() { staleTime: Infinity, }); + const navigate = useNavigate(); + const inspectRelay = (relayUrl: string) => { const url = new URL(relayUrl); navigate(`/relays/${url.hostname}`); diff --git a/src/app/relays/components/userRelayList.tsx b/src/app/relays/components/userRelayList.tsx index 07d7c383d..3afa12354 100644 --- a/src/app/relays/components/userRelayList.tsx +++ b/src/app/relays/components/userRelayList.tsx @@ -6,7 +6,7 @@ import { RelayForm } from '@app/relays/components/relayForm'; import { useNDK } from '@libs/ndk/provider'; import { useStorage } from '@libs/storage/provider'; -import { CancelIcon } from '@shared/icons'; +import { CancelIcon, RefreshIcon } from '@shared/icons'; import { useRelay } from '@utils/hooks/useRelay'; @@ -14,7 +14,7 @@ export function UserRelayList() { const { db } = useStorage(); const { ndk } = useNDK(); const { removeRelay } = useRelay(); - const { status, data } = useQuery({ + const { status, data, refetch } = useQuery({ queryKey: ['relays', db.account.pubkey], queryFn: async () => { const event = await ndk.fetchEvent( @@ -25,7 +25,7 @@ export function UserRelayList() { { cacheUsage: NDKSubscriptionCacheUsage.ONLY_RELAY } ); - if (!event) throw new Error('relay set not found'); + if (!event) return []; return event.tags; }, refetchOnWindowFocus: false, @@ -35,15 +35,22 @@ export function UserRelayList() { return (
-
+

Connected relays

+
{status === 'pending' ? (

Loading...

- ) : !data ? ( -
-

You not have personal relay set yet

+ ) : !data.length ? ( +
+

You not have personal relay list yet

) : ( data.map((item) => ( @@ -68,8 +75,8 @@ export function UserRelayList() {

- {item[2] ? ( -
+ {item[2]?.length ? ( +
{item[2]}
) : null} diff --git a/src/app/settings/components/profileCard.tsx b/src/app/settings/components/profileCard.tsx index 8b4091989..f8c8429c2 100644 --- a/src/app/settings/components/profileCard.tsx +++ b/src/app/settings/components/profileCard.tsx @@ -11,7 +11,7 @@ import { displayNpub } from '@utils/shortenKey'; export function ProfileCard() { const { db } = useStorage(); - const { status, user } = useProfile(db.account.pubkey); + const { isLoading, user } = useProfile(db.account.pubkey); const svgURI = 'data:image/svg+xml;utf8,' + @@ -19,7 +19,7 @@ export function ProfileCard() { return (
- {status === 'pending' ? ( + {isLoading ? (
diff --git a/src/app/users/components/profile.tsx b/src/app/users/components/profile.tsx index 0e357482c..07629ed68 100644 --- a/src/app/users/components/profile.tsx +++ b/src/app/users/components/profile.tsx @@ -114,7 +114,7 @@ export function UserProfile({ pubkey }: { pubkey: string }) {
- {user.name || user.display_name || user.displayName || 'No name'} + {user?.name || user?.display_name || user?.displayName || 'No name'}
{user?.nip05 ? ( { async function getSigner(nsecbunker?: boolean) { if (!db.account) return; - // NIP-46 Signer - if (nsecbunker) { - const localSignerPrivkey = await db.secureLoad(`${db.account.pubkey}-nsecbunker`); - if (!localSignerPrivkey) return null; + try { + // NIP-46 Signer + if (nsecbunker) { + const localSignerPrivkey = await db.secureLoad(`${db.account.pubkey}-nsecbunker`); + if (!localSignerPrivkey) return null; + + const localSigner = new NDKPrivateKeySigner(localSignerPrivkey); + const bunker = new NDK({ + explicitRelayUrls: ['wss://relay.nsecbunker.com', 'wss://nostr.vulpem.com'], + }); + bunker.connect(); - const localSigner = new NDKPrivateKeySigner(localSignerPrivkey); - const bunker = new NDK({ - explicitRelayUrls: ['wss://relay.nsecbunker.com', 'wss://nostr.vulpem.com'], - }); - bunker.connect(); + const remoteSigner = new NDKNip46Signer(bunker, db.account.id, localSigner); + await remoteSigner.blockUntilReady(); - const remoteSigner = new NDKNip46Signer(bunker, db.account.id, localSigner); - await remoteSigner.blockUntilReady(); + return remoteSigner; + } - return remoteSigner; - } + // Privkey Signer + const userPrivkey = await db.secureLoad(db.account.pubkey); + if (!userPrivkey) return null; + return new NDKPrivateKeySigner(userPrivkey); + } catch (e) { + console.log(e); + if (e === 'Token already redeemed') { + toast.info( + 'nsecbunker token already redeemed. You need to re-login with another token.' + ); - // Privkey Signer - const userPrivkey = await db.secureLoad(db.account.pubkey); - if (!userPrivkey) return null; - return new NDKPrivateKeySigner(userPrivkey); + await db.secureRemove(`${db.account.pubkey}-nsecbunker`); + await db.accountLogout(); + } + + return null; + } } async function initNDK() { - try { - const outboxSetting = await db.getSettingValue('outbox'); - const bunkerSetting = await db.getSettingValue('nsecbunker'); - const explicitRelayUrls = normalizeRelayUrlSet([ - 'wss://relay.damus.io', - 'wss://relay.nostr.band', - 'wss://nos.lol', - 'wss://nostr.mutinywallet.com', - ]); - - const bunker = !!parseInt(bunkerSetting); - const outbox = !!parseInt(outboxSetting); + const outboxSetting = await db.getSettingValue('outbox'); + const bunkerSetting = await db.getSettingValue('nsecbunker'); + + const bunker = !!parseInt(bunkerSetting); + const outbox = !!parseInt(outboxSetting); + + const explicitRelayUrls = normalizeRelayUrlSet([ + 'wss://relay.damus.io', + 'wss://relay.nostr.band', + 'wss://nos.lol', + 'wss://nostr.mutinywallet.com', + ]); + + // #TODO: user should config outbox relays + const outboxRelayUrls = normalizeRelayUrlSet(['wss://purplepag.es']); + + // #TODO: user should config blacklist relays + const blacklistRelayUrls = normalizeRelayUrlSet(['wss://brb.io']); + try { const tauriAdapter = new NDKCacheAdapterTauri(db); const instance = new NDK({ explicitRelayUrls, - cacheAdapter: tauriAdapter, - outboxRelayUrls: ['wss://purplepag.es'], + outboxRelayUrls, + blacklistRelayUrls, enableOutboxModel: outbox, autoConnectUserRelays: true, autoFetchUserMutelist: true, + cacheAdapter: tauriAdapter, // clientName: 'Lume', // clientNip89: '', }); @@ -88,9 +111,9 @@ export const NDKInstance = () => { if (db.account) { const user = instance.getUser({ pubkey: db.account.pubkey }); instance.activeUser = user; - db.account.contacts = [...(await user.follows(undefined, outbox))].map( - (user) => user.pubkey - ); + + const contacts = await user.follows(undefined /* outbox */); + db.account.contacts = [...contacts].map((user) => user.pubkey); // prefetch newsfeed await queryClient.prefetchInfiniteQuery({ diff --git a/src/libs/storage/instance.ts b/src/libs/storage/instance.ts index 5121a5404..7a91ff9e4 100644 --- a/src/libs/storage/instance.ts +++ b/src/libs/storage/instance.ts @@ -416,7 +416,14 @@ export class LumeStorage { return await this.db.execute(`DELETE FROM relays WHERE relay = "${relay}";`); } - public async createSetting(key: string, value: string) { + public async createSetting(key: string, value: string | undefined) { + if (value) { + return await this.db.execute( + 'INSERT OR IGNORE INTO settings (key, value) VALUES ($1, $2);', + [key, value] + ); + } + const currentSetting = await this.checkSettingValue(key); if (!currentSetting) @@ -470,9 +477,7 @@ export class LumeStorage { await this.db.execute("UPDATE accounts SET is_active = '0' WHERE id = $1;", [ this.account.id, ]); - this.account = null; - return true; } public async close() { diff --git a/src/main.jsx b/src/main.jsx index 7269cc955..df781e5cd 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -11,10 +11,7 @@ import App from './app'; const queryClient = new QueryClient({ defaultOptions: { queries: { - gcTime: 1000 * 60 * 60 * 24, // 24 hours - queries: { - retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 10000), // 10 seconds - }, + retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 10000), // 10 seconds }, }, }); diff --git a/src/shared/accounts/active.tsx b/src/shared/accounts/active.tsx index e276f2894..1d3c6512d 100644 --- a/src/shared/accounts/active.tsx +++ b/src/shared/accounts/active.tsx @@ -27,7 +27,7 @@ export function ActiveAccount() { loading="lazy" decoding="async" style={{ contentVisibility: 'auto' }} - className="aspect-square h-auto w-full rounded-md" + className="aspect-square h-auto w-full rounded-md object-cover" />
- Send tip to {user?.name || user?.display_name || user?.displayName} + Send tip to{' '} + {user?.name || user?.displayName || displayNpub(event.pubkey, 16)} diff --git a/src/shared/notes/child.tsx b/src/shared/notes/child.tsx index 00f9ed159..40c799745 100644 --- a/src/shared/notes/child.tsx +++ b/src/shared/notes/child.tsx @@ -4,12 +4,22 @@ import { User } from '@shared/user'; import { useEvent } from '@utils/hooks/useEvent'; export function ChildNote({ id, isRoot }: { id: string; isRoot?: boolean }) { - const { status, data } = useEvent(id); + const { isFetching, isError, data } = useEvent(id); - if (status === 'pending' || !data) { + if (isFetching) { return ; } + if (isError) { + return ( +
+
+ Failed to fetch event +
+
+ ); + } + return (
diff --git a/src/shared/notes/file.tsx b/src/shared/notes/file.tsx index 1e5a845f0..96ff30fac 100644 --- a/src/shared/notes/file.tsx +++ b/src/shared/notes/file.tsx @@ -1,14 +1,11 @@ import { NDKEvent } from '@nostr-dev-kit/ndk'; import { downloadDir } from '@tauri-apps/api/path'; import { download } from '@tauri-apps/plugin-upload'; +import { MediaPlayer, MediaProvider } from '@vidstack/react'; import { - MediaControlBar, - MediaController, - MediaFullscreenButton, - MediaMuteButton, - MediaPlayButton, - MediaTimeRange, -} from 'media-chrome/dist/react'; + DefaultVideoLayout, + defaultLayoutIcons, +} from '@vidstack/react/player/layouts/default'; import { memo } from 'react'; import { Link } from 'react-router-dom'; @@ -32,7 +29,7 @@ export function FileNote({ event }: { event: NDKEvent }) { switch (type) { case 'image': return ( -
+
{url} -