The official marketing and documentation website for Unping UI, a Web & Desktop first Flutter component library.
π Live Website: unping-ui.com
Unping UI is a Flutter component library designed with a Web & Desktop first approach, providing beautiful, accessible, and highly customizable UI components for Flutter applications.
Key Features:
- π± Web & Desktop First - Optimized for web and desktop platforms
- π¨ Design System - Comprehensive design tokens and foundation
- π§© Copy & Paste Ready - Components you can easily add to your project
- π§ Highly Customizable - Flexible theming and styling options
- β Well Tested - Comprehensive test coverage
- π Widgetbook Integration - Live component documentation
This website is built with:
- β‘ Vite - Lightning fast dev server and build tool
- βοΈ React 18 - Modern React with hooks and concurrent features
- π¨ Unping-UI Design System - Mirrored design tokens from the Flutter library
- π§© shadcn/ui Components - Beautiful, accessible UI components
- π― Tailwind CSS - Utility-first CSS framework with custom Unping-UI configuration
- π Appwrite - Backend-as-a-service (optional for future features)
- π± Responsive Design - Mobile-first approach
- π Dark Mode Ready - Built-in dark/light theme support
This website mirrors the Unping-UI design system from the Flutter library, featuring:
- Primary: Sophisticated blue palette (
primary-25toprimary-950) - Neutral: Refined gray scale (
neutral-25toneutral-950) - Success: Green palette for positive actions
- Warning: Amber palette for cautions
- Error: Red palette for destructive actions
- Display sizes:
2xl(72px) toxs(24px) for hero headings - Heading sizes:
xl(30px) toxs(16px) for section titles - Body sizes:
xl(20px) toxs(12px) for content text - Font weights:
thin(100) toblack(900)
Consistent spacing scale: 0.5 (2px) to 480 (1920px)
xs(4px),sm(8px),md(12px),lg(16px),xl(28px),xxl(32px),full(9999px)
- Node.js 18+
- npm, yarn, or pnpm
# Clone the repository
git clone https://github.com/unping/unping-ui-website.git
cd unping-ui-website
# Install dependencies
npm install
# Or with yarn
yarn install
# Or with pnpm
pnpm installFor Appwrite integration (if needed for future features):
- Create a
.envfile based on.env.example(if it exists) - Configure Appwrite credentials:
VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=your_project_id_here
VITE_APPWRITE_DATABASE_ID=your_database_id
VITE_APPWRITE_COLLECTION_ID=your_collection_idnpm run devVisit http://localhost:5173 to see the website!
βββ src/
β βββ components/
β β βββ ui/ # shadcn/ui components + custom components
β β βββ button.tsx
β β βββ card.tsx
β β βββ alert.tsx
β β βββ badge.tsx
β β βββ avatar.tsx
β β βββ dialog.tsx
β β βββ dropdown-menu.tsx
β β βββ navigation-menu.tsx
β β βββ select.tsx
β β βββ separator.tsx
β β βββ tabs.tsx
β β βββ tooltip.tsx
β β βββ sonner.tsx
β β βββ background-beams.tsx
β β βββ container-text-flip.tsx
β β βββ dot-background.tsx
β β βββ glowing-effect.tsx
β β βββ text-hover-effect.tsx
β βββ lib/
β β βββ appwrite.ts # Appwrite configuration (optional)
β β βββ foundation.ts # Unping-UI design tokens
β β βββ utils.ts # Utility functions
β βββ pages/
β β βββ Imprint.tsx # Legal/imprint page
β βββ App.tsx # Main application component
β βββ main.tsx # React entry point
β βββ index.css # Global styles with design tokens
βββ public/ # Static assets (icons, manifest)
βββ appwrite.json # Appwrite project configuration
βββ README.md
β βββ App.tsx # Main application component β βββ main.tsx # React entry point β βββ index.css # Global styles βββ public/ # Static assets βββ appwrite.json # Appwrite project configuration βββ README.md
## π¨ Available Components
This website includes several UI components:
### shadcn/ui Components
- **Alert** - Information and warning messages
- **Avatar** - User profile images
- **Badge** - Status indicators and labels
- **Button** - Various styles and sizes
- **Card** - Content containers with header, body, footer
- **Dialog** - Modal dialogs and overlays
- **Dropdown Menu** - Context menus and dropdowns
- **Navigation Menu** - Main navigation components
- **Select** - Dropdown selection inputs
- **Separator** - Visual dividers
- **Tabs** - Tabbed content sections
- **Tooltip** - Contextual help text
- **Sonner** - Toast notifications
### Custom Components
- **Background Beams** - Animated background effects
- **Container Text Flip** - Animated text transitions
- **Dot Background** - Dotted pattern backgrounds
- **Glowing Effect** - Interactive glow animations
- **Text Hover Effect** - Text animation on hover
### Adding More shadcn/ui Components
To add more components from shadcn/ui:
```bash
# Add components using shadcn/ui CLI
npx shadcn-ui@latest add input
npx shadcn-ui@latest add form
npx shadcn-ui@latest add table
The website uses Unping-UI design tokens defined in src/lib/foundation.ts. These mirror the Flutter library's design system:
import { UiColors, UiTextStyles, UiSpacing, UiBorderRadius } from './lib/foundation'Customize the theme in src/index.css using CSS custom properties:
:root {
--primary: 221.2 83.2% 53.3%;
--primary-foreground: 210 40% 98%;
--neutral-950: 12 6% 15%;
/* ... other design tokens */
}The tailwind.config.js extends the default configuration with Unping-UI design tokens:
- Custom color palette
- Typography scale
- Spacing system
- Border radius values
- Responsive breakpoints
# Build the website
npm run build
# Preview production build locally
npm run previewThe built files will be in the dist/ directory.
The website is currently hosted on Appwrite. Deployment is automated via GitHub Actions when pushing to the main branch.
npm install -g vercel
vercelnpm run build
# Upload dist/ folder to Netlifynpm run build
# Upload dist/ contents to any web servernpm run dev- Start development server with hot reloadnpm run build- Build for production (TypeScript compilation + Vite build)npm run preview- Preview production build locallynpm run lint- Run ESLint with TypeScript support
- Unping UI Flutter Library: GitHub
- Live Component Demo: Widgetbook
- Flutter Package: pub.dev
- FPX CLI Tool: GitHub - For easy component installation
Contributions to improve the website are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
MIT License - This website is open source and free to use.
- Unping UI Documentation: unping-ui.com
- Widgetbook: widgetbook.unping-ui.com
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Vite Documentation
- React Documentation
- shadcn/ui Documentation
- Tailwind CSS Documentation
- Appwrite Documentation (optional features)
Built with β€οΈ for the Flutter community π