diff --git a/.gitignore b/.gitignore index c2322fc..b828388 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,14 @@ apps/svendio-backend/ apps/svendio-frontend/ .turbo .idea/dbnavigator.xml + +# temp files +.temp.css + +# npmrc +.npmrc +.npmrc.local +.npmrc.github +.npmrc.npm +npmrc.github +npmrc.npm diff --git a/README.md b/README.md index 75a9e9b..42d3dec 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,52 @@ A customizable chat widget that provides AI-powered chat functionality based on ## Installation ```bash -npm install +# Using npm +npm install @entelligence-ai/chat-widget + +# Using pnpm +pnpm add @entelligence-ai/chat-widget ``` -```bash -pnpm install +## Usage + +### React Component +```tsx +import { EntelligenceChat } from '@entelligence-ai/chat-widget/react'; +// Import styles separately +import '@entelligence-ai/chat-widget/style.css'; + +function App() { + return ( + + ); +} +``` + +### Vanilla JavaScript +```html + ``` ## Development @@ -82,6 +123,7 @@ The application follows this initialization flow: +
@@ -95,6 +137,7 @@ The application follows this initialization flow: // src/index.tsx import { createRoot } from 'react-dom/client'; import { App } from './app'; +import '@entelligence-ai/chat-widget/style.css'; const root = createRoot(document.getElementById('root')!); root.render(); @@ -124,74 +167,16 @@ export const App = ({ }; ``` -4. The build process creates two distinct bundles: - - A React component library for direct React integration - - A vanilla JS bundle that can self-initialize - -#### Build Configuration -The project uses Vite with dual build modes for React and Vanilla JS: +### CSS and Styling +The package includes two CSS bundles: +- `@entelligence-ai/chat-widget/style.css` - Main styles for the widget +- `@entelligence-ai/chat-widget/styles.css` - Additional styles (if needed) +You must import at least the main style.css for the widget to work properly: ```typescript -// vite.config.ts -export default defineConfig(({ mode }) => ({ - build: { - lib: { - entry: mode === 'react' - ? 'src/react/index.ts' - : 'src/main-vanilla.tsx', - formats: ['es', 'umd'] - }, - rollupOptions: { - manualChunks: { - 'react-vendor': ['react', 'react-dom'], - 'ui-vendor': ['@assistant-ui/react'], - 'markdown': ['@assistant-ui/react-markdown'], - 'syntax': ['@assistant-ui/react-syntax-highlighter'] - } - } - } -})) +import '@entelligence-ai/chat-widget/style.css'; ``` -#### HTML Integration -```html - - - - - - -
- - -``` - -#### Build Process -1. Vite builds two versions: - - React component library (`/react`) - - Vanilla JS bundle -2. Code is optimized through: - - Tree shaking - - Code splitting - - Chunk optimization - - CSS code splitting -3. Output includes: - - ES modules - - UMD bundles - - TypeScript declarations - ### Environment Variables Create a `.env` file in the root directory with: ```env diff --git a/entelligence-ai-chat-widget-0.0.15.tgz b/entelligence-ai-chat-widget-0.0.15.tgz deleted file mode 100644 index a74f6ee..0000000 Binary files a/entelligence-ai-chat-widget-0.0.15.tgz and /dev/null differ diff --git a/index.html b/index.html index 41e354d..6c5eaa4 100644 --- a/index.html +++ b/index.html @@ -5,6 +5,17 @@ Vite + React + TS + +
diff --git a/package.json b/package.json index fe8b5ea..44caf50 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@entelligence-ai/chat-widget", - "version": "0.0.15", + "version": "0.0.19", "private": false, "publishConfig": { "access": "restricted", @@ -18,95 +18,106 @@ "README.md" ], "scripts": { - "dev": "vite", - "build": "vite build && vite build --mode react && tsc --project tsconfig.build.json", + "dev": "npm run combine-css && npm run build:css && vite --config vite.config.ts --force", + "dev:no-refresh": "npm run build:css && vite --config vite.config.ts --force --mode development", + "build": "npm run combine-css && vite --config vite.config.css.ts build && npm run build:types && vite build && vite build --mode react", + "build:types": "tsc --project tsconfig.build.json && tsc --project tsconfig.build.json --outDir dist/types/react --declarationDir dist/types/react --declaration true --emitDeclarationOnly true --jsx react-jsx", + "combine-css": "node scripts/combine-css.js", + "build:css": "tailwindcss -i ./src/combined.css -o ./public/styles.css", "version:update": "ts-node scripts/version-update.ts", "prepublishOnly": "npm run build", "publish:github": "npm publish --access public --registry=https://npm.pkg.github.com", "publish:npm": "npm publish --access public --registry=https://registry.npmjs.org/", - "publish": "npm run version:update && npm run publish:github && npm run publish:npm" + "publish:all": "npm run version:update && npm run publish:github && npm run publish:npm" }, "dependencies": { - "@assistant-ui/react": "^0.7.88", - "@assistant-ui/react-markdown": "^0.7.21", - "@assistant-ui/react-syntax-highlighter": "^0.7.10", - "@assistant-ui/react-ui": "^0.1.7", + "@assistant-ui/react": "0.7.88", + "@assistant-ui/react-markdown": "0.7.21", + "@assistant-ui/react-syntax-highlighter": "0.7.10", + "@assistant-ui/react-ui": "0.1.7", "@radix-ui/react-slot": "^1.1.2", "@radix-ui/react-tooltip": "^1.1.8", "class-variance-authority": "^0.7.1", "classnames": "^2.5.1", "clsx": "^2.1.1", + "debug": "^4.4.0", + "extend": "^3.0.2", "lucide-react": "^0.475.0", - "react": "^18.0.0", - "react-dom": "^18.0.0", + "react": "18.2.0", + "react-dom": "18.2.0", "react-icons": "^5.4.0", - "tailwind-merge": "^3.0.2", - "tailwindcss": "^3.4.9" + "style-to-js": "^1.1.16", + "tailwind-merge": "^3.0.2" }, "devDependencies": { "@babel/preset-react": "^7.26.3", "@eslint/js": "^9.8.0", - "@types/node": "^22.2.0", - "@types/react": "^18.3.18", - "@types/react-dom": "^18.3.5", + "@rollup/plugin-commonjs": "^25.0.0", + "@types/node": "^22.13.10", + "@types/react": "18.2.45", + "@types/react-dom": "18.2.18", "@types/react-syntax-highlighter": "^15.5.13", "@vitejs/plugin-react": "^4.3.1", - "autoprefixer": "^10.4.20", + "autoprefixer": "^10.4.16", "babel-plugin-transform-remove-console": "^6.9.4", "eslint": "^9.8.0", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.9", "globals": "^15.9.0", - "postcss": "^8.4.41", + "postcss": "^8.4.35", "posthog-js": "^1.155.0", "react-syntax-highlighter": "^15.6.1", "remark-gfm": "^4.0.1", + "tailwindcss": "^3.4.0", "tailwindcss-animate": "^1.0.7", "ts-node": "^10.9.2", "typescript": "^5.5.3", "typescript-eslint": "^8.0.0", "vite": "^5.4.0", "vite-plugin-css-injected-by-js": "^3.5.1", - "vite-plugin-dts": "^4.5.0" + "vite-plugin-dts": "^4.5.0", + "clean-css": "^5.3.2" }, "main": "./dist/vanilla/entelligence-chat.umd.js", "module": "./dist/vanilla/entelligence-chat.es.js", "types": "./dist/types/main-vanilla.d.ts", "exports": { ".": { - "types": "./dist/types/main-vanilla.d.ts", + "types": "./dist/types/main.d.ts", "import": "./dist/vanilla/entelligence-chat.es.js", "require": "./dist/vanilla/entelligence-chat.umd.js" }, "./react": { - "types": "./dist/types/react/index.d.ts", - "module": "./dist/react/entelligence-chat-react.es.js", + "types": "./dist/types/react/react/index.d.ts", "import": "./dist/react/entelligence-chat-react.es.js", - "require": "./dist/react/entelligence-chat-react.umd.js", - "default": "./dist/react/entelligence-chat-react.umd.js" + "require": "./dist/react/entelligence-chat-react.umd.js" }, "./style.css": { "import": "./dist/react/style.css", "require": "./dist/react/style.css" + }, + "./styles.css": { + "import": "./dist/styles.css", + "require": "./dist/styles.css" } }, "typesVersions": { "*": { "react": [ - "./dist/types/react/index.d.ts" + "./dist/types/react/react/index.d.ts" ], "*": [ - "./dist/types/main-vanilla.d.ts" + "./dist/types/main.d.ts" ] } - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - }, + }, "pnpm": { "overrides": { "esbuild@<=0.24.2": ">=0.25.0" } + }, + "resolutions": { + "react": "18.2.0", + "@types/react": "18.2.45" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5372bd3..e981691 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,8 @@ settings: excludeLinksFromLockfile: false overrides: + react: 18.2.0 + '@types/react': 18.2.45 esbuild@<=0.24.2: '>=0.25.0' importers: @@ -12,23 +14,23 @@ importers: .: dependencies: '@assistant-ui/react': - specifier: ^0.7.88 - version: 0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 0.7.88 + version: 0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@assistant-ui/react-markdown': - specifier: ^0.7.21 - version: 0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 0.7.21 + version: 0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@assistant-ui/react-syntax-highlighter': - specifier: ^0.7.10 - version: 0.7.10(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-syntax-highlighter@15.5.13)(@types/react@18.3.18)(react-syntax-highlighter@15.6.1(react@18.3.1))(react@18.3.1) + specifier: 0.7.10 + version: 0.7.10(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-syntax-highlighter@15.5.13)(@types/react@18.2.45)(react-syntax-highlighter@15.6.1(react@18.2.0))(react@18.2.0) '@assistant-ui/react-ui': - specifier: ^0.1.7 - version: 0.1.7(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 0.1.7 + version: 0.1.7(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': specifier: ^1.1.2 - version: 1.1.2(@types/react@18.3.18)(react@18.3.1) + version: 1.1.2(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.1.8 - version: 1.1.8(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.1.8(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -38,102 +40,117 @@ importers: clsx: specifier: ^2.1.1 version: 2.1.1 + debug: + specifier: ^4.4.0 + version: 4.4.0 + extend: + specifier: ^3.0.2 + version: 3.0.2 lucide-react: specifier: ^0.475.0 - version: 0.475.0(react@18.3.1) + version: 0.475.0(react@18.2.0) react: - specifier: ^18.0.0 - version: 18.3.1 + specifier: 18.2.0 + version: 18.2.0 react-dom: - specifier: ^18.0.0 - version: 18.3.1(react@18.3.1) + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) react-icons: specifier: ^5.4.0 - version: 5.5.0(react@18.3.1) + version: 5.5.0(react@18.2.0) + style-to-js: + specifier: ^1.1.16 + version: 1.1.16 tailwind-merge: specifier: ^3.0.2 version: 3.0.2 - tailwindcss: - specifier: ^3.4.9 - version: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) devDependencies: '@babel/preset-react': specifier: ^7.26.3 version: 7.26.3(@babel/core@7.26.9) '@eslint/js': specifier: ^9.8.0 - version: 9.21.0 + version: 9.22.0 + '@rollup/plugin-commonjs': + specifier: ^25.0.0 + version: 25.0.8(rollup@4.35.0) '@types/node': - specifier: ^22.2.0 - version: 22.13.5 + specifier: ^22.13.10 + version: 22.13.10 '@types/react': - specifier: ^18.3.18 - version: 18.3.18 + specifier: 18.2.45 + version: 18.2.45 '@types/react-dom': - specifier: ^18.3.5 - version: 18.3.5(@types/react@18.3.18) + specifier: 18.2.18 + version: 18.2.18 '@types/react-syntax-highlighter': specifier: ^15.5.13 version: 15.5.13 '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.4(vite@5.4.14(@types/node@22.13.5)) + version: 4.3.4(vite@5.4.14(@types/node@22.13.10)) autoprefixer: - specifier: ^10.4.20 - version: 10.4.20(postcss@8.5.3) + specifier: ^10.4.16 + version: 10.4.21(postcss@8.5.3) babel-plugin-transform-remove-console: specifier: ^6.9.4 version: 6.9.4 + clean-css: + specifier: ^5.3.2 + version: 5.3.3 eslint: specifier: ^9.8.0 - version: 9.21.0(jiti@1.21.7) + version: 9.22.0(jiti@1.21.7) eslint-plugin-react-hooks: specifier: ^5.1.0-rc.0 - version: 5.1.0(eslint@9.21.0(jiti@1.21.7)) + version: 5.2.0(eslint@9.22.0(jiti@1.21.7)) eslint-plugin-react-refresh: specifier: ^0.4.9 - version: 0.4.19(eslint@9.21.0(jiti@1.21.7)) + version: 0.4.19(eslint@9.22.0(jiti@1.21.7)) globals: specifier: ^15.9.0 version: 15.15.0 postcss: - specifier: ^8.4.41 + specifier: ^8.4.35 version: 8.5.3 posthog-js: specifier: ^1.155.0 - version: 1.223.3(@rrweb/types@2.0.0-alpha.17) + version: 1.230.1 react-syntax-highlighter: specifier: ^15.6.1 - version: 15.6.1(react@18.3.1) + version: 15.6.1(react@18.2.0) remark-gfm: specifier: ^4.0.1 version: 4.0.1 + tailwindcss: + specifier: ^3.4.0 + version: 3.4.17(ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2)) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))) + version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2))) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.13.5)(typescript@5.7.3) + version: 10.9.2(@types/node@22.13.10)(typescript@5.8.2) typescript: specifier: ^5.5.3 - version: 5.7.3 + version: 5.8.2 typescript-eslint: specifier: ^8.0.0 - version: 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + version: 8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) vite: specifier: ^5.4.0 - version: 5.4.14(@types/node@22.13.5) + version: 5.4.14(@types/node@22.13.10) vite-plugin-css-injected-by-js: specifier: ^3.5.1 - version: 3.5.2(vite@5.4.14(@types/node@22.13.5)) + version: 3.5.2(vite@5.4.14(@types/node@22.13.10)) vite-plugin-dts: specifier: ^4.5.0 - version: 4.5.0(@types/node@22.13.5)(rollup@4.34.8)(typescript@5.7.3)(vite@5.4.14(@types/node@22.13.5)) + version: 4.5.3(@types/node@22.13.10)(rollup@4.35.0)(typescript@5.8.2)(vite@5.4.14(@types/node@22.13.10)) packages: - '@ai-sdk/provider@1.0.8': - resolution: {integrity: sha512-f9jSYwKMdXvm44Dmab1vUBnfCDSFfI5rOtvV1W9oKB7WYHR5dGvCC6x68Mk3NUfrdmNoMVHGoh6JT9HCVMlMow==} + '@ai-sdk/provider@1.0.10': + resolution: {integrity: sha512-pco8Zl9U0xwXI+nCLc0woMtxbvjU8hRmGTseAUiPHFLYAAL8trRPCukg69IDeinOvIeo1SmXxAIdWWPZOLb4Cg==} engines: {node: '>=18'} '@alloc/quick-lru@5.2.0': @@ -148,8 +165,8 @@ packages: resolution: {integrity: sha512-zvv8RUQLiRc7wbcYhEP+J528a8tMF2h2PfKMCE8uAM2TfGWbbjlUPYsiaTkZ8P6DRHdunX0uXSy99GJeLYqLLw==} peerDependencies: '@assistant-ui/react': ^0.7.88 - '@types/react': '*' - react: ^18 || ^19 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -159,9 +176,9 @@ packages: peerDependencies: '@assistant-ui/react': ^0.7.71 '@assistant-ui/react-markdown': ^0.7.18 - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-syntax-highlighter': '*' - react: ^18 || ^19 || ^19.0.0-rc + react: 18.2.0 react-syntax-highlighter: ^15.5.0 peerDependenciesMeta: '@types/react': @@ -174,9 +191,9 @@ packages: peerDependencies: '@assistant-ui/react': '*' '@assistant-ui/react-markdown': '*' - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^18 || ^19 || ^19.0.0-rc + react: 18.2.0 react-dom: ^18 || ^19 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -188,9 +205,9 @@ packages: resolution: {integrity: sha512-RYF4y8xd9o8Oql1WHuslLQmI0SBEo5rUtMk7FZQF04sxkTY1Qf+weGNyMbMSd91bjOa3qIL3O7vrCBsLkiFXcA==} engines: {node: '>=20.10.0'} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^18 || ^19 || ^19.0.0-rc + react: 18.2.0 react-dom: ^18 || ^19 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -325,158 +342,158 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@esbuild/aix-ppc64@0.25.0': - resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} + '@esbuild/aix-ppc64@0.25.1': + resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.0': - resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} + '@esbuild/android-arm64@0.25.1': + resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.0': - resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} + '@esbuild/android-arm@0.25.1': + resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.0': - resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} + '@esbuild/android-x64@0.25.1': + resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.0': - resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} + '@esbuild/darwin-arm64@0.25.1': + resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.0': - resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} + '@esbuild/darwin-x64@0.25.1': + resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.0': - resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} + '@esbuild/freebsd-arm64@0.25.1': + resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.0': - resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} + '@esbuild/freebsd-x64@0.25.1': + resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.0': - resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} + '@esbuild/linux-arm64@0.25.1': + resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.0': - resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} + '@esbuild/linux-arm@0.25.1': + resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.0': - resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} + '@esbuild/linux-ia32@0.25.1': + resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.0': - resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} + '@esbuild/linux-loong64@0.25.1': + resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.0': - resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} + '@esbuild/linux-mips64el@0.25.1': + resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.0': - resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} + '@esbuild/linux-ppc64@0.25.1': + resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.0': - resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} + '@esbuild/linux-riscv64@0.25.1': + resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.0': - resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} + '@esbuild/linux-s390x@0.25.1': + resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.0': - resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} + '@esbuild/linux-x64@0.25.1': + resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.0': - resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} + '@esbuild/netbsd-arm64@0.25.1': + resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.0': - resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} + '@esbuild/netbsd-x64@0.25.1': + resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.0': - resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} + '@esbuild/openbsd-arm64@0.25.1': + resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.0': - resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} + '@esbuild/openbsd-x64@0.25.1': + resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.25.0': - resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} + '@esbuild/sunos-x64@0.25.1': + resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.0': - resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} + '@esbuild/win32-arm64@0.25.1': + resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.0': - resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} + '@esbuild/win32-ia32@0.25.1': + resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.0': - resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} + '@esbuild/win32-x64@0.25.1': + resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + '@eslint-community/eslint-utils@4.5.0': + resolution: {integrity: sha512-RoV8Xs9eNwiDvhv7M+xcL4PWyRyIXRY/FLp3buU4h1EYfdF7unWUy3dOjPqb3C7rMUewIcqwW850PgS8h1o1yg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -489,6 +506,10 @@ packages: resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.1.0': + resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.12.0': resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -497,8 +518,8 @@ packages: resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.21.0': - resolution: {integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==} + '@eslint/js@9.22.0': + resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': @@ -518,7 +539,7 @@ packages: '@floating-ui/react-dom@2.1.2': resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: - react: '>=16.8.0' + react: 18.2.0 react-dom: '>=16.8.0' '@floating-ui/utils@0.2.9': @@ -569,11 +590,11 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@microsoft/api-extractor-model@7.30.3': - resolution: {integrity: sha512-yEAvq0F78MmStXdqz9TTT4PZ05Xu5R8nqgwI5xmUmQjWBQ9E6R2n8HB/iZMRciG4rf9iwI2mtuQwIzDXBvHn1w==} + '@microsoft/api-extractor-model@7.30.4': + resolution: {integrity: sha512-RobC0gyVYsd2Fao9MTKOfTdBm41P/bCMUmzS5mQ7/MoAKEqy0FOBph3JOYdq4X4BsEnMEiSHc+0NUNmdzxCpjA==} - '@microsoft/api-extractor@7.50.1': - resolution: {integrity: sha512-L18vz0ARLNaBLKwWe0DdEf7eijDsb7ERZspgZK7PxclLoQrc+9hJZo8y4OVfCHxNVyxlwVywY2WdE/3pOFViLQ==} + '@microsoft/api-extractor@7.52.1': + resolution: {integrity: sha512-m3I5uAwE05orsu3D1AGyisX5KxsgVXB+U4bWOOaX/Z7Ftp/2Cy41qsNhO6LPvSxHBaapyser5dVorF1t5M6tig==} hasBin: true '@microsoft/tsdoc-config@0.17.1': @@ -604,9 +625,9 @@ packages: '@radix-ui/react-arrow@1.1.2': resolution: {integrity: sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -617,9 +638,9 @@ packages: '@radix-ui/react-avatar@1.1.3': resolution: {integrity: sha512-Paen00T4P8L8gd9bNsRMw7Cbaz85oxiv+hzomsRZgFm2byltPFDtfcoqlWJ8GyZlIBWgLssJlzLCnKU0G0302g==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -630,8 +651,8 @@ packages: '@radix-ui/react-compose-refs@1.1.1': resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -639,8 +660,8 @@ packages: '@radix-ui/react-context@1.1.1': resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -648,9 +669,9 @@ packages: '@radix-ui/react-dialog@1.1.6': resolution: {integrity: sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -661,9 +682,9 @@ packages: '@radix-ui/react-dismissable-layer@1.1.5': resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -674,8 +695,8 @@ packages: '@radix-ui/react-focus-guards@1.1.1': resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -683,9 +704,9 @@ packages: '@radix-ui/react-focus-scope@1.1.2': resolution: {integrity: sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -696,8 +717,8 @@ packages: '@radix-ui/react-id@1.1.0': resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -705,9 +726,9 @@ packages: '@radix-ui/react-popover@1.1.6': resolution: {integrity: sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -718,9 +739,9 @@ packages: '@radix-ui/react-popper@1.2.2': resolution: {integrity: sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -731,9 +752,9 @@ packages: '@radix-ui/react-portal@1.1.4': resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -744,9 +765,9 @@ packages: '@radix-ui/react-presence@1.1.2': resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -757,9 +778,9 @@ packages: '@radix-ui/react-primitive@2.0.2': resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -770,8 +791,8 @@ packages: '@radix-ui/react-slot@1.1.2': resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -779,9 +800,9 @@ packages: '@radix-ui/react-tooltip@1.1.8': resolution: {integrity: sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -792,8 +813,8 @@ packages: '@radix-ui/react-use-callback-ref@1.1.0': resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -801,8 +822,8 @@ packages: '@radix-ui/react-use-controllable-state@1.1.0': resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -810,8 +831,8 @@ packages: '@radix-ui/react-use-escape-keydown@1.1.0': resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -819,8 +840,8 @@ packages: '@radix-ui/react-use-layout-effect@1.1.0': resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -828,8 +849,8 @@ packages: '@radix-ui/react-use-rect@1.1.0': resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -837,8 +858,8 @@ packages: '@radix-ui/react-use-size@1.1.0': resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -846,9 +867,9 @@ packages: '@radix-ui/react-visually-hidden@1.1.2': resolution: {integrity: sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==} peerDependencies: - '@types/react': '*' + '@types/react': 18.2.45 '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: 18.2.0 react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': @@ -859,6 +880,15 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@rollup/plugin-commonjs@25.0.8': + resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -868,106 +898,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.34.8': - resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==} + '@rollup/rollup-android-arm-eabi@4.35.0': + resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.34.8': - resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==} + '@rollup/rollup-android-arm64@4.35.0': + resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.34.8': - resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==} + '@rollup/rollup-darwin-arm64@4.35.0': + resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.34.8': - resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==} + '@rollup/rollup-darwin-x64@4.35.0': + resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.34.8': - resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==} + '@rollup/rollup-freebsd-arm64@4.35.0': + resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.34.8': - resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==} + '@rollup/rollup-freebsd-x64@4.35.0': + resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': - resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.34.8': - resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.34.8': - resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} + '@rollup/rollup-linux-arm64-gnu@4.35.0': + resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.34.8': - resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} + '@rollup/rollup-linux-arm64-musl@4.35.0': + resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': - resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': - resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.34.8': - resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.34.8': - resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} + '@rollup/rollup-linux-s390x-gnu@4.35.0': + resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.34.8': - resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} + '@rollup/rollup-linux-x64-gnu@4.35.0': + resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.34.8': - resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} + '@rollup/rollup-linux-x64-musl@4.35.0': + resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.34.8': - resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==} + '@rollup/rollup-win32-arm64-msvc@4.35.0': + resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.34.8': - resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==} + '@rollup/rollup-win32-ia32-msvc@4.35.0': + resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.34.8': - resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==} + '@rollup/rollup-win32-x64-msvc@4.35.0': + resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==} cpu: [x64] os: [win32] - '@rrweb/types@2.0.0-alpha.17': - resolution: {integrity: sha512-AfDTVUuCyCaIG0lTSqYtrZqJX39ZEYzs4fYKnexhQ+id+kbZIpIJtaut5cto6dWZbB3SEe4fW0o90Po3LvTmfg==} - - '@rushstack/node-core-library@5.11.0': - resolution: {integrity: sha512-I8+VzG9A0F3nH2rLpPd7hF8F7l5Xb7D+ldrWVZYegXM6CsKkvWc670RlgK3WX8/AseZfXA/vVrh0bpXe2Y2UDQ==} + '@rushstack/node-core-library@5.12.0': + resolution: {integrity: sha512-QSwwzgzWoil1SCQse+yCHwlhRxNv2dX9siPnAb9zR/UmMhac4mjMrlMZpk64BlCeOFi1kJKgXRkihSwRMbboAQ==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -977,16 +1004,16 @@ packages: '@rushstack/rig-package@0.5.3': resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} - '@rushstack/terminal@0.15.0': - resolution: {integrity: sha512-vXQPRQ+vJJn4GVqxkwRe+UGgzNxdV8xuJZY2zem46Y0p3tlahucH9/hPmLGj2i9dQnUBFiRnoM9/KW7PYw8F4Q==} + '@rushstack/terminal@0.15.1': + resolution: {integrity: sha512-3vgJYwumcjoDOXU3IxZfd616lqOdmr8Ezj4OWgJZfhmiBK4Nh7eWcv8sU8N/HdzXcuHDXCRGn/6O2Q75QvaZMA==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/ts-command-line@4.23.5': - resolution: {integrity: sha512-jg70HfoK44KfSP3MTiL5rxsZH7X1ktX3cZs9Sl8eDu1/LxJSbPsh0MOFRC710lIuYYSgxWjI5AjbCBAl7u3RxA==} + '@rushstack/ts-command-line@4.23.6': + resolution: {integrity: sha512-7WepygaF3YPEoToh4MAL/mmHkiIImQq3/uAkQX46kVoKTNOOlCtFGyNnze6OYuWw2o9rxsyrHVfIBKxq/am2RA==} '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -1039,22 +1066,23 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@22.13.5': - resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} + '@types/node@22.13.10': + resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} '@types/prop-types@15.7.14': resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} - '@types/react-dom@18.3.5': - resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} - peerDependencies: - '@types/react': ^18.0.0 + '@types/react-dom@18.2.18': + resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} '@types/react-syntax-highlighter@15.5.13': resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==} - '@types/react@18.3.18': - resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==} + '@types/react@18.2.45': + resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==} + + '@types/scheduler@0.23.0': + resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==} '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -1062,51 +1090,51 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.24.1': - resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==} + '@typescript-eslint/eslint-plugin@8.26.1': + resolution: {integrity: sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.24.1': - resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==} + '@typescript-eslint/parser@8.26.1': + resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.24.1': - resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==} + '@typescript-eslint/scope-manager@8.26.1': + resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.24.1': - resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==} + '@typescript-eslint/type-utils@8.26.1': + resolution: {integrity: sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.24.1': - resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==} + '@typescript-eslint/types@8.26.1': + resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.24.1': - resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==} + '@typescript-eslint/typescript-estree@8.26.1': + resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.24.1': - resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==} + '@typescript-eslint/utils@8.26.1': + resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.24.1': - resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==} + '@typescript-eslint/visitor-keys@8.26.1': + resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': @@ -1118,14 +1146,14 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 - '@volar/language-core@2.4.11': - resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==} + '@volar/language-core@2.4.12': + resolution: {integrity: sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==} - '@volar/source-map@2.4.11': - resolution: {integrity: sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==} + '@volar/source-map@2.4.12': + resolution: {integrity: sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==} - '@volar/typescript@2.4.11': - resolution: {integrity: sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==} + '@volar/typescript@2.4.12': + resolution: {integrity: sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==} '@vue/compiler-core@3.5.13': resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} @@ -1156,8 +1184,8 @@ packages: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} engines: {node: '>=0.4.0'} hasBin: true @@ -1231,8 +1259,8 @@ packages: assistant-stream@0.0.21: resolution: {integrity: sha512-tQuGIuTGtmNnHSc6hxANVjO23LPmwFBjZnOt0xOhoBQBqW3vBv6DK2QOObgT9wnfLY8i2DRDwDbw8fSvYVzdMA==} - autoprefixer@10.4.20: - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -1274,8 +1302,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001700: - resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==} + caniuse-lite@1.0.30001703: + resolution: {integrity: sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1315,6 +1343,10 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -1336,6 +1368,9 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} @@ -1345,11 +1380,14 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.1: + resolution: {integrity: sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-js@3.40.0: - resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==} + core-js@3.41.0: + resolution: {integrity: sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==} create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -1378,8 +1416,8 @@ packages: supports-color: optional: true - decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.1.0: + resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -1407,8 +1445,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.103: - resolution: {integrity: sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==} + electron-to-chromium@1.5.114: + resolution: {integrity: sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1420,8 +1458,8 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - esbuild@0.25.0: - resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} + esbuild@0.25.1: + resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} engines: {node: '>=18'} hasBin: true @@ -1437,8 +1475,8 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-plugin-react-hooks@5.1.0: - resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} + eslint-plugin-react-hooks@5.2.0: + resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 @@ -1448,8 +1486,8 @@ packages: peerDependencies: eslint: '>=8.40' - eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: @@ -1460,8 +1498,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.21.0: - resolution: {integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==} + eslint@9.22.0: + resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1496,6 +1534,9 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + exsolve@1.0.4: + resolution: {integrity: sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -1512,8 +1553,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.19.0: - resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} fault@1.0.4: resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} @@ -1555,6 +1596,9 @@ packages: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1583,6 +1627,11 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -1612,8 +1661,8 @@ packages: hast-util-parse-selector@2.2.5: resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} - hast-util-to-jsx-runtime@2.3.4: - resolution: {integrity: sha512-2GSifZSlBD35z6/+sp+btB333wHFPck/rrlKZMc9IOUJk6anHuQuqC/oNI80Pj717wo8JCPdXjjasVqQu3UH8Q==} + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -1650,6 +1699,13 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} @@ -1705,6 +1761,9 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1770,8 +1829,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - local-pkg@0.5.1: - resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} + local-pkg@1.1.1: + resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} engines: {node: '>=14'} locate-path@6.0.0: @@ -1807,7 +1866,7 @@ packages: lucide-react@0.475.0: resolution: {integrity: sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==} peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: 18.2.0 magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -1867,8 +1926,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromark-core-commonmark@2.0.2: - resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} micromark-extension-gfm-autolink-literal@2.1.0: resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} @@ -1939,17 +1998,17 @@ packages: micromark-util-sanitize-uri@2.0.1: resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-subtokenize@2.0.4: - resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@2.0.1: - resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - micromark@4.0.1: - resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -1961,6 +2020,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -1986,6 +2049,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.9: + resolution: {integrity: sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -2008,6 +2076,9 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2076,6 +2147,9 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkg-types@2.1.0: + resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -2117,13 +2191,19 @@ packages: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} - posthog-js@1.223.3: - resolution: {integrity: sha512-ZQTc17M21IzkQmECJa2Xjont4tZrvIn252uGT3sTfmahTqZoW4j+kBj4eOJt9SNR6hOheFNkg7MSiI/rA6FaDA==} + posthog-js@1.230.1: + resolution: {integrity: sha512-H4KYK1O6F6VaKzfhG7FLb4qYUrK/NLi3ENr2Csqhkn3T0zLihZoLixFTDc2Nc98aQcq9K3T3MxKPPkc2EFtHVQ==} peerDependencies: '@rrweb/types': 2.0.0-alpha.17 + rrweb-snapshot: 2.0.0-alpha.17 + peerDependenciesMeta: + '@rrweb/types': + optional: true + rrweb-snapshot: + optional: true - preact@10.26.2: - resolution: {integrity: sha512-0gNmv4qpS9HaN3+40CLBAnKe0ZfyE4ZWo5xKlC1rVrr0ckkEvJvAQqKaHANdFKsGstoxrY4AItZ7kZSGVoVjgg==} + preact@10.26.4: + resolution: {integrity: sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w==} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -2133,8 +2213,8 @@ packages: resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==} engines: {node: '>=6'} - prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} property-information@5.6.0: @@ -2147,24 +2227,27 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + quansync@0.2.8: + resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: - react: ^18.3.1 + react: 18.2.0 react-icons@5.5.0: resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==} peerDependencies: - react: '*' + react: 18.2.0 react-markdown@9.1.0: resolution: {integrity: sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==} peerDependencies: - '@types/react': '>=18' - react: '>=18' + '@types/react': 18.2.45 + react: 18.2.0 react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} @@ -2174,8 +2257,8 @@ packages: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2184,8 +2267,8 @@ packages: resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2194,8 +2277,8 @@ packages: resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2203,16 +2286,16 @@ packages: react-syntax-highlighter@15.6.1: resolution: {integrity: sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==} peerDependencies: - react: '>= 0.14.0' + react: 18.2.0 react-textarea-autosize@8.5.7: resolution: {integrity: sha512-2MqJ3p0Jh69yt9ktFIaZmORHXw4c4bxSIhCeWiFwmJ9EYKgLmuNII3e9c9b2UO+ijl4StnpZdqpxNIhTdHvqtQ==} engines: {node: '>=10'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: 18.2.0 - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -2253,18 +2336,15 @@ packages: engines: {node: '>= 0.4'} hasBin: true - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.34.8: - resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==} + rollup@4.35.0: + resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rrweb-snapshot@2.0.0-alpha.18: - resolution: {integrity: sha512-hBHZL/NfgQX6wO1D9mpwqFu1NJPpim+moIcKhFEjVTZVRUfCln+LOugRc4teVTCISYHN8Cw5e2iNTWCSm+SkoA==} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -2344,6 +2424,9 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + style-to-js@1.1.16: + resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} + style-to-object@1.0.8: resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} @@ -2424,15 +2507,15 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.24.1: - resolution: {integrity: sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==} + typescript-eslint@8.26.1: + resolution: {integrity: sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true @@ -2464,8 +2547,8 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - update-browserslist-db@1.1.2: - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -2477,8 +2560,8 @@ packages: resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2487,7 +2570,7 @@ packages: resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} peerDependencies: '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2496,7 +2579,7 @@ packages: resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==} peerDependencies: '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2505,7 +2588,7 @@ packages: resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==} peerDependencies: '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2514,8 +2597,8 @@ packages: resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + '@types/react': 18.2.45 + react: 18.2.0 peerDependenciesMeta: '@types/react': optional: true @@ -2537,8 +2620,8 @@ packages: peerDependencies: vite: '>2.0.0-0' - vite-plugin-dts@4.5.0: - resolution: {integrity: sha512-M1lrPTdi7gilLYRZoLmGYnl4fbPryVYsehPN9JgaxjJKTs8/f7tuAlvCCvOLB5gRDQTTKnptBcB0ACsaw2wNLw==} + vite-plugin-dts@4.5.3: + resolution: {integrity: sha512-P64VnD00dR+e8S26ESoFELqc17+w7pKkwlBpgXteOljFyT0zDwD8hH4zXp49M/kciy//7ZbVXIwQCekBJjfWzA==} peerDependencies: typescript: '*' vite: '*' @@ -2600,6 +2683,9 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -2635,9 +2721,9 @@ packages: resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} engines: {node: '>=12.20.0'} peerDependencies: - '@types/react': '>=18.0.0' + '@types/react': 18.2.45 immer: '>=9.0.6' - react: '>=18.0.0' + react: 18.2.0 use-sync-external-store: '>=1.2.0' peerDependenciesMeta: '@types/react': @@ -2654,7 +2740,7 @@ packages: snapshots: - '@ai-sdk/provider@1.0.8': + '@ai-sdk/provider@1.0.10': dependencies: json-schema: 0.4.0 @@ -2665,84 +2751,84 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@assistant-ui/react': 0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@assistant-ui/react': 0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) '@types/hast': 3.0.4 classnames: 2.5.1 - lucide-react: 0.475.0(react@18.3.1) - react: 18.3.1 - react-markdown: 9.1.0(@types/react@18.3.18)(react@18.3.1) + lucide-react: 0.475.0(react@18.2.0) + react: 18.2.0 + react-markdown: 9.1.0(@types/react@18.2.45)(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 transitivePeerDependencies: - '@types/react-dom' - react-dom - supports-color - '@assistant-ui/react-syntax-highlighter@0.7.10(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-syntax-highlighter@15.5.13)(@types/react@18.3.18)(react-syntax-highlighter@15.6.1(react@18.3.1))(react@18.3.1)': + '@assistant-ui/react-syntax-highlighter@0.7.10(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-syntax-highlighter@15.5.13)(@types/react@18.2.45)(react-syntax-highlighter@15.6.1(react@18.2.0))(react@18.2.0)': dependencies: - '@assistant-ui/react': 0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@assistant-ui/react-markdown': 0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-syntax-highlighter: 15.6.1(react@18.3.1) + '@assistant-ui/react': 0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@assistant-ui/react-markdown': 0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-syntax-highlighter: 15.6.1(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 '@types/react-syntax-highlighter': 15.5.13 - '@assistant-ui/react-ui@0.1.7(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@assistant-ui/react-ui@0.1.7(@assistant-ui/react-markdown@0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@assistant-ui/react': 0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@assistant-ui/react-markdown': 0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-avatar': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.1.8(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@assistant-ui/react': 0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@assistant-ui/react-markdown': 0.7.21(@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-avatar': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-tooltip': 1.1.8(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) class-variance-authority: 0.7.1 classnames: 2.5.1 - lucide-react: 0.475.0(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - zustand: 5.0.3(@types/react@18.3.18)(react@18.3.1) + lucide-react: 0.475.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + zustand: 5.0.3(@types/react@18.2.45)(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 transitivePeerDependencies: - immer - use-sync-external-store - '@assistant-ui/react@0.7.88(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@assistant-ui/react@0.7.88(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@ai-sdk/provider': 1.0.8 + '@ai-sdk/provider': 1.0.10 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-avatar': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-tooltip': 1.1.8(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-avatar': 1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-popover': 1.1.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.1.2(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-tooltip': 1.1.8(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.2.45)(react@18.2.0) assistant-stream: 0.0.21 class-variance-authority: 0.7.1 classnames: 2.5.1 json-schema: 0.4.0 - lucide-react: 0.475.0(react@18.3.1) + lucide-react: 0.475.0(react@18.2.0) nanoid: 3.3.8 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-textarea-autosize: 8.5.7(@types/react@18.3.18)(react@18.3.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-textarea-autosize: 8.5.7(@types/react@18.2.45)(react@18.2.0) secure-json-parse: 3.0.2 zod: 3.24.2 zod-to-json-schema: 3.24.3(zod@3.24.2) - zustand: 5.0.3(@types/react@18.3.18)(react@18.3.1) + zustand: 5.0.3(@types/react@18.2.45)(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 transitivePeerDependencies: - immer - use-sync-external-store @@ -2915,84 +3001,84 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@esbuild/aix-ppc64@0.25.0': + '@esbuild/aix-ppc64@0.25.1': optional: true - '@esbuild/android-arm64@0.25.0': + '@esbuild/android-arm64@0.25.1': optional: true - '@esbuild/android-arm@0.25.0': + '@esbuild/android-arm@0.25.1': optional: true - '@esbuild/android-x64@0.25.0': + '@esbuild/android-x64@0.25.1': optional: true - '@esbuild/darwin-arm64@0.25.0': + '@esbuild/darwin-arm64@0.25.1': optional: true - '@esbuild/darwin-x64@0.25.0': + '@esbuild/darwin-x64@0.25.1': optional: true - '@esbuild/freebsd-arm64@0.25.0': + '@esbuild/freebsd-arm64@0.25.1': optional: true - '@esbuild/freebsd-x64@0.25.0': + '@esbuild/freebsd-x64@0.25.1': optional: true - '@esbuild/linux-arm64@0.25.0': + '@esbuild/linux-arm64@0.25.1': optional: true - '@esbuild/linux-arm@0.25.0': + '@esbuild/linux-arm@0.25.1': optional: true - '@esbuild/linux-ia32@0.25.0': + '@esbuild/linux-ia32@0.25.1': optional: true - '@esbuild/linux-loong64@0.25.0': + '@esbuild/linux-loong64@0.25.1': optional: true - '@esbuild/linux-mips64el@0.25.0': + '@esbuild/linux-mips64el@0.25.1': optional: true - '@esbuild/linux-ppc64@0.25.0': + '@esbuild/linux-ppc64@0.25.1': optional: true - '@esbuild/linux-riscv64@0.25.0': + '@esbuild/linux-riscv64@0.25.1': optional: true - '@esbuild/linux-s390x@0.25.0': + '@esbuild/linux-s390x@0.25.1': optional: true - '@esbuild/linux-x64@0.25.0': + '@esbuild/linux-x64@0.25.1': optional: true - '@esbuild/netbsd-arm64@0.25.0': + '@esbuild/netbsd-arm64@0.25.1': optional: true - '@esbuild/netbsd-x64@0.25.0': + '@esbuild/netbsd-x64@0.25.1': optional: true - '@esbuild/openbsd-arm64@0.25.0': + '@esbuild/openbsd-arm64@0.25.1': optional: true - '@esbuild/openbsd-x64@0.25.0': + '@esbuild/openbsd-x64@0.25.1': optional: true - '@esbuild/sunos-x64@0.25.0': + '@esbuild/sunos-x64@0.25.1': optional: true - '@esbuild/win32-arm64@0.25.0': + '@esbuild/win32-arm64@0.25.1': optional: true - '@esbuild/win32-ia32@0.25.0': + '@esbuild/win32-ia32@0.25.1': optional: true - '@esbuild/win32-x64@0.25.0': + '@esbuild/win32-x64@0.25.1': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@1.21.7))': + '@eslint-community/eslint-utils@4.5.0(eslint@9.22.0(jiti@1.21.7))': dependencies: - eslint: 9.21.0(jiti@1.21.7) + eslint: 9.22.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -3005,6 +3091,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/config-helpers@0.1.0': {} + '@eslint/core@0.12.0': dependencies: '@types/json-schema': 7.0.15 @@ -3023,7 +3111,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.21.0': {} + '@eslint/js@9.22.0': {} '@eslint/object-schema@2.1.6': {} @@ -3041,11 +3129,11 @@ snapshots: '@floating-ui/core': 1.6.9 '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@floating-ui/dom': 1.6.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) '@floating-ui/utils@0.2.9': {} @@ -3093,29 +3181,29 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@microsoft/api-extractor-model@7.30.3(@types/node@22.13.5)': + '@microsoft/api-extractor-model@7.30.4(@types/node@22.13.10)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.11.0(@types/node@22.13.5) + '@rushstack/node-core-library': 5.12.0(@types/node@22.13.10) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.50.1(@types/node@22.13.5)': + '@microsoft/api-extractor@7.52.1(@types/node@22.13.10)': dependencies: - '@microsoft/api-extractor-model': 7.30.3(@types/node@22.13.5) + '@microsoft/api-extractor-model': 7.30.4(@types/node@22.13.10) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.11.0(@types/node@22.13.5) + '@rushstack/node-core-library': 5.12.0(@types/node@22.13.10) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.0(@types/node@22.13.5) - '@rushstack/ts-command-line': 4.23.5(@types/node@22.13.5) + '@rushstack/terminal': 0.15.1(@types/node@22.13.10) + '@rushstack/ts-command-line': 4.23.6(@types/node@22.13.10) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.10 semver: 7.5.4 source-map: 0.6.1 - typescript: 5.7.3 + typescript: 5.8.2 transitivePeerDependencies: - '@types/node' @@ -3138,323 +3226,330 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.0 + fastq: 1.19.1 '@pkgjs/parseargs@0.11.0': optional: true '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-arrow@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-arrow@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-avatar@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-avatar@1.1.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@18.2.45)(react@18.2.0)': dependencies: - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-context@1.1.1(@types/react@18.2.45)(react@18.2.0)': dependencies: - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-dialog@1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dialog@1.1.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.1.2(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) aria-hidden: 1.2.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.6.3(@types/react@18.2.45)(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@18.2.45)(react@18.2.0)': dependencies: - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-id@1.1.0(@types/react@18.2.45)(react@18.2.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-popover@1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-popover@1.1.6(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.1.2(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) aria-hidden: 1.2.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.6.3(@types/react@18.2.45)(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) - - '@radix-ui/react-popper@1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-arrow': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 + + '@radix-ui/react-popper@1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@floating-ui/react-dom': 2.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-arrow': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.45)(react@18.2.0) '@radix-ui/rect': 1.1.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-portal@1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-portal@1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-primitive@2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-slot@1.1.2(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-slot@1.1.2(@types/react@18.2.45)(react@18.2.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-tooltip@1.1.8(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tooltip@1.1.8(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.1.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.1.2(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.45)(react@18.2.0)': dependencies: - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.45)(react@18.2.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.2.45)(react@18.2.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.45)(react@18.2.0)': dependencies: - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-use-rect@1.1.0(@types/react@18.2.45)(react@18.2.0)': dependencies: '@radix-ui/rect': 1.1.0 - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@18.3.1)': + '@radix-ui/react-use-size@1.1.0(@types/react@18.2.45)(react@18.2.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 - '@types/react-dom': 18.3.5(@types/react@18.3.18) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 '@radix-ui/rect@1.1.0': {} - '@rollup/pluginutils@5.1.4(rollup@4.34.8)': + '@rollup/plugin-commonjs@25.0.8(rollup@4.35.0)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.35.0) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.17 + optionalDependencies: + rollup: 4.35.0 + + '@rollup/pluginutils@5.1.4(rollup@4.35.0)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.34.8 + rollup: 4.35.0 - '@rollup/rollup-android-arm-eabi@4.34.8': + '@rollup/rollup-android-arm-eabi@4.35.0': optional: true - '@rollup/rollup-android-arm64@4.34.8': + '@rollup/rollup-android-arm64@4.35.0': optional: true - '@rollup/rollup-darwin-arm64@4.34.8': + '@rollup/rollup-darwin-arm64@4.35.0': optional: true - '@rollup/rollup-darwin-x64@4.34.8': + '@rollup/rollup-darwin-x64@4.35.0': optional: true - '@rollup/rollup-freebsd-arm64@4.34.8': + '@rollup/rollup-freebsd-arm64@4.35.0': optional: true - '@rollup/rollup-freebsd-x64@4.34.8': + '@rollup/rollup-freebsd-x64@4.35.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.34.8': + '@rollup/rollup-linux-arm-musleabihf@4.35.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.34.8': + '@rollup/rollup-linux-arm64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.34.8': + '@rollup/rollup-linux-arm64-musl@4.35.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.34.8': + '@rollup/rollup-linux-riscv64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.34.8': + '@rollup/rollup-linux-s390x-gnu@4.35.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.34.8': + '@rollup/rollup-linux-x64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-x64-musl@4.34.8': + '@rollup/rollup-linux-x64-musl@4.35.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.34.8': + '@rollup/rollup-win32-arm64-msvc@4.35.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.34.8': + '@rollup/rollup-win32-ia32-msvc@4.35.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.34.8': + '@rollup/rollup-win32-x64-msvc@4.35.0': optional: true - '@rrweb/types@2.0.0-alpha.17': - dependencies: - rrweb-snapshot: 2.0.0-alpha.18 - - '@rushstack/node-core-library@5.11.0(@types/node@22.13.5)': + '@rushstack/node-core-library@5.12.0(@types/node@22.13.10)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -3465,23 +3560,23 @@ snapshots: resolve: 1.22.10 semver: 7.5.4 optionalDependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.10 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.15.0(@types/node@22.13.5)': + '@rushstack/terminal@0.15.1(@types/node@22.13.10)': dependencies: - '@rushstack/node-core-library': 5.11.0(@types/node@22.13.5) + '@rushstack/node-core-library': 5.12.0(@types/node@22.13.10) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.10 - '@rushstack/ts-command-line@4.23.5(@types/node@22.13.5)': + '@rushstack/ts-command-line@4.23.6(@types/node@22.13.10)': dependencies: - '@rushstack/terminal': 0.15.0(@types/node@22.13.5) + '@rushstack/terminal': 0.15.1(@types/node@22.13.10) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -3545,128 +3640,131 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@22.13.5': + '@types/node@22.13.10': dependencies: undici-types: 6.20.0 '@types/prop-types@15.7.14': {} - '@types/react-dom@18.3.5(@types/react@18.3.18)': + '@types/react-dom@18.2.18': dependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 '@types/react-syntax-highlighter@15.5.13': dependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - '@types/react@18.3.18': + '@types/react@18.2.45': dependencies: '@types/prop-types': 15.7.14 + '@types/scheduler': 0.23.0 csstype: 3.1.3 + '@types/scheduler@0.23.0': {} + '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2))(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/type-utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 - eslint: 9.21.0(jiti@1.21.7) + '@typescript-eslint/parser': 8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/type-utils': 8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.1 + eslint: 9.22.0(jiti@1.21.7) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2)': dependencies: - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.1 debug: 4.4.0 - eslint: 9.21.0(jiti@1.21.7) - typescript: 5.7.3 + eslint: 9.22.0(jiti@1.21.7) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.24.1': + '@typescript-eslint/scope-manager@8.26.1': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 - '@typescript-eslint/type-utils@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) debug: 4.4.0 - eslint: 9.21.0(jiti@1.21.7) - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + eslint: 9.22.0(jiti@1.21.7) + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.24.1': {} + '@typescript-eslint/types@8.26.1': {} - '@typescript-eslint/typescript-estree@8.24.1(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.26.1(typescript@5.8.2)': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.1 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3)': + '@typescript-eslint/utils@8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@1.21.7)) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - eslint: 9.21.0(jiti@1.21.7) - typescript: 5.7.3 + '@eslint-community/eslint-utils': 4.5.0(eslint@9.22.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + eslint: 9.22.0(jiti@1.21.7) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.24.1': + '@typescript-eslint/visitor-keys@8.26.1': dependencies: - '@typescript-eslint/types': 8.24.1 + '@typescript-eslint/types': 8.26.1 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-react@4.3.4(vite@5.4.14(@types/node@22.13.5))': + '@vitejs/plugin-react@4.3.4(vite@5.4.14(@types/node@22.13.10))': dependencies: '@babel/core': 7.26.9 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.9) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.14(@types/node@22.13.5) + vite: 5.4.14(@types/node@22.13.10) transitivePeerDependencies: - supports-color - '@volar/language-core@2.4.11': + '@volar/language-core@2.4.12': dependencies: - '@volar/source-map': 2.4.11 + '@volar/source-map': 2.4.12 - '@volar/source-map@2.4.11': {} + '@volar/source-map@2.4.12': {} - '@volar/typescript@2.4.11': + '@volar/typescript@2.4.12': dependencies: - '@volar/language-core': 2.4.11 + '@volar/language-core': 2.4.12 path-browserify: 1.0.1 vscode-uri: 3.1.0 @@ -3688,9 +3786,9 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - '@vue/language-core@2.2.0(typescript@5.7.3)': + '@vue/language-core@2.2.0(typescript@5.8.2)': dependencies: - '@volar/language-core': 2.4.11 + '@volar/language-core': 2.4.12 '@vue/compiler-dom': 3.5.13 '@vue/compiler-vue2': 2.7.16 '@vue/shared': 3.5.13 @@ -3699,19 +3797,19 @@ snapshots: muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.7.3 + typescript: 5.8.2 '@vue/shared@3.5.13': {} - acorn-jsx@5.3.2(acorn@8.14.0): + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: - acorn: 8.14.0 + acorn: 8.14.1 acorn-walk@8.3.4: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 - acorn@8.14.0: {} + acorn@8.14.1: {} ajv-draft-04@1.0.0(ajv@8.13.0): optionalDependencies: @@ -3780,10 +3878,10 @@ snapshots: nanoid: 3.3.8 secure-json-parse: 3.0.2 - autoprefixer@10.4.20(postcss@8.5.3): + autoprefixer@10.4.21(postcss@8.5.3): dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001700 + caniuse-lite: 1.0.30001703 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -3813,16 +3911,16 @@ snapshots: browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001700 - electron-to-chromium: 1.5.103 + caniuse-lite: 1.0.30001703 + electron-to-chromium: 1.5.114 node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) + update-browserslist-db: 1.1.3(browserslist@4.24.4) callsites@3.1.0: {} camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001700: {} + caniuse-lite@1.0.30001703: {} ccount@2.0.1: {} @@ -3863,6 +3961,10 @@ snapshots: classnames@2.5.1: {} + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + clsx@2.1.1: {} color-convert@2.0.1: @@ -3877,15 +3979,19 @@ snapshots: commander@4.1.1: {} + commondir@1.0.1: {} + compare-versions@6.1.1: {} concat-map@0.0.1: {} confbox@0.1.8: {} + confbox@0.2.1: {} + convert-source-map@2.0.0: {} - core-js@3.40.0: {} + core-js@3.41.0: {} create-require@1.1.1: {} @@ -3905,7 +4011,7 @@ snapshots: dependencies: ms: 2.1.3 - decode-named-character-reference@1.0.2: + decode-named-character-reference@1.1.0: dependencies: character-entities: 2.0.2 @@ -3927,7 +4033,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.103: {} + electron-to-chromium@1.5.114: {} emoji-regex@8.0.0: {} @@ -3935,33 +4041,33 @@ snapshots: entities@4.5.0: {} - esbuild@0.25.0: + esbuild@0.25.1: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.0 - '@esbuild/android-arm': 0.25.0 - '@esbuild/android-arm64': 0.25.0 - '@esbuild/android-x64': 0.25.0 - '@esbuild/darwin-arm64': 0.25.0 - '@esbuild/darwin-x64': 0.25.0 - '@esbuild/freebsd-arm64': 0.25.0 - '@esbuild/freebsd-x64': 0.25.0 - '@esbuild/linux-arm': 0.25.0 - '@esbuild/linux-arm64': 0.25.0 - '@esbuild/linux-ia32': 0.25.0 - '@esbuild/linux-loong64': 0.25.0 - '@esbuild/linux-mips64el': 0.25.0 - '@esbuild/linux-ppc64': 0.25.0 - '@esbuild/linux-riscv64': 0.25.0 - '@esbuild/linux-s390x': 0.25.0 - '@esbuild/linux-x64': 0.25.0 - '@esbuild/netbsd-arm64': 0.25.0 - '@esbuild/netbsd-x64': 0.25.0 - '@esbuild/openbsd-arm64': 0.25.0 - '@esbuild/openbsd-x64': 0.25.0 - '@esbuild/sunos-x64': 0.25.0 - '@esbuild/win32-arm64': 0.25.0 - '@esbuild/win32-ia32': 0.25.0 - '@esbuild/win32-x64': 0.25.0 + '@esbuild/aix-ppc64': 0.25.1 + '@esbuild/android-arm': 0.25.1 + '@esbuild/android-arm64': 0.25.1 + '@esbuild/android-x64': 0.25.1 + '@esbuild/darwin-arm64': 0.25.1 + '@esbuild/darwin-x64': 0.25.1 + '@esbuild/freebsd-arm64': 0.25.1 + '@esbuild/freebsd-x64': 0.25.1 + '@esbuild/linux-arm': 0.25.1 + '@esbuild/linux-arm64': 0.25.1 + '@esbuild/linux-ia32': 0.25.1 + '@esbuild/linux-loong64': 0.25.1 + '@esbuild/linux-mips64el': 0.25.1 + '@esbuild/linux-ppc64': 0.25.1 + '@esbuild/linux-riscv64': 0.25.1 + '@esbuild/linux-s390x': 0.25.1 + '@esbuild/linux-x64': 0.25.1 + '@esbuild/netbsd-arm64': 0.25.1 + '@esbuild/netbsd-x64': 0.25.1 + '@esbuild/openbsd-arm64': 0.25.1 + '@esbuild/openbsd-x64': 0.25.1 + '@esbuild/sunos-x64': 0.25.1 + '@esbuild/win32-arm64': 0.25.1 + '@esbuild/win32-ia32': 0.25.1 + '@esbuild/win32-x64': 0.25.1 escalade@3.2.0: {} @@ -3969,15 +4075,15 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-plugin-react-hooks@5.1.0(eslint@9.21.0(jiti@1.21.7)): + eslint-plugin-react-hooks@5.2.0(eslint@9.22.0(jiti@1.21.7)): dependencies: - eslint: 9.21.0(jiti@1.21.7) + eslint: 9.22.0(jiti@1.21.7) - eslint-plugin-react-refresh@0.4.19(eslint@9.21.0(jiti@1.21.7)): + eslint-plugin-react-refresh@0.4.19(eslint@9.22.0(jiti@1.21.7)): dependencies: - eslint: 9.21.0(jiti@1.21.7) + eslint: 9.22.0(jiti@1.21.7) - eslint-scope@8.2.0: + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -3986,14 +4092,15 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.21.0(jiti@1.21.7): + eslint@9.22.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.5.0(eslint@9.22.0(jiti@1.21.7)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.2 + '@eslint/config-helpers': 0.1.0 '@eslint/core': 0.12.0 '@eslint/eslintrc': 3.3.0 - '@eslint/js': 9.21.0 + '@eslint/js': 9.22.0 '@eslint/plugin-kit': 0.2.7 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -4005,7 +4112,7 @@ snapshots: cross-spawn: 7.0.6 debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 + eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 esquery: 1.6.0 @@ -4029,8 +4136,8 @@ snapshots: espree@10.3.0: dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 4.2.0 esquery@1.6.0: @@ -4049,6 +4156,8 @@ snapshots: esutils@2.0.3: {} + exsolve@1.0.4: {} + extend@3.0.2: {} fast-deep-equal@3.1.3: {} @@ -4065,9 +4174,9 @@ snapshots: fast-levenshtein@2.0.6: {} - fastq@1.19.0: + fastq@1.19.1: dependencies: - reusify: 1.0.4 + reusify: 1.1.0 fault@1.0.4: dependencies: @@ -4110,6 +4219,8 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs.realpath@1.0.0: {} + fsevents@2.3.3: optional: true @@ -4136,6 +4247,14 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + globals@11.12.0: {} globals@14.0.0: {} @@ -4154,7 +4273,7 @@ snapshots: hast-util-parse-selector@2.2.5: {} - hast-util-to-jsx-runtime@2.3.4: + hast-util-to-jsx-runtime@2.3.6: dependencies: '@types/estree': 1.0.6 '@types/hast': 3.0.4 @@ -4168,7 +4287,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.0.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.8 + style-to-js: 1.1.16 unist-util-position: 5.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -4205,6 +4324,13 @@ snapshots: imurmurhash@0.1.4: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + inline-style-parser@0.2.4: {} is-alphabetical@1.0.4: {} @@ -4249,6 +4375,10 @@ snapshots: is-plain-obj@4.1.0: {} + is-reference@1.2.1: + dependencies: + '@types/estree': 1.0.6 + isexe@2.0.0: {} jackspeak@3.4.3: @@ -4302,10 +4432,11 @@ snapshots: lines-and-columns@1.2.4: {} - local-pkg@0.5.1: + local-pkg@1.1.1: dependencies: mlly: 1.7.4 - pkg-types: 1.3.1 + pkg-types: 2.1.0 + quansync: 0.2.8 locate-path@6.0.0: dependencies: @@ -4336,9 +4467,9 @@ snapshots: dependencies: yallist: 4.0.0 - lucide-react@0.475.0(react@18.3.1): + lucide-react@0.475.0(react@18.2.0): dependencies: - react: 18.3.1 + react: 18.2.0 magic-string@0.30.17: dependencies: @@ -4359,15 +4490,15 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.1 + micromark: 4.0.2 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-decode-string: 2.0.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color @@ -4503,9 +4634,9 @@ snapshots: merge2@1.4.1: {} - micromark-core-commonmark@2.0.2: + micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -4518,27 +4649,27 @@ snapshots: micromark-util-html-tag-name: 2.0.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.4 + micromark-util-subtokenize: 2.1.0 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-autolink-literal@2.1.0: dependencies: micromark-util-character: 2.1.1 micromark-util-sanitize-uri: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-footnote@2.1.0: dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 + micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-sanitize-uri: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-strikethrough@2.1.0: dependencies: @@ -4547,7 +4678,7 @@ snapshots: micromark-util-classify-character: 2.0.1 micromark-util-resolve-all: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-table@2.1.1: dependencies: @@ -4555,11 +4686,11 @@ snapshots: micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-tagfilter@2.0.0: dependencies: - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm-task-list-item@2.1.0: dependencies: @@ -4567,7 +4698,7 @@ snapshots: micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-extension-gfm@3.0.0: dependencies: @@ -4578,44 +4709,44 @@ snapshots: micromark-extension-gfm-tagfilter: 2.0.0 micromark-extension-gfm-task-list-item: 2.1.0 micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-destination@2.0.1: dependencies: micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-label@2.0.1: dependencies: devlop: 1.1.0 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-space@2.0.1: dependencies: micromark-util-character: 2.1.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-title@2.0.1: dependencies: micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-factory-whitespace@2.0.1: dependencies: micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-chunked@2.0.1: dependencies: @@ -4625,12 +4756,12 @@ snapshots: dependencies: micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-combine-extensions@2.0.1: dependencies: micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-decode-numeric-character-reference@2.0.2: dependencies: @@ -4638,7 +4769,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -4653,7 +4784,7 @@ snapshots: micromark-util-resolve-all@2.0.1: dependencies: - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-sanitize-uri@2.0.1: dependencies: @@ -4661,24 +4792,24 @@ snapshots: micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-subtokenize@2.0.4: + micromark-util-subtokenize@2.1.0: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 micromark-util-symbol@2.0.1: {} - micromark-util-types@2.0.1: {} + micromark-util-types@2.0.2: {} - micromark@4.0.1: + micromark@4.0.2: dependencies: '@types/debug': 4.1.12 debug: 4.4.0 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 + micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-chunked: 2.0.1 @@ -4688,9 +4819,9 @@ snapshots: micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.4 + micromark-util-subtokenize: 2.1.0 micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 transitivePeerDependencies: - supports-color @@ -4707,6 +4838,10 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -4715,7 +4850,7 @@ snapshots: mlly@1.7.4: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.5.4 @@ -4732,6 +4867,8 @@ snapshots: nanoid@3.3.8: {} + nanoid@3.3.9: {} + natural-compare@1.4.0: {} node-releases@2.0.19: {} @@ -4744,6 +4881,10 @@ snapshots: object-hash@3.0.0: {} + once@1.4.0: + dependencies: + wrappy: 1.0.2 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -4781,7 +4922,7 @@ snapshots: '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 @@ -4817,6 +4958,12 @@ snapshots: mlly: 1.7.4 pathe: 2.0.3 + pkg-types@2.1.0: + dependencies: + confbox: 0.2.1 + exsolve: 1.0.4 + pathe: 2.0.3 + postcss-import@15.1.0(postcss@8.5.3): dependencies: postcss: 8.5.3 @@ -4829,13 +4976,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 - postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)): + postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2)): dependencies: lilconfig: 3.1.3 yaml: 2.7.0 optionalDependencies: postcss: 8.5.3 - ts-node: 10.9.2(@types/node@22.13.5)(typescript@5.7.3) + ts-node: 10.9.2(@types/node@22.13.10)(typescript@5.8.2) postcss-nested@6.2.0(postcss@8.5.3): dependencies: @@ -4851,25 +4998,24 @@ snapshots: postcss@8.5.3: dependencies: - nanoid: 3.3.8 + nanoid: 3.3.9 picocolors: 1.1.1 source-map-js: 1.2.1 - posthog-js@1.223.3(@rrweb/types@2.0.0-alpha.17): + posthog-js@1.230.1: dependencies: - '@rrweb/types': 2.0.0-alpha.17 - core-js: 3.40.0 + core-js: 3.41.0 fflate: 0.4.8 - preact: 10.26.2 + preact: 10.26.4 web-vitals: 4.2.4 - preact@10.26.2: {} + preact@10.26.4: {} prelude-ls@1.2.1: {} prismjs@1.27.0: {} - prismjs@1.29.0: {} + prismjs@1.30.0: {} property-information@5.6.0: dependencies: @@ -4879,28 +5025,30 @@ snapshots: punycode@2.3.1: {} + quansync@0.2.8: {} + queue-microtask@1.2.3: {} - react-dom@18.3.1(react@18.3.1): + react-dom@18.2.0(react@18.2.0): dependencies: loose-envify: 1.4.0 - react: 18.3.1 + react: 18.2.0 scheduler: 0.23.2 - react-icons@5.5.0(react@18.3.1): + react-icons@5.5.0(react@18.2.0): dependencies: - react: 18.3.1 + react: 18.2.0 - react-markdown@9.1.0(@types/react@18.3.18)(react@18.3.1): + react-markdown@9.1.0(@types/react@18.2.45)(react@18.2.0): dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@types/react': 18.3.18 + '@types/react': 18.2.45 devlop: 1.1.0 - hast-util-to-jsx-runtime: 2.3.4 + hast-util-to-jsx-runtime: 2.3.6 html-url-attributes: 3.0.1 mdast-util-to-hast: 13.2.0 - react: 18.3.1 + react: 18.2.0 remark-parse: 11.0.0 remark-rehype: 11.1.1 unified: 11.0.5 @@ -4911,53 +5059,53 @@ snapshots: react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.8(@types/react@18.3.18)(react@18.3.1): + react-remove-scroll-bar@2.3.8(@types/react@18.2.45)(react@18.2.0): dependencies: - react: 18.3.1 - react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1) + react: 18.2.0 + react-style-singleton: 2.2.3(@types/react@18.2.45)(react@18.2.0) tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - react-remove-scroll@2.6.3(@types/react@18.3.18)(react@18.3.1): + react-remove-scroll@2.6.3(@types/react@18.2.45)(react@18.2.0): dependencies: - react: 18.3.1 - react-remove-scroll-bar: 2.3.8(@types/react@18.3.18)(react@18.3.1) - react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1) + react: 18.2.0 + react-remove-scroll-bar: 2.3.8(@types/react@18.2.45)(react@18.2.0) + react-style-singleton: 2.2.3(@types/react@18.2.45)(react@18.2.0) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@18.3.18)(react@18.3.1) - use-sidecar: 1.1.3(@types/react@18.3.18)(react@18.3.1) + use-callback-ref: 1.3.3(@types/react@18.2.45)(react@18.2.0) + use-sidecar: 1.1.3(@types/react@18.2.45)(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - react-style-singleton@2.2.3(@types/react@18.3.18)(react@18.3.1): + react-style-singleton@2.2.3(@types/react@18.2.45)(react@18.2.0): dependencies: get-nonce: 1.0.1 - react: 18.3.1 + react: 18.2.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - react-syntax-highlighter@15.6.1(react@18.3.1): + react-syntax-highlighter@15.6.1(react@18.2.0): dependencies: '@babel/runtime': 7.26.9 highlight.js: 10.7.3 highlightjs-vue: 1.0.0 lowlight: 1.20.0 - prismjs: 1.29.0 - react: 18.3.1 + prismjs: 1.30.0 + react: 18.2.0 refractor: 3.6.0 - react-textarea-autosize@8.5.7(@types/react@18.3.18)(react@18.3.1): + react-textarea-autosize@8.5.7(@types/react@18.2.45)(react@18.2.0): dependencies: '@babel/runtime': 7.26.9 - react: 18.3.1 - use-composed-ref: 1.4.0(@types/react@18.3.18)(react@18.3.1) - use-latest: 1.3.0(@types/react@18.3.18)(react@18.3.1) + react: 18.2.0 + use-composed-ref: 1.4.0(@types/react@18.2.45)(react@18.2.0) + use-latest: 1.3.0(@types/react@18.2.45)(react@18.2.0) transitivePeerDependencies: - '@types/react' - react@18.3.1: + react@18.2.0: dependencies: loose-envify: 1.4.0 @@ -4992,7 +5140,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.2 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -5021,37 +5169,33 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - reusify@1.0.4: {} + reusify@1.1.0: {} - rollup@4.34.8: + rollup@4.35.0: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.34.8 - '@rollup/rollup-android-arm64': 4.34.8 - '@rollup/rollup-darwin-arm64': 4.34.8 - '@rollup/rollup-darwin-x64': 4.34.8 - '@rollup/rollup-freebsd-arm64': 4.34.8 - '@rollup/rollup-freebsd-x64': 4.34.8 - '@rollup/rollup-linux-arm-gnueabihf': 4.34.8 - '@rollup/rollup-linux-arm-musleabihf': 4.34.8 - '@rollup/rollup-linux-arm64-gnu': 4.34.8 - '@rollup/rollup-linux-arm64-musl': 4.34.8 - '@rollup/rollup-linux-loongarch64-gnu': 4.34.8 - '@rollup/rollup-linux-powerpc64le-gnu': 4.34.8 - '@rollup/rollup-linux-riscv64-gnu': 4.34.8 - '@rollup/rollup-linux-s390x-gnu': 4.34.8 - '@rollup/rollup-linux-x64-gnu': 4.34.8 - '@rollup/rollup-linux-x64-musl': 4.34.8 - '@rollup/rollup-win32-arm64-msvc': 4.34.8 - '@rollup/rollup-win32-ia32-msvc': 4.34.8 - '@rollup/rollup-win32-x64-msvc': 4.34.8 + '@rollup/rollup-android-arm-eabi': 4.35.0 + '@rollup/rollup-android-arm64': 4.35.0 + '@rollup/rollup-darwin-arm64': 4.35.0 + '@rollup/rollup-darwin-x64': 4.35.0 + '@rollup/rollup-freebsd-arm64': 4.35.0 + '@rollup/rollup-freebsd-x64': 4.35.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.35.0 + '@rollup/rollup-linux-arm-musleabihf': 4.35.0 + '@rollup/rollup-linux-arm64-gnu': 4.35.0 + '@rollup/rollup-linux-arm64-musl': 4.35.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.35.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.35.0 + '@rollup/rollup-linux-riscv64-gnu': 4.35.0 + '@rollup/rollup-linux-s390x-gnu': 4.35.0 + '@rollup/rollup-linux-x64-gnu': 4.35.0 + '@rollup/rollup-linux-x64-musl': 4.35.0 + '@rollup/rollup-win32-arm64-msvc': 4.35.0 + '@rollup/rollup-win32-ia32-msvc': 4.35.0 + '@rollup/rollup-win32-x64-msvc': 4.35.0 fsevents: 2.3.3 - rrweb-snapshot@2.0.0-alpha.18: - dependencies: - postcss: 8.5.3 - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -5117,6 +5261,10 @@ snapshots: strip-json-comments@3.1.1: {} + style-to-js@1.1.16: + dependencies: + style-to-object: 1.0.8 + style-to-object@1.0.8: dependencies: inline-style-parser: 0.2.4 @@ -5143,11 +5291,11 @@ snapshots: tailwind-merge@3.0.2: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2))): dependencies: - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2)) - tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)): + tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -5166,7 +5314,7 @@ snapshots: postcss: 8.5.3 postcss-import: 15.1.0(postcss@8.5.3) postcss-js: 4.0.1(postcss@8.5.3) - postcss-load-config: 4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3)) + postcss-load-config: 4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2)) postcss-nested: 6.2.0(postcss@8.5.3) postcss-selector-parser: 6.1.2 resolve: 1.22.10 @@ -5190,27 +5338,27 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.0.1(typescript@5.7.3): + ts-api-utils@2.0.1(typescript@5.8.2): dependencies: - typescript: 5.7.3 + typescript: 5.8.2 ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@22.13.5)(typescript@5.7.3): + ts-node@10.9.2(@types/node@22.13.10)(typescript@5.8.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.13.5 - acorn: 8.14.0 + '@types/node': 22.13.10 + acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.7.3 + typescript: 5.8.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -5220,17 +5368,17 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3): + typescript-eslint@8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@1.21.7))(typescript@5.7.3) - eslint: 9.21.0(jiti@1.21.7) - typescript: 5.7.3 + '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2))(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) + '@typescript-eslint/parser': 8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.8.2) + eslint: 9.22.0(jiti@1.21.7) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - typescript@5.7.3: {} + typescript@5.8.2: {} ufo@1.5.4: {} @@ -5271,7 +5419,7 @@ snapshots: universalify@2.0.1: {} - update-browserslist-db@1.1.2(browserslist@4.24.4): + update-browserslist-db@1.1.3(browserslist@4.24.4): dependencies: browserslist: 4.24.4 escalade: 3.2.0 @@ -5281,39 +5429,39 @@ snapshots: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.3(@types/react@18.3.18)(react@18.3.1): + use-callback-ref@1.3.3(@types/react@18.2.45)(react@18.2.0): dependencies: - react: 18.3.1 + react: 18.2.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - use-composed-ref@1.4.0(@types/react@18.3.18)(react@18.3.1): + use-composed-ref@1.4.0(@types/react@18.2.45)(react@18.2.0): dependencies: - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - use-isomorphic-layout-effect@1.2.0(@types/react@18.3.18)(react@18.3.1): + use-isomorphic-layout-effect@1.2.0(@types/react@18.2.45)(react@18.2.0): dependencies: - react: 18.3.1 + react: 18.2.0 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - use-latest@1.3.0(@types/react@18.3.18)(react@18.3.1): + use-latest@1.3.0(@types/react@18.2.45)(react@18.2.0): dependencies: - react: 18.3.1 - use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.18)(react@18.3.1) + react: 18.2.0 + use-isomorphic-layout-effect: 1.2.0(@types/react@18.2.45)(react@18.2.0) optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 - use-sidecar@1.1.3(@types/react@18.3.18)(react@18.3.1): + use-sidecar@1.1.3(@types/react@18.2.45)(react@18.2.0): dependencies: detect-node-es: 1.1.0 - react: 18.3.1 + react: 18.2.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.18 + '@types/react': 18.2.45 util-deprecate@1.0.2: {} @@ -5329,36 +5477,36 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-plugin-css-injected-by-js@3.5.2(vite@5.4.14(@types/node@22.13.5)): + vite-plugin-css-injected-by-js@3.5.2(vite@5.4.14(@types/node@22.13.10)): dependencies: - vite: 5.4.14(@types/node@22.13.5) + vite: 5.4.14(@types/node@22.13.10) - vite-plugin-dts@4.5.0(@types/node@22.13.5)(rollup@4.34.8)(typescript@5.7.3)(vite@5.4.14(@types/node@22.13.5)): + vite-plugin-dts@4.5.3(@types/node@22.13.10)(rollup@4.35.0)(typescript@5.8.2)(vite@5.4.14(@types/node@22.13.10)): dependencies: - '@microsoft/api-extractor': 7.50.1(@types/node@22.13.5) - '@rollup/pluginutils': 5.1.4(rollup@4.34.8) - '@volar/typescript': 2.4.11 - '@vue/language-core': 2.2.0(typescript@5.7.3) + '@microsoft/api-extractor': 7.52.1(@types/node@22.13.10) + '@rollup/pluginutils': 5.1.4(rollup@4.35.0) + '@volar/typescript': 2.4.12 + '@vue/language-core': 2.2.0(typescript@5.8.2) compare-versions: 6.1.1 debug: 4.4.0 kolorist: 1.8.0 - local-pkg: 0.5.1 + local-pkg: 1.1.1 magic-string: 0.30.17 - typescript: 5.7.3 + typescript: 5.8.2 optionalDependencies: - vite: 5.4.14(@types/node@22.13.5) + vite: 5.4.14(@types/node@22.13.10) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite@5.4.14(@types/node@22.13.5): + vite@5.4.14(@types/node@22.13.10): dependencies: - esbuild: 0.25.0 + esbuild: 0.25.1 postcss: 8.5.3 - rollup: 4.34.8 + rollup: 4.35.0 optionalDependencies: - '@types/node': 22.13.5 + '@types/node': 22.13.10 fsevents: 2.3.3 vscode-uri@3.1.0: {} @@ -5383,6 +5531,8 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrappy@1.0.2: {} + xtend@4.0.2: {} yallist@3.1.1: {} @@ -5401,9 +5551,9 @@ snapshots: zod@3.24.2: {} - zustand@5.0.3(@types/react@18.3.18)(react@18.3.1): + zustand@5.0.3(@types/react@18.2.45)(react@18.2.0): optionalDependencies: - '@types/react': 18.3.18 - react: 18.3.1 + '@types/react': 18.2.45 + react: 18.2.0 zwitch@2.0.4: {} diff --git a/postcss.config.js b/postcss.config.js index ab78160..c722fd2 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,6 +1,6 @@ module.exports = { - plugins: [ - require('tailwindcss'), - require('autoprefixer'), - ], + plugins: { + 'tailwindcss': {}, + 'autoprefixer': {}, + } }; diff --git a/public/styles.css b/public/styles.css new file mode 100644 index 0000000..e23a80f --- /dev/null +++ b/public/styles.css @@ -0,0 +1,2792 @@ +*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +/* +! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com +*/ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e5e7eb; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +6. Use the user's configured `sans` font-variation-settings by default. +7. Disable tap highlights on iOS +*/ + +html, +:host { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 4 */ + font-feature-settings: normal; + /* 5 */ + font-variation-settings: normal; + /* 6 */ + -webkit-tap-highlight-color: transparent; + /* 7 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font-family by default. +2. Use the user's configured `mono` font-feature-settings by default. +3. Use the user's configured `mono` font-variation-settings by default. +4. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-feature-settings: normal; + /* 2 */ + font-variation-settings: normal; + /* 3 */ + font-size: 1em; + /* 4 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-feature-settings: inherit; + /* 1 */ + font-variation-settings: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + letter-spacing: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +input:where([type='button']), +input:where([type='reset']), +input:where([type='submit']) { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Reset default styling for dialogs. +*/ + +dialog { + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden]:where(:not([hidden="until-found"])) { + display: none; +} + +.container { + width: 100%; +} + +@media (min-width: 640px) { + .container { + max-width: 640px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1280px; + } +} + +@media (min-width: 1536px) { + .container { + max-width: 1536px; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.pointer-events-none { + pointer-events: none; +} + +.collapse { + visibility: collapse; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.right-2 { + right: 0.5rem; +} + +.top-2 { + top: 0.5rem; +} + +.z-50 { + z-index: 50; +} + +.m-0 { + margin: 0px; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.my-5 { + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.mb-5 { + margin-bottom: 1.25rem; +} + +.mb-8 { + margin-bottom: 2rem; +} + +.ml-6 { + margin-left: 1.5rem; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.mt-3 { + margin-top: 0.75rem; +} + +.mt-4 { + margin-top: 1rem; +} + +.mt-5 { + margin-top: 1.25rem; +} + +.mt-6 { + margin-top: 1.5rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.block { + display: block; +} + +.flex { + display: flex; +} + +.inline-flex { + display: inline-flex; +} + +.table { + display: table; +} + +.hidden { + display: none; +} + +.size-4 { + width: 1rem; + height: 1rem; +} + +.size-6 { + width: 1.5rem; + height: 1.5rem; +} + +.h-10 { + height: 2.5rem; +} + +.h-8 { + height: 2rem; +} + +.h-9 { + height: 2.25rem; +} + +.h-\[620px\] { + height: 620px; +} + +.w-9 { + width: 2.25rem; +} + +.w-\[600px\] { + width: 600px; +} + +.w-full { + width: 100%; +} + +.max-w-sm { + max-width: 24rem; +} + +.flex-shrink { + flex-shrink: 1; +} + +.shrink-0 { + flex-shrink: 0; +} + +.border-collapse { + border-collapse: collapse; +} + +.border-separate { + border-collapse: separate; +} + +.border-spacing-0 { + --tw-border-spacing-x: 0px; + --tw-border-spacing-y: 0px; + border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y); +} + +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.cursor-not-allowed { + cursor: not-allowed; +} + +.scroll-m-20 { + scroll-margin: 5rem; +} + +.list-decimal { + list-style-type: decimal; +} + +.list-disc { + list-style-type: disc; +} + +.flex-col { + flex-direction: column; +} + +.items-end { + align-items: flex-end; +} + +.items-center { + align-items: center; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.gap-2 { + gap: 0.5rem; +} + +.gap-4 { + gap: 1rem; +} + +.overflow-hidden { + overflow: hidden; +} + +.overflow-x-auto { + overflow-x: auto; +} + +.overflow-y-auto { + overflow-y: auto; +} + +.whitespace-nowrap { + white-space: nowrap; +} + +.rounded { + border-radius: 0.25rem; +} + +.rounded-lg { + border-radius: var(--radius); +} + +.rounded-md { + border-radius: calc(var(--radius) - 2px); +} + +.rounded-b-lg { + border-bottom-right-radius: var(--radius); + border-bottom-left-radius: var(--radius); +} + +.rounded-t-lg { + border-top-left-radius: var(--radius); + border-top-right-radius: var(--radius); +} + +.border { + border-width: 1px; +} + +.border-b { + border-bottom-width: 1px; +} + +.border-l { + border-left-width: 1px; +} + +.border-l-2 { + border-left-width: 2px; +} + +.border-t { + border-top-width: 1px; +} + +.border-\[\#4a4a4f\] { + --tw-border-opacity: 1; + border-color: rgb(74 74 79 / var(--tw-border-opacity, 1)); +} + +.border-gray-300 { + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity, 1)); +} + +.border-input { + border-color: hsl(var(--input)); +} + +.bg-\[\#1f1f26\] { + --tw-bg-opacity: 1; + background-color: rgb(31 31 38 / var(--tw-bg-opacity, 1)); +} + +.bg-\[\#C7E576\] { + --tw-bg-opacity: 1; + background-color: rgb(199 229 118 / var(--tw-bg-opacity, 1)); +} + +.bg-background { + background-color: hsl(var(--background)); +} + +.bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)); +} + +.bg-destructive { + background-color: hsl(var(--destructive)); +} + +.bg-gray-400 { + --tw-bg-opacity: 1; + background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1)); +} + +.bg-muted { + background-color: hsl(var(--muted)); +} + +.bg-primary { + background-color: hsl(var(--primary)); +} + +.bg-secondary { + background-color: hsl(var(--secondary)); +} + +.bg-transparent { + background-color: transparent; +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); +} + +.bg-zinc-900 { + --tw-bg-opacity: 1; + background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1)); +} + +.p-0 { + padding: 0px; +} + +.p-1 { + padding: 0.25rem; +} + +.p-2 { + padding: 0.5rem; +} + +.p-3 { + padding: 0.75rem; +} + +.p-4 { + padding: 1rem; +} + +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.py-1\.5 { + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.pb-3 { + padding-bottom: 0.75rem; +} + +.pl-6 { + padding-left: 1.5rem; +} + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} + +.text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; +} + +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + +.font-bold { + font-weight: 700; +} + +.font-extrabold { + font-weight: 800; +} + +.font-medium { + font-weight: 500; +} + +.font-semibold { + font-weight: 600; +} + +.lowercase { + text-transform: lowercase; +} + +.italic { + font-style: italic; +} + +.leading-7 { + line-height: 1.75rem; +} + +.tracking-tight { + letter-spacing: -0.025em; +} + +.text-\[\#c7e576\] { + --tw-text-opacity: 1; + color: rgb(199 229 118 / var(--tw-text-opacity, 1)); +} + +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity, 1)); +} + +.text-destructive-foreground { + color: hsl(var(--destructive-foreground)); +} + +.text-gray-300 { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity, 1)); +} + +.text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity, 1)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity, 1)); +} + +.text-gray-900 { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity, 1)); +} + +.text-muted-foreground { + color: hsl(var(--muted-foreground)); +} + +.text-primary { + color: hsl(var(--primary)); +} + +.text-primary-foreground { + color: hsl(var(--primary-foreground)); +} + +.text-red-500 { + --tw-text-opacity: 1; + color: rgb(239 68 68 / var(--tw-text-opacity, 1)); +} + +.text-secondary-foreground { + color: hsl(var(--secondary-foreground)); +} + +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity, 1)); +} + +.underline { + text-decoration-line: underline; +} + +.no-underline { + text-decoration-line: none; +} + +.underline-offset-4 { + text-underline-offset: 4px; +} + +.placeholder-gray-500::-moz-placeholder { + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1)); +} + +.placeholder-gray-500::placeholder { + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1)); +} + +.shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-md { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.outline { + outline-style: solid; +} + +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-colors { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +@keyframes enter { + from { + opacity: var(--tw-enter-opacity, 1); + transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0)); + } +} + +@keyframes exit { + to { + opacity: var(--tw-exit-opacity, 1); + transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0)); + } +} + +.animate-in { + animation-name: enter; + animation-duration: 150ms; + --tw-enter-opacity: initial; + --tw-enter-scale: initial; + --tw-enter-rotate: initial; + --tw-enter-translate-x: initial; + --tw-enter-translate-y: initial; +} + +.fade-in-0 { + --tw-enter-opacity: 0; +} + +.zoom-in-95 { + --tw-enter-scale: .95; +} + +:where(.aui-root) *,:where(.aui-root) ::after,:where(.aui-root) ::before{ + --aui-border-spacing-x:0; + --aui-border-spacing-y:0; + --aui-translate-x:0; + --aui-translate-y:0; + --aui-rotate:0; + --aui-skew-x:0; + --aui-skew-y:0; + --aui-scale-x:1; + --aui-scale-y:1; + --aui-ring-inset: ; + --aui-ring-offset-width:0px; + --aui-ring-offset-color:#fff; + --aui-ring-color:rgb(59 130 246 / 0.5); + --aui-ring-offset-shadow:0 0 #0000; + --aui-ring-shadow:0 0 #0000; + --aui-shadow:0 0 #0000; + --aui-shadow-colored:0 0 #0000; + --aui-blur: ; + --aui-brightness: ; + --aui-contrast: ; + --aui-grayscale: ; + --aui-hue-rotate: ; + --aui-invert: ; + --aui-saturate: ; + --aui-sepia: ; + --aui-drop-shadow: ; + --aui-backdrop-blur: ; + --aui-backdrop-brightness: ; + --aui-backdrop-contrast: ; + --aui-backdrop-grayscale: ; + --aui-backdrop-hue-rotate: ; + --aui-backdrop-invert: ; + --aui-backdrop-opacity: ; + --aui-backdrop-saturate: ; + --aui-backdrop-sepia: ; + --aui-contain-size: ; + --aui-contain-layout: ; + --aui-contain-paint: ; + --aui-contain-style: ; + box-sizing:border-box; + border:0 solid #e5e7eb +} + +:where(.aui-root) ::backdrop{ + --aui-border-spacing-x:0; + --aui-border-spacing-y:0; + --aui-translate-x:0; + --aui-translate-y:0; + --aui-rotate:0; + --aui-skew-x:0; + --aui-skew-y:0; + --aui-scale-x:1; + --aui-scale-y:1; + --aui-ring-inset: ; + --aui-ring-offset-width:0px; + --aui-ring-offset-color:#fff; + --aui-ring-color:rgb(59 130 246 / 0.5); + --aui-ring-offset-shadow:0 0 #0000; + --aui-ring-shadow:0 0 #0000; + --aui-shadow:0 0 #0000; + --aui-shadow-colored:0 0 #0000; + --aui-blur: ; + --aui-brightness: ; + --aui-contrast: ; + --aui-grayscale: ; + --aui-hue-rotate: ; + --aui-invert: ; + --aui-saturate: ; + --aui-sepia: ; + --aui-drop-shadow: ; + --aui-backdrop-blur: ; + --aui-backdrop-brightness: ; + --aui-backdrop-contrast: ; + --aui-backdrop-grayscale: ; + --aui-backdrop-hue-rotate: ; + --aui-backdrop-invert: ; + --aui-backdrop-opacity: ; + --aui-backdrop-saturate: ; + --aui-backdrop-sepia: ; + --aui-contain-size: ; + --aui-contain-layout: ; + --aui-contain-paint: ; + --aui-contain-style: +} + +:where(.aui-root) ::after,:where(.aui-root) ::before{ + --aui-content:"" +} + +:where(.aui-root) :host,:where(.aui-root) html{ + line-height:1.5; + -webkit-text-size-adjust:100%; + -moz-tab-size:4; + -o-tab-size:4; + tab-size:4; + font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; + font-feature-settings:normal; + font-variation-settings:normal; + -webkit-tap-highlight-color:transparent +} + +:where(.aui-root) body{ + margin:0; + line-height:inherit +} + +:where(.aui-root) hr{ + height:0; + color:inherit; + border-top-width:1px +} + +:where(.aui-root) abbr:where([title]){ + -webkit-text-decoration:underline dotted; + text-decoration:underline dotted +} + +:where(.aui-root) h1,:where(.aui-root) h2,:where(.aui-root) h3,:where(.aui-root) h4,:where(.aui-root) h5,:where(.aui-root) h6{ + font-size:inherit; + font-weight:inherit +} + +:where(.aui-root) a{ + color:inherit; + text-decoration:inherit +} + +:where(.aui-root) b,:where(.aui-root) strong{ + font-weight:bolder +} + +:where(.aui-root) code,:where(.aui-root) kbd,:where(.aui-root) pre,:where(.aui-root) samp{ + font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; + font-feature-settings:normal; + font-variation-settings:normal; + font-size:1em +} + +:where(.aui-root) small{ + font-size:80% +} + +:where(.aui-root) sub,:where(.aui-root) sup{ + font-size:75%; + line-height:0; + position:relative; + vertical-align:baseline +} + +:where(.aui-root) sub{ + bottom:-.25em +} + +:where(.aui-root) sup{ + top:-.5em +} + +:where(.aui-root) table{ + text-indent:0; + border-color:inherit; + border-collapse:collapse +} + +:where(.aui-root) button,:where(.aui-root) input,:where(.aui-root) optgroup,:where(.aui-root) select,:where(.aui-root) textarea{ + font-family:inherit; + font-feature-settings:inherit; + font-variation-settings:inherit; + font-size:100%; + font-weight:inherit; + line-height:inherit; + letter-spacing:inherit; + color:inherit; + margin:0; + padding:0 +} + +:where(.aui-root) button,:where(.aui-root) select{ + text-transform:none +} + +:where(.aui-root) button,:where(.aui-root) input:where([type=button]),:where(.aui-root) input:where([type=reset]),:where(.aui-root) input:where([type=submit]){ + -webkit-appearance:button; + background-color:transparent; + background-image:none +} + +:where(.aui-root) :-moz-focusring{ + outline:auto +} + +:where(.aui-root) :-moz-ui-invalid{ + box-shadow:none +} + +:where(.aui-root) progress{ + vertical-align:baseline +} + +:where(.aui-root) ::-webkit-inner-spin-button,:where(.aui-root) ::-webkit-outer-spin-button{ + height:auto +} + +:where(.aui-root) [type=search]{ + -webkit-appearance:textfield; + outline-offset:-2px +} + +:where(.aui-root) ::-webkit-search-decoration{ + -webkit-appearance:none +} + +:where(.aui-root) ::-webkit-file-upload-button{ + -webkit-appearance:button; + font:inherit +} + +:where(.aui-root) summary{ + display:list-item +} + +:where(.aui-root) blockquote,:where(.aui-root) dd,:where(.aui-root) dl,:where(.aui-root) figure,:where(.aui-root) h1,:where(.aui-root) h2,:where(.aui-root) h3,:where(.aui-root) h4,:where(.aui-root) h5,:where(.aui-root) h6,:where(.aui-root) hr,:where(.aui-root) p,:where(.aui-root) pre{ + margin:0 +} + +:where(.aui-root) fieldset{ + margin:0; + padding:0 +} + +:where(.aui-root) legend{ + padding:0 +} + +:where(.aui-root) menu,:where(.aui-root) ol,:where(.aui-root) ul{ + list-style:none; + margin:0; + padding:0 +} + +:where(.aui-root) dialog{ + padding:0 +} + +:where(.aui-root) textarea{ + resize:vertical +} + +:where(.aui-root) input::-moz-placeholder,:where(.aui-root) textarea::-moz-placeholder{ + opacity:1; + color:#9ca3af +} + +:where(.aui-root) input::-moz-placeholder, :where(.aui-root) textarea::-moz-placeholder{ + opacity:1; + color:#9ca3af +} + +:where(.aui-root) input::placeholder,:where(.aui-root) textarea::placeholder{ + opacity:1; + color:#9ca3af +} + +:where(.aui-root) [role=button],:where(.aui-root) button{ + cursor:pointer +} + +:where(.aui-root) :disabled{ + cursor:default +} + +:where(.aui-root) audio,:where(.aui-root) canvas,:where(.aui-root) embed,:where(.aui-root) iframe,:where(.aui-root) img,:where(.aui-root) object,:where(.aui-root) svg,:where(.aui-root) video{ + display:block; + vertical-align:middle +} + +:where(.aui-root) img,:where(.aui-root) video{ + max-width:100%; + height:auto +} + +:where(.aui-root) [hidden]:where(:not([hidden=until-found])){ + display:none +} + +@keyframes aui-enter{ + from{ + opacity:var(--aui-enter-opacity, 1); + transform:translate3d(var(--aui-enter-translate-x,0),var(--aui-enter-translate-y,0),0) scale3d(var(--aui-enter-scale,1),var(--aui-enter-scale,1),var(--aui-enter-scale,1)) rotate(var(--aui-enter-rotate,0)) + } +} + +@keyframes aui-exit{ + to{ + opacity:var(--aui-exit-opacity, 1); + transform:translate3d(var(--aui-exit-translate-x,0),var(--aui-exit-translate-y,0),0) scale3d(var(--aui-exit-scale,1),var(--aui-exit-scale,1),var(--aui-exit-scale,1)) rotate(var(--aui-exit-rotate,0)) + } +} + +.aui-root{ + color:hsl(var(--aui-foreground)) +} + +.aui-root *{ + border-color:hsl(var(--aui-border)) +} + +.aui-button{ + display:inline-flex; + align-items:center; + justify-content:center; + gap:.5rem; + white-space:nowrap; + border-radius:calc(var(--aui-radius) - 2px); + font-size:.875rem; + line-height:1.25rem; + font-weight:500; + transition-property:color,background-color,border-color,text-decoration-color,fill,stroke; + transition-timing-function:cubic-bezier(0.4,0,0.2,1); + transition-duration:150ms +} + +.aui-button:focus-visible{ + outline:transparent solid 2px; + outline-offset:2px; + --aui-ring-offset-shadow:var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color); + --aui-ring-shadow:var(--aui-ring-inset) 0 0 0 calc(1px + var(--aui-ring-offset-width)) var(--aui-ring-color); + box-shadow:var(--aui-ring-offset-shadow),var(--aui-ring-shadow),var(--aui-shadow,0 0 #0000); + --aui-ring-color:hsl(var(--aui-ring)) +} + +.aui-button:disabled{ + pointer-events:none; + opacity:.5 +} + +.aui-button svg{ + pointer-events:none; + width:1rem; + height:1rem; + flex-shrink:0 +} + +.aui-button-primary{ + background-color:hsl(var(--aui-primary)); + color:hsl(var(--aui-primary-foreground)); + --aui-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1); + --aui-shadow-colored:0 1px 3px 0 var(--aui-shadow-color),0 1px 2px -1px var(--aui-shadow-color); + box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow) +} + +.aui-button-primary:hover{ + background-color:hsl(var(--aui-primary) / .9) +} + +.aui-button-outline{ + border-width:1px; + border-color:hsl(var(--aui-input)); + background-color:hsl(var(--aui-background)); + --aui-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05); + --aui-shadow-colored:0 1px 2px 0 var(--aui-shadow-color); + box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow) +} + +.aui-button-ghost:hover,.aui-button-outline:hover{ + background-color:hsl(var(--aui-accent)); + color:hsl(var(--aui-accent-foreground)) +} + +.aui-button-medium{ + height:2.25rem; + padding:.5rem 1rem +} + +.aui-button-icon{ + width:1.5rem; + height:1.5rem; + padding:.25rem +} + +.aui-sr-only{ + position:absolute; + width:1px; + height:1px; + padding:0; + margin:-1px; + overflow:hidden; + clip:rect(0,0,0,0); + white-space:nowrap; + border-width:0 +} + +.aui-avatar-root{ + position:relative; + display:flex; + height:2.5rem; + width:2.5rem; + flex-shrink:0; + overflow:hidden; + border-radius:9999px +} + +.aui-avatar-image{ + aspect-ratio:1/1; + height:100%; + width:100%; + -o-object-fit:cover; + object-fit:cover +} + +.aui-avatar-fallback{ + display:flex; + height:100%; + width:100%; + align-items:center; + justify-content:center; + border-radius:9999px; + background-color:hsl(var(--aui-muted)) +} + +.aui-tooltip-content{ + z-index:50; + overflow:hidden; + border-radius:calc(var(--aui-radius) - 2px); + background-color:hsl(var(--aui-primary)); + padding:.375rem .75rem; + font-size:.75rem; + line-height:1rem; + color:hsl(var(--aui-primary-foreground)); + animation-name:aui-enter; + animation-duration:150ms; + --aui-enter-opacity:initial; + --aui-enter-scale:initial; + --aui-enter-rotate:initial; + --aui-enter-translate-x:initial; + --aui-enter-translate-y:initial; + --aui-enter-opacity:0; + --aui-enter-scale:.95 +} + +.aui-tooltip-content[data-state=closed]{ + animation-name:aui-exit; + animation-duration:150ms; + --aui-exit-opacity:initial; + --aui-exit-scale:initial; + --aui-exit-rotate:initial; + --aui-exit-translate-x:initial; + --aui-exit-translate-y:initial; + --aui-exit-opacity:0; + --aui-exit-scale:.95 +} + +.aui-tooltip-content[data-side=bottom]{ + --aui-enter-translate-y:-0.5rem +} + +.aui-tooltip-content[data-side=left]{ + --aui-enter-translate-x:0.5rem +} + +.aui-tooltip-content[data-side=right]{ + --aui-enter-translate-x:-0.5rem +} + +.aui-tooltip-content[data-side=top]{ + --aui-enter-translate-y:0.5rem +} + +.aui-dialog-overlay{ + position:fixed; + inset:0px; + z-index:50; + background-color:rgb(0 0 0 / .8) +} + +.aui-dialog-overlay[data-state=open]{ + animation-name:aui-enter; + animation-duration:150ms; + --aui-enter-opacity:initial; + --aui-enter-scale:initial; + --aui-enter-rotate:initial; + --aui-enter-translate-x:initial; + --aui-enter-translate-y:initial; + --aui-enter-opacity:0 +} + +.aui-dialog-overlay[data-state=closed]{ + animation-name:aui-exit; + animation-duration:150ms; + --aui-exit-opacity:initial; + --aui-exit-scale:initial; + --aui-exit-rotate:initial; + --aui-exit-translate-x:initial; + --aui-exit-translate-y:initial; + --aui-exit-opacity:0 +} + +.aui-dialog-content{ + position:fixed; + left:50%; + top:50%; + z-index:50; + display:grid; + --aui-translate-x:-50%; + --aui-translate-y:-50%; + transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y)); + --aui-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1); + --aui-shadow-colored:0 10px 15px -3px var(--aui-shadow-color),0 4px 6px -4px var(--aui-shadow-color); + box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow); + transition-duration:.2s; + animation-duration:.2s +} + +.aui-dialog-content[data-state=open]{ + animation-name:aui-enter; + animation-duration:150ms; + --aui-enter-opacity:initial; + --aui-enter-scale:initial; + --aui-enter-rotate:initial; + --aui-enter-translate-x:initial; + --aui-enter-translate-y:initial; + --aui-enter-opacity:0; + --aui-enter-scale:.95; + --aui-enter-translate-x:-50%; + --aui-enter-translate-y:-48% +} + +.aui-dialog-content[data-state=closed]{ + animation-name:aui-exit; + animation-duration:150ms; + --aui-exit-opacity:initial; + --aui-exit-scale:initial; + --aui-exit-rotate:initial; + --aui-exit-translate-x:initial; + --aui-exit-translate-y:initial; + --aui-exit-opacity:0; + --aui-exit-scale:.95; + --aui-exit-translate-x:-50%; + --aui-exit-translate-y:-48% +} + +.aui-thread-root{ + box-sizing:border-box; + height:100%; + background-color:hsl(var(--aui-background)) +} + +.aui-thread-viewport{ + display:flex; + height:100%; + flex-direction:column; + align-items:center; + overflow-y:scroll; + scroll-behavior:smooth; + background-color:inherit; + padding-left:1rem; + padding-right:1rem; + padding-top:2rem +} + +.aui-thread-viewport-footer{ + position:sticky; + bottom:0; + margin-top:.75rem; + display:flex; + width:100%; + max-width:var(--aui-thread-max-width); + flex-direction:column; + align-items:center; + justify-content:flex-end; + border-top-left-radius:var(--aui-radius); + border-top-right-radius:var(--aui-radius); + background-color:inherit; + padding-bottom:1rem +} + +.aui-thread-scroll-to-bottom{ + position:absolute; + top:-2rem; + border-radius:9999px +} + +.aui-thread-scroll-to-bottom:disabled{ + visibility:hidden +} + +.aui-thread-followup-suggestions{ + display:flex; + min-height:2rem; + align-items:center; + justify-content:center; + gap:.5rem +} + +.aui-thread-followup-suggestion{ + border-radius:9999px; + border-width:1px; + background-color:hsl(var(--aui-background)); + padding:.25rem .75rem; + font-size:.875rem; + line-height:1.25rem; + transition-property:color,background-color,border-color,text-decoration-color,fill,stroke; + transition-duration:150ms; + transition-timing-function:cubic-bezier(0.4,0,1,1); + animation-timing-function:cubic-bezier(0.4,0,1,1) +} + +.aui-thread-followup-suggestion:hover{ + background-color:hsl(var(--aui-muted) / .8) +} + +.aui-thread-welcome-root{ + display:flex; + width:100%; + max-width:var(--aui-thread-max-width); + flex-grow:1; + flex-direction:column +} + +.aui-thread-welcome-center{ + display:flex; + width:100%; + flex-grow:1; + flex-direction:column; + align-items:center; + justify-content:center +} + +.aui-thread-welcome-message{ + margin-top:1rem; + font-weight:500 +} + +.aui-thread-welcome-suggestions{ + margin-top:.75rem; + display:flex; + width:100%; + align-items:stretch; + justify-content:center; + gap:1rem +} + +.aui-thread-welcome-suggestion{ + display:flex; + max-width:24rem; + flex-grow:1; + flex-basis:0px; + flex-direction:column; + align-items:center; + justify-content:center; + border-radius:var(--aui-radius); + border-width:1px; + padding:.75rem; + transition-property:color,background-color,border-color,text-decoration-color,fill,stroke; + transition-duration:150ms; + transition-timing-function:cubic-bezier(0.4,0,1,1); + animation-timing-function:cubic-bezier(0.4,0,1,1) +} + +.aui-thread-welcome-suggestion:hover{ + background-color:hsl(var(--aui-muted) / .8) +} + +.aui-thread-welcome-suggestion-text{ + overflow:hidden; + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-line-clamp:2; + text-overflow:ellipsis; + font-size:.875rem; + line-height:1.25rem; + font-weight:600 +} + +.aui-composer-root{ + display:flex; + width:100%; + flex-wrap:wrap; + align-items:flex-end; + border-radius:var(--aui-radius); + border-width:1px; + background-color:inherit; + padding-left:.625rem; + padding-right:.625rem; + --aui-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05); + --aui-shadow-colored:0 1px 2px 0 var(--aui-shadow-color); + box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow); + transition-property:color,background-color,border-color,text-decoration-color,fill,stroke; + transition-duration:150ms; + transition-timing-function:cubic-bezier(0.4,0,1,1); + animation-timing-function:cubic-bezier(0.4,0,1,1) +} + +.aui-composer-root:focus-within{ + border-color:hsl(var(--aui-ring) / .2) +} + +.aui-composer-input{ + max-height:10rem; + flex-grow:1; + resize:none; + border-style:none; + background-color:transparent; + padding:1rem .5rem; + font-size:.875rem; + line-height:1.25rem; + outline:transparent solid 2px; + outline-offset:2px +} + +.aui-composer-input::-moz-placeholder{ + color:hsl(var(--aui-muted-foreground)) +} + +.aui-composer-input::placeholder{ + color:hsl(var(--aui-muted-foreground)) +} + +.aui-composer-input:focus{ + --aui-ring-offset-shadow:var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color); + --aui-ring-shadow:var(--aui-ring-inset) 0 0 0 calc(0px + var(--aui-ring-offset-width)) var(--aui-ring-color); + box-shadow:var(--aui-ring-offset-shadow),var(--aui-ring-shadow),var(--aui-shadow,0 0 #0000) +} + +.aui-composer-input:disabled{ + cursor:not-allowed +} + +.aui-composer-attach,.aui-composer-cancel,.aui-composer-send{ + margin-top:.625rem; + margin-bottom:.625rem; + width:2rem; + height:2rem; + padding:.5rem; + transition-property:opacity; + transition-duration:150ms; + transition-timing-function:cubic-bezier(0.4,0,1,1); + animation-timing-function:cubic-bezier(0.4,0,1,1) +} + +.aui-composer-attachments{ + display:flex; + width:100%; + flex-direction:row; + gap:.75rem; + padding-left:2.5rem; + padding-right:2.5rem +} + +.aui-attachment-root{ + position:relative; + margin-top:.75rem +} + +.aui-attachment-content{ + display:flex; + height:3rem; + width:10rem; + align-items:center; + justify-content:center; + gap:.5rem; + border-radius:var(--aui-radius); + border-width:1px; + padding:.25rem +} + +.aui-attachment-preview-trigger{ + cursor:pointer; + transition-property:color,background-color,border-color,text-decoration-color,fill,stroke; + transition-timing-function:cubic-bezier(0.4,0,0.2,1); + transition-duration:150ms +} + +.aui-attachment-preview-trigger:hover{ + background-color:hsl(var(--aui-accent) / .5) +} + +.aui-attachment-thumb{ + display:flex; + width:2.5rem; + height:2.5rem; + align-items:center; + justify-content:center; + border-radius:.25rem; + border-width:1px; + background-color:hsl(var(--aui-muted)); + font-size:.875rem; + line-height:1.25rem +} + +.aui-attachment-text{ + flex-grow:1; + flex-basis:0px +} + +.aui-attachment-name{ + overflow:hidden; + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-line-clamp:1; + text-overflow:ellipsis; + word-break:break-all; + font-size:.75rem; + line-height:1rem; + font-weight:700; + color:hsl(var(--aui-muted-foreground)) +} + +.aui-attachment-type{ + font-size:.75rem; + line-height:1rem; + color:hsl(var(--aui-muted-foreground)) +} + +.aui-attachment-remove{ + position:absolute; + right:-.75rem; + top:-.75rem; + width:1.5rem; + height:1.5rem; + color:hsl(var(--aui-muted-foreground)) +} + +.aui-attachment-remove>svg{ + width:1rem; + height:1rem; + border-radius:9999px; + background-color:hsl(var(--aui-background)) +} + +.aui-user-message-root{ + display:grid; + grid-auto-rows:auto; + grid-template-columns:minmax(72px,1fr) auto; + row-gap:.5rem; + width:100%; + max-width:var(--aui-thread-max-width); + padding-top:1rem; + padding-bottom:1rem +} + +.aui-user-message-root:where(> *){ + grid-column-start:2 +} + +:where(.aui-user-message-root)>.aui-branch-picker-root{ + grid-column:1/-1; + grid-column-start:1; + grid-row-start:3; + margin-right:-.25rem; + justify-content:flex-end +} + +.aui-user-branch-picker{ + grid-column:1/-1; + grid-column-start:1; + grid-row-start:3; + margin-right:-.25rem; + justify-content:flex-end +} + +.aui-user-message-content{ + max-width:calc(var(--aui-thread-max-width) * .8); + overflow-wrap:break-word; + border-radius:1.5rem; + background-color:hsl(var(--aui-muted)); + padding:.625rem 1.25rem; + color:hsl(var(--aui-foreground)); + grid-column-start:2; + grid-row-start:2 +} + +.aui-user-message-attachments{ + display:flex; + width:100%; + flex-direction:row; + gap:.75rem; + grid-column:1/-1; + grid-column-start:1; + grid-row-start:1; + justify-content:flex-end +} + +.aui-user-action-bar-root{ + display:flex; + flex-direction:column; + align-items:flex-end; + grid-column-start:1; + grid-row-start:2; + margin-right:.75rem; + margin-top:.625rem +} + +.aui-edit-composer-root{ + margin-top:1rem; + margin-bottom:1rem; + display:flex; + width:100%; + max-width:var(--aui-thread-max-width); + flex-direction:column; + gap:.5rem; + border-radius:.75rem; + background-color:hsl(var(--aui-muted)) +} + +.aui-edit-composer-input{ + display:flex; + height:2rem; + width:100%; + resize:none; + background-color:transparent; + padding:1rem 1rem 0; + color:hsl(var(--aui-foreground)); + outline:transparent solid 2px; + outline-offset:2px +} + +.aui-edit-composer-footer{ + margin-left:.75rem; + margin-right:.75rem; + margin-bottom:.75rem; + display:flex; + align-items:center; + justify-content:center; + gap:.5rem; + align-self:flex-end +} + +.aui-assistant-message-root{ + display:grid; + grid-template-columns:auto auto 1fr; + grid-template-rows:auto 1fr; + position:relative; + width:100%; + max-width:var(--aui-thread-max-width); + padding-top:1rem; + padding-bottom:1rem +} + +:where(.aui-assistant-message-root)>.aui-avatar-root{ + grid-column-start:1; + grid-row:1/-1; + grid-row-start:1; + margin-right:1rem +} + +.aui-assistant-avatar{ + grid-column-start:1; + grid-row:1/-1; + grid-row-start:1; + margin-right:1rem +} + +:where(.aui-assistant-message-root)>.aui-branch-picker-root{ + grid-column-start:2; + grid-row-start:2; + margin-left:-.5rem; + margin-right:.5rem +} + +.aui-assistant-branch-picker{ + grid-column-start:2; + grid-row-start:2; + margin-left:-.5rem; + margin-right:.5rem +} + +.aui-assistant-message-content{ + max-width:calc(var(--aui-thread-max-width) * .8); + overflow-wrap:break-word; + line-height:1.75rem; + color:hsl(var(--aui-foreground)); + grid-column:span 2/span 2; + grid-column-start:2; + grid-row-start:1; + margin-top:.375rem; + margin-bottom:.375rem +} + +.aui-assistant-action-bar-root{ + display:flex; + gap:.25rem; + color:hsl(var(--aui-muted-foreground)); + grid-column-start:3; + grid-row-start:2; + margin-left:-.25rem +} + +:where(.aui-assistant-action-bar-root)[data-floating]{ + position:absolute; + border-radius:calc(var(--aui-radius) - 2px); + border-width:1px; + background-color:hsl(var(--aui-background)); + padding:.25rem; + --aui-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05); + --aui-shadow-colored:0 1px 2px 0 var(--aui-shadow-color); + box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow) +} + +:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]{ + --aui-text-opacity:1; + color:rgb(22 163 74 / var(--aui-text-opacity,1)) +} + +:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover{ + --aui-text-opacity:1; + color:rgb(21 128 61 / var(--aui-text-opacity,1)) +} + +@media (prefers-color-scheme:dark){ + :where(.aui-assistant-action-bar-feedback-positive)[data-submitted]{ + --aui-text-opacity:1; + color:rgb(34 197 94 / var(--aui-text-opacity,1)) + } + + :where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover{ + --aui-text-opacity:1; + color:rgb(74 222 128 / var(--aui-text-opacity,1)) + } +} + +:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]{ + --aui-text-opacity:1; + color:rgb(220 38 38 / var(--aui-text-opacity,1)) +} + +:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover{ + --aui-text-opacity:1; + color:rgb(185 28 28 / var(--aui-text-opacity,1)) +} + +@media (prefers-color-scheme:dark){ + :where(.aui-assistant-action-bar-feedback-negative)[data-submitted]{ + --aui-text-opacity:1; + color:rgb(239 68 68 / var(--aui-text-opacity,1)) + } + + :where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover{ + --aui-text-opacity:1; + color:rgb(248 113 113 / var(--aui-text-opacity,1)) + } +} + +.aui-branch-picker-root{ + display:inline-flex; + align-items:center; + font-size:.75rem; + line-height:1rem; + color:hsl(var(--aui-muted-foreground)) +} + +.aui-branch-picker-state{ + font-weight:500 +} + +.aui-text{ + white-space:pre-line +} + +.aui-text-running::after{ + animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse; + font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; + --aui-content:"\25cf"; + content:var(--aui-content) +} + +.aui-text-running:where([dir=ltr],[dir=ltr] *)::after{ + margin-left:.25rem +} + +.aui-text-running:where([dir=rtl],[dir=rtl] *)::after{ + margin-right:.25rem +} + +.aui-thread-list-root{ + display:flex; + flex-direction:column; + align-items:stretch; + gap:.375rem +} + +.aui-thread-list-item{ + display:flex; + align-items:center; + gap:.5rem; + border-radius:var(--aui-radius); + transition-property:all; + transition-timing-function:cubic-bezier(0.4,0,0.2,1); + transition-duration:150ms +} + +.aui-thread-list-item:hover{ + background-color:hsl(var(--aui-muted)) +} + +.aui-thread-list-item:focus-visible{ + background-color:hsl(var(--aui-muted)); + outline:transparent solid 2px; + outline-offset:2px; + --aui-ring-offset-shadow:var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color); + --aui-ring-shadow:var(--aui-ring-inset) 0 0 0 calc(2px + var(--aui-ring-offset-width)) var(--aui-ring-color); + box-shadow:var(--aui-ring-offset-shadow),var(--aui-ring-shadow),var(--aui-shadow,0 0 #0000); + --aui-ring-color:hsl(var(--aui-ring)) +} + +.aui-thread-list-item[data-active]{ + background-color:hsl(var(--aui-muted)) +} + +.aui-thread-list-new{ + display:flex; + align-items:center; + justify-content:flex-start; + gap:.25rem; + border-radius:var(--aui-radius); + padding:.5rem .625rem; + text-align:start +} + +.aui-thread-list-new:hover,.aui-thread-list-new[data-active]{ + background-color:hsl(var(--aui-muted)) +} + +.aui-thread-list-new>.lucide-plus{ + width:1.25rem; + height:1.25rem +} + +.aui-thread-list-item-trigger{ + flex-grow:1; + padding:.5rem .75rem; + text-align:start +} + +.aui-thread-list-item-title{ + font-size:.875rem; + line-height:1.25rem +} + +.aui-thread-list-item-archive{ + margin-left:auto; + margin-right:.75rem; + width:1rem; + height:1rem; + padding:0; + color:hsl(var(--aui-foreground)) +} + +.aui-thread-list-item-archive:hover{ + color:hsl(var(--aui-primary)) +} + +:root{ + --aui-background:0 0% 100%; + --aui-foreground:240 10% 3.9%; + --aui-card:0 0% 100%; + --aui-card-foreground:240 10% 3.9%; + --aui-popover:0 0% 100%; + --aui-popover-foreground:240 10% 3.9%; + --aui-primary:240 5.9% 10%; + --aui-primary-foreground:0 0% 98%; + --aui-secondary:240 4.8% 95.9%; + --aui-secondary-foreground:240 5.9% 10%; + --aui-muted:240 4.8% 95.9%; + --aui-muted-foreground:240 3.8% 46.1%; + --aui-accent:240 4.8% 95.9%; + --aui-accent-foreground:240 5.9% 10%; + --aui-destructive:0 84.2% 60.2%; + --aui-destructive-foreground:0 0% 98%; + --aui-border:240 5.9% 90%; + --aui-input:240 5.9% 90%; + --aui-ring:240 10% 3.9%; + --aui-radius:0.5rem; + --aui-thread-max-width:42rem +} + +.dark{ + --aui-background:0 0% 7%; + --aui-foreground:0 0% 98%; + --aui-card:240 10% 3.9%; + --aui-card-foreground:0 0% 98%; + --aui-popover:240 10% 3.9%; + --aui-popover-foreground:0 0% 98%; + --aui-primary:0 0% 98%; + --aui-primary-foreground:240 5.9% 10%; + --aui-secondary:240 3.7% 15.9%; + --aui-secondary-foreground:0 0% 98%; + --aui-muted:240 3.7% 15.9%; + --aui-muted-foreground:240 5% 64.9%; + --aui-accent:240 3.7% 15.9%; + --aui-accent-foreground:0 0% 98%; + --aui-destructive:0 62.8% 30.6%; + --aui-destructive-foreground:0 0% 98%; + --aui-border:240 3.7% 15.9%; + --aui-input:240 3.7% 15.9%; + --aui-ring:240 4.9% 83.9% +} + +.aui-modal-content{ + z-index:50; + height:500px; + width:400px; + overflow:clip; + border-radius:.75rem; + border-width:1px; + background-color:hsl(var(--aui-popover)); + padding:0; + color:hsl(var(--aui-popover-foreground)); + --aui-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1); + --aui-shadow-colored:0 4px 6px -1px var(--aui-shadow-color),0 2px 4px -2px var(--aui-shadow-color); + box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow); + outline:transparent solid 2px; + outline-offset:2px +} + +.aui-modal-content>.aui-thread-root{ + background-color:inherit +} + +.aui-modal-content[data-state=open]{ + animation-name:aui-enter; + animation-duration:150ms; + --aui-enter-opacity:initial; + --aui-enter-scale:initial; + --aui-enter-rotate:initial; + --aui-enter-translate-x:initial; + --aui-enter-translate-y:initial; + --aui-enter-opacity:0; + --aui-enter-scale:0; + --aui-enter-translate-y:50%; + --aui-enter-translate-x:50% +} + +.aui-modal-content[data-state=closed]{ + animation-name:aui-exit; + animation-duration:150ms; + --aui-exit-opacity:initial; + --aui-exit-scale:initial; + --aui-exit-rotate:initial; + --aui-exit-translate-x:initial; + --aui-exit-translate-y:initial; + --aui-exit-opacity:0; + --aui-exit-scale:0; + --aui-exit-translate-y:50%; + --aui-exit-translate-x:50% +} + +.aui-modal-anchor{ + position:fixed; + bottom:1rem; + right:1rem; + width:2.75rem; + height:2.75rem +} + +.aui-modal-button{ + width:100%; + height:100%; + border-radius:9999px; + --aui-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1); + --aui-shadow-colored:0 1px 3px 0 var(--aui-shadow-color),0 1px 2px -1px var(--aui-shadow-color); + box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow); + transition-property:transform; + transition-timing-function:cubic-bezier(0.4,0,0.2,1); + transition-duration:150ms +} + +.aui-modal-button:hover{ + --aui-scale-x:1.1; + --aui-scale-y:1.1; + transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y)) +} + +.aui-modal-button:active{ + --aui-scale-x:.9; + --aui-scale-y:.9; + transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y)) +} + +.aui-modal-button-closed-icon{ + position:absolute; + width:1.5rem; + height:1.5rem; + transition-property:all; + transition-timing-function:cubic-bezier(0.4,0,0.2,1); + transition-duration:150ms +} + +.aui-modal-button-closed-icon[data-state=closed]{ + --aui-rotate:0deg; + --aui-scale-x:1; + --aui-scale-y:1; + transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y)) +} + +.aui-modal-button-closed-icon[data-state=open]{ + --aui-rotate:90deg; + --aui-scale-x:0; + --aui-scale-y:0; + transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y)) +} + +.aui-modal-button-open-icon{ + position:absolute; + width:1.5rem; + height:1.5rem; + transition-property:all; + transition-timing-function:cubic-bezier(0.4,0,0.2,1); + transition-duration:150ms +} + +.aui-modal-button-open-icon[data-state=closed]{ + --aui-rotate:-90deg; + --aui-scale-x:0; + --aui-scale-y:0; + transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y)) +} + +.aui-modal-button-open-icon[data-state=open]{ + --aui-rotate:0deg; + --aui-scale-x:1; + --aui-scale-y:1; + transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y)) +} + +@keyframes aui-pulse{ + 50%{ + opacity:.5 + } +} + +:where(.aui-md[data-status=running]):empty::after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)::after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(* > li)))::after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(* > li)))::after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child::after,:where(.aui-md[data-status=running])>pre:last-child code::after{ + animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse; + font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; + --aui-content:"\25cf"; + content:var(--aui-content); + margin-left:.25rem; + margin-right:.25rem +} + +.first\:mt-0:first-child { + margin-top: 0px; +} + +.first\:rounded-tl-lg:first-child { + border-top-left-radius: var(--radius); +} + +.first\:border-t:first-child { + border-top-width: 1px; +} + +.last\:mb-0:last-child { + margin-bottom: 0px; +} + +.last\:rounded-tr-lg:last-child { + border-top-right-radius: var(--radius); +} + +.last\:border-r:last-child { + border-right-width: 1px; +} + +.hover\:bg-accent:hover { + background-color: hsl(var(--accent)); +} + +.hover\:bg-destructive\/90:hover { + background-color: hsl(var(--destructive) / 0.9); +} + +.hover\:bg-primary\/90:hover { + background-color: hsl(var(--primary) / 0.9); +} + +.hover\:bg-secondary\/80:hover { + background-color: hsl(var(--secondary) / 0.8); +} + +.hover\:text-accent-foreground:hover { + color: hsl(var(--accent-foreground)); +} + +.hover\:text-gray-700:hover { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity, 1)); +} + +.hover\:underline:hover { + text-decoration-line: underline; +} + +.hover\:opacity-80:hover { + opacity: 0.8; +} + +.hover\:opacity-90:hover { + opacity: 0.9; +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:ring-2:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus\:ring-blue-400:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1)); +} + +.focus-visible\:outline-none:focus-visible { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus-visible\:ring-1:focus-visible { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} + +.focus-visible\:ring-ring:focus-visible { + --tw-ring-color: hsl(var(--ring)); +} + +.disabled\:pointer-events-none:disabled { + pointer-events: none; +} + +.disabled\:opacity-50:disabled { + opacity: 0.5; +} + +.data-\[state\=closed\]\:animate-out[data-state="closed"] { + animation-name: exit; + animation-duration: 150ms; + --tw-exit-opacity: initial; + --tw-exit-scale: initial; + --tw-exit-rotate: initial; + --tw-exit-translate-x: initial; + --tw-exit-translate-y: initial; +} + +.data-\[state\=closed\]\:fade-out-0[data-state="closed"] { + --tw-exit-opacity: 0; +} + +.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] { + --tw-exit-scale: .95; +} + +.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] { + --tw-enter-translate-y: -0.5rem; +} + +.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] { + --tw-enter-translate-x: 0.5rem; +} + +.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] { + --tw-enter-translate-x: -0.5rem; +} + +.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] { + --tw-enter-translate-y: 0.5rem; +} + +.dark\:text-gray-400:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity, 1)); +} + +.dark\:text-gray-700:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity, 1)); +} + +.dark\:placeholder-gray-400:is(.dark *)::-moz-placeholder { + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1)); +} + +.dark\:placeholder-gray-400:is(.dark *)::placeholder { + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1)); +} + +.hover\:dark\:text-gray-300:is(.dark *):hover { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity, 1)); +} + +@media (min-width: 768px) { + .md\:block { + display: block; + } +} + +.\[\&\:last-child\>td\:first-child\]\:rounded-bl-lg:last-child>td:first-child { + border-bottom-left-radius: var(--radius); +} + +.\[\&\:last-child\>td\:last-child\]\:rounded-br-lg:last-child>td:last-child { + border-bottom-right-radius: var(--radius); +} + +.\[\&\>a\]\:text-xs>a { + font-size: 0.75rem; + line-height: 1rem; +} + +.\[\&\>a\]\:no-underline>a { + text-decoration-line: none; +} + +.\[\&\>li\]\:mt-2>li { + margin-top: 0.5rem; +} + +.\[\&\>span\]\:text-xs>span { + font-size: 0.75rem; + line-height: 1rem; +} + +.\[\&\[align\=center\]\]\:text-center[align=center] { + text-align: center; +} + +.\[\&\[align\=right\]\]\:text-right[align=right] { + text-align: right; +} + +.\[\&_svg\]\:pointer-events-none svg { + pointer-events: none; +} + +.\[\&_svg\]\:size-4 svg { + width: 1rem; + height: 1rem; +} + +.\[\&_svg\]\:shrink-0 svg { + flex-shrink: 0; +} \ No newline at end of file diff --git a/scripts/combine-css.js b/scripts/combine-css.js new file mode 100644 index 0000000..a83c7bf --- /dev/null +++ b/scripts/combine-css.js @@ -0,0 +1,55 @@ +const fs = require('fs'); +const path = require('path'); +const CleanCSS = require('clean-css'); + +// Paths to CSS files +const cssFiles = [ + './src/index.css', + './node_modules/@assistant-ui/react/dist/styles/index.css', + './node_modules/@assistant-ui/react/dist/styles/modal.css', + './node_modules/@assistant-ui/react-markdown/styles/dot.css' +]; + +// Output file +const outputFile = './src/combined.css'; + +// Combine CSS files +let combinedCSS = ''; + +cssFiles.forEach(file => { + try { + if (fs.existsSync(file)) { + const css = fs.readFileSync(file, 'utf8'); + combinedCSS += `/* From ${file} */\n${css}\n\n`; + console.log(`Added ${file}`); + } else { + console.warn(`File not found: ${file}`); + + // Try alternative paths + const altPath = file.replace('/dist', ''); + if (fs.existsSync(altPath)) { + const css = fs.readFileSync(altPath, 'utf8'); + combinedCSS += `/* From ${altPath} */\n${css}\n\n`; + console.log(`Added alternative path: ${altPath}`); + } else { + console.warn(`Alternative path not found: ${altPath}`); + } + } + } catch (error) { + console.error(`Error processing ${file}:`, error); + } +}); + +// Minify the combined CSS +const minified = new CleanCSS({ + level: 2, // Advanced optimization level + compatibility: '*', // IE10+ compatibility + sourceMap: process.env.NODE_ENV === 'development' +}).minify(combinedCSS); + +// Write minified CSS to output file +fs.writeFileSync(outputFile, minified.styles); +console.log(`Combined and minified CSS written to ${outputFile}`); +console.log(`Original size: ${combinedCSS.length} bytes`); +console.log(`Minified size: ${minified.styles.length} bytes`); +console.log(`Efficiency: ${((1 - minified.styles.length / combinedCSS.length) * 100).toFixed(2)}% reduction`); \ No newline at end of file diff --git a/scripts/patch-modules.js b/scripts/patch-modules.js new file mode 100644 index 0000000..5843454 --- /dev/null +++ b/scripts/patch-modules.js @@ -0,0 +1,40 @@ +const fs = require('fs'); +const path = require('path'); +const glob = require('glob'); + +// Find all instances of the problematic file +const files = glob.sync('node_modules/**/@assistant-ui/react/**/createContextHook.{mjs,js}'); + +files.forEach(file => { + console.log(`Patching ${file}`); + + // Create a backup if it doesn't exist + const backupFile = `${file}.bak`; + if (!fs.existsSync(backupFile)) { + fs.copyFileSync(file, backupFile); + } + + // Write the patched version + const patchedCode = ` +import React from 'react'; + +function createContextHook(context, providerName) { + function useContextHook(options) { + const value = React.useContext(context); + if (!value && options?.strict === true) { + const error = new Error(\`\${providerName || 'Provider'} not found\`); + error.name = 'ProviderError'; + throw error; + } + return value; + } + return useContextHook; +} + +export { createContextHook }; +`; + + fs.writeFileSync(file, patchedCode); +}); + +console.log('Patching complete'); \ No newline at end of file diff --git a/src/combined.css b/src/combined.css new file mode 100644 index 0000000..e024708 --- /dev/null +++ b/src/combined.css @@ -0,0 +1 @@ +@tailwind base;@tailwind components;@tailwind utilities;:where(.aui-root) *,:where(.aui-root) ::after,:where(.aui-root) ::before{--aui-border-spacing-x:0;--aui-border-spacing-y:0;--aui-translate-x:0;--aui-translate-y:0;--aui-rotate:0;--aui-skew-x:0;--aui-skew-y:0;--aui-scale-x:1;--aui-scale-y:1;--aui-ring-inset: ;--aui-ring-offset-width:0px;--aui-ring-offset-color:#fff;--aui-ring-color:rgb(59 130 246 / 0.5);--aui-ring-offset-shadow:0 0 #0000;--aui-ring-shadow:0 0 #0000;--aui-shadow:0 0 #0000;--aui-shadow-colored:0 0 #0000;--aui-blur: ;--aui-brightness: ;--aui-contrast: ;--aui-grayscale: ;--aui-hue-rotate: ;--aui-invert: ;--aui-saturate: ;--aui-sepia: ;--aui-drop-shadow: ;--aui-backdrop-blur: ;--aui-backdrop-brightness: ;--aui-backdrop-contrast: ;--aui-backdrop-grayscale: ;--aui-backdrop-hue-rotate: ;--aui-backdrop-invert: ;--aui-backdrop-opacity: ;--aui-backdrop-saturate: ;--aui-backdrop-sepia: ;--aui-contain-size: ;--aui-contain-layout: ;--aui-contain-paint: ;--aui-contain-style: ;box-sizing:border-box;border:0 solid #e5e7eb}:where(.aui-root) ::backdrop{--aui-border-spacing-x:0;--aui-border-spacing-y:0;--aui-translate-x:0;--aui-translate-y:0;--aui-rotate:0;--aui-skew-x:0;--aui-skew-y:0;--aui-scale-x:1;--aui-scale-y:1;--aui-ring-inset: ;--aui-ring-offset-width:0px;--aui-ring-offset-color:#fff;--aui-ring-color:rgb(59 130 246 / 0.5);--aui-ring-offset-shadow:0 0 #0000;--aui-ring-shadow:0 0 #0000;--aui-shadow:0 0 #0000;--aui-shadow-colored:0 0 #0000;--aui-blur: ;--aui-brightness: ;--aui-contrast: ;--aui-grayscale: ;--aui-hue-rotate: ;--aui-invert: ;--aui-saturate: ;--aui-sepia: ;--aui-drop-shadow: ;--aui-backdrop-blur: ;--aui-backdrop-brightness: ;--aui-backdrop-contrast: ;--aui-backdrop-grayscale: ;--aui-backdrop-hue-rotate: ;--aui-backdrop-invert: ;--aui-backdrop-opacity: ;--aui-backdrop-saturate: ;--aui-backdrop-sepia: ;--aui-contain-size: ;--aui-contain-layout: ;--aui-contain-paint: ;--aui-contain-style: }:where(.aui-root) ::after,:where(.aui-root) ::before{--aui-content:""}:where(.aui-root) :host,:where(.aui-root) html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}:where(.aui-root) body{margin:0;line-height:inherit}:where(.aui-root) hr{height:0;color:inherit;border-top-width:1px}:where(.aui-root) abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(.aui-root) h1,:where(.aui-root) h2,:where(.aui-root) h3,:where(.aui-root) h4,:where(.aui-root) h5,:where(.aui-root) h6{font-size:inherit;font-weight:inherit}:where(.aui-root) a{color:inherit;text-decoration:inherit}:where(.aui-root) b,:where(.aui-root) strong{font-weight:bolder}:where(.aui-root) code,:where(.aui-root) kbd,:where(.aui-root) pre,:where(.aui-root) samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}:where(.aui-root) small{font-size:80%}:where(.aui-root) sub,:where(.aui-root) sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}:where(.aui-root) sub{bottom:-.25em}:where(.aui-root) sup{top:-.5em}:where(.aui-root) table{text-indent:0;border-color:inherit;border-collapse:collapse}:where(.aui-root) button,:where(.aui-root) input,:where(.aui-root) optgroup,:where(.aui-root) select,:where(.aui-root) textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}:where(.aui-root) button,:where(.aui-root) select{text-transform:none}:where(.aui-root) button,:where(.aui-root) input:where([type=button]),:where(.aui-root) input:where([type=reset]),:where(.aui-root) input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:where(.aui-root) :-moz-focusring{outline:auto}:where(.aui-root) :-moz-ui-invalid{box-shadow:none}:where(.aui-root) progress{vertical-align:baseline}:where(.aui-root) ::-webkit-inner-spin-button,:where(.aui-root) ::-webkit-outer-spin-button{height:auto}:where(.aui-root) [type=search]{-webkit-appearance:textfield;outline-offset:-2px}:where(.aui-root) ::-webkit-search-decoration{-webkit-appearance:none}:where(.aui-root) ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(.aui-root) summary{display:list-item}:where(.aui-root) blockquote,:where(.aui-root) dd,:where(.aui-root) dl,:where(.aui-root) figure,:where(.aui-root) h1,:where(.aui-root) h2,:where(.aui-root) h3,:where(.aui-root) h4,:where(.aui-root) h5,:where(.aui-root) h6,:where(.aui-root) hr,:where(.aui-root) p,:where(.aui-root) pre{margin:0}:where(.aui-root) fieldset{margin:0;padding:0}:where(.aui-root) legend{padding:0}:where(.aui-root) menu,:where(.aui-root) ol,:where(.aui-root) ul{list-style:none;margin:0;padding:0}:where(.aui-root) dialog{padding:0}:where(.aui-root) textarea{resize:vertical}:where(.aui-root) input::-moz-placeholder,:where(.aui-root) textarea::-moz-placeholder{opacity:1;color:#9ca3af}:where(.aui-root) input::placeholder,:where(.aui-root) textarea::placeholder{opacity:1;color:#9ca3af}:where(.aui-root) [role=button],:where(.aui-root) button{cursor:pointer}:where(.aui-root) :disabled{cursor:default}:where(.aui-root) audio,:where(.aui-root) canvas,:where(.aui-root) embed,:where(.aui-root) iframe,:where(.aui-root) img,:where(.aui-root) object,:where(.aui-root) svg,:where(.aui-root) video{display:block;vertical-align:middle}:where(.aui-root) img,:where(.aui-root) video{max-width:100%;height:auto}:where(.aui-root) [hidden]:where(:not([hidden=until-found])){display:none}@keyframes aui-enter{from{opacity:var(--aui-enter-opacity, 1);transform:translate3d(var(--aui-enter-translate-x,0),var(--aui-enter-translate-y,0),0) scale3d(var(--aui-enter-scale,1),var(--aui-enter-scale,1),var(--aui-enter-scale,1)) rotate(var(--aui-enter-rotate,0))}}@keyframes aui-exit{to{opacity:var(--aui-exit-opacity, 1);transform:translate3d(var(--aui-exit-translate-x,0),var(--aui-exit-translate-y,0),0) scale3d(var(--aui-exit-scale,1),var(--aui-exit-scale,1),var(--aui-exit-scale,1)) rotate(var(--aui-exit-rotate,0))}}.aui-root{color:hsl(var(--aui-foreground))}.aui-root *{border-color:hsl(var(--aui-border))}.aui-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:calc(var(--aui-radius) - 2px);font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.aui-button:focus-visible{outline:transparent solid 2px;outline-offset:2px;--aui-ring-offset-shadow:var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);--aui-ring-shadow:var(--aui-ring-inset) 0 0 0 calc(1px + var(--aui-ring-offset-width)) var(--aui-ring-color);box-shadow:var(--aui-ring-offset-shadow),var(--aui-ring-shadow),var(--aui-shadow,0 0 #0000);--aui-ring-color:hsl(var(--aui-ring))}.aui-button:disabled{pointer-events:none;opacity:.5}.aui-button svg{pointer-events:none;width:1rem;height:1rem;flex-shrink:0}.aui-button-primary{background-color:hsl(var(--aui-primary));color:hsl(var(--aui-primary-foreground));--aui-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);--aui-shadow-colored:0 1px 3px 0 var(--aui-shadow-color),0 1px 2px -1px var(--aui-shadow-color);box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow)}.aui-button-primary:hover{background-color:hsl(var(--aui-primary) / .9)}.aui-button-outline{border-width:1px;border-color:hsl(var(--aui-input));background-color:hsl(var(--aui-background));--aui-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--aui-shadow-colored:0 1px 2px 0 var(--aui-shadow-color);box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow)}.aui-button-ghost:hover,.aui-button-outline:hover{background-color:hsl(var(--aui-accent));color:hsl(var(--aui-accent-foreground))}.aui-button-medium{height:2.25rem;padding:.5rem 1rem}.aui-button-icon{width:1.5rem;height:1.5rem;padding:.25rem}.aui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.aui-avatar-root{position:relative;display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;overflow:hidden;border-radius:9999px}.aui-avatar-image{aspect-ratio:1/1;height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.aui-avatar-fallback{display:flex;height:100%;width:100%;align-items:center;justify-content:center;border-radius:9999px;background-color:hsl(var(--aui-muted))}.aui-tooltip-content{z-index:50;overflow:hidden;border-radius:calc(var(--aui-radius) - 2px);background-color:hsl(var(--aui-primary));padding:.375rem .75rem;font-size:.75rem;line-height:1rem;color:hsl(var(--aui-primary-foreground));animation-name:aui-enter;animation-duration:150ms;--aui-enter-opacity:initial;--aui-enter-scale:initial;--aui-enter-rotate:initial;--aui-enter-translate-x:initial;--aui-enter-translate-y:initial;--aui-enter-opacity:0;--aui-enter-scale:.95}.aui-tooltip-content[data-state=closed]{animation-name:aui-exit;animation-duration:150ms;--aui-exit-opacity:initial;--aui-exit-scale:initial;--aui-exit-rotate:initial;--aui-exit-translate-x:initial;--aui-exit-translate-y:initial;--aui-exit-opacity:0;--aui-exit-scale:.95}.aui-tooltip-content[data-side=bottom]{--aui-enter-translate-y:-0.5rem}.aui-tooltip-content[data-side=left]{--aui-enter-translate-x:0.5rem}.aui-tooltip-content[data-side=right]{--aui-enter-translate-x:-0.5rem}.aui-tooltip-content[data-side=top]{--aui-enter-translate-y:0.5rem}.aui-dialog-overlay{position:fixed;inset:0px;z-index:50;background-color:rgb(0 0 0 / .8)}.aui-dialog-overlay[data-state=open]{animation-name:aui-enter;animation-duration:150ms;--aui-enter-opacity:initial;--aui-enter-scale:initial;--aui-enter-rotate:initial;--aui-enter-translate-x:initial;--aui-enter-translate-y:initial;--aui-enter-opacity:0}.aui-dialog-overlay[data-state=closed]{animation-name:aui-exit;animation-duration:150ms;--aui-exit-opacity:initial;--aui-exit-scale:initial;--aui-exit-rotate:initial;--aui-exit-translate-x:initial;--aui-exit-translate-y:initial;--aui-exit-opacity:0}.aui-dialog-content{position:fixed;left:50%;top:50%;z-index:50;display:grid;--aui-translate-x:-50%;--aui-translate-y:-50%;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));--aui-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--aui-shadow-colored:0 10px 15px -3px var(--aui-shadow-color),0 4px 6px -4px var(--aui-shadow-color);box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow);transition-duration:.2s;animation-duration:.2s}.aui-dialog-content[data-state=open]{animation-name:aui-enter;animation-duration:150ms;--aui-enter-opacity:initial;--aui-enter-scale:initial;--aui-enter-rotate:initial;--aui-enter-translate-x:initial;--aui-enter-translate-y:initial;--aui-enter-opacity:0;--aui-enter-scale:.95;--aui-enter-translate-x:-50%;--aui-enter-translate-y:-48%}.aui-dialog-content[data-state=closed]{animation-name:aui-exit;animation-duration:150ms;--aui-exit-opacity:initial;--aui-exit-scale:initial;--aui-exit-rotate:initial;--aui-exit-translate-x:initial;--aui-exit-translate-y:initial;--aui-exit-opacity:0;--aui-exit-scale:.95;--aui-exit-translate-x:-50%;--aui-exit-translate-y:-48%}.aui-thread-root{box-sizing:border-box;height:100%;background-color:hsl(var(--aui-background))}.aui-thread-viewport{display:flex;height:100%;flex-direction:column;align-items:center;overflow-y:scroll;scroll-behavior:smooth;background-color:inherit;padding-left:1rem;padding-right:1rem;padding-top:2rem}.aui-thread-viewport-footer{position:sticky;bottom:0;margin-top:.75rem;display:flex;width:100%;max-width:var(--aui-thread-max-width);flex-direction:column;align-items:center;justify-content:flex-end;border-top-left-radius:var(--aui-radius);border-top-right-radius:var(--aui-radius);background-color:inherit;padding-bottom:1rem}.aui-thread-scroll-to-bottom{position:absolute;top:-2rem;border-radius:9999px}.aui-thread-scroll-to-bottom:disabled{visibility:hidden}.aui-thread-followup-suggestions{display:flex;min-height:2rem;align-items:center;justify-content:center;gap:.5rem}.aui-thread-followup-suggestion{border-radius:9999px;border-width:1px;background-color:hsl(var(--aui-background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4,0,1,1);animation-timing-function:cubic-bezier(0.4,0,1,1)}.aui-thread-followup-suggestion:hover{background-color:hsl(var(--aui-muted) / .8)}.aui-thread-welcome-root{display:flex;width:100%;max-width:var(--aui-thread-max-width);flex-grow:1;flex-direction:column}.aui-thread-welcome-center{display:flex;width:100%;flex-grow:1;flex-direction:column;align-items:center;justify-content:center}.aui-thread-welcome-message{margin-top:1rem;font-weight:500}.aui-thread-welcome-suggestions{margin-top:.75rem;display:flex;width:100%;align-items:stretch;justify-content:center;gap:1rem}.aui-thread-welcome-suggestion{display:flex;max-width:24rem;flex-grow:1;flex-basis:0px;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--aui-radius);border-width:1px;padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4,0,1,1);animation-timing-function:cubic-bezier(0.4,0,1,1)}.aui-thread-welcome-suggestion:hover{background-color:hsl(var(--aui-muted) / .8)}.aui-thread-welcome-suggestion-text{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:ellipsis;font-size:.875rem;line-height:1.25rem;font-weight:600}.aui-composer-root{display:flex;width:100%;flex-wrap:wrap;align-items:flex-end;border-radius:var(--aui-radius);border-width:1px;background-color:inherit;padding-left:.625rem;padding-right:.625rem;--aui-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--aui-shadow-colored:0 1px 2px 0 var(--aui-shadow-color);box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4,0,1,1);animation-timing-function:cubic-bezier(0.4,0,1,1)}.aui-composer-root:focus-within{border-color:hsl(var(--aui-ring) / .2)}.aui-composer-input{max-height:10rem;flex-grow:1;resize:none;border-style:none;background-color:transparent;padding:1rem .5rem;font-size:.875rem;line-height:1.25rem;outline:transparent solid 2px;outline-offset:2px}.aui-composer-input::-moz-placeholder{color:hsl(var(--aui-muted-foreground))}.aui-composer-input::placeholder{color:hsl(var(--aui-muted-foreground))}.aui-composer-input:focus{--aui-ring-offset-shadow:var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);--aui-ring-shadow:var(--aui-ring-inset) 0 0 0 calc(0px + var(--aui-ring-offset-width)) var(--aui-ring-color);box-shadow:var(--aui-ring-offset-shadow),var(--aui-ring-shadow),var(--aui-shadow,0 0 #0000)}.aui-composer-input:disabled{cursor:not-allowed}.aui-composer-attach,.aui-composer-cancel,.aui-composer-send{margin-top:.625rem;margin-bottom:.625rem;width:2rem;height:2rem;padding:.5rem;transition-property:opacity;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4,0,1,1);animation-timing-function:cubic-bezier(0.4,0,1,1)}.aui-composer-attachments{display:flex;width:100%;flex-direction:row;gap:.75rem;padding-left:2.5rem;padding-right:2.5rem}.aui-attachment-root{position:relative;margin-top:.75rem}.aui-attachment-content{display:flex;height:3rem;width:10rem;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--aui-radius);border-width:1px;padding:.25rem}.aui-attachment-preview-trigger{cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.aui-attachment-preview-trigger:hover{background-color:hsl(var(--aui-accent) / .5)}.aui-attachment-thumb{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:.25rem;border-width:1px;background-color:hsl(var(--aui-muted));font-size:.875rem;line-height:1.25rem}.aui-attachment-text{flex-grow:1;flex-basis:0px}.aui-attachment-name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-overflow:ellipsis;word-break:break-all;font-size:.75rem;line-height:1rem;font-weight:700;color:hsl(var(--aui-muted-foreground))}.aui-attachment-type{font-size:.75rem;line-height:1rem;color:hsl(var(--aui-muted-foreground))}.aui-attachment-remove{position:absolute;right:-.75rem;top:-.75rem;width:1.5rem;height:1.5rem;color:hsl(var(--aui-muted-foreground))}.aui-attachment-remove>svg{width:1rem;height:1rem;border-radius:9999px;background-color:hsl(var(--aui-background))}.aui-user-message-root{display:grid;grid-auto-rows:auto;grid-template-columns:minmax(72px,1fr) auto;row-gap:.5rem;width:100%;max-width:var(--aui-thread-max-width);padding-top:1rem;padding-bottom:1rem}.aui-user-message-root:where(> *){grid-column-start:2}:where(.aui-user-message-root)>.aui-branch-picker-root{grid-column:1/-1;grid-column-start:1;grid-row-start:3;margin-right:-.25rem;justify-content:flex-end}.aui-user-branch-picker{grid-column:1/-1;grid-column-start:1;grid-row-start:3;margin-right:-.25rem;justify-content:flex-end}.aui-user-message-content{max-width:calc(var(--aui-thread-max-width) * .8);overflow-wrap:break-word;border-radius:1.5rem;background-color:hsl(var(--aui-muted));padding:.625rem 1.25rem;color:hsl(var(--aui-foreground));grid-column-start:2;grid-row-start:2}.aui-user-message-attachments{display:flex;width:100%;flex-direction:row;gap:.75rem;grid-column:1/-1;grid-column-start:1;grid-row-start:1;justify-content:flex-end}.aui-user-action-bar-root{display:flex;flex-direction:column;align-items:flex-end;grid-column-start:1;grid-row-start:2;margin-right:.75rem;margin-top:.625rem}.aui-edit-composer-root{margin-top:1rem;margin-bottom:1rem;display:flex;width:100%;max-width:var(--aui-thread-max-width);flex-direction:column;gap:.5rem;border-radius:.75rem;background-color:hsl(var(--aui-muted))}.aui-edit-composer-input{display:flex;height:2rem;width:100%;resize:none;background-color:transparent;padding:1rem 1rem 0;color:hsl(var(--aui-foreground));outline:transparent solid 2px;outline-offset:2px}.aui-edit-composer-footer{margin-left:.75rem;margin-right:.75rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;align-self:flex-end}.aui-assistant-message-root{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto 1fr;position:relative;width:100%;max-width:var(--aui-thread-max-width);padding-top:1rem;padding-bottom:1rem}:where(.aui-assistant-message-root)>.aui-avatar-root{grid-column-start:1;grid-row:1/-1;grid-row-start:1;margin-right:1rem}.aui-assistant-avatar{grid-column-start:1;grid-row:1/-1;grid-row-start:1;margin-right:1rem}:where(.aui-assistant-message-root)>.aui-branch-picker-root{grid-column-start:2;grid-row-start:2;margin-left:-.5rem;margin-right:.5rem}.aui-assistant-branch-picker{grid-column-start:2;grid-row-start:2;margin-left:-.5rem;margin-right:.5rem}.aui-assistant-message-content{max-width:calc(var(--aui-thread-max-width) * .8);overflow-wrap:break-word;line-height:1.75rem;color:hsl(var(--aui-foreground));grid-column:span 2/span 2;grid-column-start:2;grid-row-start:1;margin-top:.375rem;margin-bottom:.375rem}.aui-assistant-action-bar-root{display:flex;gap:.25rem;color:hsl(var(--aui-muted-foreground));grid-column-start:3;grid-row-start:2;margin-left:-.25rem}:where(.aui-assistant-action-bar-root)[data-floating]{position:absolute;border-radius:calc(var(--aui-radius) - 2px);border-width:1px;background-color:hsl(var(--aui-background));padding:.25rem;--aui-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--aui-shadow-colored:0 1px 2px 0 var(--aui-shadow-color);box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow)}:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]{--aui-text-opacity:1;color:rgb(22 163 74 / var(--aui-text-opacity,1))}:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover{--aui-text-opacity:1;color:rgb(21 128 61 / var(--aui-text-opacity,1))}@media (prefers-color-scheme:dark){:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]{--aui-text-opacity:1;color:rgb(34 197 94 / var(--aui-text-opacity,1))}:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover{--aui-text-opacity:1;color:rgb(74 222 128 / var(--aui-text-opacity,1))}}:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]{--aui-text-opacity:1;color:rgb(220 38 38 / var(--aui-text-opacity,1))}:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover{--aui-text-opacity:1;color:rgb(185 28 28 / var(--aui-text-opacity,1))}@media (prefers-color-scheme:dark){:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]{--aui-text-opacity:1;color:rgb(239 68 68 / var(--aui-text-opacity,1))}:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover{--aui-text-opacity:1;color:rgb(248 113 113 / var(--aui-text-opacity,1))}}.aui-branch-picker-root{display:inline-flex;align-items:center;font-size:.75rem;line-height:1rem;color:hsl(var(--aui-muted-foreground))}.aui-branch-picker-state{font-weight:500}.aui-text{white-space:pre-line}.aui-text-running::after{animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--aui-content:"\25cf";content:var(--aui-content)}.aui-text-running:where([dir=ltr],[dir=ltr] *)::after{margin-left:.25rem}.aui-text-running:where([dir=rtl],[dir=rtl] *)::after{margin-right:.25rem}.aui-thread-list-root{display:flex;flex-direction:column;align-items:stretch;gap:.375rem}.aui-thread-list-item{display:flex;align-items:center;gap:.5rem;border-radius:var(--aui-radius);transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.aui-thread-list-item:hover{background-color:hsl(var(--aui-muted))}.aui-thread-list-item:focus-visible{background-color:hsl(var(--aui-muted));outline:transparent solid 2px;outline-offset:2px;--aui-ring-offset-shadow:var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);--aui-ring-shadow:var(--aui-ring-inset) 0 0 0 calc(2px + var(--aui-ring-offset-width)) var(--aui-ring-color);box-shadow:var(--aui-ring-offset-shadow),var(--aui-ring-shadow),var(--aui-shadow,0 0 #0000);--aui-ring-color:hsl(var(--aui-ring))}.aui-thread-list-item[data-active]{background-color:hsl(var(--aui-muted))}.aui-thread-list-new{display:flex;align-items:center;justify-content:flex-start;gap:.25rem;border-radius:var(--aui-radius);padding:.5rem .625rem;text-align:start}.aui-thread-list-new:hover,.aui-thread-list-new[data-active]{background-color:hsl(var(--aui-muted))}.aui-thread-list-new>.lucide-plus{width:1.25rem;height:1.25rem}.aui-thread-list-item-trigger{flex-grow:1;padding:.5rem .75rem;text-align:start}.aui-thread-list-item-title{font-size:.875rem;line-height:1.25rem}.aui-thread-list-item-archive{margin-left:auto;margin-right:.75rem;width:1rem;height:1rem;padding:0;color:hsl(var(--aui-foreground))}.aui-thread-list-item-archive:hover{color:hsl(var(--aui-primary))}:root{--aui-background:0 0% 100%;--aui-foreground:240 10% 3.9%;--aui-card:0 0% 100%;--aui-card-foreground:240 10% 3.9%;--aui-popover:0 0% 100%;--aui-popover-foreground:240 10% 3.9%;--aui-primary:240 5.9% 10%;--aui-primary-foreground:0 0% 98%;--aui-secondary:240 4.8% 95.9%;--aui-secondary-foreground:240 5.9% 10%;--aui-muted:240 4.8% 95.9%;--aui-muted-foreground:240 3.8% 46.1%;--aui-accent:240 4.8% 95.9%;--aui-accent-foreground:240 5.9% 10%;--aui-destructive:0 84.2% 60.2%;--aui-destructive-foreground:0 0% 98%;--aui-border:240 5.9% 90%;--aui-input:240 5.9% 90%;--aui-ring:240 10% 3.9%;--aui-radius:0.5rem;--aui-thread-max-width:42rem}.dark{--aui-background:0 0% 7%;--aui-foreground:0 0% 98%;--aui-card:240 10% 3.9%;--aui-card-foreground:0 0% 98%;--aui-popover:240 10% 3.9%;--aui-popover-foreground:0 0% 98%;--aui-primary:0 0% 98%;--aui-primary-foreground:240 5.9% 10%;--aui-secondary:240 3.7% 15.9%;--aui-secondary-foreground:0 0% 98%;--aui-muted:240 3.7% 15.9%;--aui-muted-foreground:240 5% 64.9%;--aui-accent:240 3.7% 15.9%;--aui-accent-foreground:0 0% 98%;--aui-destructive:0 62.8% 30.6%;--aui-destructive-foreground:0 0% 98%;--aui-border:240 3.7% 15.9%;--aui-input:240 3.7% 15.9%;--aui-ring:240 4.9% 83.9%}.aui-modal-content{z-index:50;height:500px;width:400px;overflow:clip;border-radius:.75rem;border-width:1px;background-color:hsl(var(--aui-popover));padding:0;color:hsl(var(--aui-popover-foreground));--aui-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--aui-shadow-colored:0 4px 6px -1px var(--aui-shadow-color),0 2px 4px -2px var(--aui-shadow-color);box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow);outline:transparent solid 2px;outline-offset:2px}.aui-modal-content>.aui-thread-root{background-color:inherit}.aui-modal-content[data-state=open]{animation-name:aui-enter;animation-duration:150ms;--aui-enter-opacity:initial;--aui-enter-scale:initial;--aui-enter-rotate:initial;--aui-enter-translate-x:initial;--aui-enter-translate-y:initial;--aui-enter-opacity:0;--aui-enter-scale:0;--aui-enter-translate-y:50%;--aui-enter-translate-x:50%}.aui-modal-content[data-state=closed]{animation-name:aui-exit;animation-duration:150ms;--aui-exit-opacity:initial;--aui-exit-scale:initial;--aui-exit-rotate:initial;--aui-exit-translate-x:initial;--aui-exit-translate-y:initial;--aui-exit-opacity:0;--aui-exit-scale:0;--aui-exit-translate-y:50%;--aui-exit-translate-x:50%}.aui-modal-anchor{position:fixed;bottom:1rem;right:1rem;width:2.75rem;height:2.75rem}.aui-modal-button{width:100%;height:100%;border-radius:9999px;--aui-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);--aui-shadow-colored:0 1px 3px 0 var(--aui-shadow-color),0 1px 2px -1px var(--aui-shadow-color);box-shadow:var(--aui-ring-offset-shadow,0 0 #0000),var(--aui-ring-shadow,0 0 #0000),var(--aui-shadow);transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.aui-modal-button:hover{--aui-scale-x:1.1;--aui-scale-y:1.1;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y))}.aui-modal-button:active{--aui-scale-x:.9;--aui-scale-y:.9;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y))}.aui-modal-button-closed-icon{position:absolute;width:1.5rem;height:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.aui-modal-button-closed-icon[data-state=closed]{--aui-rotate:0deg;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));--aui-scale-x:1;--aui-scale-y:1;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y))}.aui-modal-button-closed-icon[data-state=open]{--aui-rotate:90deg;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));--aui-scale-x:0;--aui-scale-y:0;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y))}.aui-modal-button-open-icon{position:absolute;width:1.5rem;height:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.aui-modal-button-open-icon[data-state=closed]{--aui-rotate:-90deg;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));--aui-scale-x:0;--aui-scale-y:0;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y))}.aui-modal-button-open-icon[data-state=open]{--aui-rotate:0deg;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));--aui-scale-x:1;--aui-scale-y:1;transform:translate(var(--aui-translate-x),var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y))}@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty::after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)::after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(* > li)))::after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(* > li)))::after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child::after,:where(.aui-md[data-status=running])>pre:last-child code::after{animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--aui-content:"\25cf";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem} \ No newline at end of file diff --git a/src/index.css b/src/index.css index 2c9f257..d20295a 100644 --- a/src/index.css +++ b/src/index.css @@ -1,68 +1,6 @@ +/* Make sure this file only has Tailwind directives and your custom CSS */ @tailwind base; @tailwind components; @tailwind utilities; -@layer base { - :root { - --background: 0 0% 100%; - --foreground: 0 0% 3.9%; - --card: 0 0% 100%; - --card-foreground: 0 0% 3.9%; - --popover: 0 0% 100%; - --popover-foreground: 0 0% 3.9%; - --primary: 0 0% 9%; - --primary-foreground: 0 0% 98%; - --secondary: 0 0% 96.1%; - --secondary-foreground: 0 0% 9%; - --muted: 0 0% 96.1%; - --muted-foreground: 0 0% 45.1%; - --accent: 0 0% 96.1%; - --accent-foreground: 0 0% 9%; - --destructive: 0 84.2% 60.2%; - --destructive-foreground: 0 0% 98%; - --border: 0 0% 89.8%; - --input: 0 0% 89.8%; - --ring: 0 0% 3.9%; - --chart-1: 12 76% 61%; - --chart-2: 173 58% 39%; - --chart-3: 197 37% 24%; - --chart-4: 43 74% 66%; - --chart-5: 27 87% 67%; - --radius: 0.5rem - } - .dark { - --background: 0 0% 3.9%; - --foreground: 0 0% 98%; - --card: 0 0% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 0 0% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 0 0% 9%; - --secondary: 0 0% 14.9%; - --secondary-foreground: 0 0% 98%; - --muted: 0 0% 14.9%; - --muted-foreground: 0 0% 63.9%; - --accent: 0 0% 14.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - --border: 0 0% 14.9%; - --input: 0 0% 14.9%; - --ring: 0 0% 83.1%; - --chart-1: 220 70% 50%; - --chart-2: 160 60% 45%; - --chart-3: 30 80% 55%; - --chart-4: 280 65% 60%; - --chart-5: 340 75% 55% - } -} - -@layer base { - * { - @apply border-border outline-ring/50; - } - body { - @apply bg-background text-foreground; - } -} \ No newline at end of file +/* Your custom CSS here */ \ No newline at end of file diff --git a/src/index.tsx b/src/index.tsx index 2b007a3..87f44d9 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,37 +1,55 @@ -import { createRoot } from 'react-dom/client'; -import { App } from './app'; -import { StrictMode } from 'react'; -import type { InitType } from './types'; +// Remove the unused React import since we're using automatic JSX runtime -// Only run this in development -if (import.meta.env.DEV) { - const rootElement = document.getElementById('root'); - console.log('Root element:', rootElement); // Debug +// Add more debugging +console.log('Starting application...'); - if (!rootElement) { - throw new Error('Root element not found'); +function initApp() { + if (import.meta.env.DEV) { + const rootElement = document.getElementById('root'); + console.log('Root element:', rootElement); + + if (!rootElement) { + throw new Error('Root element not found'); + } + + // Import React components + Promise.all([ + import('react-dom/client'), + import('./app'), + import('react') + ]).then(([{ createRoot }, { App }, { StrictMode }]) => { + console.log('React modules loaded'); + + const analyticsData = { + apiKey: "test-api-key", + repoName: "chat-popup", + organization: "Entelligence-AI", + theme: "light" as const, + companyName: "Entelligence AI", + }; + + document.body.classList.add(analyticsData?.theme || 'light'); + const root = createRoot(rootElement); + + console.log('Root created, rendering app...'); + + root.render( + + + + ); + + console.log('App rendered'); + }).catch(error => { + console.error('Error initializing app:', error); + }); } +} - const analyticsData: InitType['analyticsData'] = { - apiKey: "test-api-key", - repoName: "chat-popup", - organization: "Entelligence-AI", - theme: "light", - companyName: "Entelligence AI", - }; - - document.body.classList.add(analyticsData?.theme || 'light'); - - const root = createRoot(rootElement); - - const app = ( - - - - ); - - console.log('Rendering app:', app); // Debug - root.render(app); +try { + initApp(); +} catch (error) { + console.error('Error initializing app:', error); } // Re-export everything from main for the library build diff --git a/src/main-vanilla.tsx b/src/main-vanilla.tsx index 453612a..c9514ea 100644 --- a/src/main-vanilla.tsx +++ b/src/main-vanilla.tsx @@ -1,21 +1,27 @@ import { createRoot } from 'react-dom/client'; import { EntelligenceChat } from './react'; import { InitType } from "./types"; -import './index.css'; const init = ({ analyticsData }: InitType) => { if (typeof window === 'undefined') return; - // Create container and add to body + // Create container with shadow DOM const container = document.createElement('div'); container.id = 'entelligence-chat-root'; container.className = 'entelligence-chat-container'; + + // Create and attach shadow DOM + const shadow = container.attachShadow({ mode: 'open' }); + const shadowContainer = document.createElement('div'); + + shadow.appendChild(shadowContainer); + document.body.appendChild(container); // Initialize React after DOM is ready const initReact = () => { try { - const root = createRoot(container); + const root = createRoot(shadowContainer); root.render(); } catch (err) { console.error('Failed to initialize chat:', err); diff --git a/src/main.tsx b/src/main.tsx index 2489e85..6e356ea 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2,14 +2,12 @@ import { createRoot } from 'react-dom/client'; import { EntelligenceChat } from './react'; import { InitType } from "@/types"; -import './index.css'; - export const init = ({ analyticsData }: InitType) => { const reactContainer = document.createElement('div'); reactContainer.id = 'react-app-container'; document.body.appendChild(reactContainer); - const root = createRoot(reactContainer); + const root = createRoot(reactContainer); root.render(); }; diff --git a/src/polyfills/classnames.js b/src/polyfills/classnames.js new file mode 100644 index 0000000..c85e1b4 --- /dev/null +++ b/src/polyfills/classnames.js @@ -0,0 +1,33 @@ +// Simple polyfill for classnames +function classNames(...args) { + const classes = []; + + args.forEach(arg => { + if (!arg) return; + + const argType = typeof arg; + + if (argType === 'string' || argType === 'number') { + classes.push(arg); + } else if (Array.isArray(arg)) { + if (arg.length) { + const inner = classNames(...arg); + if (inner) { + classes.push(inner); + } + } + } else if (argType === 'object') { + for (const key in arg) { + if (Object.prototype.hasOwnProperty.call(arg, key) && arg[key]) { + classes.push(key); + } + } + } + }); + + return classes.join(' '); +} + +// Export as both default and named export +export default classNames; +export { classNames }; \ No newline at end of file diff --git a/src/polyfills/secure-json-parse.js b/src/polyfills/secure-json-parse.js new file mode 100644 index 0000000..4ba2280 --- /dev/null +++ b/src/polyfills/secure-json-parse.js @@ -0,0 +1,31 @@ +// This is a simplified polyfill for secure-json-parse +// It doesn't have the security features of the original but will work for basic usage + +// Only export one version of parse +function parseImpl(text, reviver) { + try { + return JSON.parse(text, reviver); + } catch (e) { + throw e; + } +} + +// Export as default and named export +export default parseImpl; +export const parse = parseImpl; + +export function parseAsync(text, reviver) { + return Promise.resolve(parseImpl(text, reviver)); +} + +export function safeParse(text, reviver) { + try { + return JSON.parse(text, reviver); + } catch (e) { + return null; + } +} + +export function safeParseAsync(text, reviver) { + return Promise.resolve(safeParse(text, reviver)); +} \ No newline at end of file diff --git a/src/polyfills/util.ts b/src/polyfills/util.ts new file mode 100644 index 0000000..ebc6f5b --- /dev/null +++ b/src/polyfills/util.ts @@ -0,0 +1,25 @@ +export function deprecate(fn: Function, msg: string): Function { + // Simple polyfill for util.deprecate + return function(...args: any[]) { + console.warn('DEPRECATED:', msg); + return fn.apply(this, args); + }; +} + +export function promisify(fn: Function) { + return function(this: any, ...args: any[]): Promise { + return new Promise((resolve, reject) => { + fn.call(this, ...args, (err: Error, result: T) => { + if (err) return reject(err); + resolve(result); + }); + }); + }; +} + +// Add other util functions as needed +export default { + deprecate, + promisify, + // Add other util functions here if needed +}; \ No newline at end of file diff --git a/src/react-shim.js b/src/react-shim.js new file mode 100644 index 0000000..bd9d5eb --- /dev/null +++ b/src/react-shim.js @@ -0,0 +1,8 @@ +// This file ensures React 18.2.0 is used +import React from 'react'; + +// Re-export all React exports +export * from 'react'; + +// Export default React +export default React; \ No newline at end of file diff --git a/src/styles.ts b/src/styles.ts new file mode 100644 index 0000000..4c786a7 --- /dev/null +++ b/src/styles.ts @@ -0,0 +1,16 @@ +import { tailwindStyles } from './styles/tailwind-output'; +import assistantStyles from '@assistant-ui/react/dist/styles/index.css'; +import modalStyles from '@assistant-ui/react/dist/styles/modal.css'; + +// Scope Tailwind styles to the shadow root +const scopedTailwindStyles = `:host { + all: initial; +} + +${tailwindStyles}`; + +export const styles = { + tailwind: scopedTailwindStyles, + assistant: assistantStyles, + modal: modalStyles +}; \ No newline at end of file diff --git a/src/styles/processed.ts b/src/styles/processed.ts new file mode 100644 index 0000000..b0e87c4 --- /dev/null +++ b/src/styles/processed.ts @@ -0,0 +1,15 @@ +// This will contain our processed Tailwind styles +export const processedStyles = ` +/* Base styles */ +*, ::before, ::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb; +} + +/* Add your processed Tailwind styles here */ +.bg-white { background-color: #ffffff; } +.text-black { color: #000000; } +/* ... other necessary styles ... */ +`; \ No newline at end of file diff --git a/src/styles/tailwind-output.ts b/src/styles/tailwind-output.ts new file mode 100644 index 0000000..7a7b018 --- /dev/null +++ b/src/styles/tailwind-output.ts @@ -0,0 +1,793 @@ +export const tailwindStyles = `*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: +} +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: +} +.container { + width: 100% +} +@media (min-width: 640px) { + .container { + max-width: 640px + } +} +@media (min-width: 768px) { + .container { + max-width: 768px + } +} +@media (min-width: 1024px) { + .container { + max-width: 1024px + } +} +@media (min-width: 1280px) { + .container { + max-width: 1280px + } +} +@media (min-width: 1536px) { + .container { + max-width: 1536px + } +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0 +} +.pointer-events-none { + pointer-events: none +} +.collapse { + visibility: collapse +} +.absolute { + position: absolute +} +.relative { + position: relative +} +.right-2 { + right: 0.5rem +} +.top-2 { + top: 0.5rem +} +.z-50 { + z-index: 50 +} +.m-0 { + margin: 0px +} +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem +} +.my-5 { + margin-top: 1.25rem; + margin-bottom: 1.25rem +} +.mb-3 { + margin-bottom: 0.75rem +} +.mb-4 { + margin-bottom: 1rem +} +.mb-5 { + margin-bottom: 1.25rem +} +.mb-8 { + margin-bottom: 2rem +} +.ml-6 { + margin-left: 1.5rem +} +.mt-1 { + margin-top: 0.25rem +} +.mt-2 { + margin-top: 0.5rem +} +.mt-3 { + margin-top: 0.75rem +} +.mt-4 { + margin-top: 1rem +} +.mt-5 { + margin-top: 1.25rem +} +.mt-6 { + margin-top: 1.5rem +} +.mt-8 { + margin-top: 2rem +} +.block { + display: block +} +.flex { + display: flex +} +.inline-flex { + display: inline-flex +} +.table { + display: table +} +.hidden { + display: none +} +.size-4 { + width: 1rem; + height: 1rem +} +.size-6 { + width: 1.5rem; + height: 1.5rem +} +.h-10 { + height: 2.5rem +} +.h-8 { + height: 2rem +} +.h-9 { + height: 2.25rem +} +.h-\[620px\] { + height: 620px +} +.w-9 { + width: 2.25rem +} +.w-\[600px\] { + width: 600px +} +.w-full { + width: 100% +} +.max-w-sm { + max-width: 24rem +} +.flex-shrink { + flex-shrink: 1 +} +.shrink-0 { + flex-shrink: 0 +} +.border-collapse { + border-collapse: collapse +} +.border-separate { + border-collapse: separate +} +.border-spacing-0 { + --tw-border-spacing-x: 0px; + --tw-border-spacing-y: 0px; + border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y) +} +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} +.cursor-not-allowed { + cursor: not-allowed +} +.scroll-m-20 { + scroll-margin: 5rem +} +.list-decimal { + list-style-type: decimal +} +.list-disc { + list-style-type: disc +} +.flex-col { + flex-direction: column +} +.items-end { + align-items: flex-end +} +.items-center { + align-items: center +} +.justify-end { + justify-content: flex-end +} +.justify-center { + justify-content: center +} +.justify-between { + justify-content: space-between +} +.gap-2 { + gap: 0.5rem +} +.gap-4 { + gap: 1rem +} +.overflow-hidden { + overflow: hidden +} +.overflow-x-auto { + overflow-x: auto +} +.overflow-y-auto { + overflow-y: auto +} +.whitespace-nowrap { + white-space: nowrap +} +.rounded { + border-radius: 0.25rem +} +.rounded-lg { + border-radius: var(--radius) +} +.rounded-md { + border-radius: calc(var(--radius) - 2px) +} +.rounded-b-lg { + border-bottom-right-radius: var(--radius); + border-bottom-left-radius: var(--radius) +} +.rounded-t-lg { + border-top-left-radius: var(--radius); + border-top-right-radius: var(--radius) +} +.border { + border-width: 1px +} +.border-b { + border-bottom-width: 1px +} +.border-l { + border-left-width: 1px +} +.border-l-2 { + border-left-width: 2px +} +.border-t { + border-top-width: 1px +} +.border-\[\#4a4a4f\] { + --tw-border-opacity: 1; + border-color: rgb(74 74 79 / var(--tw-border-opacity, 1)) +} +.border-gray-300 { + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity, 1)) +} +.border-input { + border-color: hsl(var(--input)) +} +.bg-\[\#1f1f26\] { + --tw-bg-opacity: 1; + background-color: rgb(31 31 38 / var(--tw-bg-opacity, 1)) +} +.bg-\[\#C7E576\] { + --tw-bg-opacity: 1; + background-color: rgb(199 229 118 / var(--tw-bg-opacity, 1)) +} +.bg-background { + background-color: hsl(var(--background)) +} +.bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)) +} +.bg-destructive { + background-color: hsl(var(--destructive)) +} +.bg-gray-400 { + --tw-bg-opacity: 1; + background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1)) +} +.bg-muted { + background-color: hsl(var(--muted)) +} +.bg-primary { + background-color: hsl(var(--primary)) +} +.bg-secondary { + background-color: hsl(var(--secondary)) +} +.bg-transparent { + background-color: transparent +} +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) +} +.bg-zinc-900 { + --tw-bg-opacity: 1; + background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1)) +} +.p-0 { + padding: 0px +} +.p-1 { + padding: 0.25rem +} +.p-2 { + padding: 0.5rem +} +.p-3 { + padding: 0.75rem +} +.p-4 { + padding: 1rem +} +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem +} +.px-4 { + padding-left: 1rem; + padding-right: 1rem +} +.px-8 { + padding-left: 2rem; + padding-right: 2rem +} +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem +} +.py-1\.5 { + padding-top: 0.375rem; + padding-bottom: 0.375rem +} +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem +} +.pb-3 { + padding-bottom: 0.75rem +} +.pl-6 { + padding-left: 1.5rem +} +.text-left { + text-align: left +} +.text-center { + text-align: center +} +.text-2xl { + font-size: 1.5rem; + line-height: 2rem +} +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem +} +.text-4xl { + font-size: 2.25rem; + line-height: 2.5rem +} +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem +} +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem +} +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem +} +.text-xs { + font-size: 0.75rem; + line-height: 1rem +} +.font-bold { + font-weight: 700 +} +.font-extrabold { + font-weight: 800 +} +.font-medium { + font-weight: 500 +} +.font-semibold { + font-weight: 600 +} +.lowercase { + text-transform: lowercase +} +.italic { + font-style: italic +} +.leading-7 { + line-height: 1.75rem +} +.tracking-tight { + letter-spacing: -0.025em +} +.text-\[\#c7e576\] { + --tw-text-opacity: 1; + color: rgb(199 229 118 / var(--tw-text-opacity, 1)) +} +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity, 1)) +} +.text-destructive-foreground { + color: hsl(var(--destructive-foreground)) +} +.text-gray-300 { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity, 1)) +} +.text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity, 1)) +} +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity, 1)) +} +.text-gray-900 { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity, 1)) +} +.text-muted-foreground { + color: hsl(var(--muted-foreground)) +} +.text-primary { + color: hsl(var(--primary)) +} +.text-primary-foreground { + color: hsl(var(--primary-foreground)) +} +.text-red-500 { + --tw-text-opacity: 1; + color: rgb(239 68 68 / var(--tw-text-opacity, 1)) +} +.text-secondary-foreground { + color: hsl(var(--secondary-foreground)) +} +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity, 1)) +} +.underline { + text-decoration-line: underline +} +.no-underline { + text-decoration-line: none +} +.underline-offset-4 { + text-underline-offset: 4px +} +.placeholder-gray-500::-moz-placeholder { + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1)) +} +.placeholder-gray-500::placeholder { + --tw-placeholder-opacity: 1; + color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1)) +} +.shadow { + --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} +.shadow-md { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} +.shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} +.outline { + outline-style: solid +} +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) +} +.transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms +} +.transition-colors { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms +} + +/* Your custom styles here */ + +.first\:mt-0:first-child { + margin-top: 0px +} + +.first\:rounded-tl-lg:first-child { + border-top-left-radius: var(--radius) +} + +.first\:border-t:first-child { + border-top-width: 1px +} + +.last\:mb-0:last-child { + margin-bottom: 0px +} + +.last\:rounded-tr-lg:last-child { + border-top-right-radius: var(--radius) +} + +.last\:border-r:last-child { + border-right-width: 1px +} + +.hover\:bg-accent:hover { + background-color: hsl(var(--accent)) +} + +.hover\:bg-destructive\/90:hover { + background-color: hsl(var(--destructive) / 0.9) +} + +.hover\:bg-primary\/90:hover { + background-color: hsl(var(--primary) / 0.9) +} + +.hover\:bg-secondary\/80:hover { + background-color: hsl(var(--secondary) / 0.8) +} + +.hover\:text-accent-foreground:hover { + color: hsl(var(--accent-foreground)) +} + +.hover\:text-gray-700:hover { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity, 1)) +} + +.hover\:underline:hover { + text-decoration-line: underline +} + +.hover\:opacity-80:hover { + opacity: 0.8 +} + +.hover\:opacity-90:hover { + opacity: 0.9 +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px +} + +.focus\:ring-2:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) +} + +.focus\:ring-blue-400:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1)) +} + +.focus-visible\:outline-none:focus-visible { + outline: 2px solid transparent; + outline-offset: 2px +} + +.focus-visible\:ring-1:focus-visible { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) +} + +.focus-visible\:ring-ring:focus-visible { + --tw-ring-color: hsl(var(--ring)) +} + +.disabled\:pointer-events-none:disabled { + pointer-events: none +} + +.disabled\:opacity-50:disabled { + opacity: 0.5 +} + +.dark\:text-gray-400:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity, 1)) +} + +.dark\:text-gray-700:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity, 1)) +} + +.dark\:placeholder-gray-400:is(.dark *)::-moz-placeholder { + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1)) +} + +.dark\:placeholder-gray-400:is(.dark *)::placeholder { + --tw-placeholder-opacity: 1; + color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1)) +} + +.hover\:dark\:text-gray-300:is(.dark *):hover { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity, 1)) +} + +@media (min-width: 768px) { + .md\:block { + display: block + } +} + +.\[\&\:last-child\>td\:first-child\]\:rounded-bl-lg:last-child>td:first-child { + border-bottom-left-radius: var(--radius) +} + +.\[\&\:last-child\>td\:last-child\]\:rounded-br-lg:last-child>td:last-child { + border-bottom-right-radius: var(--radius) +} + +.\[\&\>a\]\:text-xs>a { + font-size: 0.75rem; + line-height: 1rem +} + +.\[\&\>a\]\:no-underline>a { + text-decoration-line: none +} + +.\[\&\>li\]\:mt-2>li { + margin-top: 0.5rem +} + +.\[\&\>span\]\:text-xs>span { + font-size: 0.75rem; + line-height: 1rem +} + +.\[\&\[align\=center\]\]\:text-center[align=center] { + text-align: center +} + +.\[\&\[align\=right\]\]\:text-right[align=right] { + text-align: right +} + +.\[\&_svg\]\:pointer-events-none svg { + pointer-events: none +} + +.\[\&_svg\]\:size-4 svg { + width: 1rem; + height: 1rem +} + +.\[\&_svg\]\:shrink-0 svg { + flex-shrink: 0 +}`; \ No newline at end of file diff --git a/src/types/react.d.ts b/src/types/react.d.ts new file mode 100644 index 0000000..5c77a77 --- /dev/null +++ b/src/types/react.d.ts @@ -0,0 +1,9 @@ +import { FC } from 'react'; +import { InitType } from './types'; + +export interface EntelligenceChatProps { + analyticsData: InitType['analyticsData']; +} + +export declare const EntelligenceChat: FC; +export { InitType }; diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 11f02fe..0f8fedd 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -1 +1,9 @@ /// + +interface ImportMetaEnv { + readonly DEV: boolean +} + +interface ImportMeta { + readonly env: ImportMetaEnv +} diff --git a/tailwind.config.js b/tailwind.config.js index 0f78a71..654c3b4 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,59 +1,66 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - darkMode: ["class"], - content: [ - "./src/**/*.{js,jsx,ts,tsx}", + darkMode: ['class'], + content: [ + './src/**/*.{ts,tsx}', + './index.html', ], theme: { - extend: { - borderRadius: { - lg: 'var(--radius)', - md: 'calc(var(--radius) - 2px)', - sm: 'calc(var(--radius) - 4px)' - }, - colors: { - background: 'hsl(var(--background))', - foreground: 'hsl(var(--foreground))', - card: { - DEFAULT: 'hsl(var(--card))', - foreground: 'hsl(var(--card-foreground))' - }, - popover: { - DEFAULT: 'hsl(var(--popover))', - foreground: 'hsl(var(--popover-foreground))' - }, - primary: { - DEFAULT: 'hsl(var(--primary))', - foreground: 'hsl(var(--primary-foreground))' - }, - secondary: { - DEFAULT: 'hsl(var(--secondary))', - foreground: 'hsl(var(--secondary-foreground))' - }, - muted: { - DEFAULT: 'hsl(var(--muted))', - foreground: 'hsl(var(--muted-foreground))' - }, - accent: { - DEFAULT: 'hsl(var(--accent))', - foreground: 'hsl(var(--accent-foreground))' - }, - destructive: { - DEFAULT: 'hsl(var(--destructive))', - foreground: 'hsl(var(--destructive-foreground))' - }, - border: 'hsl(var(--border))', - input: 'hsl(var(--input))', - ring: 'hsl(var(--ring))', - chart: { - '1': 'hsl(var(--chart-1))', - '2': 'hsl(var(--chart-2))', - '3': 'hsl(var(--chart-3))', - '4': 'hsl(var(--chart-4))', - '5': 'hsl(var(--chart-5))' - } - } - } + extend: { + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)', + }, + colors: { + background: 'hsl(var(--background))', + foreground: 'hsl(var(--foreground))', + card: { + DEFAULT: 'hsl(var(--card))', + foreground: 'hsl(var(--card-foreground))', + }, + popover: { + DEFAULT: 'hsl(var(--popover))', + foreground: 'hsl(var(--popover-foreground))', + }, + primary: { + DEFAULT: 'hsl(var(--primary))', + foreground: 'hsl(var(--primary-foreground))', + }, + secondary: { + DEFAULT: 'hsl(var(--secondary))', + foreground: 'hsl(var(--secondary-foreground))', + }, + muted: { + DEFAULT: 'hsl(var(--muted))', + foreground: 'hsl(var(--muted-foreground))', + }, + accent: { + DEFAULT: 'hsl(var(--accent))', + foreground: 'hsl(var(--accent-foreground))', + }, + destructive: { + DEFAULT: 'hsl(var(--destructive))', + foreground: 'hsl(var(--destructive-foreground))', + }, + border: 'hsl(var(--border))', + input: 'hsl(var(--input))', + ring: 'hsl(var(--ring))', + chart: { + 1: 'hsl(var(--chart-1))', + 2: 'hsl(var(--chart-2))', + 3: 'hsl(var(--chart-3))', + 4: 'hsl(var(--chart-4))', + 5: 'hsl(var(--chart-5))', + }, + }, + borderColor: { + border: 'hsl(var(--border))', + }, + }, }, - plugins: [require("tailwindcss-animate")], -} \ No newline at end of file + plugins: [ + require('tailwindcss-animate'), + require('@assistant-ui/react/tailwindcss'), + ] +}; diff --git a/tailwind.config.ts b/tailwind.config.ts index 86fddd4..194951c 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,4 +1,5 @@ export default { + darkMode: ["class"], content: [ './src/app/**/*.{js,ts,jsx,tsx,mdx}', ], diff --git a/tsconfig.build.json b/tsconfig.build.json index 8052df6..46d8713 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,9 +1,11 @@ { "extends": "./tsconfig.json", - "exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.test.tsx"], "compilerOptions": { + "outDir": "dist/types", "declaration": true, - "declarationDir": "./dist/types", - "emitDeclarationOnly": true - } + "emitDeclarationOnly": true, + "noEmit": false + }, + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"] } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 64a86ff..3bd900c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,15 +1,14 @@ { "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2022", "DOM"], + "target": "ES2022", + "lib": ["ES2022", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, "moduleResolution": "bundler", "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, - "noEmit": false, + "noEmit": true, "jsx": "react-jsx", "strict": true, "noUnusedLocals": true, @@ -20,8 +19,11 @@ "emitDeclarationOnly": true, "baseUrl": ".", "paths": { - "@/*": ["src/*"] - } + "@/*": ["src/*"], + "react": ["./node_modules/@types/react"] + }, + "types": ["react", "react-dom"], + "noImplicitThis": false }, "include": ["src"], diff --git a/tsconfig.node.json b/tsconfig.node.json index ea4c027..1a555ac 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -1,24 +1,12 @@ { "compilerOptions": { - "target": "ES2022", - "lib": ["ES2023"], - "module": "ESNext", + "composite": true, "skipLibCheck": true, - - /* Bundler mode */ + "module": "ESNext", "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "isolatedModules": true, - "moduleDetection": "force", - - /* Linting */ + "allowSyntheticDefaultImports": true, "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - - "composite": true, - "allowSyntheticDefaultImports": true + "types": ["node"] }, "include": ["vite.config.ts"] } diff --git a/vite.config.css.ts b/vite.config.css.ts new file mode 100644 index 0000000..487bf04 --- /dev/null +++ b/vite.config.css.ts @@ -0,0 +1,52 @@ +import { defineConfig } from 'vite'; +import { resolve } from 'path'; +import fs from 'fs'; +import CleanCSS from 'clean-css'; + +// Read the combined CSS +const combinedCSS = fs.readFileSync('src/combined.css', 'utf-8'); + +// Minify the CSS +const minified = new CleanCSS({ + level: 2, + compatibility: '*', + sourceMap: process.env.NODE_ENV === 'development' +}).minify(combinedCSS); + +// Write minified CSS to dist folders +const writeMinifiedCSS = () => { + // Ensure directories exist + fs.mkdirSync('dist/react', { recursive: true }); + fs.mkdirSync('dist/vanilla', { recursive: true }); + + // Write to both dist folders + fs.writeFileSync('dist/react/style.css', minified.styles); + fs.writeFileSync('dist/vanilla/style.css', minified.styles); + + console.log(`CSS minified and written to dist folders`); + console.log(`Original size: ${combinedCSS.length} bytes`); + console.log(`Minified size: ${minified.styles.length} bytes`); + console.log(`Efficiency: ${((1 - minified.styles.length / combinedCSS.length) * 100).toFixed(2)}% reduction`); +}; + +writeMinifiedCSS(); + +export default defineConfig({ + build: { + cssCodeSplit: true, + rollupOptions: { + input: resolve(__dirname, 'src/combined.css'), + output: { + assetFileNames: 'style.css' + } + } + }, + css: { + postcss: { + plugins: [ + require('tailwindcss'), + require('autoprefixer') + ] + } + } +}); \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 2fb5ca7..6c22623 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,12 +3,14 @@ import react from '@vitejs/plugin-react'; import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js'; import { resolve } from 'path'; import dts from 'vite-plugin-dts'; +import commonjs from '@rollup/plugin-commonjs'; +import fs from 'fs'; // https://vitejs.dev/config/ -export default defineConfig(({ mode }) => { +export default defineConfig(({ mode }: { mode: string }) => { const isReactBuild = mode === 'react'; - - const config = { + + const config: UserConfig = { define: { 'process.env.NODE_ENV': JSON.stringify( process.env.NODE_ENV || 'development' @@ -17,8 +19,18 @@ export default defineConfig(({ mode }) => { }, resolve: { alias: { - '@': resolve(__dirname, './src'), + '@': resolve(__dirname, './src'), + 'style-to-js': resolve(__dirname, 'node_modules/style-to-js'), + 'style-to-js/cjs/index.js': resolve(__dirname, 'node_modules/style-to-js/cjs/index.js'), + 'style-to-js/cjs': resolve(__dirname, 'node_modules/style-to-js/cjs'), + 'debug': resolve(__dirname, 'node_modules/debug/src/browser.js'), + 'extend': resolve(__dirname, 'node_modules/extend/index.js'), + 'util': resolve(__dirname, 'src/polyfills/util.ts'), + 'secure-json-parse': resolve(__dirname, 'src/polyfills/secure-json-parse.js'), + 'classnames': resolve(__dirname, 'src/polyfills/classnames.js'), }, + dedupe: ['react', 'react-dom'], + mainFields: ['module', 'jsnext:main', 'jsnext', 'main'], }, build: { minify: 'esbuild', @@ -26,82 +38,133 @@ export default defineConfig(({ mode }) => { emptyOutDir: false, outDir: isReactBuild ? 'dist/react' : 'dist/vanilla', lib: { - entry: isReactBuild + entry: isReactBuild ? resolve(__dirname, 'src/react/index.ts') : resolve(__dirname, 'src/main-vanilla.tsx'), name: 'EntelligenceChat', formats: ['es', 'umd'], - fileName: (format) => `entelligence-chat${isReactBuild ? '-react' : ''}.${format}.js` + fileName: (format: string) => + `entelligence-chat${isReactBuild ? '-react' : ''}.${format}.js`, }, rollupOptions: { - external: isReactBuild - ? [ - 'react', - 'react-dom', - 'react/jsx-runtime', - '@assistant-ui/react-markdown', - '@emotion/react', - '@emotion/styled' - ] - : [], + external: ['react', 'react-dom', '@emotion/react', '@emotion/styled'], output: { - ...(isReactBuild ? { - globals: { - react: 'React', - 'react-dom': 'ReactDOM', - 'react/jsx-runtime': 'ReactJSXRuntime', - '@assistant-ui/react-markdown': 'AssistantUIReactMarkdown', - '@emotion/react': 'emotionReact', - '@emotion/styled': 'emotionStyled' - } - } : { - name: 'EntelligenceChat', - format: 'umd', - exports: 'named' - }) + globals: { + react: 'React', + 'react-dom': 'ReactDOM', + '@emotion/react': 'emotionReact', + '@emotion/styled': 'emotionStyled' + }, + interop: 'auto' } }, - cssCodeSplit: false, - target: 'esnext', - reportCompressedSize: false, + commonjsOptions: { + include: [/node_modules/], + transformMixedEsModules: true, + defaultIsModuleExports: true, + requireReturnsDefault: true, + esmExternals: true + } }, css: { - postcss: { - plugins: [ - require('tailwindcss'), - require('autoprefixer'), - ], - }, - modules: { - generateScopedName: '[name]__[local]___[hash:base64:5]', - }, - }, - optimizeDeps: { - exclude: ['@assistant-ui/react-markdown'], - }, + postcss: false, + modules: false, + preprocessorOptions: {}, + }, plugins: [ - react(), + cssInjectedByJsPlugin({ + topExecutionPriority: true, + processRelativeUrls: true, + injectCode: (cssText) => { + return fs.readFileSync('dist/vanilla/style.css', 'utf-8'); + } + }), + react({ + jsxRuntime: 'automatic', + jsxImportSource: 'react', + }), + commonjs({ + requireReturnsDefault: true, + transformMixedEsModules: true, + esmExternals: true, + include: [ + /node_modules/, + /@assistant-ui/, + ] + }), dts({ include: ['src'], exclude: ['src/**/*.test.ts', 'src/**/*.test.tsx'], - outDir: isReactBuild ? 'dist/types/react' : 'dist/types', rollupTypes: true, insertTypesEntry: true, + compilerOptions: { + baseUrl: '.', + paths: { + '@/*': ['./src/*'] + } + }, }), - cssInjectedByJsPlugin({ - jsAssetsFilterFunction: (asset) => true, // Include all CSS - topExecutionPriority: true, - }), + { + name: 'empty-css', + enforce: 'pre', + load(id: string) { + if (id.endsWith('.css') && !id.endsWith('.tsx') && !id.endsWith('.ts') && !id.endsWith('.js')) { + return 'export default {}'; + } + return null; + } + }, + { + name: 'disable-css-processing', + configResolved(resolvedConfig: UserConfig) { + const cssPlugin = resolvedConfig.plugins?.find((p: any) => p.name === 'vite:css'); + if (cssPlugin) { + cssPlugin.transform = (code: string, id: string) => { + if (id.endsWith('.css') && !id.endsWith('.tsx') && !id.endsWith('.ts') && !id.endsWith('.js')) { + return { code: 'export default {}' }; + } + return null; + }; + } + } + }, + { + name: 'fix-typescript-errors', + transform(code: string, id: string) { + if (id.endsWith('util.ts')) { + return code.replace( + 'return fn.apply(this, args);', + 'return fn.apply(this as any, args);' + ); + } + return null; + } + }, ].filter(Boolean), server: { port: 5173, open: true, host: true, - hmr: { - overlay: true, + hmr: true, + fs: { + allow: ['.'] + } + }, + root: '.', + publicDir: 'public', + assetsInclude: ['**/*.css'], + optimizeDeps: { + include: [ + '@assistant-ui/react', + 'react', + 'react-dom', + 'react/jsx-runtime' + ], + esbuildOptions: { + target: 'es2020', }, }, - } as UserConfig; + }; return config; });