From d3fc8a0e6811d97d0e4cae6638bab7f329d9f170 Mon Sep 17 00:00:00 2001 From: ahmadshaheer Date: Sun, 22 Jun 2025 11:13:16 +0430 Subject: [PATCH 1/5] feat: breadcrumb component basic UI --- packages/breadcrumb/.eslintrc.js | 4 + packages/breadcrumb/.gitignore | 2 + packages/breadcrumb/components.json | 19 + packages/breadcrumb/package.json | 57 + packages/breadcrumb/postcss.config.js | 5 + packages/breadcrumb/src/breadcrumb.tsx | 112 + packages/breadcrumb/src/index.css | 2 + packages/breadcrumb/src/lib/utils.ts | 6 + packages/breadcrumb/tsconfig.json | 12 + packages/breadcrumb/tsup.config.ts | 13 + pnpm-lock.yaml | 14592 +++++++++++++---------- 11 files changed, 8298 insertions(+), 6526 deletions(-) create mode 100644 packages/breadcrumb/.eslintrc.js create mode 100644 packages/breadcrumb/.gitignore create mode 100644 packages/breadcrumb/components.json create mode 100644 packages/breadcrumb/package.json create mode 100644 packages/breadcrumb/postcss.config.js create mode 100644 packages/breadcrumb/src/breadcrumb.tsx create mode 100644 packages/breadcrumb/src/index.css create mode 100644 packages/breadcrumb/src/lib/utils.ts create mode 100644 packages/breadcrumb/tsconfig.json create mode 100644 packages/breadcrumb/tsup.config.ts diff --git a/packages/breadcrumb/.eslintrc.js b/packages/breadcrumb/.eslintrc.js new file mode 100644 index 00000000..003e695c --- /dev/null +++ b/packages/breadcrumb/.eslintrc.js @@ -0,0 +1,4 @@ +/** @type {import("eslint").Linter.Config} */ +export default { + extends: ['@repo/eslint-config/react.js'], +}; diff --git a/packages/breadcrumb/.gitignore b/packages/breadcrumb/.gitignore new file mode 100644 index 00000000..f06235c4 --- /dev/null +++ b/packages/breadcrumb/.gitignore @@ -0,0 +1,2 @@ +node_modules +dist diff --git a/packages/breadcrumb/components.json b/packages/breadcrumb/components.json new file mode 100644 index 00000000..dd053426 --- /dev/null +++ b/packages/breadcrumb/components.json @@ -0,0 +1,19 @@ +{ + "style": "new-york", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "@signozhq/tailwind-config/tailwind.config.js", + "css": "src/index.css", + "baseColor": "zinc", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "src", + "lib": "@/lib", + "hooks": "@/hooks" + } +} diff --git a/packages/breadcrumb/package.json b/packages/breadcrumb/package.json new file mode 100644 index 00000000..2d0fd24b --- /dev/null +++ b/packages/breadcrumb/package.json @@ -0,0 +1,57 @@ +{ + "name": "@signozhq/breadcrumb", + "version": "0.0.0", + "license": "MIT", + "type": "module", + "exports": { + ".": { + "types": "./dist/breadcrumb.d.ts", + "import": "./dist/breadcrumb.js" + } + }, + "main": "./dist/breadcrumb.js", + "module": "./dist/breadcrumb.js", + "types": "./dist/breadcrumb.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "tsup", + "dev": "tsup --watch", + "lint": "eslint . --max-warnings 0", + "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" + }, + "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "@signozhq/tailwind-config": "workspace:*", + "@tailwindcss/postcss": "^4.1.3", + "@types/node": "^22.5.5", + "@types/react": "^18.2.61", + "@types/react-dom": "^18.2.19", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^9.11.0", + "postcss": "^8.4.47", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "tailwindcss": "^4.1.3", + "tsup": "^8.0.0", + "typescript": "^5.3.3" + }, + "dependencies": { + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-slot": "^1.2.3", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "lucide-react": "^0.445.0", + "tailwind-merge": "^2.5.2", + "tailwindcss-animate": "^1.0.7" + }, + "peerDependencies": { + "react": "^18.2.0" + }, + "publishConfig": { + "access": "public" + }, + "description": "A new package" +} diff --git a/packages/breadcrumb/postcss.config.js b/packages/breadcrumb/postcss.config.js new file mode 100644 index 00000000..1970487b --- /dev/null +++ b/packages/breadcrumb/postcss.config.js @@ -0,0 +1,5 @@ +export default { + plugins: { + '@tailwindcss/postcss': {}, + }, +}; diff --git a/packages/breadcrumb/src/breadcrumb.tsx b/packages/breadcrumb/src/breadcrumb.tsx new file mode 100644 index 00000000..cabc13a1 --- /dev/null +++ b/packages/breadcrumb/src/breadcrumb.tsx @@ -0,0 +1,112 @@ +import './index.css'; +import * as React from 'react'; +import { Slot } from '@radix-ui/react-slot'; +import { cn } from './lib/utils'; +import { DotsHorizontalIcon } from '@radix-ui/react-icons'; + +function Breadcrumb({ ...props }: React.ComponentProps<'nav'>) { + return