UI Components

45 Components

Pre-built, customizable React components organized by service. Drop-in components with default styling and full theme customization.

Like Clerk, but for everything

Our components follow the same patterns as Clerk — self-contained, themeable, and ready to use. Each service has its own set of pre-built components.

Installation

All UI components are included in the SDK. Import what you need:

import {
  // Auth
  SignInForm, SignUpForm, UserProfile,

  // Billing
  BillingSection, InvoiceHistory,

  // AI
  ChatInterface, ModelSelector,

  // Analytics
  AnalyticsDashboard, StatsCard,

  // ... and more
} from '@sylphx/platform-sdk/react'

Components by Service

Click on any service to see detailed documentation for its components.

Quick Reference

All 45 components at a glance:

ComponentServiceDocs
<SignInForm />AuthenticationView →
<SignUpForm />AuthenticationView →
<UserProfile />AuthenticationView →
<SecuritySettings />AuthenticationView →
<AccountSection />AuthenticationView →
<OAuthButtons />AuthenticationView →
<BillingSection />BillingView →
<InvoiceHistory />BillingView →
<PaymentMethodManager />BillingView →
<UsageOverview />BillingView →
<ChatInterface />AIView →
<ChatBubble />AIView →
<ChatInput />AIView →
<ModelSelector />AIView →
<ModelCard />AIView →
<ModelGrid />AIView →
<AnalyticsDashboard />AnalyticsView →
<EventViewer />AnalyticsView →
<StatsCard />AnalyticsView →
<StatsGrid />AnalyticsView →
<SimpleChart />AnalyticsView →
<FileUpload />StorageView →
<ImageUploader />StorageView →
<AvatarUpload />StorageView →
<JobScheduler />Background JobsView →
<JobList />Background JobsView →
<CronBuilder />Background JobsView →
<PushPrompt />Push NotificationsView →
<NotificationBell />Push NotificationsView →
<NotificationList />Push NotificationsView →
<FeatureGate />Feature FlagsView →
<FeatureVariant />Feature FlagsView →
<FeatureValue />Feature FlagsView →
<FlagDevTools />Feature FlagsView →
<CookieBanner />Privacy & ConsentView →
<ConsentPreferences />Privacy & ConsentView →
<ErrorBoundary />Error TrackingView →
<SylphxErrorBoundary />Error TrackingView →
<FeedbackWidget />Error TrackingView →
<WebhookManager />WebhooksView →
<WebhookDeliveryLog />WebhooksView →
<OrganizationProfile />OrganizationsView →
<CreateOrganization />OrganizationsView →
<OrganizationList />OrganizationsView →
<ReferralCard />ReferralsView →

Theming

All components support theming via the theme prop.

import {
  SignInForm,
  defaultTheme,
  darkTheme,
  type ThemeVariables
} from '@sylphx/platform-sdk/react'

// Use built-in themes
<SignInForm theme={darkTheme} />

// Custom theme
const myTheme: ThemeVariables = {
  ...defaultTheme,
  colorPrimary: '#6366f1',
  colorBackground: '#fafafa',
  fontFamily: 'Inter, sans-serif',
  borderRadius: '0.75rem',
}

<SignInForm theme={myTheme} />

Theme Variables

PropertyTypeDescription
colorPrimarystring= #000000Primary brand color
colorBackgroundstring= #ffffffBackground color
colorTextstring= #1f2937Primary text color
colorMutedForegroundstring= #6b7280Secondary text color
colorBorderstring= #e5e7ebBorder color
colorDestructivestring= #ef4444Error/destructive color
colorSuccessstring= #22c55eSuccess state color
colorWarningstring= #f59e0bWarning state color
fontFamilystring= system-uiFont family
fontSizestring= 14pxBase font size
borderRadiusstring= 0.5remBorder radius

Common Patterns

With Provider

Components work best inside the Sylphx Provider, which provides authentication context and theme:

app/layout.tsx
import { SylphxProvider } from '@sylphx/platform-sdk/react'

export default function RootLayout({ children }) {
  return (
    <SylphxProvider
      appId={process.env.NEXT_PUBLIC_SYLPHX_APP_ID!}
      environment={process.env.NEXT_PUBLIC_SYLPHX_ENV as 'development' | 'staging' | 'production'}
    >
      {children}
    </SylphxProvider>
  )
}

Standalone Usage

Components can also be used standalone by passing required props:

import { ChatInterface } from '@sylphx/platform-sdk/react'

// Without provider - pass config directly
<ChatInterface
  apiKey={process.env.NEXT_PUBLIC_SYLPHX_KEY}
  model="gpt-4o"
  systemPrompt="You are a helpful assistant"
/>

Ready to build?

Start with authentication or explore the service that fits your needs.