
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@bitcoin-os/ui-kit
Advanced tools
Unified design system and component library for the Bitcoin OS ecosystem. Provides consistent theming, authentication, and UI components across all Bitcoin applications.
npm install @bitcoin-os/ui-kit
import { ThemeProvider, AuthProvider } from '@bitcoin-os/ui-kit'
function App() {
return (
<ThemeProvider>
<AuthProvider>
<YourApp />
</AuthProvider>
</ThemeProvider>
)
}
import { CleanTaskbar, useTheme, useAuth } from '@bitcoin-os/ui-kit'
function YourApp() {
const { theme, setTheme, isDarkMode, toggleDarkMode } = useTheme()
const { user, isAuthenticated, login, logout } = useAuth()
return (
<div>
<CleanTaskbar
onSettingsClick={() => console.log('Settings')}
onProfileClick={() => console.log('Profile')}
/>
{/* Your app content */}
</div>
)
}
A minimal, macOS-style taskbar for Bitcoin OS applications.
<CleanTaskbar
showThemeToggle={true}
showUserMenu={true}
onSettingsClick={() => openSettings()}
onProfileClick={() => openProfile()}
/>
import { useTheme } from '@bitcoin-os/ui-kit'
function ThemeSelector() {
const { applyPreset, themePresets } = useTheme()
return (
<div>
<button onClick={() => applyPreset('dark')}>Dark Theme</button>
<button onClick={() => applyPreset('light')}>Light Theme</button>
<button onClick={() => applyPreset('orange')}>Orange Theme</button>
<button onClick={() => applyPreset('green')}>Green Theme</button>
<button onClick={() => applyPreset('purple')}>Purple Theme</button>
</div>
)
}
import { useTheme } from '@bitcoin-os/ui-kit'
function CustomTheme() {
const { setTheme } = useTheme()
const applyCustomTheme = () => {
setTheme({
colors: {
primary: '#ff6500',
accent: '#ffd700',
background: '#1a1a1a'
}
})
}
return <button onClick={applyCustomTheme}>Apply Custom Theme</button>
}
import { useAuth } from '@bitcoin-os/ui-kit'
function LoginForm() {
const { login, logout, isAuthenticated, user } = useAuth()
const handleLogin = async () => {
try {
await login('user@example.com', 'password')
} catch (error) {
console.error('Login failed:', error)
}
}
if (isAuthenticated) {
return (
<div>
Welcome, {user?.username}!
<button onClick={logout}>Logout</button>
</div>
)
}
return <button onClick={handleLogin}>Login</button>
}
import { useAuth } from '@bitcoin-os/ui-kit'
function SubscriptionCheck({ appId }: { appId: string }) {
const { hasSubscription, hasPermission } = useAuth()
if (!hasSubscription(appId)) {
return <div>Please subscribe to access this app</div>
}
if (!hasPermission(appId, 'read')) {
return <div>Insufficient permissions</div>
}
return <div>Access granted!</div>
}
Full TypeScript support with comprehensive type definitions:
import type {
BitcoinOSTheme,
BitcoinOSUser,
BitcoinOSAuth,
UserSubscription
} from '@bitcoin-os/ui-kit'
const customTheme: Partial<BitcoinOSTheme> = {
colors: {
primary: '#f7931a',
secondary: '#2d2d2d'
}
}
<ThemeProvider
initialTheme={customTheme}
storageKey="my-app-theme"
>
<App />
</ThemeProvider>
<AuthProvider
apiBaseUrl="/api/v1"
storageKey="my-app-auth"
>
<App />
</AuthProvider>
# Install dependencies
npm install
# Start development
npm run dev
# Build package
npm run build
# Run tests
npm test
# Start Storybook
npm run storybook
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the Open BSV License v5 - see the LICENSE file for details.
Built with ❤️ by The Bitcoin Corporation LTD
FAQs
Complete Bitcoin OS UI Kit with authentication, desktop environment, and OS-style interface components
The npm package @bitcoin-os/ui-kit receives a total of 1 weekly downloads. As such, @bitcoin-os/ui-kit popularity was classified as not popular.
We found that @bitcoin-os/ui-kit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.