From a8d37bd1038e9834fa6126b5327abc295008e799 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sun, 29 Mar 2026 00:19:45 -0700 Subject: [PATCH] =?UTF-8?q?feat(ui):=20add=20Sidebar,=20StatCard,=20Loadin?= =?UTF-8?q?gSpinner=20components=20+=20README=20docs=20=E2=80=94=20Level?= =?UTF-8?q?=203=20component=20coverage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/ui/README.md | 239 ++++++++++++++++++ packages/ui/package.json | 5 +- packages/ui/src/components/LoadingSpinner.tsx | 35 +++ packages/ui/src/components/Sidebar.tsx | 110 ++++++++ packages/ui/src/components/StatCard.tsx | 65 +++++ packages/ui/src/index.ts | 8 + 6 files changed, 461 insertions(+), 1 deletion(-) create mode 100644 packages/ui/README.md create mode 100644 packages/ui/src/components/LoadingSpinner.tsx create mode 100644 packages/ui/src/components/Sidebar.tsx create mode 100644 packages/ui/src/components/StatCard.tsx diff --git a/packages/ui/README.md b/packages/ui/README.md new file mode 100644 index 00000000..2437fdaf --- /dev/null +++ b/packages/ui/README.md @@ -0,0 +1,239 @@ +# @bytelyst/ui + +Shared component library for the ByteLyst ecosystem. Built with Radix UI primitives, Lucide icons, and CSS custom properties from `@bytelyst/design-tokens`. + +## Install + +```bash +pnpm add @bytelyst/ui +``` + +Peer dependencies: `react`, `react-dom`. + +## Components (15) + +### Button + +5 variants (`primary`, `secondary`, `ghost`, `destructive`, `outline`), 3 sizes, loading state with spinner. + +```tsx +import { Button } from '@bytelyst/ui'; + + + + +``` + +### Input + +Text input with error/success states. Supports `aria-invalid` automatically when `error` is truthy. + +```tsx +import { Input } from '@bytelyst/ui'; + + + +``` + +### Textarea + +Auto-resize textarea with error states. + +```tsx +import { Textarea } from '@bytelyst/ui'; + +