Skip to content

Galaxy UIUniversal Component Library

Beautiful, accessible components for Vue, React, Angular, React Native, and Flutter - from web to mobile

Galaxy UI

Quick Start

bash
# Initialize your project
npx galaxy-design@latest init

# Add components
npx galaxy-design@latest add button input dialog
bash
# Initialize your project
pnpm dlx galaxy-design@latest init

# Add components
pnpm dlx galaxy-design@latest add button input dialog
bash
# Initialize your project
yarn dlx galaxy-design@latest init

# Add components
yarn dlx galaxy-design@latest add button input dialog
bash
# Initialize your project
bunx galaxy-design@latest init

# Add components
bunx galaxy-design@latest add button input dialog

Platform Support

Web Frameworks

vue
<script setup lang="ts">
import { Button } from '@/components/ui/button'
</script>

<template>
  <Button variant="default">Click me</Button>
</template>
tsx
import { Button } from "@/components/ui/button"

export default function App() {
  return <Button variant="default">Click me</Button>
}
typescript
import { Component } from '@angular/core';
import { ButtonComponent } from '@/components/ui/button';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [ButtonComponent],
  template: `<ui-button variant="default">Click me</ui-button>`
})
export class AppComponent {}

Mobile Platforms

tsx
import { Button } from '@/components/ui/button'

export default function App() {
  return (
    <Button variant="default">
      <ButtonText>Click me</ButtonText>
    </Button>
  )
}
dart
import 'package:flutter/material.dart';
import 'package:your_app/components/ui/button.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Button(
      variant: ButtonVariant.defaultVariant,
      onPressed: () {},
      child: Text('Click me'),
    );
  }
}

Why Galaxy UI?

🎯 Universal Platform Support

Choose your favorite framework - web or mobile. We support Vue 3, React, Angular, React Native, and Flutter with the same beautiful components.

📱 Web to Mobile

197 component implementations across 5 platforms:

  • Web: 41 components × 3 frameworks = 123 implementations (Vue 3, React 18+, Angular 18+)
  • Mobile: 37 components × 2 platforms = 74 implementations (React Native with NativeWind v4, Flutter with Material 3)

🔓 You Own The Code

Unlike npm packages, you copy the component code directly into your project. Modify it as you need. No version conflicts. No black-box dependencies.

♿ Accessibility First

Built on battle-tested Radix primitives for web (Radix UI, Radix Vue, Radix NG). WCAG 2.1 compliant with keyboard navigation, focus management, and screen reader support.

🎨 Fully Customizable

Every component uses Tailwind CSS with CSS variables (web), NativeWind v4 (React Native), or Material 3 theming (Flutter). Easy to customize colors, spacing, and styles to match your brand.

Inspired By The Best

Galaxy UI stands on the shoulders of giants:

Author

Created by Bùi Trọng Hiếu (kevinbui)

License

MIT © 2025 Bùi Trọng Hiếu (kevinbui)

Released under the MIT License.