diff --git a/apps/studio-prototype/.eslintrc.json b/apps/studio-prototype/.eslintrc.json new file mode 100644 index 00000000000..bffb357a712 --- /dev/null +++ b/apps/studio-prototype/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/apps/studio-prototype/.gitignore b/apps/studio-prototype/.gitignore new file mode 100644 index 00000000000..fd3dbb571a1 --- /dev/null +++ b/apps/studio-prototype/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/apps/studio-prototype/README.md b/apps/studio-prototype/README.md new file mode 100644 index 00000000000..c4033664f80 --- /dev/null +++ b/apps/studio-prototype/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/studio-prototype/next.config.mjs b/apps/studio-prototype/next.config.mjs new file mode 100644 index 00000000000..cba8eaa88bf --- /dev/null +++ b/apps/studio-prototype/next.config.mjs @@ -0,0 +1,6 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + transpilePackages: ['ui', 'common', 'shared-data', 'icons', 'tsconfig'], +} + +export default nextConfig diff --git a/apps/studio-prototype/package.json b/apps/studio-prototype/package.json new file mode 100644 index 00000000000..0c3e4c638d7 --- /dev/null +++ b/apps/studio-prototype/package.json @@ -0,0 +1,30 @@ +{ + "name": "studio-prototype", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --port 3004", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "react": "^18", + "react-dom": "^18", + "next": "14.2.4", + "jotai": "^2.8.0", + "lucide-react": "^0.338.0", + "ui": "*" + }, + "devDependencies": { + "typescript": "^5", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "eslint": "^8", + "eslint-config-next": "14.2.4", + "config": "*" + } +} diff --git a/apps/studio-prototype/postcss.config.mjs b/apps/studio-prototype/postcss.config.mjs new file mode 100644 index 00000000000..1a69fd2a450 --- /dev/null +++ b/apps/studio-prototype/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/apps/studio-prototype/public/next.svg b/apps/studio-prototype/public/next.svg new file mode 100644 index 00000000000..5174b28c565 --- /dev/null +++ b/apps/studio-prototype/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/studio-prototype/public/vercel.svg b/apps/studio-prototype/public/vercel.svg new file mode 100644 index 00000000000..d2f84222734 --- /dev/null +++ b/apps/studio-prototype/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/studio-prototype/src/app/Providers.tsx b/apps/studio-prototype/src/app/Providers.tsx new file mode 100644 index 00000000000..be3bdf78611 --- /dev/null +++ b/apps/studio-prototype/src/app/Providers.tsx @@ -0,0 +1,18 @@ +'use client' + +import * as React from 'react' +import { Provider as JotaiProvider } from 'jotai' +import { ThemeProvider as NextThemesProvider } from 'next-themes' +import { ThemeProviderProps } from 'next-themes/dist/types' + +import { TooltipProvider_Shadcn_ } from 'ui' + +export function ThemeProvider({ children, ...props }: ThemeProviderProps) { + return ( + + + {children} + + + ) +} diff --git a/apps/studio-prototype/src/app/[org]/layout.tsx b/apps/studio-prototype/src/app/[org]/layout.tsx new file mode 100644 index 00000000000..f13790a36bd --- /dev/null +++ b/apps/studio-prototype/src/app/[org]/layout.tsx @@ -0,0 +1,18 @@ +import SideNav from './side-nav' +import TopHeader from './top-header' + +export default function OrgLayout({ + children, +}: Readonly<{ + children: React.ReactNode +}>) { + return ( +
+ +
+ +
{children}
+
+
+ ) +} diff --git a/apps/studio-prototype/src/app/[org]/page.tsx b/apps/studio-prototype/src/app/[org]/page.tsx new file mode 100644 index 00000000000..94b1891de6d --- /dev/null +++ b/apps/studio-prototype/src/app/[org]/page.tsx @@ -0,0 +1,12 @@ +// page + +import { Button } from 'ui' + +export default function Page() { + return ( +
+ + hello im page +
+ ) +} diff --git a/apps/studio-prototype/src/app/[org]/side-nav.tsx b/apps/studio-prototype/src/app/[org]/side-nav.tsx new file mode 100644 index 00000000000..a713e895eef --- /dev/null +++ b/apps/studio-prototype/src/app/[org]/side-nav.tsx @@ -0,0 +1,13 @@ +export default function SideNav() { + return ( +
+
+ SM +
+
+ ) +} diff --git a/apps/studio-prototype/src/app/[org]/top-header.tsx b/apps/studio-prototype/src/app/[org]/top-header.tsx new file mode 100644 index 00000000000..2b2cdb81e2d --- /dev/null +++ b/apps/studio-prototype/src/app/[org]/top-header.tsx @@ -0,0 +1,34 @@ +import { ChevronsUpDown, Slash } from 'lucide-react' +import { Button } from 'ui' + +export default function TopHeader() { + const buttonType = 'default' + const showSlashes = false + + return ( +
+
+ + {showSlashes && } + + + {showSlashes && } + +
+
+ ) +} diff --git a/apps/studio-prototype/src/app/favicon.ico b/apps/studio-prototype/src/app/favicon.ico new file mode 100644 index 00000000000..718d6fea483 Binary files /dev/null and b/apps/studio-prototype/src/app/favicon.ico differ diff --git a/apps/studio-prototype/src/app/globals.css b/apps/studio-prototype/src/app/globals.css new file mode 100644 index 00000000000..46f0d288caa --- /dev/null +++ b/apps/studio-prototype/src/app/globals.css @@ -0,0 +1,33 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@import './../../../../packages/ui/build/css/source/global.css'; +@import './../../../../packages/ui/build/css/themes/dark.css'; +@import './../../../../packages/ui/build/css/themes/deep-dark.css'; +@import './../../../../packages/ui/build/css/themes/light.css'; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + +body { + @apply bg-200; + color: rgb(var(--foreground-rgb)); +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} diff --git a/apps/studio-prototype/src/app/layout.tsx b/apps/studio-prototype/src/app/layout.tsx new file mode 100644 index 00000000000..d738376441d --- /dev/null +++ b/apps/studio-prototype/src/app/layout.tsx @@ -0,0 +1,31 @@ +import type { Metadata } from 'next' +import { Inter } from 'next/font/google' +import './globals.css' +import { ThemeProvider } from './Providers' + +const inter = Inter({ subsets: ['latin'] }) + +export const metadata: Metadata = { + title: 'Create Next App', + description: 'Generated by create next app', +} + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode +}>) { + return ( + + + + {children} + + + + ) +} diff --git a/apps/studio-prototype/src/app/page.tsx b/apps/studio-prototype/src/app/page.tsx new file mode 100644 index 00000000000..2acfd440d7c --- /dev/null +++ b/apps/studio-prototype/src/app/page.tsx @@ -0,0 +1,113 @@ +import Image from "next/image"; + +export default function Home() { + return ( +
+
+

+ Get started by editing  + src/app/page.tsx +

+
+ + By{" "} + Vercel Logo + +
+
+ +
+ Next.js Logo +
+ +
+ +

+ Docs{" "} + + -> + +

+

+ Find in-depth information about Next.js features and API. +

+
+ + +

+ Learn{" "} + + -> + +

+

+ Learn about Next.js in an interactive course with quizzes! +

+
+ + +

+ Templates{" "} + + -> + +

+

+ Explore starter templates for Next.js. +

+
+ + +

+ Deploy{" "} + + -> + +

+

+ Instantly deploy your Next.js site to a shareable URL with Vercel. +

+
+
+
+ ); +} diff --git a/apps/studio-prototype/tailwind.config.ts b/apps/studio-prototype/tailwind.config.ts new file mode 100644 index 00000000000..8071791796a --- /dev/null +++ b/apps/studio-prototype/tailwind.config.ts @@ -0,0 +1,23 @@ +const config = require('config/tailwind.config') + +module.exports = config({ + content: [ + './app/**/*.{js,ts,jsx,tsx}', + './src/pages/**/*.{js,ts,jsx,tsx,mdx}', + './src/components/**/*.{js,ts,jsx,tsx,mdx}', + './src/app/**/*.{js,ts,jsx,tsx,mdx}', + './components/**/*.{js,ts,jsx,tsx}', + './registry/**/*.{js,ts,jsx,tsx}', + // purge styles from grid library + // + './../../packages/ui/src/**/*.{tsx,ts,js}', + './../../packages/ui-patterns/**/*.{tsx,ts,js}', + ], + theme: { + extend: { + maxWidth: { + site: '128rem', + }, + }, + }, +}) diff --git a/apps/studio-prototype/tsconfig.base.json b/apps/studio-prototype/tsconfig.base.json new file mode 100644 index 00000000000..d72a9f3a278 --- /dev/null +++ b/apps/studio-prototype/tsconfig.base.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", + "compilerOptions": { + "composite": false, + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "inlineSources": false, + "isolatedModules": true, + "moduleResolution": "node", + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "skipLibCheck": true, + "strict": true + }, + "exclude": ["node_modules"] +} diff --git a/apps/studio-prototype/tsconfig.json b/apps/studio-prototype/tsconfig.json new file mode 100644 index 00000000000..7dcbbf6d634 --- /dev/null +++ b/apps/studio-prototype/tsconfig.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "tsconfig/base.json", + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "baseUrl": ".", + "paths": { + "@/*": ["./*"], + "@ui/*": ["./../../packages/ui/src/*"], // handle ui package paths + "contentlayer/generated": ["./.contentlayer/generated"] + }, + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".contentlayer/generated", + "./../../packages/ui/src/**/*.d.ts" + ], + "exclude": ["node_modules", "./scripts/build-registry.mts"] +} diff --git a/package-lock.json b/package-lock.json index b60df10462b..768aa54b727 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1360,6 +1360,28 @@ "typescript": "^5.4.3" } }, + "apps/studio-prototype": { + "version": "0.1.0", + "dependencies": { + "jotai": "^2.8.0", + "lucide-react": "^0.338.0", + "next": "14.2.4", + "react": "^18", + "react-dom": "^18", + "ui": "*" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "config": "*", + "eslint": "^8", + "eslint-config-next": "14.2.4", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } + }, "apps/studio/node_modules/@heroicons/react": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.1.3.tgz", @@ -8778,9 +8800,9 @@ } }, "node_modules/@next/env": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", - "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", + "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" }, "node_modules/@next/eslint-plugin-next": { "version": "14.2.4", @@ -8819,9 +8841,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", - "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", + "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", "cpu": [ "arm64" ], @@ -8834,9 +8856,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", + "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", "cpu": [ "x64" ], @@ -8849,9 +8871,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", + "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", "cpu": [ "arm64" ], @@ -8864,9 +8886,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", + "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", "cpu": [ "arm64" ], @@ -8879,9 +8901,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", + "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", "cpu": [ "x64" ], @@ -8894,9 +8916,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", + "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", "cpu": [ "x64" ], @@ -8909,9 +8931,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", + "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", "cpu": [ "arm64" ], @@ -8924,9 +8946,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", + "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", "cpu": [ "ia32" ], @@ -8939,9 +8961,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", + "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", "cpu": [ "x64" ], @@ -31345,11 +31367,11 @@ "license": "MIT" }, "node_modules/next": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", - "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "version": "14.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", + "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", "dependencies": { - "@next/env": "14.2.3", + "@next/env": "14.2.4", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -31364,15 +31386,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.3", - "@next/swc-darwin-x64": "14.2.3", - "@next/swc-linux-arm64-gnu": "14.2.3", - "@next/swc-linux-arm64-musl": "14.2.3", - "@next/swc-linux-x64-gnu": "14.2.3", - "@next/swc-linux-x64-musl": "14.2.3", - "@next/swc-win32-arm64-msvc": "14.2.3", - "@next/swc-win32-ia32-msvc": "14.2.3", - "@next/swc-win32-x64-msvc": "14.2.3" + "@next/swc-darwin-arm64": "14.2.4", + "@next/swc-darwin-x64": "14.2.4", + "@next/swc-linux-arm64-gnu": "14.2.4", + "@next/swc-linux-arm64-musl": "14.2.4", + "@next/swc-linux-x64-gnu": "14.2.4", + "@next/swc-linux-x64-musl": "14.2.4", + "@next/swc-win32-arm64-msvc": "14.2.4", + "@next/swc-win32-ia32-msvc": "14.2.4", + "@next/swc-win32-x64-msvc": "14.2.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -38101,6 +38123,10 @@ "resolved": "apps/studio", "link": true }, + "node_modules/studio-prototype": { + "resolved": "apps/studio-prototype", + "link": true + }, "node_modules/style-dictionary": { "version": "3.8.0", "dev": true, diff --git a/packages/ui/build/css/themes/concept-two.css b/packages/ui/build/css/themes/concept-two.css new file mode 100644 index 00000000000..e60a2ee68bd --- /dev/null +++ b/packages/ui/build/css/themes/concept-two.css @@ -0,0 +1,65 @@ +[data-theme='concept-two'], +.concept-two { + --helpers-os-appearance: Dark; + --code-block-5: 0deg 0% 100%; + --code-block-4: 0deg 0% 100%; + --code-block-3: 0deg 0% 100%; + --code-block-2: 0deg 0% 100%; + --code-block-1: 0deg 0% 100%; + --secondary-default: 21deg 90.4% 59%; + --secondary-400: 20deg 93.2% 40.4%; + --secondary-200: 17.7deg 78.9% 27.8%; + --brand-link: 163.9deg 53.2% 15.1%; + --brand-button: 175.6deg 61.8% 21.6%; + --brand-default: 163.9deg 53.2% 15.1%; + --brand-600: 156.3deg 59.5% 70%; + --brand-500: 175.6deg 61.8% 21.6%; + --brand-400: 176deg 65.2% 13.5%; + --brand-300: 176.3deg 69.6% 9%; + --brand-200: 175deg 75% 6.3%; + --warning-default: 41.2deg 67.5% 48.2%; + --warning-600: 41deg 80.6% 42.4%; + --warning-500: 39.7deg 70.3% 19.8%; + --warning-400: 38.8deg 69.9% 14.3%; + --warning-300: 41.8deg 60% 10.8%; + --warning-200: 60deg 42.1% 7.5%; + --destructive-default: 10.2deg 77.9% 53.9%; + --destructive-600: 9.7deg 85.2% 62.9%; + --destructive-500: 7.9deg 71.6% 29%; + --destructive-400: 6.7deg 60% 20.6%; + --destructive-300: 7.5deg 51.3% 15.3%; + --destructive-200: 10.9deg 23.4% 9.2%; + --border-button-hover: 180deg 4.9% 23.9%; + --border-button-default: 180deg 7.3% 16.1%; + --border-stronger: 180deg 4.9% 23.9%; + --border-strong: 180deg 7.3% 16.1%; + --border-alternative: 165deg 40% 2%; + --border-control: 180deg 7.3% 16.1%; + --border-overlay: 160deg 7.3% 8%; + --border-secondary: 180deg 17.1% 8%; + --border-muted: 170deg 20% 5.9%; + --border-default: 150deg 13% 9%; + --background-dash-canvas: 180deg 20% 2%; + --background-dash-sidebar: 180deg 20% 2%; + --background-dialog-default: 180deg 20% 2%; + --background-button-default: 154.3deg 14.3% 9.6%; + --background-muted: 160deg 12% 4.9%; + --background-overlay-hover: 168deg 5.2% 19%; + --background-overlay-default: 168deg 9.8% 10%; + --background-surface-400: 154.3deg 14.3% 9.6%; + --background-surface-300: 154.3deg 14.3% 9.6%; + --background-surface-200: 160deg 12% 4.9%; + --background-surface-100: 160deg 23.1% 2.5%; + --background-surface-75: 0deg 0% 100%; + --background-control: 180deg 9.9% 13.9%; + --background-selection: 165deg 8.7% 9%; + --background-alternative-default: 165deg 40% 2%; + --background-alternative-200: 0deg 0% 5.5%; + --background-default: 180deg 20% 2%; + --background-200: 180deg 20% 2%; + --foreground-contrast: 156deg 33.3% 2.9%; + --foreground-muted: 162deg 8.5% 23.1%; + --foreground-lighter: 180deg 6.7% 47.1%; + --foreground-light: 180deg 7.5% 63.5%; + --foreground-default: 0deg 0% 100%; +} diff --git a/packages/ui/build/css/themes/dark.css b/packages/ui/build/css/themes/dark.css index 27367de1ed6..267ae5a31dd 100644 --- a/packages/ui/build/css/themes/dark.css +++ b/packages/ui/build/css/themes/dark.css @@ -29,6 +29,7 @@ --destructive-400: 6.7deg 60% 20.6%; --destructive-300: 7.5deg 51.3% 15.3%; --destructive-200: 10.9deg 23.4% 9.2%; + --background-dash-sidebar: 0deg 0% 11%; --background-dialog-default: 0deg 0% 11%; --background-surface-75: 0deg 0% 12.5%; --background-200: 0deg 0% 11%; @@ -43,6 +44,7 @@ --border-secondary: var(--colors-gray-dark-500); --border-muted: var(--colors-gray-dark-500); --border-default: var(--colors-gray-dark-600); + --background-dash-canvas: var(--colors-gray-dark-200); --background-button-default: var(--colors-gray-dark-500); --background-muted: var(--colors-gray-dark-400); --background-overlay-hover: var(--colors-gray-dark-500); diff --git a/packages/ui/build/css/themes/deep-dark.css b/packages/ui/build/css/themes/deep-dark.css index ce1fff2bf3b..462189135e9 100644 --- a/packages/ui/build/css/themes/deep-dark.css +++ b/packages/ui/build/css/themes/deep-dark.css @@ -30,13 +30,15 @@ --destructive-300: 7.5deg 51.3% 15.3%; --destructive-200: 10.9deg 23.4% 9.2%; --border-stronger: 0deg 0% 22%; - --border-strong: 0deg 0% 20%; + --border-strong: 0deg 0% 21.2%; --border-alternative: 0deg 0% 26.7%; --border-control: 0deg 0% 22.4%; --border-overlay: 0deg 0% 20%; --border-secondary: 0deg 0% 14.1%; --border-muted: 0deg 0% 14.1%; --border-default: 0deg 0% 16.1%; + --background-dash-canvas: 0deg 0% 7.1%; + --background-dash-sidebar: 0deg 0% 9%; --background-dialog-default: 0deg 0% 7.1%; --background-muted: 0deg 0% 14.1%; --background-overlay-hover: 0deg 0% 18%; diff --git a/packages/ui/build/css/themes/light.css b/packages/ui/build/css/themes/light.css index 1450f69c67c..355e540e151 100644 --- a/packages/ui/build/css/themes/light.css +++ b/packages/ui/build/css/themes/light.css @@ -52,6 +52,8 @@ --border-overlay: var(--colors-gray-light-500); --border-secondary: var(--colors-gray-light-400); --border-muted: var(--colors-gray-light-400); + --background-dash-canvas: var(--colors-gray-light-200); + --background-dash-sidebar: var(--colors-gray-light-100); --background-button-default: var(--colors-gray-light-100); --background-overlay-hover: var(--colors-gray-light-300); --background-overlay-default: var(--colors-gray-light-100); diff --git a/packages/ui/build/css/tw-extend/color.js b/packages/ui/build/css/tw-extend/color.js index 0cd2028ea30..249e95ce6ed 100644 --- a/packages/ui/build/css/tw-extend/color.js +++ b/packages/ui/build/css/tw-extend/color.js @@ -483,6 +483,14 @@ module.exports = { cssVariable: "var(--background-dialog-default)", value: "hsl(0, 0%, 7.1%)" }, +"background-dash-sidebar": { + cssVariable: "var(--background-dash-sidebar)", + value: "hsl(0, 0%, 9%)" +}, +"background-dash-canvas": { + cssVariable: "var(--background-dash-canvas)", + value: "hsl(0, 0%, 7.1%)" +}, "border-DEFAULT": { cssVariable: "var(--border-default)", value: "hsl(0, 0%, 16.1%)" @@ -509,7 +517,7 @@ module.exports = { }, "border-strong": { cssVariable: "var(--border-strong)", - value: "hsl(0, 0%, 20%)" + value: "hsl(0, 0%, 21.2%)" }, "border-stronger": { cssVariable: "var(--border-stronger)", diff --git a/packages/ui/src/lib/tailwind-demo-classes.ts b/packages/ui/src/lib/tailwind-demo-classes.ts index d8673159670..3312dbf86cc 100644 --- a/packages/ui/src/lib/tailwind-demo-classes.ts +++ b/packages/ui/src/lib/tailwind-demo-classes.ts @@ -15,7 +15,9 @@ export default { "bg-overlay-hover", "bg-muted", "bg-button", - "bg-dialog" + "bg-dialog", + "bg-dash-sidebar", + "bg-dash-canvas" ], "border": [ "border",