Esc

Type to search across all documentation pages...

/ Developer Docs
Feedback Docs Home Landing Page Log in

Getting Started with WildwoodComponents

A comprehensive guide to installing, configuring, and using WildwoodComponents across .NET, React, React Native, and Node.js.

What is WildwoodComponents?

WildwoodComponents is a cross-platform component library that provides pre-built, production-ready UI components for common application features. Instead of building authentication screens, AI chat interfaces, payment forms, and messaging UIs from scratch, you drop in a WildwoodComponent and connect it to a WildwoodAPI backend.

The library is available for .NET Blazor, React, React Native, and Node.js, with a shared core SDK that ensures consistent behavior across all platforms.

The library includes components for:

  • Authentication — Login, registration, password reset, two-factor authentication, passkey/WebAuthn, and OAuth provider integration
  • AI Chat — Conversational AI interfaces with text-to-speech, speech-to-text, and session management
  • Secure Messaging — Encrypted messaging between users with real-time delivery
  • Payments — Stripe, PayPal, Apple Pay, and Google Pay with embedded scripts (no external CDN required)
  • Subscriptions — Subscription plan management and billing
  • Notifications — In-app notification display and management
  • Theming — Built-in theme system with CSS custom properties (Blazor/React) or StyleSheet themes (React Native)

Platform Support

WildwoodComponents is available across multiple frameworks and platforms:

.NET

Platform Hosting Model Status
Blazor Server Server-side rendering with SignalR Fully supported
Blazor WebAssembly Client-side in the browser Fully supported
MAUI - iOS .NET MAUI Blazor Hybrid Fully supported
MAUI - Android .NET MAUI Blazor Hybrid Fully supported
MAUI - Windows .NET MAUI Blazor Hybrid Fully supported
MAUI - macOS .NET MAUI Blazor Hybrid (Mac Catalyst) Fully supported

JavaScript / TypeScript

Package Platform Status
@wildwood/core Framework-agnostic TypeScript SDK (browser + Node.js) Fully supported
@wildwood/react React hooks + components Fully supported
@wildwood/react-native React Native components (iOS + Android) Fully supported
@wildwood/node Express middleware + server-side SDK Fully supported

Prerequisites

Before you begin, make sure you have:

  • .NET 9 SDK or later — WildwoodComponents targets net10.0 but is compatible with .NET 9+. Download from dotnet.microsoft.com.
  • A WildwoodAPI instance — The components communicate with a WildwoodAPI backend. You need the base URL of a running instance.
  • An AppId — Each client application registered in WildwoodAPI has a unique AppId to scope components to your application.

Before you begin, make sure you have:

  • Node.js 18+ — Required for the native fetch API used by the core SDK.
  • React 18+ — WildwoodComponents uses modern React features including hooks and context.
  • pnpm, npm, or yarn — Any package manager works. Examples use pnpm.
  • A WildwoodAPI instance — The components communicate with a WildwoodAPI backend. You need the base URL of a running instance.
  • An AppId — Each client application registered in WildwoodAPI has a unique AppId to scope components to your application.

Before you begin, make sure you have:

  • React Native 0.72+ — Or Expo SDK 49+.
  • React 18+ — WildwoodComponents uses modern React features including hooks and context.
  • pnpm, npm, or yarn — Any package manager works.
  • A WildwoodAPI instance — The components communicate with a WildwoodAPI backend. You need the base URL of a running instance.
  • An AppId — Each client application registered in WildwoodAPI has a unique AppId to scope components to your application.

Before you begin, make sure you have:

  • Node.js 18+ — Required for the native fetch API used by the core SDK.
  • Express 4+ or 5+ — The middleware is designed for Express, but the core SDK works standalone.
  • A WildwoodAPI instance — The SDK communicates with a WildwoodAPI backend. You need the base URL of a running instance.
  • An API Key — Server-side usage requires an API key (never expose this to client-side code).
Tip: If you are running the full Wildwood Platform locally, the API is typically available at https://localhost:7046. Check your launchSettings.json for the exact port.

Quick Start

# Install the NuGet package
dotnet add package WildwoodComponents.Blazor
// Program.cs - Register services
builder.Services.AddWildwoodComponents(options =>
{
    options.BaseUrl = "https://localhost:7046";
    options.AppId = "your-app-id";
});

<AuthenticationComponent
    AppId="your-app-id"
    OnAuthenticationSuccess="HandleSuccess" />
# Install packages
pnpm add @wildwood/core @wildwood/react
// App.tsx - Wrap with provider
import { WildwoodProvider, AuthenticationComponent } from '@wildwood/react';

function App() {
  return (
    <WildwoodProvider config={{
      baseUrl: 'https://localhost:7046',
      appId: 'your-app-id',
    }}>
      <AuthenticationComponent
        onAuthenticationSuccess={(resp) => console.log('Logged in!', resp)}
      />
    </WildwoodProvider>
  );
}
# Install packages
pnpm add @wildwood/core @wildwood/react-native
// App.tsx - Wrap with provider
import { WildwoodProvider, AuthenticationComponent } from '@wildwood/react-native';

function App() {
  return (
    <WildwoodProvider config={{
      baseUrl: 'https://your-api.example.com',
      appId: 'your-app-id',
      storage: 'asyncStorage',
    }}>
      <AuthenticationComponent
        onAuthenticationSuccess={(resp) => navigation.navigate('Home')}
      />
    </WildwoodProvider>
  );
}
# Install packages
pnpm add @wildwood/core @wildwood/node
// server.ts - Express middleware
import express from 'express';
import { createAuthMiddleware } from '@wildwood/node';

const app = express();

const auth = createAuthMiddleware({
  baseUrl: 'https://localhost:7046',
  apiKey: process.env.WILDWOOD_API_KEY!,
});

app.use('/api', auth);
app.get('/api/profile', (req, res) => {
  res.json(req.wildwoodUser);
});

What This Section Covers

The Getting Started section walks you through four steps:

  1. Overview (this page) — What WildwoodComponents is, platform support, and prerequisites.
  2. Installation — Adding the package, CSS, JavaScript, and namespace imports to your project.
  3. Service Registration — Registering WildwoodComponents services in your DI container or wrapping with a Provider.
  4. Your First Component — Dropping in the AuthenticationComponent and handling login events.
Estimated time: You can go from zero to a working authentication screen in about 10 minutes.

Architecture at a Glance

Every Blazor WildwoodComponent inherits from BaseWildwoodComponent, which provides automatic error handling, loading state management, theme integration, and safe JavaScript interop.

Your App (Blazor/MAUI)
  |
  +-- WildwoodComponents (UI layer)
  |     |-- AuthenticationComponent
  |     |-- AIChatComponent
  |     |-- PaymentComponent
  |     |-- ...
  |
  +-- WildwoodComponents Services (HTTP layer)
  |     |-- IAuthenticationService
  |     |-- IAIService
  |     |-- IPaymentService
  |     |-- IWildwoodSessionManager
  |     |-- ...
  |
  +-- WildwoodAPI (backend)
        |-- JWT Authentication
        |-- Multi-tenant data isolation
        |-- AI provider orchestration
        |-- Payment processing
        |-- ...

The JavaScript SDK uses a layered architecture: a framework-agnostic @wildwood/core handles all API communication and state, while @wildwood/react and @wildwood/react-native provide thin UI wrappers with hooks and components.

Your App (React / React Native)
  |
  +-- @wildwood/react or @wildwood/react-native (UI layer)
  |     |-- WildwoodProvider (React Context)
  |     |-- AuthenticationComponent
  |     |-- AIChatComponent
  |     |-- Hooks: useAuth, useAI, usePayment, ...
  |
  +-- @wildwood/core (SDK layer)
  |     |-- WildwoodClient (main entry point)
  |     |-- client.auth, client.ai, client.payment, ...
  |     |-- SessionManager (token refresh, storage)
  |     |-- EventEmitter (authChanged, sessionExpired)
  |
  +-- WildwoodAPI (backend)
        |-- JWT Authentication
        |-- Multi-tenant data isolation
        |-- AI provider orchestration
        |-- Payment processing
        |-- ...

The Node.js SDK provides Express middleware for JWT validation and API proxying, plus a server-side admin client built on @wildwood/core.

Your Server (Express / Node.js)
  |
  +-- @wildwood/node (middleware layer)
  |     |-- authMiddleware (JWT validation)
  |     |-- proxyMiddleware (API proxying)
  |     |-- adminClient (user management)
  |
  +-- @wildwood/core (SDK layer)
  |     |-- WildwoodClient (main entry point)
  |     |-- HTTP client with auth headers
  |     |-- Token validation utilities
  |
  +-- WildwoodAPI (backend)
        |-- JWT Authentication
        |-- Multi-tenant data isolation
        |-- AI provider orchestration
        |-- Payment processing
        |-- ...

Ready to get started? Head to the Installation page to add WildwoodComponents to your project.

Last updated: February 2026