diff --git a/package.json b/package.json index affc0670..09bca313 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "lume", "description": "the communication app", "private": true, - "version": "2.0.0", + "version": "2.0.1", "scripts": { "dev": "vite", "build": "vite build", @@ -32,22 +32,22 @@ "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-toolbar": "^1.0.4", "@radix-ui/react-tooltip": "^1.0.7", - "@tanstack/react-query": "4.36.1", - "@tauri-apps/api": "2.0.0-alpha.8", - "@tauri-apps/cli": "2.0.0-alpha.15", - "@tauri-apps/plugin-app": "2.0.0-alpha.1", - "@tauri-apps/plugin-clipboard-manager": "2.0.0-alpha.1", - "@tauri-apps/plugin-dialog": "2.0.0-alpha.1", - "@tauri-apps/plugin-fs": "2.0.0-alpha.1", - "@tauri-apps/plugin-http": "2.0.0-alpha.1", - "@tauri-apps/plugin-notification": "2.0.0-alpha.1", - "@tauri-apps/plugin-os": "2.0.0-alpha.2", - "@tauri-apps/plugin-process": "2.0.0-alpha.1", - "@tauri-apps/plugin-shell": "2.0.0-alpha.1", - "@tauri-apps/plugin-sql": "2.0.0-alpha.1", - "@tauri-apps/plugin-updater": "2.0.0-alpha.1", - "@tauri-apps/plugin-upload": "2.0.0-alpha.1", - "@tauri-apps/plugin-window": "2.0.0-alpha.1", + "@tanstack/query-sync-storage-persister": "^5.4.3", + "@tanstack/react-query": "^5.0.5", + "@tanstack/react-query-persist-client": "^5.4.3", + "@tauri-apps/api": "^2.0.0-alpha.9", + "@tauri-apps/cli": "^2.0.0-alpha.16", + "@tauri-apps/plugin-clipboard-manager": "^2.0.0-alpha.2", + "@tauri-apps/plugin-dialog": "^2.0.0-alpha.2", + "@tauri-apps/plugin-fs": "^2.0.0-alpha.2", + "@tauri-apps/plugin-http": "^2.0.0-alpha.2", + "@tauri-apps/plugin-notification": "^2.0.0-alpha.2", + "@tauri-apps/plugin-os": "^2.0.0-alpha.3", + "@tauri-apps/plugin-process": "^2.0.0-alpha.2", + "@tauri-apps/plugin-shell": "^2.0.0-alpha.2", + "@tauri-apps/plugin-sql": "^2.0.0-alpha.2", + "@tauri-apps/plugin-updater": "^2.0.0-alpha.2", + "@tauri-apps/plugin-upload": "^2.0.0-alpha.2", "@tiptap/extension-character-count": "^2.1.12", "@tiptap/extension-document": "^2.1.12", "@tiptap/extension-image": "^2.1.12", @@ -60,12 +60,14 @@ "@tiptap/starter-kit": "^2.1.12", "@tiptap/suggestion": "^2.1.12", "dayjs": "^1.11.10", - "destr": "^2.0.1", + "destr": "^2.0.2", "framer-motion": "^10.16.4", "html-to-text": "^9.0.5", + "immer": "^10.0.3", "light-bolt11-decoder": "^3.0.0", "lru-cache": "^10.0.1", - "media-chrome": "^1.4.4", + "markdown-to-jsx": "^7.3.2", + "media-chrome": "^1.4.5", "million": "^2.6.4", "minidenticons": "^4.2.0", "nostr-fetch": "^0.13.0", @@ -77,48 +79,45 @@ "react-dom": "^18.2.0", "react-hook-form": "^7.47.0", "react-hotkeys-hook": "^4.4.1", - "react-markdown": "^8.0.7", "react-router-dom": "^6.17.0", - "react-string-replace": "^1.1.1", "reactflow": "^11.9.4", - "remark-gfm": "^3.0.1", "sonner": "^1.0.3", "tailwind-scrollbar": "^3.0.5", "tauri-controls": "^0.2.0", "tippy.js": "^6.3.7", "tiptap-markdown": "^0.8.2", - "virtua": "^0.15.0", - "zustand": "^4.4.3" + "virtua": "^0.15.6", + "zustand": "^4.4.4" }, "devDependencies": { "@tailwindcss/typography": "^0.5.10", - "@trivago/prettier-plugin-sort-imports": "^4.2.0", + "@trivago/prettier-plugin-sort-imports": "^4.2.1", "@types/html-to-text": "^9.0.3", - "@types/node": "^20.8.7", - "@types/react": "^18.2.29", + "@types/node": "^20.8.9", + "@types/react": "^18.2.33", "@types/react-dom": "^18.2.14", "@types/youtube-player": "^5.5.9", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", + "@typescript-eslint/eslint-plugin": "^6.9.0", + "@typescript-eslint/parser": "^6.9.0", "@vitejs/plugin-react-swc": "^3.4.0", "autoprefixer": "^10.4.16", "clsx": "^2.0.0", "cross-env": "^7.0.3", "csstype": "^3.1.2", "encoding": "^0.1.13", - "eslint": "^8.51.0", + "eslint": "^8.52.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", "husky": "^8.0.3", - "lint-staged": "^14.0.1", + "lint-staged": "^15.0.2", "postcss": "^8.4.31", "prettier": "^3.0.3", "prettier-plugin-tailwindcss": "^0.5.6", "prop-types": "^15.8.1", "tailwind-merge": "^1.14.0", - "tailwindcss": "^3.3.3", + "tailwindcss": "^3.3.5", "typescript": "^5.2.2", "vite": "^4.5.0", "vite-tsconfig-paths": "^4.2.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05121e25..9476c679 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,79 +22,79 @@ dependencies: version: 0.13.0(@nostr-dev-kit/ndk@2.0.3)(nostr-fetch@0.13.0) '@radix-ui/react-alert-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.6(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@tanstack/query-sync-storage-persister': + specifier: ^5.4.3 + version: 5.4.3 '@tanstack/react-query': - specifier: 4.36.1 - version: 4.36.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^5.0.5 + version: 5.0.5(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query-persist-client': + specifier: ^5.4.3 + version: 5.4.3(@tanstack/react-query@5.0.5)(react-dom@18.2.0)(react@18.2.0) '@tauri-apps/api': - specifier: 2.0.0-alpha.8 - version: 2.0.0-alpha.8 + specifier: ^2.0.0-alpha.9 + version: 2.0.0-alpha.9 '@tauri-apps/cli': - specifier: 2.0.0-alpha.15 - version: 2.0.0-alpha.15 - '@tauri-apps/plugin-app': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 + specifier: ^2.0.0-alpha.16 + version: 2.0.0-alpha.16 '@tauri-apps/plugin-clipboard-manager': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 - '@tauri-apps/plugin-dialog': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 - '@tauri-apps/plugin-fs': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 - '@tauri-apps/plugin-http': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 - '@tauri-apps/plugin-notification': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 - '@tauri-apps/plugin-os': - specifier: 2.0.0-alpha.2 + specifier: ^2.0.0-alpha.2 version: 2.0.0-alpha.2 + '@tauri-apps/plugin-dialog': + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 + '@tauri-apps/plugin-fs': + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 + '@tauri-apps/plugin-http': + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 + '@tauri-apps/plugin-notification': + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 + '@tauri-apps/plugin-os': + specifier: ^2.0.0-alpha.3 + version: 2.0.0-alpha.3 '@tauri-apps/plugin-process': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 '@tauri-apps/plugin-shell': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 '@tauri-apps/plugin-sql': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 '@tauri-apps/plugin-updater': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 '@tauri-apps/plugin-upload': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 - '@tauri-apps/plugin-window': - specifier: 2.0.0-alpha.1 - version: 2.0.0-alpha.1 + specifier: ^2.0.0-alpha.2 + version: 2.0.0-alpha.2 '@tiptap/extension-character-count': specifier: ^2.1.12 version: 2.1.12(@tiptap/core@2.1.12)(@tiptap/pm@2.1.12) @@ -132,23 +132,29 @@ dependencies: specifier: ^1.11.10 version: 1.11.10 destr: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.2 + version: 2.0.2 framer-motion: specifier: ^10.16.4 version: 10.16.4(react-dom@18.2.0)(react@18.2.0) html-to-text: specifier: ^9.0.5 version: 9.0.5 + immer: + specifier: ^10.0.3 + version: 10.0.3 light-bolt11-decoder: specifier: ^3.0.0 version: 3.0.0 lru-cache: specifier: ^10.0.1 version: 10.0.1 + markdown-to-jsx: + specifier: ^7.3.2 + version: 7.3.2(react@18.2.0) media-chrome: - specifier: ^1.4.4 - version: 1.4.4 + specifier: ^1.4.5 + version: 1.4.5 million: specifier: ^2.6.4 version: 2.6.4 @@ -182,30 +188,21 @@ dependencies: react-hotkeys-hook: specifier: ^4.4.1 version: 4.4.1(react-dom@18.2.0)(react@18.2.0) - react-markdown: - specifier: ^8.0.7 - version: 8.0.7(@types/react@18.2.29)(react@18.2.0) react-router-dom: specifier: ^6.17.0 version: 6.17.0(react-dom@18.2.0)(react@18.2.0) - react-string-replace: - specifier: ^1.1.1 - version: 1.1.1 reactflow: specifier: ^11.9.4 - version: 11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - remark-gfm: - specifier: ^3.0.1 - version: 3.0.1 + version: 11.9.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) sonner: specifier: ^1.0.3 version: 1.0.3(react-dom@18.2.0)(react@18.2.0) tailwind-scrollbar: specifier: ^3.0.5 - version: 3.0.5(tailwindcss@3.3.3) + version: 3.0.5(tailwindcss@3.3.5) tauri-controls: specifier: ^0.2.0 - version: 0.2.0(@tauri-apps/plugin-os@2.0.0-alpha.2)(@tauri-apps/plugin-window@2.0.0-alpha.1)(clsx@2.0.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@1.14.0) + version: 0.2.0(@tauri-apps/plugin-os@2.0.0-alpha.3)(@tauri-apps/plugin-window@2.0.0-alpha.1)(clsx@2.0.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@1.14.0) tippy.js: specifier: ^6.3.7 version: 6.3.7 @@ -213,28 +210,28 @@ dependencies: specifier: ^0.8.2 version: 0.8.2(@tiptap/core@2.1.12) virtua: - specifier: ^0.15.0 - version: 0.15.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.15.6 + version: 0.15.6(react-dom@18.2.0)(react@18.2.0) zustand: - specifier: ^4.4.3 - version: 4.4.3(@types/react@18.2.29)(react@18.2.0) + specifier: ^4.4.4 + version: 4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0) devDependencies: '@tailwindcss/typography': specifier: ^0.5.10 - version: 0.5.10(tailwindcss@3.3.3) + version: 0.5.10(tailwindcss@3.3.5) '@trivago/prettier-plugin-sort-imports': - specifier: ^4.2.0 - version: 4.2.0(prettier@3.0.3) + specifier: ^4.2.1 + version: 4.2.1(prettier@3.0.3) '@types/html-to-text': specifier: ^9.0.3 version: 9.0.3 '@types/node': - specifier: ^20.8.7 - version: 20.8.7 + specifier: ^20.8.9 + version: 20.8.9 '@types/react': - specifier: ^18.2.29 - version: 18.2.29 + specifier: ^18.2.33 + version: 18.2.33 '@types/react-dom': specifier: ^18.2.14 version: 18.2.14 @@ -242,11 +239,11 @@ devDependencies: specifier: ^5.5.9 version: 5.5.9 '@typescript-eslint/eslint-plugin': - specifier: ^6.8.0 - version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.51.0)(typescript@5.2.2) + specifier: ^6.9.0 + version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.8.0 - version: 6.8.0(eslint@8.51.0)(typescript@5.2.2) + specifier: ^6.9.0 + version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) '@vitejs/plugin-react-swc': specifier: ^3.4.0 version: 3.4.0(vite@4.5.0) @@ -266,26 +263,26 @@ devDependencies: specifier: ^0.1.13 version: 0.1.13 eslint: - specifier: ^8.51.0 - version: 8.51.0 + specifier: ^8.52.0 + version: 8.52.0 eslint-config-prettier: specifier: ^9.0.0 - version: 9.0.0(eslint@8.51.0) + version: 9.0.0(eslint@8.52.0) eslint-plugin-jsx-a11y: specifier: ^6.7.1 - version: 6.7.1(eslint@8.51.0) + version: 6.7.1(eslint@8.52.0) eslint-plugin-react: specifier: ^7.33.2 - version: 7.33.2(eslint@8.51.0) + version: 7.33.2(eslint@8.52.0) eslint-plugin-simple-import-sort: specifier: ^10.0.0 - version: 10.0.0(eslint@8.51.0) + version: 10.0.0(eslint@8.52.0) husky: specifier: ^8.0.3 version: 8.0.3 lint-staged: - specifier: ^14.0.1 - version: 14.0.1 + specifier: ^15.0.2 + version: 15.0.2 postcss: specifier: ^8.4.31 version: 8.4.31 @@ -294,7 +291,7 @@ devDependencies: version: 3.0.3 prettier-plugin-tailwindcss: specifier: ^0.5.6 - version: 0.5.6(@trivago/prettier-plugin-sort-imports@4.2.0)(prettier@3.0.3) + version: 0.5.6(@trivago/prettier-plugin-sort-imports@4.2.1)(prettier@3.0.3) prop-types: specifier: ^15.8.1 version: 15.8.1 @@ -302,14 +299,14 @@ devDependencies: specifier: ^1.14.0 version: 1.14.0 tailwindcss: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.3.5 + version: 3.3.5 typescript: specifier: ^5.2.2 version: 5.2.2 vite: specifier: ^4.5.0 - version: 4.5.0(@types/node@20.8.7) + version: 4.5.0(@types/node@20.8.9) vite-tsconfig-paths: specifier: ^4.2.1 version: 4.2.1(typescript@5.2.2)(vite@4.5.0) @@ -385,7 +382,6 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 - dev: false /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} @@ -527,24 +523,6 @@ packages: '@babel/parser': 7.23.0 '@babel/types': 7.23.0 - /@babel/traverse@7.17.3: - resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.17.7 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.0 - '@babel/types': 7.17.0 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/traverse@7.23.2: resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} @@ -561,7 +539,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: false /@babel/types@7.17.0: resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} @@ -790,18 +767,18 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.51.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.51.0 + eslint: 8.52.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.9.1: - resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -822,8 +799,8 @@ packages: - supports-color dev: true - /@eslint/js@8.51.0: - resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} + /@eslint/js@8.52.0: + resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -863,16 +840,16 @@ packages: resolution: {integrity: sha512-MRLgI6WxCCLgrar+qDqm/UhKs+V6yXzNm4y1bJRAuN72nkKT+TjTJHCmk9GjTngR3FrOfLbeMsPwBxCmbvfrLQ==} engines: {node: '>=14'} dependencies: - crypto-js: 4.1.1 + crypto-js: 4.2.0 events: 3.3.0 nostr-tools: 1.13.1 dev: false - /@humanwhocodes/config-array@0.11.11: - resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.1 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -884,8 +861,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true /@jridgewell/gen-mapping@0.3.3: @@ -1021,7 +998,7 @@ packages: '@babel/runtime': 7.23.2 dev: false - /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==} peerDependencies: '@types/react': '*' @@ -1036,18 +1013,18 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -1061,14 +1038,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==} peerDependencies: '@types/react': '*' @@ -1082,17 +1059,17 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -1107,20 +1084,20 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -1134,17 +1111,17 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -1154,11 +1131,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.29)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -1168,11 +1145,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -1187,26 +1164,26 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.33)(react@18.2.0) dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.29)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -1216,11 +1193,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -1235,17 +1212,17 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -1260,19 +1237,19 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -1282,11 +1259,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -1300,16 +1277,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-hover-card@1.0.7(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==} peerDependencies: '@types/react': '*' @@ -1324,21 +1301,21 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -1348,12 +1325,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -1368,30 +1345,30 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.33)(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -1406,27 +1383,27 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.33)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -1441,22 +1418,22 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@floating-ui/react-dom': 2.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.29)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.33)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.29 + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -1470,14 +1447,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -1491,15 +1468,15 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -1513,14 +1490,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -1535,21 +1512,21 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -1563,14 +1540,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -1580,12 +1557,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' @@ -1600,19 +1577,19 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' @@ -1627,15 +1604,15 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} peerDependencies: '@types/react': '*' @@ -1650,19 +1627,19 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -1677,24 +1654,24 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 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.29)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -1704,11 +1681,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.29)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -1718,12 +1695,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.29)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -1733,12 +1710,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.29)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -1748,11 +1725,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.29)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -1763,11 +1740,11 @@ packages: dependencies: '@babel/runtime': 7.23.2 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.29)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -1777,12 +1754,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.29)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.33)(react@18.2.0) + '@types/react': 18.2.33 react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -1796,8 +1773,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.2 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.29 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.33)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.33 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1809,39 +1786,39 @@ packages: '@babel/runtime': 7.23.2 dev: false - /@reactflow/background@11.3.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/background@11.3.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-bgwvqWxF09chwmdkyClpYEMaewBspdwjgLbbFlLf4SpWPFMYyuvCBQrcISsvy/EDEWO9i3Uj9ktgGAhvtSQsmA==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.9.4(@types/react@18.2.33)(immer@10.0.3)(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.3(@types/react@18.2.29)(react@18.2.0) + zustand: 4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/controls@11.2.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/controls@11.2.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-x6e5p9iHjC6gd+4SoZ3DOOp0F1MefGKQ8hT6yPVdqxfo1+rV2WhrWvrX/MCoEu12Dp7457LdLfa0giy3aho8tQ==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.9.4(@types/react@18.2.33)(immer@10.0.3)(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.3(@types/react@18.2.29)(react@18.2.0) + zustand: 4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/core@11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/core@11.9.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Ko7nKPOYalwDTTbRHi2+QXDiidSAcpUzGN3G+0B+QysLZkcaPCkpkMjjHiDC4c/Z1BJBzs1FRJg/T6BXaBnYkg==} peerDependencies: react: '>=17' @@ -1857,19 +1834,19 @@ packages: d3-zoom: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.3(@types/react@18.2.29)(react@18.2.0) + zustand: 4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/minimap@11.7.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/minimap@11.7.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Jo1R+uDey9IV7O2s3m0gK2+cZpg9M8hq2EZJb3NGfOSzMAPhj3mby0fNJIgTzycreuht0TpA51c2YfjGI3YIOw==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.9.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) '@types/d3-selection': 3.0.8 '@types/d3-zoom': 3.0.6 classcat: 5.0.4 @@ -1877,41 +1854,41 @@ packages: d3-zoom: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.3(@types/react@18.2.29)(react@18.2.0) + zustand: 4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/node-resizer@2.2.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/node-resizer@2.2.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-+p271/hAsM5M1+RQTWW/02pbNkCHeGXwxGimIlL1tMIagyuko0NX2vOz2B8jxJnPKlF09Wj18BcXBNUm3nDcSg==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.9.4(@types/react@18.2.33)(immer@10.0.3)(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.3(@types/react@18.2.29)(react@18.2.0) + zustand: 4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/node-toolbar@1.3.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/node-toolbar@1.3.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-TfcmpXHRBb2mUfzKGjburiU6FWqRME9pPFs1OwIC1z5e9BjupQhNDEKEk8XHi7PKL/mAiDfwuGXaM1BVVFuPqw==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.9.4(@types/react@18.2.33)(immer@10.0.3)(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.3(@types/react@18.2.29)(react@18.2.0) + zustand: 4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer @@ -1980,8 +1957,8 @@ packages: selderee: 0.11.0 dev: false - /@swc/core-darwin-arm64@1.3.93: - resolution: {integrity: sha512-gEKgk7FVIgltnIfDO6GntyuQBBlAYg5imHpRgLxB1zSI27ijVVkksc6QwISzFZAhKYaBWIsFSVeL9AYSziAF7A==} + /@swc/core-darwin-arm64@1.3.95: + resolution: {integrity: sha512-VAuBAP3MNetO/yBIBzvorUXq7lUBwhfpJxYViSxyluMwtoQDhE/XWN598TWMwMl1ZuImb56d7eUsuFdjgY7pJw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -1989,8 +1966,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.93: - resolution: {integrity: sha512-ZQPxm/fXdDQtn3yrYSL/gFfA8OfZ5jTi33yFQq6vcg/Y8talpZ+MgdSlYM0FkLrZdMTYYTNFiuBQuuvkA+av+Q==} + /@swc/core-darwin-x64@1.3.95: + resolution: {integrity: sha512-20vF2rvUsN98zGLZc+dsEdHvLoCuiYq/1B+TDeE4oolgTFDmI1jKO+m44PzWjYtKGU9QR95sZ6r/uec0QC5O4Q==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -1998,8 +1975,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.93: - resolution: {integrity: sha512-OYFMMI2yV+aNe3wMgYhODxHdqUB/jrK0SEMHHS44GZpk8MuBXEF+Mcz4qjkY5Q1EH7KVQqXb/gVWwdgTHpjM2A==} + /@swc/core-linux-arm-gnueabihf@1.3.95: + resolution: {integrity: sha512-oEudEM8PST1MRNGs+zu0cx5i9uP8TsLE4/L9HHrS07Ck0RJ3DCj3O2fU832nmLe2QxnAGPwBpSO9FntLfOiWEQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -2007,8 +1984,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.93: - resolution: {integrity: sha512-BT4dT78odKnJMNiq5HdjBsv29CiIdcCcImAPxeFqAeFw1LL6gh9nzI8E96oWc+0lVT5lfhoesCk4Qm7J6bty8w==} + /@swc/core-linux-arm64-gnu@1.3.95: + resolution: {integrity: sha512-pIhFI+cuC1aYg+0NAPxwT/VRb32f2ia8oGxUjQR6aJg65gLkUYQzdwuUmpMtFR2WVf7WVFYxUnjo4UyMuyh3ng==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2016,8 +1993,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.93: - resolution: {integrity: sha512-yH5fWEl1bktouC0mhh0Chuxp7HEO4uCtS/ly1Vmf18gs6wZ8DOOkgAEVv2dNKIryy+Na++ljx4Ym7C8tSJTrLw==} + /@swc/core-linux-arm64-musl@1.3.95: + resolution: {integrity: sha512-ZpbTr+QZDT4OPJfjPAmScqdKKaT+wGurvMU5AhxLaf85DuL8HwUwwlL0n1oLieLc47DwIJEMuKQkYhXMqmJHlg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -2025,8 +2002,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.93: - resolution: {integrity: sha512-OFUdx64qvrGJhXKEyxosHxgoUVgba2ztYh7BnMiU5hP8lbI8G13W40J0SN3CmFQwPP30+3oEbW7LWzhKEaYjlg==} + /@swc/core-linux-x64-gnu@1.3.95: + resolution: {integrity: sha512-n9SuHEFtdfSJ+sHdNXNRuIOVprB8nbsz+08apKfdo4lEKq6IIPBBAk5kVhPhkjmg2dFVHVo4Tr/OHXM1tzWCCw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -2034,8 +2011,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.93: - resolution: {integrity: sha512-4B8lSRwEq1XYm6xhxHhvHmKAS7pUp1Q7E33NQ2TlmFhfKvCOh86qvThcjAOo57x8DRwmpvEVrqvpXtYagMN6Ig==} + /@swc/core-linux-x64-musl@1.3.95: + resolution: {integrity: sha512-L1JrVlsXU3LC0WwmVnMK9HrOT2uhHahAoPNMJnZQpc18a0paO9fqifPG8M/HjNRffMUXR199G/phJsf326UvVg==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -2043,8 +2020,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.93: - resolution: {integrity: sha512-BHShlxtkven8ZjjvZ5QR6sC5fZCJ9bMujEkiha6W4cBUTY7ce7qGFyHmQd+iPC85d9kD/0cCiX/Xez8u0BhO7w==} + /@swc/core-win32-arm64-msvc@1.3.95: + resolution: {integrity: sha512-YaP4x/aZbUyNdqCBpC2zL8b8n58MEpOUpmOIZK6G1SxGi+2ENht7gs7+iXpWPc0sy7X3YPKmSWMAuui0h8lgAA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -2052,8 +2029,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.93: - resolution: {integrity: sha512-nEwNWnz4JzYAK6asVvb92yeylfxMYih7eMQOnT7ZVlZN5ba9WF29xJ6kcQKs9HRH6MvWhz9+wRgv3FcjlU6HYA==} + /@swc/core-win32-ia32-msvc@1.3.95: + resolution: {integrity: sha512-w0u3HI916zT4BC/57gOd+AwAEjXeUlQbGJ9H4p/gzs1zkSHtoDQghVUNy3n/ZKp9KFod/95cA8mbVF9t1+6epQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -2061,8 +2038,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.93: - resolution: {integrity: sha512-jibQ0zUr4kwJaQVwgmH+svS04bYTPnPw/ZkNInzxS+wFAtzINBYcU8s2PMWbDb2NGYiRSEeoSGyAvS9H+24JFA==} + /@swc/core-win32-x64-msvc@1.3.95: + resolution: {integrity: sha512-5RGnMt0S6gg4Gc6QtPUJ3Qs9Un4sKqccEzgH/tj7V/DVTJwKdnBKxFZfgQ34OR2Zpz7zGOn889xwsFVXspVWNA==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -2070,8 +2047,8 @@ packages: dev: true optional: true - /@swc/core@1.3.93: - resolution: {integrity: sha512-690GRr1wUGmGYZHk7fUduX/JUwViMF2o74mnZYIWEcJaCcd9MQfkhsxPBtjeg6tF+h266/Cf3RPYhsFBzzxXcA==} + /@swc/core@1.3.95: + resolution: {integrity: sha512-PMrNeuqIusq9DPDooV3FfNEbZuTu5jKAc04N3Hm6Uk2Fl49cqElLFQ4xvl4qDmVDz97n3n/C1RE0/f6WyGPEiA==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -2083,16 +2060,16 @@ packages: '@swc/counter': 0.1.2 '@swc/types': 0.1.5 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.93 - '@swc/core-darwin-x64': 1.3.93 - '@swc/core-linux-arm-gnueabihf': 1.3.93 - '@swc/core-linux-arm64-gnu': 1.3.93 - '@swc/core-linux-arm64-musl': 1.3.93 - '@swc/core-linux-x64-gnu': 1.3.93 - '@swc/core-linux-x64-musl': 1.3.93 - '@swc/core-win32-arm64-msvc': 1.3.93 - '@swc/core-win32-ia32-msvc': 1.3.93 - '@swc/core-win32-x64-msvc': 1.3.93 + '@swc/core-darwin-arm64': 1.3.95 + '@swc/core-darwin-x64': 1.3.95 + '@swc/core-linux-arm-gnueabihf': 1.3.95 + '@swc/core-linux-arm64-gnu': 1.3.95 + '@swc/core-linux-arm64-musl': 1.3.95 + '@swc/core-linux-x64-gnu': 1.3.95 + '@swc/core-linux-x64-musl': 1.3.95 + '@swc/core-win32-arm64-msvc': 1.3.95 + '@swc/core-win32-ia32-msvc': 1.3.95 + '@swc/core-win32-x64-msvc': 1.3.95 dev: true /@swc/counter@0.1.2: @@ -2103,7 +2080,7 @@ packages: resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: true - /@tailwindcss/typography@0.5.10(tailwindcss@3.3.3): + /@tailwindcss/typography@0.5.10(tailwindcss@3.3.5): resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' @@ -2112,18 +2089,48 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.3.3 + tailwindcss: 3.3.5 dev: true - /@tanstack/query-core@4.36.1: - resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} + /@tanstack/query-core@5.0.5: + resolution: {integrity: sha512-MThCETMkHDHTnFZHp71L+SqTtD5d6XHftFCVR1xRJdWM3qGrlQ2VCXaj0SKVcyJej2e1Opa2c7iknu1llxCDNQ==} dev: false - /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} + /@tanstack/query-core@5.4.3: + resolution: {integrity: sha512-fnI9ORjcuLGm1sNrKatKIosRQUpuqcD4SV7RqRSVmj8JSicX2aoMyKryHEBpVQvf6N4PaBVgBxQomjsbsGPssQ==} + dev: false + + /@tanstack/query-persist-client-core@5.4.3: + resolution: {integrity: sha512-0MZazQMVXmmVyf/ce2ug0CoSkT02VA4ZhkT3F1/tIINxGuH2KlhKWQc9puqJzTazUpXfRdBK9+lMPqpkA16FEQ==} + dependencies: + '@tanstack/query-core': 5.4.3 + dev: false + + /@tanstack/query-sync-storage-persister@5.4.3: + resolution: {integrity: sha512-53e2O8lLaeBZ26myG6zQt5Ix16XmkcqJrsrSP2ZZzP5Ii6XwBq061djaEMTNbWYenYpmDqQIxAye/J6zQZ0QiA==} + dependencies: + '@tanstack/query-core': 5.4.3 + '@tanstack/query-persist-client-core': 5.4.3 + dev: false + + /@tanstack/react-query-persist-client@5.4.3(@tanstack/react-query@5.0.5)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-gpusG6IG6rnmdRT3onSjmRVG60K3BlsdUQifBVeLdi4uen1rvRAiB5a7jr4hFVMItzS9C4jBxJMWt/DmZpy6Ow==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@tanstack/react-query': ^5.4.3 + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@tanstack/query-persist-client-core': 5.4.3 + '@tanstack/react-query': 5.0.5(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@tanstack/react-query@5.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ZG0Q4HZ0iuI8mWiZ2/MdVYPHbrmAVhMn7+gLOkxJh6zLIgCL4luSZlohzN5Xt4MjxfxxWioO1nemwpudaTsmQg==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 react-native: '*' peerDependenciesMeta: react-dom: @@ -2131,10 +2138,9 @@ packages: react-native: optional: true dependencies: - '@tanstack/query-core': 4.36.1 + '@tanstack/query-core': 5.0.5 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - use-sync-external-store: 1.2.0(react@18.2.0) dev: false /@tauri-apps/api@2.0.0-alpha.6: @@ -2147,8 +2153,13 @@ packages: engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} dev: false - /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.15: - resolution: {integrity: sha512-PxmXanPZtSLtDJyEoj538//cauKoyc/sExAO0fTwJ+o8y2NZB/qQfpbdMIloQQnusRwh+6RjOr0Zs5Y6nBhO5Q==} + /@tauri-apps/api@2.0.0-alpha.9: + resolution: {integrity: sha512-Q5BiIQa2ToICdaJSYZdmtwbKSfdk+uQbQ7xMnbWI5C5C3frEVFlT92kVXgZFKIwrTLZBWHfiowkPR6rbFqAHIg==} + engines: {node: '>= 18', npm: '>= 6.6.0', yarn: '>= 1.19.1'} + dev: false + + /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.16: + resolution: {integrity: sha512-T/yu8+m4XrI1Ja5aVnsv4v5aGqIvwz1egHarMgh4LXrlMioJ60BoxDPfenaUokO6NVee212woFSmH6p4S7V8PA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -2156,8 +2167,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-darwin-x64@2.0.0-alpha.15: - resolution: {integrity: sha512-IcJGd6mIwQQ9xQhmkNHWjERJoGYpZEknhWeU8a2MnuosX8c9O/zmKWey4ol2KPrumMdmbh8QZzPyh9986GmnUA==} + /@tauri-apps/cli-darwin-x64@2.0.0-alpha.16: + resolution: {integrity: sha512-mhYB/UPeyn++GI0Tt8y90WmHU75Fh9yZ7cBtRCrF94kOOEldQGYqS26dwhsRrSgnNYB7vYvVPhHzQsKWziParQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -2165,8 +2176,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.15: - resolution: {integrity: sha512-zD88WJaEZ49BzgmIgj0RVFF/zKrB+NYHEDwmvt60eehQCPfnMuE5/asj0Gp4YJRZ07jZzDfzMCdTGbwWsLnZEA==} + /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.16: + resolution: {integrity: sha512-YP+4BSNN2ESgPnoIO37nw5tOi2k2rrU2eoeJHxQpOmRrQakjBrcZFP1HGjY3cOturexIKUALH69Ol9K6WzrJIQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -2174,8 +2185,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.15: - resolution: {integrity: sha512-rmHIZsEb1RT5Ny4hjeK7LC3MRqWLZBfiKC29DX5UzhJySb9g0UeR2esx1PMX6kuU8DOC0RBr8xpEmoTNMtFJ3Q==} + /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.16: + resolution: {integrity: sha512-mP/I6AdlRnrbZBUMKJWo4JsZStYD+7szh/1oo4zmDfWx0z6HUzgN6gxL+CR0pLex4kCJGUNeo1aZCGBJKzEdHg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2183,8 +2194,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.15: - resolution: {integrity: sha512-l3oix62YRE/vjpdxWq38NwZ61yg1vCcGAdfHaSt+Um/ojZHudekchQx56sEh7IMxsHxEtipxZdNEb1WsyAa5JA==} + /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.16: + resolution: {integrity: sha512-i58pTClYkn9BBhMShNycRUJD+cfxHs+PV5PPHhBJdi3+zpL0zHNTlZAjTMpO/o4hmTYhw1rbk+kPzXEaiAnt0w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2192,8 +2203,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.15: - resolution: {integrity: sha512-m7jWcyA4URtfvM4ySN1G3mO6gQP0qULawP9henks/bcrx2DU5xFP7WFxUxQhlWEtjwtJOI/NscQfzUEE6igs+Q==} + /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.16: + resolution: {integrity: sha512-GLb0+MvoC6/7l5HXhF3Ii1Uodg6K6l8tfSaQ7H8qplp9oVgMvNi8yd9myRT8SYApjsC1pViXTib+5n2pp3VS0A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2201,8 +2212,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.15: - resolution: {integrity: sha512-Xa4JTnYbebnLAMY7JdNuUDgnv/wWA4a8fbg1288kckq3aRXb+ETTV3Tlr/rnsx1s3TpECmSkXjTIvNecvsqjTA==} + /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.16: + resolution: {integrity: sha512-pZXuwVQpInzW8YjmhJsDPx3ovfVFbKJkUnXTgmVe8RvQSh6BxCSLyq8z4WG6zBRBdpjg8L5jVM8/MWf/QhdCVg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2210,8 +2221,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-win32-arm64-msvc@2.0.0-alpha.15: - resolution: {integrity: sha512-YOKmqenjwQkwBesJ3rYWnJ2renRhPAWIdIoTRhMnDacRk28mMWizsGWLT7ZDbYi7AHMR6jMk0eYgAKKd+uBjFg==} + /@tauri-apps/cli-win32-arm64-msvc@2.0.0-alpha.16: + resolution: {integrity: sha512-YB1urpcOfSMRhKi+0Cj8I2T+dlU2Vqqc/ao+8O4wiHibGFyGIcuL/DJfC/7nHyFUngac7Shyz8/VRKgvd/jEvw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -2219,8 +2230,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.15: - resolution: {integrity: sha512-Z8yMn6jKSCN8atdWwIzHNoqd+kS684RpgFoZhftcxtqYDXfSgU63KLasKu2Wu12a/7TmXqHGHlEBst9nD2VSLw==} + /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.16: + resolution: {integrity: sha512-IdODN3LwzwCaJOv1muiOhy0yD3IAIdu2UGacEukM9gnJ1VsK/JqU9ufH0SAFQkxKTWc6wpKykEAfuSNRlMIa5A==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -2228,8 +2239,8 @@ packages: dev: false optional: true - /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.15: - resolution: {integrity: sha512-fcIXUgI1PKeAj2cp7vvXDssWcXxhauCyvtJPmaCVl5pk+5aJlOSx5TPjv0BRyaIO8l4IPW1IakvTRcDvEAQHRw==} + /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.16: + resolution: {integrity: sha512-T2kg6o3Ca5cC2i5BdjsGCym0yZ64c9BGO5cmtCCrIardMTYB3hUHDvekOmKviBfqQbIsBHGZfnLDDbmjnwTLvA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2237,93 +2248,87 @@ packages: dev: false optional: true - /@tauri-apps/cli@2.0.0-alpha.15: - resolution: {integrity: sha512-eMMD5MXJDt/j37IGBP501Ov3lux+mrA1WT4EjTk+Oaw4t8fb8ncb7yvbVZ6qyzVo7WHplIGKRzyV0CyZXZropQ==} + /@tauri-apps/cli@2.0.0-alpha.16: + resolution: {integrity: sha512-zh2psjmHLkoHZkzUN1aPqcOE4KTLRTRJdd+K8CsD/y5nbQdek8qjc8ToohV2FNHDkBq0O/yETsPmPPLgQfhVhg==} engines: {node: '>= 10'} hasBin: true optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.15 - '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.15 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.15 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.15 - '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.15 - '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.15 - '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.15 - '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-alpha.15 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.15 - '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.15 + '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.16 + '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.16 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.16 + '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.16 + '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.16 + '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.16 + '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.16 + '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-alpha.16 + '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.16 + '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.16 dev: false - /@tauri-apps/plugin-app@2.0.0-alpha.1: - resolution: {integrity: sha512-DKlbG4ymoa8xDKdK36adPlZYeY8wcDQfi/XJG4qxhK6YC4GLrM1sG5eQgjVKheDI6wDQC5CiUjhnvddXVFUPTg==} + /@tauri-apps/plugin-clipboard-manager@2.0.0-alpha.2: + resolution: {integrity: sha512-NLs8rHLoWXJWGA+I5fVbQIscsRpndjA9ueEm6FjFl3PrfVIft3rW5qck3l0qDIjmtWPm5xDvzZP3VDcpfm93xg==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-clipboard-manager@2.0.0-alpha.1: - resolution: {integrity: sha512-zXybHu31RCx58ZGU7/kUHcvoXW2AX6kBXBZsKHv4rYe7Z869WmDLDC7iU23/dAJLu7xAPTJzJ/HbeMfbrfJ4hg==} + /@tauri-apps/plugin-dialog@2.0.0-alpha.2: + resolution: {integrity: sha512-tsMXiDR5mS+gL80xtKRSDPtBlnoywboIpDsEEzTyE8UZsngEXVQL4xsIF8qfMub5VIOt0iCcLGiPwU4pm7a3Wg==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-dialog@2.0.0-alpha.1: - resolution: {integrity: sha512-Fqv7zB7qvR6DkcH1dafHcRRNWRSFwj637/G2MQ+kKrmk1ErfV95lcYjpIhmUaETQSPKeogSI6A78kSnO89cvHQ==} + /@tauri-apps/plugin-fs@2.0.0-alpha.2: + resolution: {integrity: sha512-8wt4I53gtU7iAtAAMLxihPl5w91Zh99iSpzdxJDIDShcglYMMXU/xmSiIE4CF6ccw68AH0j7dKqSYPELVRy/dg==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-fs@2.0.0-alpha.1: - resolution: {integrity: sha512-snIDRAFgg3vi73TwiDQkM3+zBTDRvBXgGd7BAsSW7MQ+/3cJM4XcyPcYkv9X6jpgIiQrbWsDGs/KM4ob247K7A==} + /@tauri-apps/plugin-http@2.0.0-alpha.2: + resolution: {integrity: sha512-PceQGKaVxX+ziFYAzjDKdCEHC61NJE3QSZAwtG9cFWl75BkGxzh8ZuRqryYTPtNtD/fonOI4KDiqAeaXXJQNKQ==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-http@2.0.0-alpha.1: - resolution: {integrity: sha512-Ss9tR7JWmOcQEbHRdXXjjd+3nIPurqvuJwduIFrU3z0DQ0A+gtWVgyNMrQm+PAtJvw7FZlZDt8YMNIi7eEkJHg==} + /@tauri-apps/plugin-notification@2.0.0-alpha.2: + resolution: {integrity: sha512-B3+KvlBgcEaDX818dj1yaS1hUqwEOAS1WjPYEU/1wOm2im3tbsop/18dRAfD5zykXHn1EFRclU73xpzz9816yA==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-notification@2.0.0-alpha.1: - resolution: {integrity: sha512-/U046gKo0RsPsi7OTQEuu2ezWrhBNheTMA+iyMWb65N9mMSORul66Y1oKXzJOqeMsSQcL4V+WPz+6wzMGHY7lQ==} + /@tauri-apps/plugin-os@2.0.0-alpha.3: + resolution: {integrity: sha512-a2P3/Kv0KittnyKG7deBPqRz9HjyH7rwMicgYzFYk9Ye0hpEVEJq30bxo0dUi+UTZV96L2yO/hp8medcDI6rrw==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-os@2.0.0-alpha.2: - resolution: {integrity: sha512-5N20UFcgx+d415xupGfxb4vS7L/cx0X+I6DlJJ+xuO1y123+NLthFpnXxU3XH2TZXIZ36Rkfqz5uZO+xf+9JUQ==} + /@tauri-apps/plugin-process@2.0.0-alpha.2: + resolution: {integrity: sha512-5ilc3ZYuLTt+WAL0Q0MjxTdIjchKYLkqcFe7qqVgkl9iBAAsUCc6G9ikZpNyLEParsJaY63mOZX3iPc3ZTEdEg==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-process@2.0.0-alpha.1: - resolution: {integrity: sha512-ljTtJmuuURR1Q+H8zvbMX9pmMZdJQWMXGsUEK2aBNlUo4qE2AniXLjoaE1jJQ1NF2LKptJRSY1bSUi+OyEkjGg==} + /@tauri-apps/plugin-shell@2.0.0-alpha.2: + resolution: {integrity: sha512-LLf4rdFJ7kv1EY44JaaZDf88k8PUoYG0MXhBD5gEibRxpA73XCQRKPjBvLl5QS6am1CpTaZPaAJTYsoMeBGctA==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-shell@2.0.0-alpha.1: - resolution: {integrity: sha512-vH4ODw/7pmMHackh1F+/uGmBXNGArVJ8FRO0xyL0xjPsMxbba4o90FJ7eiITENznBZRKn3JFaTedh8KhAZqU/g==} + /@tauri-apps/plugin-sql@2.0.0-alpha.2: + resolution: {integrity: sha512-ADAH7exXWF4C7CUuNjCKYzkPMelf+654d6Xr9fBKpRiNVI1M2wymoNOMwC35NN7K/wguqv9AYh+Veo17GZkrFg==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-sql@2.0.0-alpha.1: - resolution: {integrity: sha512-HzFjcISMnkYR4lSOEAvtOUUT/YIMU2mz+oVGdVzVYAM5gzt8Xmooapp66UCJ/ugTlpd0angSkqfRgU3eQVS7Mg==} + /@tauri-apps/plugin-updater@2.0.0-alpha.2: + resolution: {integrity: sha512-j6RHPmZlvqm2vwQXbI6aZLCtllyv1qwTOih42PFIP0NHh7L1Ea+jStN0pZk0whHD72F9fcXv4eWexGlwBNa5dg==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false - /@tauri-apps/plugin-updater@2.0.0-alpha.1: - resolution: {integrity: sha512-rJoVc/N8gg1MkUOFZdx5h39V47elddwnOjs0sAPhaGfwct7okmFMRnXpN/MwHoprTkK2+6EDLOvhf0jFMiy4JA==} + /@tauri-apps/plugin-upload@2.0.0-alpha.2: + resolution: {integrity: sha512-YWkk2c+ZB8qaHVepmBHgtceyCtZ7Ov8vNuBeH6tXWHsHya/x2LyX+TVLIOsp3Y/xMLmgMNpFiaCumNtCCRWvqw==} dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 - dev: false - - /@tauri-apps/plugin-upload@2.0.0-alpha.1: - resolution: {integrity: sha512-MSQesuCrQqPJtn1kbO428sz2M2q+G/jrOV2J3nxVrxUkISQvn2vK/vmMZ8e3p/dT5hdzs10Xz6KC9GZ67BCMVg==} - dependencies: - '@tauri-apps/api': 2.0.0-alpha.6 + '@tauri-apps/api': 2.0.0-alpha.9 dev: false /@tauri-apps/plugin-window@2.0.0-alpha.1: @@ -2574,9 +2579,9 @@ packages: prosemirror-schema-list: 1.3.0 prosemirror-state: 1.4.3 prosemirror-tables: 1.3.4 - prosemirror-trailing-node: 2.0.7(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.32.1) + prosemirror-trailing-node: 2.0.7(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.32.2) prosemirror-transform: 1.8.0 - prosemirror-view: 1.32.1 + prosemirror-view: 1.32.2 dev: false /@tiptap/react@2.1.12(@tiptap/core@2.1.12)(@tiptap/pm@2.1.12)(react-dom@18.2.0)(react@18.2.0): @@ -2631,8 +2636,8 @@ packages: '@tiptap/pm': 2.1.12 dev: false - /@trivago/prettier-plugin-sort-imports@4.2.0(prettier@3.0.3): - resolution: {integrity: sha512-YBepjbt+ZNBVmN3ev1amQH3lWCmHyt5qTbLCp/syXJRu/Kw2koXh44qayB1gMRxcL/gV8egmjN5xWSrYyfUtyw==} + /@trivago/prettier-plugin-sort-imports@4.2.1(prettier@3.0.3): + resolution: {integrity: sha512-iuy2MPVURGdxILTchHr15VAioItuYBejKfcTmQFlxIuqA7jeaT6ngr5aUIG6S6U096d6a6lJCgaOwlRrPLlOPg==} peerDependencies: '@vue/compiler-sfc': 3.x prettier: 2.x - 3.x @@ -2642,7 +2647,7 @@ packages: dependencies: '@babel/generator': 7.17.7 '@babel/parser': 7.23.0 - '@babel/traverse': 7.17.3 + '@babel/traverse': 7.23.2 '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 lodash: 4.17.21 @@ -2830,22 +2835,10 @@ packages: '@types/d3-zoom': 3.0.6 dev: false - /@types/debug@4.1.10: - resolution: {integrity: sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==} - dependencies: - '@types/ms': 0.7.33 - dev: false - /@types/geojson@7946.0.12: resolution: {integrity: sha512-uK2z1ZHJyC0nQRbuovXFt4mzXDwf27vQeUWNhfKGwRcWW429GOhP8HxUHlM6TLH4bzmlv/HlEjpvJh3JfmGsAA==} dev: false - /@types/hast@2.3.7: - resolution: {integrity: sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==} - dependencies: - '@types/unist': 2.0.9 - dev: false - /@types/html-to-text@9.0.3: resolution: {integrity: sha512-ImzcLdHN3+zghCoZcA+vWd/t0GhM10S7lnvSq9YA6lbo4HGK10WIJ7n+NI7mbeVZeUtgrmK5fXM66kZcws1oHA==} dev: true @@ -2865,24 +2858,14 @@ packages: '@types/mdurl': 1.0.4 dev: false - /@types/mdast@3.0.14: - resolution: {integrity: sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==} - dependencies: - '@types/unist': 2.0.9 - dev: false - /@types/mdurl@1.0.4: resolution: {integrity: sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==} dev: false - /@types/ms@0.7.33: - resolution: {integrity: sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==} - dev: false - - /@types/node@20.8.7: - resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} + /@types/node@20.8.9: + resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} dependencies: - undici-types: 5.25.3 + undici-types: 5.26.5 dev: true /@types/object.omit@3.0.2: @@ -2899,10 +2882,10 @@ packages: /@types/react-dom@18.2.14: resolution: {integrity: sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==} dependencies: - '@types/react': 18.2.29 + '@types/react': 18.2.33 - /@types/react@18.2.29: - resolution: {integrity: sha512-Z+ZrIRocWtdD70j45izShRwDuiB4JZqDegqMFW/I8aG5DxxLKOzVNoq62UIO82v9bdgi+DO1jvsb9sTEZUSm+Q==} + /@types/react@18.2.33: + resolution: {integrity: sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==} dependencies: '@types/prop-types': 15.7.9 '@types/scheduler': 0.16.5 @@ -2919,16 +2902,12 @@ packages: resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==} dev: false - /@types/unist@2.0.9: - resolution: {integrity: sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==} - dev: false - /@types/youtube-player@5.5.9: resolution: {integrity: sha512-l2Q7ESxMv6HK2jc6I1qwMMGbh5bpHYQVCpXs0GsFmzaXoPibX50pHzs+PGfmegDY8TvmMGKWBgGI16ytqK6iIw==} dev: true - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} + /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -2938,14 +2917,14 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.8.0(eslint@8.51.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/type-utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4 - eslint: 8.51.0 + eslint: 8.52.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -2956,8 +2935,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.8.0(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} + /@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2966,27 +2945,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4 - eslint: 8.51.0 + eslint: 8.52.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.8.0: - resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} + /@typescript-eslint/scope-manager@6.9.0: + resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} + /@typescript-eslint/type-utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2995,23 +2974,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.51.0 + eslint: 8.52.0 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.8.0: - resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} + /@typescript-eslint/types@6.9.0: + resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + /@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): + resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3019,8 +2998,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -3031,54 +3010,58 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.51.0)(typescript@5.2.2): - resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} + /@typescript-eslint/utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - eslint: 8.51.0 + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + eslint: 8.52.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.8.0: - resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} + /@typescript-eslint/visitor-keys@6.9.0: + resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/types': 6.9.0 eslint-visitor-keys: 3.4.3 dev: true + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /@vitejs/plugin-react-swc@3.4.0(vite@4.5.0): resolution: {integrity: sha512-m7UaA4Uvz82N/0EOVpZL4XsFIakRqrFKeSNxa1FBLSXGvWrWRBwmZb4qxk+ZIVAZcW3c3dn5YosomDgx62XWcQ==} peerDependencies: vite: ^4 dependencies: - '@swc/core': 1.3.93 - vite: 4.5.0(@types/node@20.8.7) + '@swc/core': 1.3.95 + vite: 4.5.0(@types/node@20.8.9) transitivePeerDependencies: - '@swc/helpers' dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.11.2 dev: true - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} hasBin: true @@ -3158,7 +3141,7 @@ packages: /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 is-array-buffer: 3.0.2 dev: true @@ -3166,10 +3149,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 is-string: 1.0.7 dev: true @@ -3182,30 +3165,30 @@ packages: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.tosorted@1.1.2: resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 dev: true /arraybuffer.prototype.slice@1.0.2: @@ -3213,10 +3196,10 @@ packages: engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 dev: true @@ -3239,7 +3222,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.22.1 - caniuse-lite: 1.0.30001550 + caniuse-lite: 1.0.30001555 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -3263,10 +3246,6 @@ packages: dequal: 2.0.3 dev: true - /bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: false - /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -3291,8 +3270,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001550 - electron-to-chromium: 1.4.559 + caniuse-lite: 1.0.30001555 + electron-to-chromium: 1.4.569 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) @@ -3304,11 +3283,12 @@ packages: node-gyp-build: 4.6.1 dev: false - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: function-bind: 1.1.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 dev: true /callsites@3.1.0: @@ -3320,18 +3300,14 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - /caniuse-lite@1.0.30001550: - resolution: {integrity: sha512-p82WjBYIypO0ukTsd/FG3Xxs+4tFeaY9pfT4amQL8KWtYH7H9nYwReGAbMTJ0hsmRO8IfDtsS6p3ZWj8+1c2RQ==} + /caniuse-lite@1.0.30001555: + resolution: {integrity: sha512-NzbUFKUnJ3DTcq6YyZB6+qqhfD112uR3uoEnkmfzm2wVzUNsFkU7AwBjKQ654Sp5cau0JxhFyRSn/tQZ+XfygA==} /case-anything@2.1.13: resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==} engines: {node: '>=12.13'} dev: false - /ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: false - /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -3353,10 +3329,6 @@ packages: engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true - /character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - dev: false - /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -3417,12 +3389,8 @@ packages: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true - /comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - dev: false - - /commander@11.0.0: - resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + /commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} dev: true @@ -3458,8 +3426,8 @@ packages: which: 2.0.2 dev: true - /crypto-js@4.1.1: - resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + /crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} dev: false /cssesc@3.0.0: @@ -3581,12 +3549,6 @@ packages: dependencies: ms: 2.1.2 - /decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - dependencies: - character-entities: 2.0.2 - dev: false - /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -3600,9 +3562,9 @@ packages: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 gopd: 1.0.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 dev: true /define-properties@1.2.1: @@ -3610,16 +3572,17 @@ packages: engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.1 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 object-keys: 1.1.1 dev: true /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + dev: true - /destr@2.0.1: - resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} + /destr@2.0.2: + resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} dev: false /detect-node-es@1.1.0: @@ -3634,11 +3597,6 @@ packages: /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: false - /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -3694,8 +3652,8 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium@1.4.559: - resolution: {integrity: sha512-iS7KhLYCSJbdo3rUSkhDTVuFNCV34RKs2UaB9Ecr7VlqzjjWW//0nfsFF5dtDmyXlZQaDYYtID5fjtC/6lpRug==} + /electron-to-chromium@1.4.569: + resolution: {integrity: sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg==} /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} @@ -3717,26 +3675,26 @@ packages: engines: {node: '>=0.12'} dev: false - /es-abstract@1.22.2: - resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 - has: 1.0.4 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + hasown: 2.0.0 + internal-slot: 1.0.6 is-array-buffer: 3.0.2 is-callable: 1.2.7 is-negative-zero: 2.0.2 @@ -3745,7 +3703,7 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.12 is-weakref: 1.0.2 - object-inspect: 1.13.0 + object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.5.1 @@ -3759,41 +3717,41 @@ packages: typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 + which-typed-array: 1.1.13 dev: true /es-iterator-helpers@1.0.15: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-set-tostringtag: 2.0.1 + es-abstract: 1.22.3 + es-set-tostringtag: 2.0.2 function-bind: 1.1.2 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 globalthis: 1.0.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + internal-slot: 1.0.6 iterator.prototype: 1.1.2 safe-array-concat: 1.0.1 dev: true - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.4 + get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 + hasown: 2.0.0 dev: true - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - has: 1.0.4 + hasown: 2.0.0 dev: true /es-to-primitive@1.2.1: @@ -3872,21 +3830,16 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: false - - /eslint-config-prettier@9.0.0(eslint@8.51.0): + /eslint-config-prettier@9.0.0(eslint@8.52.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.51.0 + eslint: 8.52.0 dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.51.0): + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.52.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -3901,7 +3854,7 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.51.0 + eslint: 8.52.0 has: 1.0.4 jsx-ast-utils: 3.3.5 language-tags: 1.0.5 @@ -3911,7 +3864,7 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-react@7.33.2(eslint@8.51.0): + /eslint-plugin-react@7.33.2(eslint@8.52.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -3922,7 +3875,7 @@ packages: array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 8.51.0 + eslint: 8.52.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -3936,12 +3889,12 @@ packages: string.prototype.matchall: 4.0.10 dev: true - /eslint-plugin-simple-import-sort@10.0.0(eslint@8.51.0): + /eslint-plugin-simple-import-sort@10.0.0(eslint@8.52.0): resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} peerDependencies: eslint: '>=5.0.0' dependencies: - eslint: 8.51.0 + eslint: 8.52.0 dev: true /eslint-scope@7.2.2: @@ -3957,18 +3910,19 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.51.0: - resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==} + /eslint@8.52.0: + resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.51.0 - '@humanwhocodes/config-array': 0.11.11 + '@eslint/js': 8.52.0 + '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -4007,8 +3961,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) eslint-visitor-keys: 3.4.3 dev: true @@ -4044,18 +3998,18 @@ packages: engines: {node: '>=0.8.x'} dev: false - /execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 + get-stream: 8.0.1 + human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 onetime: 6.0.0 - signal-exit: 3.0.7 + signal-exit: 4.1.0 strip-final-newline: 3.0.0 dev: true @@ -4065,10 +4019,6 @@ packages: type: 2.7.2 dev: false - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: false - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -4184,15 +4134,14 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 functions-have-names: 1.2.3 dev: true @@ -4205,13 +4154,13 @@ packages: engines: {node: '>=6.9.0'} dev: false - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: function-bind: 1.1.2 - has: 1.0.4 has-proto: 1.0.1 has-symbols: 1.0.3 + hasown: 2.0.0 dev: true /get-nonce@1.0.1: @@ -4219,17 +4168,17 @@ packages: engines: {node: '>=6'} dev: false - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 dev: true /glob-parent@5.1.2: @@ -4302,7 +4251,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 dev: true /graphemer@1.4.0: @@ -4322,10 +4271,10 @@ packages: engines: {node: '>=8'} dev: true - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 dev: true /has-proto@1.0.1: @@ -4348,10 +4297,13 @@ packages: /has@1.0.4: resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} + dev: true - /hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} - dev: false + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 /html-to-text@9.0.5: resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} @@ -4373,9 +4325,9 @@ packages: entities: 4.5.0 dev: false - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /husky@8.0.3: @@ -4396,6 +4348,10 @@ packages: engines: {node: '>= 4'} dev: true + /immer@10.0.3: + resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==} + dev: false + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -4418,16 +4374,12 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - dev: false - - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.4 + get-intrinsic: 1.2.2 + hasown: 2.0.0 side-channel: 1.0.4 dev: true @@ -4440,8 +4392,8 @@ packages: /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-typed-array: 1.1.12 dev: true @@ -4468,24 +4420,19 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 dev: true - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: false - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} dev: true - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - has: 1.0.4 + hasown: 2.0.0 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -4508,7 +4455,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 dev: true /is-fullwidth-code-point@4.0.0: @@ -4554,11 +4501,6 @@ packages: engines: {node: '>=8'} dev: true - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: false - /is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} @@ -4570,7 +4512,7 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-tostringtag: 1.0.0 dev: true @@ -4581,7 +4523,7 @@ packages: /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 dev: true /is-stream@3.0.0: @@ -4607,7 +4549,7 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.11 + which-typed-array: 1.1.13 dev: true /is-typedarray@1.0.0: @@ -4621,14 +4563,14 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 dev: true /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 dev: true /isarray@2.0.5: @@ -4648,7 +4590,7 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 @@ -4757,34 +4699,28 @@ packages: uc.micro: 1.0.6 dev: false - /lint-staged@14.0.1: - resolution: {integrity: sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==} - engines: {node: ^16.14.0 || >=18.0.0} + /lint-staged@15.0.2: + resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} + engines: {node: '>=18.12.0'} hasBin: true dependencies: chalk: 5.3.0 - commander: 11.0.0 + commander: 11.1.0 debug: 4.3.4 - execa: 7.2.0 + execa: 8.0.1 lilconfig: 2.1.0 - listr2: 6.6.1 + listr2: 7.0.2 micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.1 + yaml: 2.3.3 transitivePeerDependencies: - - enquirer - supports-color dev: true - /listr2@6.6.1: - resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} + /listr2@7.0.2: + resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} engines: {node: '>=16.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true dependencies: cli-truncate: 3.1.0 colorette: 2.0.20 @@ -4828,10 +4764,6 @@ packages: wrap-ansi: 8.1.0 dev: true - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - dev: false - /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -4875,147 +4807,21 @@ packages: uc.micro: 1.0.6 dev: false - /markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - dev: false - - /mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + /markdown-to-jsx@7.3.2(react@18.2.0): + resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==} + engines: {node: '>= 10'} + peerDependencies: + react: '>= 0.14.0' dependencies: - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 - unist-util-visit: 4.1.2 - dev: false - - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} - dependencies: - '@types/mdast': 3.0.14 - escape-string-regexp: 5.0.0 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: false - - /mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - dependencies: - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} - dependencies: - '@types/mdast': 3.0.14 - ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.2.0 - dev: false - - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} - dependencies: - '@types/mdast': 3.0.14 - mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.1.0 - dev: false - - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} - dependencies: - '@types/mdast': 3.0.14 - mdast-util-to-markdown: 1.5.0 - dev: false - - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} - dependencies: - '@types/mdast': 3.0.14 - markdown-table: 3.0.3 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} - dependencies: - '@types/mdast': 3.0.14 - mdast-util-to-markdown: 1.5.0 - dev: false - - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} - dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-gfm-autolink-literal: 1.0.3 - mdast-util-gfm-footnote: 1.0.2 - mdast-util-gfm-strikethrough: 1.0.3 - mdast-util-gfm-table: 1.0.7 - mdast-util-gfm-task-list-item: 1.0.2 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - dependencies: - '@types/mdast': 3.0.14 - unist-util-is: 5.2.1 - dev: false - - /mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - dependencies: - '@types/hast': 2.3.7 - '@types/mdast': 3.0.14 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.2.0 - trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - dev: false - - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} - dependencies: - '@types/mdast': 3.0.14 - '@types/unist': 2.0.9 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.1.0 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 - dev: false - - /mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - dependencies: - '@types/mdast': 3.0.14 + react: 18.2.0 dev: false /mdurl@1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} dev: false - /media-chrome@1.4.4: - resolution: {integrity: sha512-L3EImWE2ft3dEXnku7mwEl71L8GWFvsnqQQsmtlbuLqekCkIACjL1KjLErReALB9JmrY19ffB4GeGZjLZDwALg==} + /media-chrome@1.4.5: + resolution: {integrity: sha512-WRi+4XV4oCx8nwUEhhKxqF78mdQDVTPHgq2g/Mkt8C8lmIaca9WwnahZ0MHx8fy8XAEaiIv1B25555lpvZncJQ==} dev: false /merge-stream@2.0.0: @@ -5026,253 +4832,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} - dependencies: - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} - dependencies: - micromark-util-types: 1.1.0 - dev: false - - /micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} - dependencies: - micromark-extension-gfm-autolink-literal: 1.0.5 - micromark-extension-gfm-footnote: 1.1.2 - micromark-extension-gfm-strikethrough: 1.0.7 - micromark-extension-gfm-table: 1.0.7 - micromark-extension-gfm-tagfilter: 1.0.2 - micromark-extension-gfm-task-list-item: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - dev: false - - /micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - dev: false - - /micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - dependencies: - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - dev: false - - /micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - dev: false - - /micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - dependencies: - '@types/debug': 4.1.10 - debug: 4.3.4 - decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: false - /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -5316,11 +4875,6 @@ packages: dependencies: brace-expansion: 1.1.11 - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: false - /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: false @@ -5427,8 +4981,8 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - /object-inspect@1.13.0: - resolution: {integrity: sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==} + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true /object-keys@1.1.1: @@ -5440,7 +4994,7 @@ packages: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -5450,25 +5004,25 @@ packages: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /object.omit@3.0.0: @@ -5489,9 +5043,9 @@ packages: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /once@1.4.0: @@ -5685,7 +5239,7 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-tailwindcss@0.5.6(@trivago/prettier-plugin-sort-imports@4.2.0)(prettier@3.0.3): + /prettier-plugin-tailwindcss@0.5.6(@trivago/prettier-plugin-sort-imports@4.2.1)(prettier@3.0.3): resolution: {integrity: sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==} engines: {node: '>=14.21.3'} peerDependencies: @@ -5737,7 +5291,7 @@ packages: prettier-plugin-twig-melody: optional: true dependencies: - '@trivago/prettier-plugin-sort-imports': 4.2.0(prettier@3.0.3) + '@trivago/prettier-plugin-sort-imports': 4.2.1(prettier@3.0.3) prettier: 3.0.3 dev: true @@ -5753,10 +5307,7 @@ packages: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - - /property-information@6.3.0: - resolution: {integrity: sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==} - dev: false + dev: true /prosemirror-changeset@2.2.1: resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==} @@ -5783,7 +5334,7 @@ packages: dependencies: prosemirror-state: 1.4.3 prosemirror-transform: 1.8.0 - prosemirror-view: 1.32.1 + prosemirror-view: 1.32.2 dev: false /prosemirror-gapcursor@1.3.2: @@ -5792,7 +5343,7 @@ packages: prosemirror-keymap: 1.2.2 prosemirror-model: 1.19.3 prosemirror-state: 1.4.3 - prosemirror-view: 1.32.1 + prosemirror-view: 1.32.2 dev: false /prosemirror-history@1.3.2: @@ -5800,7 +5351,7 @@ packages: dependencies: prosemirror-state: 1.4.3 prosemirror-transform: 1.8.0 - prosemirror-view: 1.32.1 + prosemirror-view: 1.32.2 rope-sequence: 1.3.4 dev: false @@ -5859,7 +5410,7 @@ packages: dependencies: prosemirror-model: 1.19.3 prosemirror-transform: 1.8.0 - prosemirror-view: 1.32.1 + prosemirror-view: 1.32.2 dev: false /prosemirror-tables@1.3.4: @@ -5869,10 +5420,10 @@ packages: prosemirror-model: 1.19.3 prosemirror-state: 1.4.3 prosemirror-transform: 1.8.0 - prosemirror-view: 1.32.1 + prosemirror-view: 1.32.2 dev: false - /prosemirror-trailing-node@2.0.7(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.32.1): + /prosemirror-trailing-node@2.0.7(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.32.2): resolution: {integrity: sha512-8zcZORYj/8WEwsGo6yVCRXFMOfBo0Ub3hCUvmoWIZYfMP26WqENU0mpEP27w7mt8buZWuGrydBewr0tOArPb1Q==} peerDependencies: prosemirror-model: ^1.19.0 @@ -5884,7 +5435,7 @@ packages: escape-string-regexp: 4.0.0 prosemirror-model: 1.19.3 prosemirror-state: 1.4.3 - prosemirror-view: 1.32.1 + prosemirror-view: 1.32.2 dev: false /prosemirror-transform@1.8.0: @@ -5893,8 +5444,8 @@ packages: prosemirror-model: 1.19.3 dev: false - /prosemirror-view@1.32.1: - resolution: {integrity: sha512-9SnB4HBgRczzTyIMZLPE1iszegL04hNfUyS8uPtP1RPxNM2NTCiIs8KwNsJU4nbZO9rxJTwVTv7Jm3zU4CR78A==} + /prosemirror-view@1.32.2: + resolution: {integrity: sha512-l2RQUGaiDI8SG8ZjWIkjT8yjGmNwdzMFMzQmxv/Kh8Vx+ICnz5R+K0mrOS16rhfjX7n2t4emU0goh7TerQC3mw==} dependencies: prosemirror-model: 1.19.3 prosemirror-state: 1.4.3 @@ -5966,39 +5517,9 @@ packages: /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: false - - /react-markdown@8.0.7(@types/react@18.2.29)(react@18.2.0): - resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - dependencies: - '@types/hast': 2.3.7 - '@types/prop-types': 15.7.9 - '@types/react': 18.2.29 - '@types/unist': 2.0.9 - comma-separated-tokens: 2.0.3 - hast-util-whitespace: 2.0.1 - prop-types: 15.8.1 - property-information: 6.3.0 - react: 18.2.0 - react-is: 18.2.0 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 - unified: 10.1.2 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color - dev: false - - /react-remove-scroll-bar@2.3.4(@types/react@18.2.29)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -6008,13 +5529,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.29)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.33)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.29)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -6024,13 +5545,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.29)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.29)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.33)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.33)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.0(@types/react@18.2.29)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.29)(react@18.2.0) + use-callback-ref: 1.3.0(@types/react@18.2.33)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.33)(react@18.2.0) dev: false /react-router-dom@6.17.0(react-dom@18.2.0)(react@18.2.0): @@ -6056,12 +5577,7 @@ packages: react: 18.2.0 dev: false - /react-string-replace@1.1.1: - resolution: {integrity: sha512-26TUbLzLfHQ5jO5N7y3Mx88eeKo0Ml0UjCQuX4BMfOd/JX+enQqlKpL1CZnmjeBRvQE8TR+ds9j1rqx9CxhKHQ==} - engines: {node: '>=0.12.0'} - dev: false - - /react-style-singleton@2.2.1(@types/react@18.2.29)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -6071,7 +5587,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.29 + '@types/react': 18.2.33 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -6085,18 +5601,18 @@ packages: loose-envify: 1.4.0 dev: false - /reactflow@11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0): + /reactflow@11.9.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-IHAKBkJngNvU9y1vZ5Nw9rvA3Z+zc9geTgQQIi9qq9Y9knGLlDDr9KfsjbFMew9AycAAgVg8TvBEakF4IT5lqg==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/background': 11.3.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/controls': 11.2.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/core': 11.9.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/minimap': 11.7.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/node-resizer': 2.2.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/node-toolbar': 1.3.4(@types/react@18.2.29)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/background': 11.3.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/controls': 11.2.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.9.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/minimap': 11.7.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/node-resizer': 2.2.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/node-toolbar': 1.3.4(@types/react@18.2.33)(immer@10.0.3)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -6119,10 +5635,10 @@ packages: resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -6134,41 +5650,11 @@ packages: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 set-function-name: 2.0.1 dev: true - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} - dependencies: - '@types/mdast': 3.0.14 - mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.3 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - dev: false - - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} - dependencies: - '@types/mdast': 3.0.14 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - dev: false - - /remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} - dependencies: - '@types/hast': 2.3.7 - '@types/mdast': 3.0.14 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 - dev: false - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -6178,7 +5664,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -6186,7 +5672,7 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -6230,19 +5716,12 @@ packages: dependencies: queue-microtask: 1.2.3 - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - dependencies: - mri: 1.2.0 - dev: false - /safe-array-concat@1.0.1: resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 dev: true @@ -6250,8 +5729,8 @@ packages: /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-regex: 1.1.4 dev: true @@ -6283,13 +5762,23 @@ packages: lru-cache: 6.0.0 dev: true + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + /set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 dev: true /shebang-command@2.0.0: @@ -6307,15 +5796,20 @@ packages: /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.13.0 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -6348,10 +5842,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: false - /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -6369,12 +5859,12 @@ packages: /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 - internal-slot: 1.0.5 + internal-slot: 1.0.6 regexp.prototype.flags: 1.5.1 set-function-name: 2.0.1 side-channel: 1.0.4 @@ -6384,25 +5874,25 @@ packages: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /strip-ansi@6.0.1: @@ -6429,12 +5919,6 @@ packages: engines: {node: '>=8'} dev: true - /style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - dependencies: - inline-style-parser: 0.1.1 - dev: false - /sucrase@3.34.0: resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} engines: {node: '>=8'} @@ -6468,17 +5952,17 @@ packages: /tailwind-merge@1.14.0: resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==} - /tailwind-scrollbar@3.0.5(tailwindcss@3.3.3): + /tailwind-scrollbar@3.0.5(tailwindcss@3.3.5): resolution: {integrity: sha512-0ZwxTivevqq9BY9fRP9zDjHl7Tu+J5giBGbln+0O1R/7nHtBUKnjQcA1aTIhK7Oyjp6Uc/Dj6/dn8Dq58k5Uww==} engines: {node: '>=12.13.0'} peerDependencies: tailwindcss: 3.x dependencies: - tailwindcss: 3.3.3 + tailwindcss: 3.3.5 dev: false - /tailwindcss@3.3.3: - resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} + /tailwindcss@3.3.5: + resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -6507,7 +5991,7 @@ packages: transitivePeerDependencies: - ts-node - /tauri-controls@0.2.0(@tauri-apps/plugin-os@2.0.0-alpha.2)(@tauri-apps/plugin-window@2.0.0-alpha.1)(clsx@2.0.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@1.14.0): + /tauri-controls@0.2.0(@tauri-apps/plugin-os@2.0.0-alpha.3)(@tauri-apps/plugin-window@2.0.0-alpha.1)(clsx@2.0.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@1.14.0): resolution: {integrity: sha512-/IDXLhcqGRjNN7QKfzgyr2y4QfnWT9MSIdqxrjH2oElXyngSo/cQltTb8LT6h/sH/7gRiSQMvQBEmavfn9Hk0w==} peerDependencies: '@tauri-apps/plugin-os': 2.0.0-alpha.2 @@ -6518,7 +6002,7 @@ packages: tailwind-merge: ^1.14.0 dependencies: '@tauri-apps/api': 2.0.0-alpha.8 - '@tauri-apps/plugin-os': 2.0.0-alpha.2 + '@tauri-apps/plugin-os': 2.0.0-alpha.3 '@tauri-apps/plugin-window': 2.0.0-alpha.1 clsx: 2.0.0 react: 18.2.0 @@ -6574,14 +6058,6 @@ packages: dependencies: is-number: 7.0.0 - /trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - dev: false - - /trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} - dev: false - /ts-api-utils@1.0.3(typescript@5.2.2): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} @@ -6649,8 +6125,8 @@ packages: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 is-typed-array: 1.1.12 dev: true @@ -6658,7 +6134,7 @@ packages: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -6669,7 +6145,7 @@ packages: engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 @@ -6678,7 +6154,7 @@ packages: /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.12 dev: true @@ -6705,69 +6181,20 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - dependencies: - '@types/unist': 2.0.9 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.1.0 - vfile: 5.3.7 - dev: false - - /unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - dev: false - - /unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - dependencies: - '@types/unist': 2.0.9 - dev: false - - /unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} - dependencies: - '@types/unist': 2.0.9 - dev: false - - /unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} - dependencies: - '@types/unist': 2.0.9 - dev: false - - /unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - dependencies: - '@types/unist': 2.0.9 - unist-util-is: 5.2.1 - dev: false - - /unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - dependencies: - '@types/unist': 2.0.9 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - dev: false - /unplugin@1.5.0: resolution: {integrity: sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==} dependencies: - acorn: 8.10.0 + acorn: 8.11.2 chokidar: 3.5.3 webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 @@ -6789,7 +6216,7 @@ packages: punycode: 2.3.0 dev: true - /use-callback-ref@1.3.0(@types/react@18.2.29)(react@18.2.0): + /use-callback-ref@1.3.0(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} engines: {node: '>=10'} peerDependencies: @@ -6799,12 +6226,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.29 + '@types/react': 18.2.33 react: 18.2.0 tslib: 2.6.2 dev: false - /use-sidecar@1.1.2(@types/react@18.2.29)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.33)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -6814,7 +6241,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.29 + '@types/react': 18.2.33 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -6844,35 +6271,8 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - dequal: 2.0.3 - diff: 5.1.0 - kleur: 4.1.5 - sade: 1.8.1 - dev: false - - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - dependencies: - '@types/unist': 2.0.9 - unist-util-stringify-position: 3.0.3 - dev: false - - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - dependencies: - '@types/unist': 2.0.9 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - dev: false - - /virtua@0.15.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-kzwin55Tj85tcpNO7p5p7U12+wT6+CJaDSr98BTNKD6t7QEmigDwE7h6dcP170LrY8tW+scsMUtipcroSeSpAw==} + /virtua@0.15.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-j9EfyAmpp6VwuHmnXkWpzciHRdlY7XGPzZg3ZqOPFW+phNUnFQALYdrThc3CYHZFsj380ieIegdjPGS+Qbkuyg==} peerDependencies: react: '>=16.14.0' react-dom: '>=16.14.0' @@ -6892,13 +6292,13 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 2.1.2(typescript@5.2.2) - vite: 4.5.0(@types/node@20.8.7) + vite: 4.5.0(@types/node@20.8.9) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.5.0(@types/node@20.8.7): + /vite@4.5.0(@types/node@20.8.9): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -6926,7 +6326,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -7000,7 +6400,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.11 + which-typed-array: 1.1.13 dev: true /which-collection@1.0.1: @@ -7012,12 +6412,12 @@ packages: is-weakset: 2.0.2 dev: true - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + call-bind: 1.0.5 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 @@ -7056,11 +6456,6 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} - engines: {node: '>= 14'} - dev: true - /yaml@2.3.3: resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} engines: {node: '>= 14'} @@ -7070,8 +6465,8 @@ packages: engines: {node: '>=10'} dev: true - /zustand@4.4.3(@types/react@18.2.29)(react@18.2.0): - resolution: {integrity: sha512-oRy+X3ZazZvLfmv6viIaQmtLOMeij1noakIsK/Y47PWYhT8glfXzQ4j0YcP5i0P0qI1A4rIB//SGROGyZhx91A==} + /zustand@4.4.4(@types/react@18.2.33)(immer@10.0.3)(react@18.2.0): + resolution: {integrity: sha512-5UTUIAiHMNf5+mFp7/AnzJXS7+XxktULFN0+D1sCiZWyX7ZG+AQpqs2qpYrynRij4QvoDdCD+U+bmg/cG3Ucxw==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -7085,11 +6480,8 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.29 + '@types/react': 18.2.33 + immer: 10.0.3 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) dev: false - - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: false diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index fdc8258a..49636955 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -42,14 +42,15 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", "getrandom 0.2.10", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -231,9 +232,9 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.25", + "rustix 0.37.27", "slab", - "socket2 0.4.9", + "socket2 0.4.10", "waker-fn", ] @@ -259,7 +260,7 @@ dependencies = [ "cfg-if", "event-listener 3.0.0", "futures-lite", - "rustix 0.38.19", + "rustix 0.38.21", "windows-sys 0.48.0", ] @@ -286,7 +287,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.19", + "rustix 0.38.21", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -396,9 +397,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.4" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -680,9 +681,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.6" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" dependencies = [ "clap_builder", "clap_derive", @@ -690,9 +691,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.6" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" dependencies = [ "anstream", "anstyle", @@ -702,9 +703,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.4.2" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck", "proc-macro2", @@ -714,9 +715,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "clipboard-win" @@ -892,9 +893,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -991,12 +992,12 @@ dependencies = [ [[package]] name = "ctor" -version = "0.1.26" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +checksum = "37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583" dependencies = [ "quote", - "syn 1.0.109", + "syn 2.0.38", ] [[package]] @@ -1010,7 +1011,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "socket2 0.4.9", + "socket2 0.4.10", "winapi", ] @@ -1218,7 +1219,7 @@ checksum = "f54cc3e827ee1c3812239a9a41dede7b4d7d5d5464faa32d71bd7cba28ce2cb2" dependencies = [ "cc", "rustc_version", - "toml 0.8.2", + "toml 0.8.5", "vswhom", "winreg 0.51.0", ] @@ -1347,7 +1348,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ "cfg-if", - "rustix 0.38.19", + "rustix 0.38.21", "windows-sys 0.48.0", ] @@ -1478,9 +1479,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -1493,9 +1494,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -1503,15 +1504,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -1531,9 +1532,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-lite" @@ -1552,9 +1553,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", @@ -1563,21 +1564,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -1936,9 +1937,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" dependencies = [ "ahash", "allocator-api2", @@ -1950,7 +1951,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.1", + "hashbrown 0.14.2", ] [[package]] @@ -2066,7 +2067,7 @@ dependencies = [ "httpdate", "itoa 1.0.9", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -2168,15 +2169,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" dependencies = [ "equivalent", - "hashbrown 0.14.1", + "hashbrown 0.14.2", "serde", ] [[package]] name = "infer" -version = "0.12.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3" +checksum = "cb33622da908807a06f9513c19b3c1ad50fab3e4137d82a78107d502075aa199" dependencies = [ "cfb", ] @@ -2212,9 +2213,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-docker" @@ -2517,7 +2518,7 @@ dependencies = [ [[package]] name = "lume" -version = "2.0.0" +version = "2.0.1" dependencies = [ "keyring", "serde", @@ -2525,7 +2526,6 @@ dependencies = [ "sqlx-cli", "tauri", "tauri-build", - "tauri-plugin-app", "tauri-plugin-autostart", "tauri-plugin-cli", "tauri-plugin-clipboard-manager", @@ -2541,7 +2541,6 @@ dependencies = [ "tauri-plugin-store", "tauri-plugin-updater", "tauri-plugin-upload", - "tauri-plugin-window", "webpage", ] @@ -2687,9 +2686,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3083,9 +3082,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.1.5+3.1.3" +version = "300.1.6+3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559068e4c12950d7dcaa1857a61725c0d38d4fc03ff8e070ab31a75d6e316491" +checksum = "439fac53e092cd7442a3660c85dde4643ab3b5bd39040912388dcdabf6b88085" dependencies = [ "cc", ] @@ -3262,9 +3261,17 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" dependencies = [ - "phf_macros 0.10.0", "phf_shared 0.10.0", - "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros 0.11.2", + "phf_shared 0.11.2", ] [[package]] @@ -3307,6 +3314,16 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + [[package]] name = "phf_macros" version = "0.8.0" @@ -3323,16 +3340,15 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", + "phf_generator 0.11.2", + "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.38", ] [[package]] @@ -3353,6 +3369,15 @@ dependencies = [ "siphasher", ] +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project-lite" version = "0.2.13" @@ -3405,14 +3430,14 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "plist" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" +checksum = "9a4a0cfc5fb21a09dc6af4bf834cf10d4a32fccd9e2ea468c4b1751a097487aa" dependencies = [ "base64", "indexmap 1.9.3", "line-wrap", - "quick-xml 0.29.0", + "quick-xml", "serde", "time", ] @@ -3522,15 +3547,6 @@ dependencies = [ "rustyline", ] -[[package]] -name = "quick-xml" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" -dependencies = [ - "memchr", -] - [[package]] name = "quick-xml" version = "0.30.0" @@ -3806,31 +3822,28 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.20" +version = "0.17.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" dependencies = [ "cc", + "getrandom 0.2.10", "libc", - "once_cell", - "spin 0.5.2", + "spin 0.9.8", "untrusted", - "web-sys", - "winapi", + "windows-sys 0.48.0", ] [[package]] name = "rsa" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8" +checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d" dependencies = [ - "byteorder", "const-oid", "digest", "num-bigint-dig", "num-integer", - "num-iter", "num-traits", "pkcs1", "pkcs8", @@ -3858,9 +3871,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.25" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", @@ -3872,9 +3885,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.19" +version = "0.38.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" +checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" dependencies = [ "bitflags 2.4.1", "errno", @@ -3885,9 +3898,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" dependencies = [ "ring", "rustls-webpki", @@ -3905,9 +3918,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.101.6" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ "ring", "untrusted", @@ -3987,9 +4000,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ "ring", "untrusted", @@ -4068,18 +4081,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.189" +version = "1.0.190" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.189" +version = "1.0.190" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" dependencies = [ "proc-macro2", "quote", @@ -4110,9 +4123,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" dependencies = [ "serde", ] @@ -4279,9 +4292,9 @@ checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -4289,9 +4302,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys 0.48.0", @@ -4736,7 +4749,7 @@ dependencies = [ "cfg-expr", "heck", "pkg-config", - "toml 0.8.2", + "toml 0.8.5", "version-compare", ] @@ -4784,7 +4797,7 @@ dependencies = [ "url", "uuid", "windows 0.48.0", - "windows-implement", + "windows-implement 0.48.0", "x11-dl", "zbus", ] @@ -4813,15 +4826,15 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.11" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" -version = "2.0.0-alpha.15" +version = "2.0.0-alpha.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8f1dc82ad6bf8a689b131febee60020e84193b7fdb9c21bbb344c3d9f25de4" +checksum = "350fce27e96fda5a5741ae200ebf775cc3423c682154224cfbd78066db777fc6" dependencies = [ "anyhow", "bytes", @@ -4829,6 +4842,7 @@ dependencies = [ "dirs-next", "embed_plist", "futures-util", + "getrandom 0.2.10", "glib", "glob", "gtk", @@ -4842,7 +4856,6 @@ dependencies = [ "objc", "once_cell", "percent-encoding", - "rand 0.8.5", "raw-window-handle", "reqwest", "serde", @@ -4860,17 +4873,17 @@ dependencies = [ "tokio", "tray-icon", "url", - "uuid", "webkit2gtk", "webview2-com", + "window-vibrancy", "windows 0.48.0", ] [[package]] name = "tauri-build" -version = "2.0.0-alpha.9" +version = "2.0.0-alpha.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59048e05398d7d53e2d73d7f7fd14fbab53ec9f90f4b91e3c08f263e07ffc569" +checksum = "55e3fe1435d7bcf64d15182815f5e1b0b05ec71cd365ed5055204efb5436ebc4" dependencies = [ "anyhow", "cargo_toml", @@ -4888,9 +4901,9 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.0.0-alpha.8" +version = "2.0.0-alpha.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8acf40451edf9ccd16d110cb10e9959fec6ccca286c5cc66b859878f8aa9a7b" +checksum = "ff206ba5a7de8f20068f36d5fa49756a9fd375a156a2332278273b6d0dc57033" dependencies = [ "base64", "brotli", @@ -4914,9 +4927,9 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.0.0-alpha.8" +version = "2.0.0-alpha.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7037ba4260be47f4d6dab8c781bd15910ef1d3c16c74bf3e3c47e69c250ab82" +checksum = "d29a29d42cca831a9d9c8be91412ef6416813e7307e8dcfd1df38f3b13f3cc73" dependencies = [ "heck", "proc-macro2", @@ -4926,18 +4939,10 @@ dependencies = [ "tauri-utils", ] -[[package]] -name = "tauri-plugin-app" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" -dependencies = [ - "tauri", -] - [[package]] name = "tauri-plugin-autostart" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "auto-launch", "log", @@ -4949,8 +4954,8 @@ dependencies = [ [[package]] name = "tauri-plugin-cli" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "clap", "log", @@ -4962,8 +4967,8 @@ dependencies = [ [[package]] name = "tauri-plugin-clipboard-manager" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "arboard", "log", @@ -4976,8 +4981,8 @@ dependencies = [ [[package]] name = "tauri-plugin-dialog" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "glib", "log", @@ -4993,8 +4998,8 @@ dependencies = [ [[package]] name = "tauri-plugin-fs" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "anyhow", "glob", @@ -5006,8 +5011,8 @@ dependencies = [ [[package]] name = "tauri-plugin-http" -version = "2.0.0-alpha.3" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.4" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "data-url", "glob", @@ -5023,8 +5028,8 @@ dependencies = [ [[package]] name = "tauri-plugin-notification" -version = "2.0.0-alpha.3" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.4" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "log", "notify-rust", @@ -5041,8 +5046,8 @@ dependencies = [ [[package]] name = "tauri-plugin-os" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "gethostname 0.4.3", "log", @@ -5057,16 +5062,16 @@ dependencies = [ [[package]] name = "tauri-plugin-process" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "tauri", ] [[package]] name = "tauri-plugin-shell" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "encoding_rs", "log", @@ -5082,8 +5087,8 @@ dependencies = [ [[package]] name = "tauri-plugin-single-instance" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "log", "serde", @@ -5096,8 +5101,8 @@ dependencies = [ [[package]] name = "tauri-plugin-sql" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "futures-core", "log", @@ -5112,8 +5117,8 @@ dependencies = [ [[package]] name = "tauri-plugin-store" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "log", "serde", @@ -5124,11 +5129,12 @@ dependencies = [ [[package]] name = "tauri-plugin-updater" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "base64", "dirs-next", + "flate2", "futures-util", "http", "minisign-verify", @@ -5149,8 +5155,8 @@ dependencies = [ [[package]] name = "tauri-plugin-upload" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" +version = "2.0.0-alpha.3" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#76cfdc32b4593acfdfed95bf3028cdba0d83fe61" dependencies = [ "futures-util", "log", @@ -5164,21 +5170,11 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "tauri-plugin-window" -version = "2.0.0-alpha.2" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#1240631840060f98b493c3cd01120ac2b65e88f2" -dependencies = [ - "serde", - "tauri", - "thiserror", -] - [[package]] name = "tauri-runtime" -version = "1.0.0-alpha.2" +version = "1.0.0-alpha.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34b124f7731f3981deba3b643b2f1c8eaff59f3d6929edb401e1fc929ad93df" +checksum = "c373492a8e2d369c638bff48fc07abbe7292f8ddb867bc3b992fb7ea10006212" dependencies = [ "gtk", "http", @@ -5189,26 +5185,23 @@ dependencies = [ "tauri-utils", "thiserror", "url", - "uuid", "windows 0.48.0", ] [[package]] name = "tauri-runtime-wry" -version = "1.0.0-alpha.3" +version = "1.0.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b94248fbaf1169c1fb085a2c43f49af3de650f6972a64d6f2bdf876c60949d5" +checksum = "ef7b8a49504f67c65a55188013439edf815356a6f8e2a9d2ed005120a201c98f" dependencies = [ "cocoa 0.24.1", "gtk", "http", "jni", "percent-encoding", - "rand 0.8.5", "raw-window-handle", "tauri-runtime", "tauri-utils", - "uuid", "webkit2gtk", "webview2-com", "windows 0.48.0", @@ -5217,9 +5210,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.0.0-alpha.8" +version = "2.0.0-alpha.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931ead8db578bc2f9aee6636345fe5b900cfa2b9985a1783913200fab5e607f1" +checksum = "4b821e0e6b5b94c6bde3c95568f5161eb70939a7b0d511f79c0cf85fed3b29c9" dependencies = [ "brotli", "ctor", @@ -5232,7 +5225,7 @@ dependencies = [ "kuchikiki", "log", "memchr", - "phf 0.10.1", + "phf 0.11.2", "proc-macro2", "quote", "semver", @@ -5242,7 +5235,7 @@ dependencies = [ "thiserror", "url", "walkdir", - "windows 0.48.0", + "windows 0.51.1", ] [[package]] @@ -5261,20 +5254,20 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "006851c9ccefa3c38a7646b8cec804bb429def3da10497bfa977179869c3e8e2" dependencies = [ - "quick-xml 0.30.0", + "quick-xml", "windows 0.51.1", ] [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", "fastrand 2.0.1", - "redox_syscall 0.3.5", - "rustix 0.38.19", + "redox_syscall 0.4.1", + "rustix 0.38.21", "windows-sys 0.48.0", ] @@ -5297,18 +5290,18 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", @@ -5392,7 +5385,7 @@ dependencies = [ "mio", "num_cpus", "pin-project-lite", - "socket2 0.5.4", + "socket2 0.5.5", "tokio-macros", "windows-sys 0.48.0", ] @@ -5431,9 +5424,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -5457,21 +5450,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +checksum = "3efaf127c78d5339cc547cce4e4d973bd5e4f56e949a06d091c082ebeef2f800" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.20.2", + "toml_edit 0.20.5", ] [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] @@ -5491,9 +5484,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "782bf6c2ddf761c1e7855405e8975472acf76f7f36d0d4328bd3b7a2fae12a85" dependencies = [ "indexmap 2.0.2", "serde", @@ -5510,9 +5503,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.39" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "log", "pin-project-lite", @@ -5543,12 +5536,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -5661,9 +5654,9 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "untrusted" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" @@ -5943,8 +5936,8 @@ dependencies = [ "webview2-com-macros", "webview2-com-sys", "windows 0.48.0", - "windows-implement", - "windows-interface", + "windows-implement 0.48.0", + "windows-interface 0.48.0", ] [[package]] @@ -6025,6 +6018,18 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "window-vibrancy" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5931735e675b972fada30c7a402915d4d827aa5ef6c929c133d640c4b785e963" +dependencies = [ + "cocoa 0.25.0", + "objc", + "raw-window-handle", + "windows-sys 0.48.0", +] + [[package]] name = "windows" version = "0.44.0" @@ -6040,8 +6045,8 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-implement", - "windows-interface", + "windows-implement 0.48.0", + "windows-interface 0.48.0", "windows-targets 0.48.5", ] @@ -6052,6 +6057,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" dependencies = [ "windows-core", + "windows-implement 0.51.1", + "windows-interface 0.51.1", "windows-targets 0.48.5", ] @@ -6085,6 +6092,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "windows-implement" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb2b158efec5af20d8846836622f50a87e6556b9153a42772fa047f773c0e555" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "windows-interface" version = "0.48.0" @@ -6096,6 +6114,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "windows-interface" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0546e63e1ce64c04403d2311fa0e3ab5ae3a367bd524b4a38d8d8d18c70cfa76" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "windows-metadata" version = "0.48.0" @@ -6314,7 +6343,7 @@ dependencies = [ "webkit2gtk-sys", "webview2-com", "windows 0.48.0", - "windows-implement", + "windows-implement 0.48.0", ] [[package]] @@ -6456,6 +6485,26 @@ dependencies = [ "zvariant", ] +[[package]] +name = "zerocopy" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81ba595b9f2772fbee2312de30eeb80ec773b4cb2f1e8098db024afadda6c06f" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772666c41fb6dceaf520b564b962d738a8e1a83b41bd48945f50837aed78bb1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "zeroize" version = "1.6.0" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 049e6797..b4ee8403 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lume" -version = "2.0.0" +version = "2.0.1" description = "the communication app" authors = ["Ren Amamiya"] license = "GPL-3.0" @@ -18,7 +18,6 @@ tauri = { version = "2.0.0-alpha", features = [ "macos-private-api", "native-tls-vendored", ] } -tauri-plugin-app = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-cli = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-clipboard-manager = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-dialog = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } @@ -29,7 +28,6 @@ tauri-plugin-os = { git = "https://github.com/tauri-apps/plugins-workspace", bra tauri-plugin-process = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-shell = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-updater = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } -tauri-plugin-window = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-autostart = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } diff --git a/src-tauri/migrations/20231028083224_add_ndk_cache_table.sql b/src-tauri/migrations/20231028083224_add_ndk_cache_table.sql new file mode 100644 index 00000000..d1440e3d --- /dev/null +++ b/src-tauri/migrations/20231028083224_add_ndk_cache_table.sql @@ -0,0 +1,27 @@ +-- Add migration script here +CREATE TABLE + ndk_users ( + pubkey TEXT NOT NULL PRIMARY KEY, + profile TEXT, + createdAt NUMBER + ); + +CREATE TABLE + ndk_events ( + id TEXT NOT NULL PRIMARY KEY, + pubkey TEXT, + content TEXT, + kind NUMBER, + createdAt NUMBER, + relay TEXT, + event TEXT + ); + +CREATE TABLE + ndk_eventtags ( + id TEXT NOT NULL PRIMARY KEY, + eventId TEXT, + tag TEXT, + value TEXT, + tagValue TEXT + ); diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 24b5a5ee..34938251 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -114,7 +114,6 @@ fn main() { .plugin(tauri_plugin_updater::Builder::new().build())?; Ok(()) }) - .plugin(tauri_plugin_app::init()) .plugin(tauri_plugin_clipboard_manager::init()) .plugin(tauri_plugin_dialog::init()) .plugin(tauri_plugin_fs::init()) @@ -125,17 +124,24 @@ fn main() { .plugin(tauri_plugin_shell::init()) .plugin(tauri_plugin_upload::init()) .plugin(tauri_plugin_updater::Builder::new().build()) - .plugin(tauri_plugin_window::init()) .plugin( tauri_plugin_sql::Builder::default() .add_migrations( "sqlite:lume_v2.db", - vec![Migration { - version: 20230418013219, - description: "initial data", - sql: include_str!("../migrations/20230418013219_initial_data.sql"), - kind: MigrationKind::Up, - }], + vec![ + Migration { + version: 20230418013219, + description: "initial data", + sql: include_str!("../migrations/20230418013219_initial_data.sql"), + kind: MigrationKind::Up, + }, + Migration { + version: 20231028083224, + description: "add ndk cache table", + sql: include_str!("../migrations/20231028083224_add_ndk_cache_table.sql"), + kind: MigrationKind::Up, + }, + ], ) .build(), ) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 5e2504cf..b34272ad 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -9,7 +9,7 @@ }, "package": { "productName": "Lume", - "version": "2.0.0" + "version": "2.0.1" }, "plugins": { "fs": { diff --git a/src/app/auth/components/features/followList.tsx b/src/app/auth/components/features/followList.tsx index a6da52a3..1fcf7909 100644 --- a/src/app/auth/components/features/followList.tsx +++ b/src/app/auth/components/features/followList.tsx @@ -9,9 +9,9 @@ import { User } from '@shared/user'; export function FollowList() { const { db } = useStorage(); const { ndk } = useNDK(); - const { status, data } = useQuery( - ['follows'], - async () => { + const { status, data } = useQuery({ + queryKey: ['follows'], + queryFn: async () => { const user = ndk.getUser({ hexpubkey: db.account.pubkey }); const follows = await user.follows(); const followsAsArr = []; @@ -29,16 +29,14 @@ export function FollowList() { return followsAsArr; }, - { - refetchOnWindowFocus: false, - } - ); + refetchOnWindowFocus: false, + }); return (
Your follows
- {status === 'loading' ? ( + {status === 'pending' ? ( ) : (
diff --git a/src/app/auth/onboarding/enrich.tsx b/src/app/auth/onboarding/enrich.tsx index 350a2698..37de605e 100644 --- a/src/app/auth/onboarding/enrich.tsx +++ b/src/app/auth/onboarding/enrich.tsx @@ -17,12 +17,15 @@ import { arrayToNIP02 } from '@utils/transform'; export function OnboardEnrichScreen() { const { ndk } = useNDK(); const { db } = useStorage(); - const { status, data } = useQuery(['trending-profiles-widget'], async () => { - const res = await fetch('https://api.nostr.band/v0/trending/profiles'); - if (!res.ok) { - throw new Error('Error'); - } - return res.json(); + const { status, data } = useQuery({ + queryKey: ['trending-profiles-widget'], + queryFn: async () => { + const res = await fetch('https://api.nostr.band/v0/trending/profiles'); + if (!res.ok) { + throw new Error('Error'); + } + return res.json(); + }, }); const [loading, setLoading] = useState(false); @@ -90,7 +93,7 @@ export function OnboardEnrichScreen() {
- {status === 'loading' ? ( + {status === 'pending' ? (
diff --git a/src/app/auth/onboarding/hashtag.tsx b/src/app/auth/onboarding/hashtag.tsx index 1175ecf4..5a4b8de3 100644 --- a/src/app/auth/onboarding/hashtag.tsx +++ b/src/app/auth/onboarding/hashtag.tsx @@ -6,8 +6,8 @@ import { useStorage } from '@libs/storage/provider'; import { ArrowLeftIcon, CheckCircleIcon, LoaderIcon } from '@shared/icons'; +import { WidgetKinds } from '@stores/constants'; import { useOnboarding } from '@stores/onboarding'; -import { WidgetKinds } from '@stores/widgets'; const data = [ { hashtag: '#bitcoin' }, diff --git a/src/app/auth/onboarding/relays.tsx b/src/app/auth/onboarding/relays.tsx index 3c940fae..04f38471 100644 --- a/src/app/auth/onboarding/relays.tsx +++ b/src/app/auth/onboarding/relays.tsx @@ -24,15 +24,13 @@ export function OnboardRelaysScreen() { const { db } = useStorage(); const { ndk } = useNDK(); const { getAllRelaysByUsers } = useNostr(); - const { status, data } = useQuery( - ['relays'], - async () => { + const { status, data } = useQuery({ + queryKey: ['relays'], + queryFn: async () => { return await getAllRelaysByUsers(); }, - { - refetchOnWindowFocus: false, - } - ); + refetchOnWindowFocus: false, + }); const toggleRelay = (relay: string) => { if (relays.has(relay)) { @@ -89,7 +87,7 @@ export function OnboardRelaysScreen() {
- {status === 'loading' ? ( + {status === 'pending' ? (
diff --git a/src/app/chats/chat.tsx b/src/app/chats/chat.tsx index 52571662..243cbae9 100644 --- a/src/app/chats/chat.tsx +++ b/src/app/chats/chat.tsx @@ -22,8 +22,12 @@ export function ChatScreen() { const { ndk } = useNDK(); const { pubkey } = useParams(); const { fetchNIP04Messages } = useNostr(); - const { status, data } = useQuery(['nip04-dm', pubkey], async () => { - return await fetchNIP04Messages(pubkey); + const { status, data } = useQuery({ + queryKey: ['nip04-dm', pubkey], + queryFn: async () => { + return await fetchNIP04Messages(pubkey); + }, + refetchOnWindowFocus: false, }); const renderItem = useCallback( @@ -69,7 +73,7 @@ export function ChatScreen() {
- {status === 'loading' ? ( + {status === 'pending' ? (
diff --git a/src/app/chats/components/chatListItem.tsx b/src/app/chats/components/chatListItem.tsx index 6d5e2f0d..99f1707d 100644 --- a/src/app/chats/components/chatListItem.tsx +++ b/src/app/chats/components/chatListItem.tsx @@ -19,7 +19,7 @@ export const ChatListItem = memo(function ChatListItem({ event }: { event: NDKEv const svgURI = 'data:image/svg+xml;utf8,' + encodeURIComponent(minidenticon(event.pubkey, 90, 50)); - if (status === 'loading') { + if (status === 'pending') { return (
diff --git a/src/app/chats/components/mediaUploader.tsx b/src/app/chats/components/mediaUploader.tsx index 54127889..165b9470 100644 --- a/src/app/chats/components/mediaUploader.tsx +++ b/src/app/chats/components/mediaUploader.tsx @@ -15,11 +15,13 @@ export function MediaUploader({ const uploadMedia = async () => { setLoading(true); - const image = await upload(null); - if (image.url) { - setState((prev: string) => `${prev}\n${image.url}`); + + const image = await upload(['mp4', 'mp3', 'webm', 'mkv', 'avi', 'mov']); + + if (image) { + setState((prev: string) => `${prev}\n${image}`); + setLoading(false); } - setLoading(false); }; return ( diff --git a/src/app/chats/index.tsx b/src/app/chats/index.tsx index ea5ed2f7..67698c9a 100644 --- a/src/app/chats/index.tsx +++ b/src/app/chats/index.tsx @@ -11,18 +11,16 @@ import { useNostr } from '@utils/hooks/useNostr'; export function ChatsScreen() { const { getAllNIP04Chats } = useNostr(); - const { status, data } = useQuery( - ['nip04-chats'], - async () => { + const { status, data } = useQuery({ + queryKey: ['nip04-chats'], + queryFn: async () => { return await getAllNIP04Chats(); }, - { - refetchOnWindowFocus: false, - refetchOnMount: false, - refetchOnReconnect: false, - staleTime: Infinity, - } - ); + refetchOnWindowFocus: false, + refetchOnMount: false, + refetchOnReconnect: false, + staleTime: Infinity, + }); const renderItem = useCallback( (event: NDKEvent) => { @@ -43,7 +41,7 @@ export function ChatsScreen() {
- {status === 'loading' ? ( + {status === 'pending' ? (
diff --git a/src/app/error.tsx b/src/app/error.tsx index 815bef80..8b667ec8 100644 --- a/src/app/error.tsx +++ b/src/app/error.tsx @@ -8,7 +8,6 @@ interface RouteError { interface DebugInfo { os: null | string; - version: null | string; appDir: null | string; } @@ -18,24 +17,20 @@ export function ErrorScreen() { const [debugInfo, setDebugInfo] = useState({ os: null, - version: null, appDir: null, }); useEffect(() => { async function getInformation() { const { platform, version } = await import('@tauri-apps/plugin-os'); - const { getVersion } = await import('@tauri-apps/plugin-app'); const { appConfigDir } = await import('@tauri-apps/api/path'); const platformName = await platform(); const osVersion = await version(); - const appVersion = await getVersion(); const appDir = await appConfigDir(); setDebugInfo({ os: platformName + ' ' + osVersion, - version: appVersion, appDir: appDir, }); } @@ -59,9 +54,6 @@ export function ErrorScreen() {

Current location: {location.pathname}

-

- App version: {debugInfo.version} -

Platform: {debugInfo.os}

diff --git a/src/app/explore/components/groupTitle.tsx b/src/app/explore/components/groupTitle.tsx index 8a6ca858..1d9c1ca6 100644 --- a/src/app/explore/components/groupTitle.tsx +++ b/src/app/explore/components/groupTitle.tsx @@ -5,7 +5,7 @@ import { useProfile } from '@utils/hooks/useProfile'; export const GroupTitle = memo(function GroupTitle({ pubkey }: { pubkey: string }) { const { status, user } = useProfile(pubkey); - if (status === 'loading') { + if (status === 'pending') { return
; } diff --git a/src/app/explore/components/userLatestPosts.tsx b/src/app/explore/components/userLatestPosts.tsx index 4a6f18bc..62b553c2 100644 --- a/src/app/explore/components/userLatestPosts.tsx +++ b/src/app/explore/components/userLatestPosts.tsx @@ -16,8 +16,12 @@ import { useNostr } from '@utils/hooks/useNostr'; export function UserLatestPosts({ pubkey }: { pubkey: string }) { const { getEventsByPubkey } = useNostr(); - const { status, data } = useQuery(['user-posts', pubkey], async () => { - return await getEventsByPubkey(pubkey); + const { status, data } = useQuery({ + queryKey: ['user-posts', pubkey], + queryFn: async () => { + return await getEventsByPubkey(pubkey); + }, + refetchOnWindowFocus: false, }); const renderItem = useCallback( @@ -60,7 +64,7 @@ export function UserLatestPosts({ pubkey }: { pubkey: string }) { Latest post
- {status === 'loading' ? ( + {status === 'pending' ? (
diff --git a/src/app/explore/components/userWithDrawer.tsx b/src/app/explore/components/userWithDrawer.tsx index 54ac60a9..a2271c4e 100644 --- a/src/app/explore/components/userWithDrawer.tsx +++ b/src/app/explore/components/userWithDrawer.tsx @@ -84,7 +84,7 @@ export const UserWithDrawer = memo(function UserWithDrawer({
- {status === 'loading' ? ( + {status === 'pending' ? (

Loading...

diff --git a/src/app/new/components/mediaUploader.tsx b/src/app/new/components/mediaUploader.tsx index 947b64ee..89cdba11 100644 --- a/src/app/new/components/mediaUploader.tsx +++ b/src/app/new/components/mediaUploader.tsx @@ -1,11 +1,13 @@ -import { message, open } from '@tauri-apps/plugin-dialog'; -import { readBinaryFile } from '@tauri-apps/plugin-fs'; +import { message } from '@tauri-apps/plugin-dialog'; import { Editor } from '@tiptap/react'; import { useState } from 'react'; import { MediaIcon } from '@shared/icons'; +import { useNostr } from '@utils/hooks/useNostr'; + export function MediaUploader({ editor }: { editor: Editor }) { + const { upload } = useNostr(); const [loading, setLoading] = useState(false); const uploadToNostrBuild = async () => { @@ -13,52 +15,12 @@ export function MediaUploader({ editor }: { editor: Editor }) { // start loading setLoading(true); - const selected = await open({ - multiple: false, - filters: [ - { - name: 'Media', - extensions: [ - 'png', - 'jpeg', - 'jpg', - 'gif', - 'mp4', - 'mp3', - 'webm', - 'mkv', - 'avi', - 'mov', - ], - }, - ], - }); + const image = await upload(['mp4', 'mp3', 'webm', 'mkv', 'avi', 'mov']); - if (!selected) { - setLoading(false); - return; - } - - const file = await readBinaryFile(selected.path); - const blob = new Blob([file]); - - const data = new FormData(); - data.append('fileToUpload', blob); - data.append('submit', 'Upload Image'); - - const res = await fetch('https://nostr.build/api/v2/upload/files', { - method: 'POST', - body: data, - }); - - if (res.ok) { - const json = await res.json(); - const content = json.data[0]; - - editor.commands.setImage({ src: content.url }); + if (image) { + editor.commands.setImage({ src: image }); editor.commands.createParagraphNear(); - // stop loading setLoading(false); } } catch (e) { diff --git a/src/app/new/components/mentionPopupItem.tsx b/src/app/new/components/mentionPopupItem.tsx index de27f95e..c2fa6614 100644 --- a/src/app/new/components/mentionPopupItem.tsx +++ b/src/app/new/components/mentionPopupItem.tsx @@ -6,7 +6,7 @@ import { displayNpub } from '@utils/shortenKey'; export function MentionPopupItem({ pubkey, embed }: { pubkey: string; embed?: string }) { const { status, user } = useProfile(pubkey, embed); - if (status === 'loading') { + if (status === 'pending') { return (
diff --git a/src/app/notes/article.tsx b/src/app/notes/article.tsx index 7b636f5e..1d79ab3c 100644 --- a/src/app/notes/article.tsx +++ b/src/app/notes/article.tsx @@ -12,11 +12,11 @@ import { User } from '@shared/user'; import { useEvent } from '@utils/hooks/useEvent'; export function ArticleNoteScreen() { + const { id } = useParams(); + const navigate = useNavigate(); const replyRef = useRef(null); - const { id } = useParams(); - const naddr = id.startsWith('naddr') ? (nip19.decode(id).data as AddressPointer) : null; const { status, data } = useEvent(id, naddr); @@ -72,7 +72,7 @@ export function ArticleNoteScreen() {
- {status === 'loading' ? ( + {status === 'pending' ? (
Loading...
) : (
diff --git a/src/app/notes/text.tsx b/src/app/notes/text.tsx index 24ea353d..8d832a96 100644 --- a/src/app/notes/text.tsx +++ b/src/app/notes/text.tsx @@ -91,7 +91,7 @@ export function TextNoteScreen() {
- {status === 'loading' ? ( + {status === 'pending' ? (
Loading...
) : (
diff --git a/src/app/relays/components/relayEventList.tsx b/src/app/relays/components/relayEventList.tsx index 7333a2cd..399e1666 100644 --- a/src/app/relays/components/relayEventList.tsx +++ b/src/app/relays/components/relayEventList.tsx @@ -17,9 +17,9 @@ import { export function RelayEventList({ relayUrl }: { relayUrl: string }) { const { fetcher } = useNDK(); - const { status, data } = useQuery( - ['relay-event'], - async () => { + const { status, data } = useQuery({ + queryKey: ['relay-event'], + queryFn: async () => { const url = 'wss://' + relayUrl; const events = await fetcher.fetchLatestEvents( [url], @@ -30,8 +30,8 @@ export function RelayEventList({ relayUrl }: { relayUrl: string }) { ); return events as unknown as NDKEvent[]; }, - { refetchOnWindowFocus: false } - ); + refetchOnWindowFocus: false, + }); const renderItem = useCallback( (event: NDKEvent) => { @@ -70,7 +70,7 @@ export function RelayEventList({ relayUrl }: { relayUrl: string }) { return (
- {status === 'loading' ? ( + {status === 'pending' ? (
@@ -78,7 +78,7 @@ export function RelayEventList({ relayUrl }: { relayUrl: string }) {
) : ( - +
{data.map((item) => renderItem(item))}
diff --git a/src/app/relays/components/relayForm.tsx b/src/app/relays/components/relayForm.tsx index 7bb6ea4b..63115414 100644 --- a/src/app/relays/components/relayForm.tsx +++ b/src/app/relays/components/relayForm.tsx @@ -25,7 +25,10 @@ export function RelayForm() { const res = await db.createRelay(url); if (!res) return setError("You're already using this relay"); - queryClient.invalidateQueries(['user-relay']); + queryClient.invalidateQueries({ + queryKey: ['user-relay'], + }); + setError(''); setUrl(''); } else { diff --git a/src/app/relays/components/relayList.tsx b/src/app/relays/components/relayList.tsx index c9723bf5..e92221e4 100644 --- a/src/app/relays/components/relayList.tsx +++ b/src/app/relays/components/relayList.tsx @@ -17,18 +17,16 @@ export function RelayList() { const { getAllRelaysByUsers } = useNostr(); const { db } = useStorage(); - const { status, data } = useQuery( - ['relays'], - async () => { + const { status, data } = useQuery({ + queryKey: ['relays'], + queryFn: async () => { return await getAllRelaysByUsers(); }, - { - refetchOnWindowFocus: false, - refetchOnMount: false, - refetchOnReconnect: false, - staleTime: Infinity, - } - ); + refetchOnWindowFocus: false, + refetchOnMount: false, + refetchOnReconnect: false, + staleTime: Infinity, + }); const inspectRelay = (relayUrl: string) => { const url = new URL(relayUrl); @@ -40,12 +38,14 @@ export function RelayList() { const res = await db.createRelay(url); if (!res) await message("You're aldready connected to this relay"); - queryClient.invalidateQueries(['user-relay']); + queryClient.invalidateQueries({ + queryKey: ['user-relay'], + }); }; return (
- {status === 'loading' ? ( + {status === 'pending' ? (
diff --git a/src/app/relays/components/userRelay.tsx b/src/app/relays/components/userRelay.tsx index ad9af7c0..9c8e97ea 100644 --- a/src/app/relays/components/userRelay.tsx +++ b/src/app/relays/components/userRelay.tsx @@ -12,22 +12,24 @@ export function UserRelay() { const { relayUrls } = useNDK(); const { db } = useStorage(); - const { status, data } = useQuery( - ['user-relay'], - async () => { + const { status, data } = useQuery({ + queryKey: ['user-relay'], + queryFn: async () => { return await db.getExplicitRelayUrls(); }, - { refetchOnWindowFocus: false } - ); + refetchOnWindowFocus: false, + }); const removeRelay = async (relayUrl: string) => { await db.removeRelay(relayUrl); - queryClient.invalidateQueries(['user-relay']); + queryClient.invalidateQueries({ + queryKey: ['user-relay'], + }); }; return (
- {status === 'loading' ? ( + {status === 'pending' ? (

Loading...

) : (
diff --git a/src/app/settings/components/version.tsx b/src/app/settings/components/version.tsx index e199311b..ac5ac2ac 100644 --- a/src/app/settings/components/version.tsx +++ b/src/app/settings/components/version.tsx @@ -1,17 +1,4 @@ -import { getVersion } from '@tauri-apps/plugin-app'; -import { useEffect, useState } from 'react'; - export function VersionSetting() { - const [version, setVersion] = useState(''); - - useEffect(() => { - async function checkVersion() { - const appVersion = await getVersion(); - setVersion(appVersion); - } - checkVersion(); - }, []); - return (
@@ -21,7 +8,7 @@ export function VersionSetting() {
- {version} + 2
); diff --git a/src/app/space/components/toggle.tsx b/src/app/space/components/toggle.tsx index 931de796..9fe73b43 100644 --- a/src/app/space/components/toggle.tsx +++ b/src/app/space/components/toggle.tsx @@ -1,23 +1,20 @@ -import { useStorage } from '@libs/storage/provider'; +import { PlusIcon } from '@shared/icons'; +import { WidgetWrapper } from '@shared/widgets'; -import { HandArrowDownIcon, PlusIcon } from '@shared/icons'; +import { WidgetKinds } from '@stores/constants'; -import { WidgetKinds, useWidgets } from '@stores/widgets'; +import { useWidget } from '@utils/hooks/useWidget'; export function ToggleWidgetList() { - const { db } = useStorage(); - const setWidget = useWidgets((state) => state.setWidget); + const { addWidget } = useWidget(); return ( -
-
-
- -
+ +
-
+ ); } diff --git a/src/app/space/components/widgetList.tsx b/src/app/space/components/widgetList.tsx index 4229f931..31c8fab5 100644 --- a/src/app/space/components/widgetList.tsx +++ b/src/app/space/components/widgetList.tsx @@ -1,7 +1,5 @@ import { useCallback } from 'react'; -import { useStorage } from '@libs/storage/provider'; - import { ArticleIcon, BellIcon, @@ -13,21 +11,19 @@ import { TrendingIcon, } from '@shared/icons'; import { TitleBar } from '@shared/titleBar'; +import { WidgetWrapper } from '@shared/widgets'; -import { DefaultWidgets, WidgetKinds, useWidgets } from '@stores/widgets'; +import { DefaultWidgets, WidgetKinds } from '@stores/constants'; +import { useWidget } from '@utils/hooks/useWidget'; import { Widget, WidgetGroup, WidgetGroupItem } from '@utils/types'; export function WidgetList({ params }: { params: Widget }) { - const { db } = useStorage(); - const [setWidget, removeWidget] = useWidgets((state) => [ - state.setWidget, - state.removeWidget, - ]); + const { addWidget, removeWidget } = useWidget(); - const openWidget = (widget: WidgetGroupItem) => { - setWidget(db, { kind: widget.kind, title: widget.title, content: '' }); - removeWidget(db, params.id); + const open = (item: WidgetGroupItem) => { + addWidget.mutate({ kind: item.kind, title: item.title, content: '' }); + removeWidget.mutate(params.id); }; const renderIcon = useCallback( @@ -71,54 +67,49 @@ export function WidgetList({ params }: { params: Widget }) { [DefaultWidgets] ); - const renderItem = useCallback( - (row: WidgetGroup, index: number) => { - return ( -
-

- {row.title} -

-
- {row.data.map((item, index) => ( - - ))} -
+ ) : ( +
+ {renderIcon(item.kind)} +
+ )} +
+
+ {item.title} +
+

+ {item.description} +

+
+ + ))}
- ); - }, - [DefaultWidgets] - ); +
+ ); + }, []); return ( -
+ -
+
{DefaultWidgets.map((row: WidgetGroup, index: number) => renderItem(row, index) @@ -127,10 +118,10 @@ export function WidgetList({ params }: { params: Widget }) {
-
+ ); } diff --git a/src/app/space/index.tsx b/src/app/space/index.tsx index 97c1557f..dd63dc9b 100644 --- a/src/app/space/index.tsx +++ b/src/app/space/index.tsx @@ -1,4 +1,5 @@ -import { useCallback, useEffect, useRef } from 'react'; +import { useQuery } from '@tanstack/react-query'; +import { useCallback, useRef, useState } from 'react'; import { VList, VListHandle } from 'virtua'; import { ToggleWidgetList } from '@app/space/components/toggle'; @@ -11,99 +12,134 @@ import { GlobalArticlesWidget, GlobalFilesWidget, GlobalHashtagWidget, - LearnNostrWidget, LocalArticlesWidget, LocalFeedsWidget, LocalFilesWidget, - LocalFollowsWidget, - LocalNetworkWidget, - LocalNotificationWidget, LocalThreadWidget, LocalUserWidget, + NewsfeedWidget, + NotificationWidget, TrendingAccountsWidget, TrendingNotesWidget, XfeedsWidget, XhashtagWidget, } from '@shared/widgets'; -import { WidgetKinds, useWidgets } from '@stores/widgets'; +import { WidgetKinds } from '@stores/constants'; import { Widget } from '@utils/types'; export function SpaceScreen() { + const ref = useRef(null); + const [selectedIndex, setSelectedIndex] = useState(-1); + const { db } = useStorage(); - const vlistRef = useRef(null); + const { status, data } = useQuery({ + queryKey: ['widgets'], + queryFn: async () => { + const dbWidgets = await db.getWidgets(); + const defaultWidgets = [ + { + id: '9998', + title: 'Notification', + content: '', + kind: WidgetKinds.local.notification, + }, + { + id: '9999', + title: 'Newsfeed', + content: '', + kind: WidgetKinds.local.network, + }, + ]; - const [widgets, fetchWidgets] = useWidgets((state) => [ - state.widgets, - state.fetchWidgets, - ]); - - const renderItem = useCallback( - (widget: Widget) => { - if (!widget) return; - switch (widget.kind) { - case WidgetKinds.local.network: - return ; - case WidgetKinds.local.follows: - return ; - case WidgetKinds.local.feeds: - return ; - case WidgetKinds.local.files: - return ; - case WidgetKinds.local.articles: - return ; - case WidgetKinds.local.user: - return ; - case WidgetKinds.local.thread: - return ; - case WidgetKinds.global.hashtag: - return ; - case WidgetKinds.global.articles: - return ; - case WidgetKinds.global.files: - return ; - case WidgetKinds.nostrBand.trendingAccounts: - return ; - case WidgetKinds.nostrBand.trendingNotes: - return ; - case WidgetKinds.tmp.xfeed: - return ; - case WidgetKinds.tmp.xhashtag: - return ; - case WidgetKinds.tmp.list: - return ; - case WidgetKinds.other.learnNostr: - return ; - case WidgetKinds.local.notification: - return ; - default: - return null; - } + return [...defaultWidgets, ...dbWidgets]; }, - [widgets] - ); + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + staleTime: Infinity, + }); - useEffect(() => { - fetchWidgets(db); + const renderItem = useCallback((widget: Widget) => { + switch (widget.kind) { + case WidgetKinds.local.feeds: + return ; + case WidgetKinds.local.files: + return ; + case WidgetKinds.local.articles: + return ; + case WidgetKinds.local.user: + return ; + case WidgetKinds.local.thread: + return ; + case WidgetKinds.global.hashtag: + return ; + case WidgetKinds.global.articles: + return ; + case WidgetKinds.global.files: + return ; + case WidgetKinds.nostrBand.trendingAccounts: + return ; + case WidgetKinds.nostrBand.trendingNotes: + return ; + case WidgetKinds.tmp.xfeed: + return ; + case WidgetKinds.tmp.xhashtag: + return ; + case WidgetKinds.tmp.list: + return ; + case WidgetKinds.local.notification: + return ; + case WidgetKinds.local.network: + return ; + default: + return null; + } }, []); + if (status === 'pending') { + return ( +
+ +
+ ); + } + return ( { + if (!ref.current) return; + switch (e.code) { + case 'ArrowLeft': { + e.preventDefault(); + const prevIndex = Math.max(selectedIndex - 1, 0); + setSelectedIndex(prevIndex); + ref.current.scrollToIndex(prevIndex, { + align: 'center', + smooth: true, + }); + break; + } + case 'ArrowRight': { + e.preventDefault(); + const nextIndex = Math.min(selectedIndex + 1, data.length - 1); + setSelectedIndex(nextIndex); + ref.current.scrollToIndex(nextIndex, { + align: 'center', + smooth: true, + }); + break; + } + } + }} > - {!widgets ? ( -
- -
- ) : ( - widgets.map((widget) => renderItem(widget)) - )} + {data.map((widget) => renderItem(widget))}
); diff --git a/src/app/users/components/modal.tsx b/src/app/users/components/modal.tsx index 454805b8..4765ae11 100644 --- a/src/app/users/components/modal.tsx +++ b/src/app/users/components/modal.tsx @@ -210,7 +210,9 @@ export function EditProfileModal() { if (publishedRelays) { // invalid cache - queryClient.invalidateQueries(['user', db.account.pubkey]); + queryClient.invalidateQueries({ + queryKey: ['user', db.account.pubkey] + }); // reset form reset(); // reset state diff --git a/src/app/users/components/stats.tsx b/src/app/users/components/stats.tsx index 26367520..a2c99998 100644 --- a/src/app/users/components/stats.tsx +++ b/src/app/users/components/stats.tsx @@ -5,15 +5,19 @@ import { LoaderIcon } from '@shared/icons'; import { compactNumber } from '@utils/number'; export function UserStats({ pubkey }: { pubkey: string }) { - const { status, data } = useQuery(['user-metadata', pubkey], async () => { - const res = await fetch(`https://api.nostr.band/v0/stats/profile/${pubkey}`); - if (!res.ok) { - throw new Error('Error'); - } - return await res.json(); + const { status, data } = useQuery({ + queryKey: ['user-metadata', pubkey], + + ...async () => { + const res = await fetch(`https://api.nostr.band/v0/stats/profile/${pubkey}`); + if (!res.ok) { + throw new Error('Error'); + } + return await res.json(); + }, }); - if (status === 'loading') { + if (status === 'pending') { return (
diff --git a/src/app/users/index.tsx b/src/app/users/index.tsx index 5fb5dcbc..d2c09b3c 100644 --- a/src/app/users/index.tsx +++ b/src/app/users/index.tsx @@ -19,14 +19,18 @@ import { export function UserScreen() { const { pubkey } = useParams(); const { ndk } = useNDK(); - const { status, data } = useQuery(['user-feed', pubkey], async () => { - const events = await ndk.fetchEvents({ - kinds: [NDKKind.Text, NDKKind.Repost, NDKKind.Article], - authors: [pubkey], - limit: 50, - }); - const sorted = [...events].sort((a, b) => b.created_at - a.created_at); - return sorted; + const { status, data } = useQuery({ + queryKey: ['user-feed', pubkey], + queryFn: async () => { + const events = await ndk.fetchEvents({ + kinds: [NDKKind.Text, NDKKind.Repost, NDKKind.Article], + authors: [pubkey], + limit: 50, + }); + const sorted = [...events].sort((a, b) => b.created_at - a.created_at); + return sorted; + }, + refetchOnWindowFocus: false, }); // render event match event kind @@ -73,7 +77,7 @@ export function UserScreen() { Latest posts
- {status === 'loading' ? ( + {status === 'pending' ? (
Loading...
) : data.length === 0 ? (
diff --git a/src/libs/ndk/cache.ts b/src/libs/ndk/cache.ts index 782c0b1a..b5c2450f 100644 --- a/src/libs/ndk/cache.ts +++ b/src/libs/ndk/cache.ts @@ -5,60 +5,30 @@ import type { NDKFilter, NDKSubscription, NDKUserProfile, + NostrEvent, } from '@nostr-dev-kit/ndk'; -import _debug from 'debug'; +import { LRUCache } from 'lru-cache'; import { matchFilter } from 'nostr-tools'; -import { LRUCache } from 'typescript-lru-cache'; -import { createDatabase, db } from './db'; +import { LumeStorage } from '@libs/storage/instance'; -export { db } from './db'; - -interface NDKCacheAdapterDexieOptions { - /** - * The name of the database to use - */ - dbName?: string; - - /** - * Debug instance to use for logging - */ - debug?: debug.IDebugger; - - /** - * The number of seconds to store events in Dexie (IndexedDB) before they expire - * Defaults to 3600 seconds (1 hour) - */ - expirationTime?: number; - - /** - * Number of profiles to keep in an LRU cache - */ - profileCacheSize?: number | 'disabled'; -} - -export default class NDKCacheAdapterDexie implements NDKCacheAdapter { - public debug: debug.Debugger; - private expirationTime; - readonly locking; +export default class NDKCacheAdapterTauri implements NDKCacheAdapter { + public db: LumeStorage; public profiles?: LRUCache; private dirtyProfiles: Set = new Set(); + readonly locking: boolean; - constructor(opts: NDKCacheAdapterDexieOptions = {}) { - createDatabase(opts.dbName || 'ndk'); - this.debug = opts.debug || _debug('ndk:dexie-adapter'); + constructor(db: LumeStorage) { + this.db = db; this.locking = true; - this.expirationTime = opts.expirationTime || 3600; - if (opts.profileCacheSize !== 'disabled') { - this.profiles = new LRUCache({ - maxSize: opts.profileCacheSize || 100000, - }); + this.profiles = new LRUCache({ + max: 100000, + }); - setInterval(() => { - this.dumpProfiles(); - }, 1000 * 10); - } + setInterval(() => { + this.dumpProfiles(); + }, 1000 * 10); } public async query(subscription: NDKSubscription): Promise { @@ -73,9 +43,9 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { let profile = this.profiles.get(pubkey); if (!profile) { - const user = await db.users.get({ pubkey }); + const user = await this.db.getCacheUser(pubkey); if (user) { - profile = user.profile; + profile = user.profile as NDKUserProfile; this.profiles.set(pubkey, profile); } } @@ -126,7 +96,7 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { if (event.isParamReplaceable()) { const replaceableId = `${event.kind}:${event.pubkey}:${event.tagId()}`; - const existingEvent = await db.events.where({ id: replaceableId }).first(); + const existingEvent = await this.db.getCacheEvent(replaceableId); if ( existingEvent && event.created_at && @@ -137,7 +107,7 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { } if (addEvent) { - db.events.put({ + this.db.setCacheEvent({ id: event.tagId(), pubkey: event.pubkey, content: event.content, @@ -153,7 +123,7 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { event.tags.forEach((tag) => { if (tag[0].length !== 1) return; - db.eventTags.put({ + this.db.setCacheEventTag({ id: `${event.id}:${tag[0]}:${tag[1]}`, eventId: event.id, tag: tag[0], @@ -182,9 +152,9 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { if (hasAllKeys && filter.authors) { for (const pubkey of filter.authors) { - const events = await db.events.where({ pubkey }).toArray(); + const events = await this.db.getCacheEventsByPubkey(pubkey); for (const event of events) { - let rawEvent; + let rawEvent: NostrEvent; try { rawEvent = JSON.parse(event.event); } catch (e) { @@ -218,9 +188,9 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { if (hasAllKeys && filter.kinds) { for (const kind of filter.kinds) { - const events = await db.events.where({ kind }).toArray(); + const events = await this.db.getCacheEventsByKind(kind); for (const event of events) { - let rawEvent; + let rawEvent: NostrEvent; try { rawEvent = JSON.parse(event.event); } catch (e) { @@ -252,10 +222,10 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { if (hasAllKeys && filter.ids) { for (const id of filter.ids) { - const event = await db.events.where({ id }).first(); + const event = await this.db.getCacheEvent(id); if (!event) continue; - let rawEvent; + let rawEvent: NostrEvent; try { rawEvent = JSON.parse(event.event); } catch (e) { @@ -295,10 +265,10 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { for (const author of filter.authors) { for (const dTag of filter['#d']) { const replaceableId = `${kind}:${author}:${dTag}`; - const event = await db.events.where({ id: replaceableId }).first(); + const event = await this.db.getCacheEvent(replaceableId); if (!event) continue; - let rawEvent; + let rawEvent: NostrEvent; try { rawEvent = JSON.parse(event.event); } catch (e) { @@ -335,10 +305,10 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { if (filter.kinds && filter.authors) { for (const kind of filter.kinds) { for (const author of filter.authors) { - const events = await db.events.where({ kind, pubkey: author }).toArray(); + const events = await this.db.getCacheEventsByKindAndAuthor(kind, author); for (const event of events) { - let rawEvent; + let rawEvent: NostrEvent; try { rawEvent = JSON.parse(event.event); } catch (e) { @@ -400,12 +370,12 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { } for (const value of values) { - const eventTags = await db.eventTags.where({ tagValue: tag + value }).toArray(); + const eventTags = await this.db.getCacheEventTagsByTagValue(tag + value); if (!eventTags.length) continue; const eventIds = eventTags.map((t) => t.eventId); - const events = await db.events.where('id').anyOf(eventIds).toArray(); + const events = await this.db.getCacheEvents(eventIds); for (const event of events) { let rawEvent; try { @@ -441,13 +411,13 @@ export default class NDKCacheAdapterDexie implements NDKCacheAdapter { profiles.push({ pubkey, - profile, + profile: JSON.stringify(profile), createdAt: Date.now(), }); } if (profiles.length) { - await db.users.bulkPut(profiles); + await this.db.setCacheProfiles(profiles); } this.dirtyProfiles.clear(); diff --git a/src/libs/ndk/instance.ts b/src/libs/ndk/instance.ts index 1fc844c9..56d5f0e4 100644 --- a/src/libs/ndk/instance.ts +++ b/src/libs/ndk/instance.ts @@ -1,11 +1,11 @@ import NDK, { NDKNip46Signer, NDKPrivateKeySigner } from '@nostr-dev-kit/ndk'; -import NDKCacheAdapterDexie from '@nostr-dev-kit/ndk-cache-dexie'; import { ndkAdapter } from '@nostr-fetch/adapter-ndk'; import { message } from '@tauri-apps/plugin-dialog'; import { fetch } from '@tauri-apps/plugin-http'; import { NostrFetcher } from 'nostr-fetch'; import { useEffect, useMemo, useState } from 'react'; +import NDKCacheAdapterTauri from '@libs/ndk/cache'; import { useStorage } from '@libs/storage/provider'; export const NDKInstance = () => { @@ -77,7 +77,7 @@ export const NDKInstance = () => { const outboxSetting = await db.getSettingValue('outbox'); const explicitRelayUrls = await getExplicitRelays(); - const dexieAdapter = new NDKCacheAdapterDexie({ dbName: 'lume_ndkcache' }); + const dexieAdapter = new NDKCacheAdapterTauri(db); const instance = new NDK({ explicitRelayUrls, cacheAdapter: dexieAdapter, diff --git a/src/libs/storage/instance.ts b/src/libs/storage/instance.ts index a13eecab..3e7a0250 100644 --- a/src/libs/storage/instance.ts +++ b/src/libs/storage/instance.ts @@ -1,12 +1,20 @@ import { NDKEvent } from '@nostr-dev-kit/ndk'; -import { invoke } from '@tauri-apps/api'; +import { invoke } from '@tauri-apps/api/primitives'; import { Platform } from '@tauri-apps/plugin-os'; import Database from '@tauri-apps/plugin-sql'; import { FULL_RELAYS } from '@stores/constants'; import { rawEvent } from '@utils/transform'; -import { Account, DBEvent, Relays, Widget } from '@utils/types'; +import type { + Account, + DBEvent, + NDKCacheEvent, + NDKCacheEventTag, + NDKCacheUser, + Relays, + Widget, +} from '@utils/types'; export class LumeStorage { public db: Database; @@ -37,6 +45,115 @@ export class LumeStorage { return await invoke('secure_remove', { key }); } + public async getCacheUser(pubkey: string) { + const results: Array = await this.db.select( + 'SELECT * FROM ndk_users WHERE pubkey = $1 ORDER BY pubkey DESC LIMIT 1;', + [pubkey] + ); + + if (results.length < 1) return null; + + if (typeof results[0].profile === 'string') + results[0].profile = JSON.parse(results[0].profile); + + return results[0]; + } + + public async getCacheEvent(id: string) { + const results: Array = await this.db.select( + 'SELECT * FROM ndk_events WHERE id = $1 ORDER BY id DESC LIMIT 1;', + [id] + ); + + if (results.length < 1) return null; + return results[0]; + } + + public async getCacheEvents(ids: string[]) { + const idsArr = `'${ids.join("','")}'`; + + const results: Array = await this.db.select( + `SELECT * FROM ndk_events WHERE id IN (${idsArr}) ORDER BY id;` + ); + + if (results.length < 1) return []; + return results; + } + + public async getCacheEventsByPubkey(pubkey: string) { + const results: Array = await this.db.select( + 'SELECT * FROM ndk_events WHERE pubkey = $1 ORDER BY id;', + [pubkey] + ); + + if (results.length < 1) return []; + return results; + } + + public async getCacheEventsByKind(kind: number) { + const results: Array = await this.db.select( + 'SELECT * FROM ndk_events WHERE kind = $1 ORDER BY id;', + [kind] + ); + + if (results.length < 1) return []; + return results; + } + + public async getCacheEventsByKindAndAuthor(kind: number, pubkey: string) { + const results: Array = await this.db.select( + 'SELECT * FROM ndk_events WHERE kind = $1 AND pubkey = $2 ORDER BY id;', + [kind, pubkey] + ); + + if (results.length < 1) return []; + return results; + } + + public async getCacheEventTagsByTagValue(tagValue: string) { + const results: Array = await this.db.select( + 'SELECT * FROM ndk_eventtags WHERE tagValue = $1 ORDER BY id;', + [tagValue] + ); + + if (results.length < 1) return []; + return results; + } + + public async setCacheEvent({ + id, + pubkey, + content, + kind, + createdAt, + relay, + event, + }: NDKCacheEvent) { + return await this.db.execute( + 'INSERT OR IGNORE INTO ndk_events (id, pubkey, content, kind, createdAt, relay, event) VALUES ($1, $2, $3, $4, $5, $6, $7);', + [id, pubkey, content, kind, createdAt, relay, event] + ); + } + + public async setCacheEventTag({ id, eventId, tag, value, tagValue }: NDKCacheEventTag) { + return await this.db.execute( + 'INSERT OR IGNORE INTO ndk_eventtags (id, eventId, tag, value, tagValue) VALUES ($1, $2, $3, $4, $5);', + [id, eventId, tag, value, tagValue] + ); + } + + public async setCacheProfiles(profiles: Array) { + return await Promise.all( + profiles.map( + async (profile) => + await this.db.execute( + 'INSERT OR IGNORE INTO ndk_users (pubkey, profile, createdAt) VALUES ($1, $2, $3);', + [profile.pubkey, profile.profile, profile.createdAt] + ) + ) + ); + } + public async checkAccount() { const result: Array<{ total: string }> = await this.db.select( 'SELECT COUNT(*) AS "total" FROM accounts;' @@ -137,7 +254,8 @@ export class LumeStorage { } public async removeWidget(id: string) { - return await this.db.execute('DELETE FROM widgets WHERE id = $1;', [id]); + const res = await this.db.execute('DELETE FROM widgets WHERE id = $1;', [id]); + if (res) return id; } public async createEvent(event: NDKEvent) { diff --git a/src/main.jsx b/src/main.jsx index 1e152d8e..88fe7483 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,4 +1,6 @@ -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister'; +import { QueryClient } from '@tanstack/react-query'; +import { PersistQueryClientProvider } from '@tanstack/react-query-persist-client'; import { createRoot } from 'react-dom/client'; import { Toaster } from 'sonner'; @@ -7,18 +9,28 @@ import { StorageProvider } from '@libs/storage/provider'; import App from './app'; -const queryClient = new QueryClient(); +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + gcTime: 1000 * 60 * 60 * 24, // 24 hours + }, + }, +}); + +const persister = createSyncStoragePersister({ + storage: window.localStorage, +}); const container = document.getElementById('root'); const root = createRoot(container); root.render( - + - + ); diff --git a/src/shared/accounts/active.tsx b/src/shared/accounts/active.tsx index 5a9658ec..85dd7dc7 100644 --- a/src/shared/accounts/active.tsx +++ b/src/shared/accounts/active.tsx @@ -1,100 +1,23 @@ -import { NDKFilter, NDKKind } from '@nostr-dev-kit/ndk'; import * as Avatar from '@radix-ui/react-avatar'; import { minidenticon } from 'minidenticons'; -import { useEffect } from 'react'; -import { Link, useLocation } from 'react-router-dom'; +import { Link } from 'react-router-dom'; -import { useNDK } from '@libs/ndk/provider'; import { useStorage } from '@libs/storage/provider'; import { AccountMoreActions } from '@shared/accounts/more'; import { NetworkStatusIndicator } from '@shared/networkStatusIndicator'; -import { useActivities } from '@stores/activities'; - -import { useNostr } from '@utils/hooks/useNostr'; import { useProfile } from '@utils/hooks/useProfile'; -import { sendNativeNotification } from '@utils/notification'; export function ActiveAccount() { const { db } = useStorage(); - const { ndk } = useNDK(); const { status, user } = useProfile(db.account.pubkey); - const { sub } = useNostr(); - - const location = useLocation(); - const addActivity = useActivities((state) => state.addActivity); - const addNewMessage = useActivities((state) => state.addNewMessage); const svgURI = 'data:image/svg+xml;utf8,' + encodeURIComponent(minidenticon(db.account.pubkey, 90, 50)); - useEffect(() => { - const filter: NDKFilter = { - kinds: [ - NDKKind.Text, - NDKKind.EncryptedDirectMessage, - NDKKind.Repost, - NDKKind.Reaction, - NDKKind.Zap, - ], - since: Math.floor(Date.now() / 1000), - '#p': [db.account.pubkey], - }; - - sub( - filter, - async (event) => { - console.log('receive event: ', event.id); - - if (event.kind !== NDKKind.EncryptedDirectMessage) { - addActivity(event); - } - - const user = ndk.getUser({ hexpubkey: event.pubkey }); - await user.fetchProfile(); - - switch (event.kind) { - case NDKKind.Text: - return await sendNativeNotification( - `${user.profile.displayName || user.profile.name} has replied to your note` - ); - case NDKKind.EncryptedDirectMessage: { - if (location.pathname !== '/chats') { - addNewMessage(); - return await sendNativeNotification( - `${ - user.profile.displayName || user.profile.name - } has send you a encrypted message` - ); - } else { - break; - } - } - case NDKKind.Repost: - return await sendNativeNotification( - `${user.profile.displayName || user.profile.name} has reposted to your note` - ); - case NDKKind.Reaction: - return await sendNativeNotification( - `${user.profile.displayName || user.profile.name} has reacted ${ - event.content - } to your note` - ); - case NDKKind.Zap: - return await sendNativeNotification( - `${user.profile.displayName || user.profile.name} has zapped to your note` - ); - default: - break; - } - }, - false - ); - }, []); - - if (status === 'loading') { + if (status === 'pending') { return (
); diff --git a/src/shared/avatarUploader.tsx b/src/shared/avatarUploader.tsx index f46f5369..f5e3ea3f 100644 --- a/src/shared/avatarUploader.tsx +++ b/src/shared/avatarUploader.tsx @@ -1,14 +1,16 @@ -import { message, open } from '@tauri-apps/plugin-dialog'; -import { readBinaryFile } from '@tauri-apps/plugin-fs'; +import { message } from '@tauri-apps/plugin-dialog'; import { Dispatch, SetStateAction, useState } from 'react'; import { LoaderIcon, PlusIcon } from '@shared/icons'; +import { useNostr } from '@utils/hooks/useNostr'; + export function AvatarUploader({ setPicture, }: { setPicture: Dispatch>; }) { + const { upload } = useNostr(); const [loading, setLoading] = useState(false); const uploadAvatar = async () => { @@ -16,42 +18,14 @@ export function AvatarUploader({ // start loading setLoading(true); - const selected = await open({ - multiple: false, - filters: [ - { - name: 'Image', - extensions: ['png', 'jpeg', 'jpg', 'gif'], - }, - ], - }); + const image = await upload(); - if (!selected) { - setLoading(false); - return; - } - - const file = await readBinaryFile(selected.path); - const blob = new Blob([file]); - - const data = new FormData(); - data.append('fileToUpload', blob); - data.append('submit', 'Upload Image'); - - const res = await fetch('https://nostr.build/api/v2/upload/files', { - method: 'POST', - body: data, - }); - - if (res.ok) { - const json = await res.json(); - const content = json.data[0]; - - setPicture(content.url); - - // stop loading + if (image) { + setPicture(image); setLoading(false); } + + return; } catch (e) { // stop loading setLoading(false); diff --git a/src/shared/bannerUploader.tsx b/src/shared/bannerUploader.tsx index 84d88495..b3e308be 100644 --- a/src/shared/bannerUploader.tsx +++ b/src/shared/bannerUploader.tsx @@ -1,14 +1,16 @@ -import { message, open } from '@tauri-apps/plugin-dialog'; -import { readBinaryFile } from '@tauri-apps/plugin-fs'; +import { message } from '@tauri-apps/plugin-dialog'; import { Dispatch, SetStateAction, useState } from 'react'; import { LoaderIcon, PlusIcon } from '@shared/icons'; +import { useNostr } from '@utils/hooks/useNostr'; + export function BannerUploader({ setBanner, }: { setBanner: Dispatch>; }) { + const { upload } = useNostr(); const [loading, setLoading] = useState(false); const uploadBanner = async () => { @@ -16,42 +18,14 @@ export function BannerUploader({ // start loading setLoading(true); - const selected = await open({ - multiple: false, - filters: [ - { - name: 'Image', - extensions: ['png', 'jpeg', 'jpg', 'gif'], - }, - ], - }); + const image = await upload(); - if (!selected) { - setLoading(false); - return; - } - - const file = await readBinaryFile(selected.path); - const blob = new Blob([file]); - - const data = new FormData(); - data.append('fileToUpload', blob); - data.append('submit', 'Upload Image'); - - const res = await fetch('https://nostr.build/api/v2/upload/files', { - method: 'POST', - body: data, - }); - - if (res.ok) { - const json = await res.json(); - const content = json.data[0]; - - setBanner(content.url); - - // stop loading + if (image) { + setBanner(image); setLoading(false); } + + return; } catch (e) { // stop loading setLoading(false); diff --git a/src/shared/navigation.tsx b/src/shared/navigation.tsx index 1a1108a6..f814441c 100644 --- a/src/shared/navigation.tsx +++ b/src/shared/navigation.tsx @@ -11,12 +11,10 @@ import { RelayIcon, } from '@shared/icons'; -import { useActivities } from '@stores/activities'; - import { compactNumber } from '@utils/number'; export function Navigation() { - const newMessages = useActivities((state) => state.newMessages); + const newMessages = 0; return (
diff --git a/src/shared/nip05.tsx b/src/shared/nip05.tsx index 4ba38545..a570eb4b 100644 --- a/src/shared/nip05.tsx +++ b/src/shared/nip05.tsx @@ -20,9 +20,9 @@ export const NIP05 = memo(function NIP05({ nip05: string; className?: string; }) { - const { status, data } = useQuery( - ['nip05', nip05], - async () => { + const { status, data } = useQuery({ + queryKey: ['nip05', nip05], + queryFn: async () => { try { const localPath = nip05.split('@')[0]; const service = nip05.split('@')[1]; @@ -47,15 +47,13 @@ export const NIP05 = memo(function NIP05({ throw new Error(`Failed to verify NIP-05, error: ${e}`); } }, - { - refetchOnMount: false, - refetchOnReconnect: false, - refetchOnWindowFocus: false, - staleTime: Infinity, - } - ); + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + staleTime: Infinity, + }); - if (status === 'loading') { + if (status === 'pending') {
; } diff --git a/src/shared/notes/actions.tsx b/src/shared/notes/actions.tsx index b99b58e4..2c399257 100644 --- a/src/shared/notes/actions.tsx +++ b/src/shared/notes/actions.tsx @@ -1,14 +1,14 @@ import * as Tooltip from '@radix-ui/react-tooltip'; -import { useStorage } from '@libs/storage/provider'; - import { FocusIcon } from '@shared/icons'; import { NoteReaction } from '@shared/notes/actions/reaction'; import { NoteReply } from '@shared/notes/actions/reply'; import { NoteRepost } from '@shared/notes/actions/repost'; import { NoteZap } from '@shared/notes/actions/zap'; -import { WidgetKinds, useWidgets } from '@stores/widgets'; +import { WidgetKinds } from '@stores/constants'; + +import { useWidget } from '@utils/hooks/useWidget'; export function NoteActions({ id, @@ -21,8 +21,7 @@ export function NoteActions({ extraButtons?: boolean; root?: string; }) { - const { db } = useStorage(); - const setWidget = useWidgets((state) => state.setWidget); + const { addWidget } = useWidget(); return ( @@ -40,7 +39,7 @@ export function NoteActions({
); } if (type === 'video') { return ( -
- - -
+ + ); } return ( -
- - {url} - +
+
); } diff --git a/src/shared/notes/kinds/repost.tsx b/src/shared/notes/kinds/repost.tsx index b80e73be..45645ef7 100644 --- a/src/shared/notes/kinds/repost.tsx +++ b/src/shared/notes/kinds/repost.tsx @@ -2,7 +2,6 @@ import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk'; import { useQuery } from '@tanstack/react-query'; import { nip19 } from 'nostr-tools'; import { memo, useCallback } from 'react'; -import { twMerge } from 'tailwind-merge'; import { useNDK } from '@libs/ndk/provider'; @@ -17,20 +16,14 @@ import { } from '@shared/notes'; import { User } from '@shared/user'; -export function Repost({ - event, - lighter = false, -}: { - event: NDKEvent; - lighter?: boolean; -}) { +export function Repost({ event }: { event: NDKEvent }) { const embedEvent: null | NDKEvent = event.content.length > 0 ? JSON.parse(event.content) : null; const { ndk } = useNDK(); - const { status, isError, data } = useQuery( - ['repost', event.id], - async () => { + const { status, isError, data } = useQuery({ + queryKey: ['repost', event.id], + queryFn: async () => { const id = event.tags.find((el) => el[0] === 'e')[1]; if (!id) throw new Error('wrong id'); @@ -39,11 +32,9 @@ export function Repost({ return ndkEvent; }, - { - enabled: embedEvent === null, - refetchOnWindowFocus: false, - } - ); + enabled: embedEvent === null, + refetchOnWindowFocus: false, + }); const renderKind = useCallback((repostEvent: NDKEvent) => { switch (repostEvent.kind) { @@ -61,12 +52,7 @@ export function Repost({ if (embedEvent) { return (
-
+
@@ -104,12 +90,7 @@ export function Repost({ return (
-
+
@@ -135,12 +116,7 @@ export function Repost({ return (
-
+
diff --git a/src/shared/notes/kinds/text.tsx b/src/shared/notes/kinds/text.tsx index f061738d..f8e8b211 100644 --- a/src/shared/notes/kinds/text.tsx +++ b/src/shared/notes/kinds/text.tsx @@ -1,7 +1,5 @@ +import Markdown from 'markdown-to-jsx'; import { memo } from 'react'; -import ReactMarkdown from 'react-markdown'; -import { Link } from 'react-router-dom'; -import remarkGfm from 'remark-gfm'; import { Boost, @@ -16,68 +14,54 @@ import { import { parser } from '@utils/parser'; -export function TextNote(props: { content?: string }) { - const richContent = parser(props.content) ?? null; +export function TextNote(props: { content?: string; truncate?: boolean }) { + const richContent = parser(props.content); - if (!richContent) { + if (props.truncate) { return ( -
- - {props.content} - +
+ {props.content}
); } return ( -
- { - const cleanURL = new URL(href); - cleanURL.search = ''; - return ( - - {cleanURL.hostname + cleanURL.pathname} - - ); - }, - del: ({ children }) => { - const key = children[0] as string; - if (typeof key !== 'string') return; - if (key.startsWith('pub') && key.length > 50 && key.length < 100) { - return ; - } - if (key.startsWith('tag')) { - return ; - } - if (key.startsWith('boost')) { - return ; - } - if (key.startsWith('lnbc')) { - return ; - } +
+ str, + forceBlock: true, + enforceAtxHeadings: true, }} - disallowedElements={['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre', 'code']} - unwrapDisallowed={true} - linkTarget={'_blank'} + className="break-p prose prose-neutral max-w-none select-text whitespace-pre-line leading-normal dark:prose-invert prose-headings:mb-1 prose-headings:mt-3 prose-p:mb-0 prose-p:mt-0 prose-p:last:mb-1 prose-a:font-normal prose-a:text-blue-500 prose-blockquote:mb-1 prose-blockquote:mt-1 prose-blockquote:border-l-[2px] prose-blockquote:border-blue-500 prose-blockquote:pl-2 prose-pre:whitespace-pre-wrap prose-pre:bg-white/10 prose-ol:m-0 prose-ol:mb-1 prose-ul:mb-1 prose-ul:mt-1 prose-img:mb-2 prose-img:mt-3 prose-hr:mx-0 prose-hr:my-2 hover:prose-a:text-blue-600 prose-a:hover:underline" > {richContent.parsed} - - {richContent.images.length > 0 && } - {richContent.videos.length > 0 && } - {richContent.links.length > 0 && } - {richContent.notes.length > 0 && - richContent.notes.map((note: string) => )} + + {richContent.images.length ? : null} + {richContent.videos.length ? : null} + {richContent.links.length ? : null} + {richContent.notes.map((note: string) => ( + + ))}
); } diff --git a/src/shared/notes/mentions/hashtag.tsx b/src/shared/notes/mentions/hashtag.tsx index d5e204eb..8fd9dad7 100644 --- a/src/shared/notes/mentions/hashtag.tsx +++ b/src/shared/notes/mentions/hashtag.tsx @@ -1,24 +1,15 @@ -import { useStorage } from '@libs/storage/provider'; +import { WidgetKinds } from '@stores/constants'; -import { WidgetKinds, useWidgets } from '@stores/widgets'; +import { useWidget } from '@utils/hooks/useWidget'; export function Hashtag({ tag }: { tag: string }) { - const { db } = useStorage(); - const setWidget = useWidgets((state) => state.setWidget); + const { addWidget } = useWidget(); return ( - - setWidget(db, { - kind: WidgetKinds.global.hashtag, - title: tag, - content: tag.replace('#', ''), - }) - } - onKeyDown={() => - setWidget(db, { + addWidget.mutate({ kind: WidgetKinds.global.hashtag, title: tag, content: tag.replace('#', ''), @@ -27,6 +18,6 @@ export function Hashtag({ tag }: { tag: string }) { className="cursor-default break-all text-blue-500 hover:text-blue-600" > {tag} - + ); } diff --git a/src/shared/notes/mentions/invoice.tsx b/src/shared/notes/mentions/invoice.tsx index f8133d46..d9c11f0c 100644 --- a/src/shared/notes/mentions/invoice.tsx +++ b/src/shared/notes/mentions/invoice.tsx @@ -3,8 +3,8 @@ import { memo } from 'react'; export const Invoice = memo(function Invoice({ invoice }: { invoice: string }) { return ( - +
- +
); }); diff --git a/src/shared/notes/mentions/note.tsx b/src/shared/notes/mentions/note.tsx index bce2ee38..de2dadfc 100644 --- a/src/shared/notes/mentions/note.tsx +++ b/src/shared/notes/mentions/note.tsx @@ -2,8 +2,6 @@ import { NDKEvent, NDKKind } from '@nostr-dev-kit/ndk'; import { nip19 } from 'nostr-tools'; import { memo } from 'react'; -import { useStorage } from '@libs/storage/provider'; - import { ArticleNote, FileNote, @@ -14,20 +12,23 @@ import { } from '@shared/notes'; import { User } from '@shared/user'; -import { WidgetKinds, useWidgets } from '@stores/widgets'; +import { WidgetKinds } from '@stores/constants'; import { useEvent } from '@utils/hooks/useEvent'; +import { useWidget } from '@utils/hooks/useWidget'; export const MentionNote = memo(function MentionNote({ id }: { id: string }) { - const { db } = useStorage(); const { status, data } = useEvent(id); - - const setWidget = useWidgets((state) => state.setWidget); + const { addWidget } = useWidget(); const openThread = (event, thread: string) => { const selection = window.getSelection(); if (selection.toString().length === 0) { - setWidget(db, { kind: WidgetKinds.local.thread, title: 'Thread', content: thread }); + addWidget.mutate({ + kind: WidgetKinds.local.thread, + title: 'Thread', + content: thread, + }); } else { event.stopPropagation(); } @@ -46,9 +47,9 @@ export const MentionNote = memo(function MentionNote({ id }: { id: string }) { } }; - if (status === 'loading') { + if (status === 'pending') { return ( -
+
); @@ -57,7 +58,7 @@ export const MentionNote = memo(function MentionNote({ id }: { id: string }) { if (status === 'error') { const noteLink = `https://njump.me/${nip19.noteEncode(id)}`; return ( -
+
lume @@ -74,15 +75,14 @@ export const MentionNote = memo(function MentionNote({ id }: { id: string }) { } return ( + // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
openThread(e, id)} - onKeyDown={(e) => openThread(e, id)} role="button" - tabIndex={0} - className="mt-3 cursor-default rounded-lg border border-neutral-300 bg-neutral-200 p-3 dark:border-neutral-700 dark:bg-neutral-800" + onClick={(e) => openThread(e, id)} + className="w-full cursor-default rounded-lg border border-neutral-300 bg-neutral-200 p-3 dark:border-neutral-700 dark:bg-neutral-800" > -
{renderKind(data)}
+
{renderKind(data)}
); }); diff --git a/src/shared/notes/mentions/user.tsx b/src/shared/notes/mentions/user.tsx index 80a9679f..b659ab8b 100644 --- a/src/shared/notes/mentions/user.tsx +++ b/src/shared/notes/mentions/user.tsx @@ -1,30 +1,26 @@ import { memo } from 'react'; -import { useStorage } from '@libs/storage/provider'; - -import { WidgetKinds, useWidgets } from '@stores/widgets'; +import { WidgetKinds } from '@stores/constants'; import { useProfile } from '@utils/hooks/useProfile'; +import { useWidget } from '@utils/hooks/useWidget'; export const MentionUser = memo(function MentionUser({ pubkey }: { pubkey: string }) { - const { db } = useStorage(); const { user } = useProfile(pubkey); - - const setWidget = useWidgets((state) => state.setWidget); + const { addWidget } = useWidget(); return ( - - setWidget(db, { + addWidget.mutate({ kind: WidgetKinds.local.user, title: user?.name || user?.display_name || user?.displayName, content: pubkey, }) } onKeyDown={() => - setWidget(db, { + addWidget.mutate({ kind: WidgetKinds.local.user, title: user?.name || user?.display_name || user?.displayName, content: pubkey, @@ -38,6 +34,6 @@ export const MentionUser = memo(function MentionUser({ pubkey }: { pubkey: strin user?.displayName || user?.username || 'unknown')} - + ); }); diff --git a/src/shared/notes/metadata.tsx b/src/shared/notes/metadata.tsx index cd4c46a5..035ef8eb 100644 --- a/src/shared/notes/metadata.tsx +++ b/src/shared/notes/metadata.tsx @@ -3,23 +3,17 @@ import { useQuery } from '@tanstack/react-query'; import { decode } from 'light-bolt11-decoder'; import { useNDK } from '@libs/ndk/provider'; -import { useStorage } from '@libs/storage/provider'; import { LoaderIcon } from '@shared/icons'; import { User } from '@shared/user'; -import { WidgetKinds, useWidgets } from '@stores/widgets'; - import { compactNumber } from '@utils/number'; export function NoteMetadata({ id }: { id: string }) { - const setWidget = useWidgets((state) => state.setWidget); - - const { db } = useStorage(); const { ndk } = useNDK(); - const { status, data } = useQuery( - ['note-metadata', id], - async () => { + const { status, data } = useQuery({ + queryKey: ['note-metadata', id], + queryFn: async () => { let replies = 0; let zap = 0; const users = []; @@ -53,14 +47,12 @@ export function NoteMetadata({ id }: { id: string }) { return { replies, users, zap }; }, - { - enabled: !!ndk, - refetchOnWindowFocus: false, - refetchOnReconnect: false, - } - ); + enabled: !!ndk, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + }); - if (status === 'loading') { + if (status === 'pending') { return (
@@ -91,17 +83,7 @@ export function NoteMetadata({ id }: { id: string }) {
- · diff --git a/src/shared/notes/preview/image.tsx b/src/shared/notes/preview/image.tsx index 9f9d740c..cfc7f42c 100644 --- a/src/shared/notes/preview/image.tsx +++ b/src/shared/notes/preview/image.tsx @@ -11,7 +11,7 @@ export function ImagePreview({ urls }: { urls: string[] }) { }; return ( -
+
{urls.map((url) => (
- {status === 'loading' ? ( -
-
-
-
-
- - {domain.hostname} - -
+ if (status === 'pending') { + return ( +
+
+
+
+
+ + {domain.hostname} +
- ) : ( - - {error ? ( -
-

- Can't fetch open graph, click to open webpage -

- - {domain.hostname} - -
- ) : ( - <> - {data.image && ( - {urls[0]} - )} -
-
- {data.title && ( -
- {data.title} -
- )} - {data.description && ( -

- {data.description} -

- )} -
- - {domain.hostname} - -
- +
+ ); + } + + return ( + + {isImage(data.image) ? ( + {urls[0]} + ) : null} +
+
+ {data.title && ( +
+ {data.title} +
)} - - )} -
+ {data.description ? ( +

+ {data.description} +

+ ) : null} +
+ + {domain.hostname} + +
+ ); } diff --git a/src/shared/notes/preview/video.tsx b/src/shared/notes/preview/video.tsx index 681da5a1..4b5f61ac 100644 --- a/src/shared/notes/preview/video.tsx +++ b/src/shared/notes/preview/video.tsx @@ -11,7 +11,7 @@ import { memo } from 'react'; export const VideoPreview = memo(function VideoPreview({ urls }: { urls: string[] }) { return ( -
+
{urls.map((url) => (