diff --git a/packages/ui/components.json b/packages/ui/components.json new file mode 100644 index 00000000..7723b5bc --- /dev/null +++ b/packages/ui/components.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "base-nova", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/styles/globals.css", + "baseColor": "zinc", + "cssVariables": true + }, + "iconLibrary": "hugeicons", + "aliases": { + "components": "@multica/ui/components", + "utils": "@multica/ui/lib/utils", + "hooks": "@multica/ui/hooks", + "lib": "@multica/ui/lib", + "ui": "@multica/ui/components" + } +} diff --git a/packages/ui/package.json b/packages/ui/package.json new file mode 100644 index 00000000..9be8b054 --- /dev/null +++ b/packages/ui/package.json @@ -0,0 +1,32 @@ +{ + "name": "@multica/ui", + "version": "0.1.0", + "private": true, + "type": "module", + "exports": { + "./globals.css": "./src/styles/globals.css", + "./postcss.config": "./postcss.config.mjs", + "./lib/*": "./src/lib/*.ts", + "./components/*": "./src/components/*.tsx", + "./hooks/*": "./src/hooks/*.ts" + }, + "dependencies": { + "@base-ui/react": "^1.1.0", + "@hugeicons/core-free-icons": "^3.1.1", + "@hugeicons/react": "^1.1.4", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "shadcn": "^3.7.0", + "tailwind-merge": "^3.4.0", + "tailwindcss": "^4", + "tw-animate-css": "^1.4.0" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/react": "^19", + "@types/react-dom": "^19", + "typescript": "^5" + } +} diff --git a/packages/ui/postcss.config.mjs b/packages/ui/postcss.config.mjs new file mode 100644 index 00000000..4ae682d8 --- /dev/null +++ b/packages/ui/postcss.config.mjs @@ -0,0 +1,6 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { "@tailwindcss/postcss": {} }, +}; + +export default config; diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts new file mode 100644 index 00000000..83ecf197 --- /dev/null +++ b/packages/ui/src/index.ts @@ -0,0 +1,2 @@ +// This package uses subpath exports. +// Import like: @multica/ui/lib/utils, @multica/ui/components/button diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json new file mode 100644 index 00000000..3155609d --- /dev/null +++ b/packages/ui/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "outDir": "./dist", + "rootDir": "./src", + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"], + "@multica/ui/*": ["./src/*"] + } + }, + "include": ["src"] +}