Widget Components
The Solid SDK provides fully-featured widget components for different distribution types. Each widget handles state management, UI rendering, and user interactions.Available Widgets
| Component | Description | Use Case |
|---|---|---|
QueueWidget | Virtual waiting room | High-demand launches |
DrawWidget | Lottery/raffle entry | Random selection events |
AuctionWidget | Real-time bidding | Auction sales |
WaitlistWidget | Pre-registration signup | Coming soon pages |
TimedReleaseWidget | Flash sale window | Limited-time offers |
ExperienceWidget | Full journey orchestration | Multi-step experiences |
QueueWidget
Virtual waiting room with position display and estimated wait times.QueueWidget Props
| Prop | Type | Default | Description |
|---|---|---|---|
queueId | string | Required | Queue identifier |
title | string | i18n | Header title |
description | string | i18n | Header description |
showHeader | boolean | true | Show header section |
showEstimatedWait | boolean | true | Show wait time estimate |
showActions | boolean | true | Show action buttons |
theme | ExperienceTheme | - | Theme configuration |
onEnter | () => void | - | Callback on enter |
onLeave | () => void | - | Callback on leave |
onPositionChange | (position: number) => void | - | Callback on position change |
DrawWidget
Lottery/raffle entry with countdown and result display.DrawWidget Props
| Prop | Type | Default | Description |
|---|---|---|---|
drawId | string | Required | Draw identifier |
title | string | i18n | Header title |
description | string | i18n | Header description |
showHeader | boolean | true | Show header section |
showCountdown | boolean | true | Show countdown timer |
showActions | boolean | true | Show action buttons |
drawTime | Date | - | Override draw time |
theme | ExperienceTheme | - | Theme configuration |
onEnter | () => void | - | Callback on enter |
onWithdraw | () => void | - | Callback on withdraw |
onResult | (result: "won" | "lost") => void | - | Callback on result |
onProceed | () => void | - | Callback on proceed CTA |
AuctionWidget
Real-time bidding with bid history and countdown.AuctionWidget Props
| Prop | Type | Default | Description |
|---|---|---|---|
auctionId | string | Required | Auction identifier |
title | string | i18n | Header title |
description | string | i18n | Header description |
showHeader | boolean | true | Show header section |
showBidHistory | boolean | true | Show recent bids |
showCountdown | boolean | true | Show countdown timer |
currencyCode | string | "USD" | Currency for display |
locale | string | - | Locale for formatting |
theme | ExperienceTheme | - | Theme configuration |
onBid | (amount: number) => void | - | Callback on bid |
onOutbid | () => void | - | Callback when outbid |
onWin | () => void | - | Callback on win |
onProceed | () => void | - | Callback on proceed CTA |
WaitlistWidget
Pre-registration signup with countdown to open.WaitlistWidget Props
| Prop | Type | Default | Description |
|---|---|---|---|
waitlistId | string | Required | Waitlist identifier |
title | string | i18n | Header title |
description | string | i18n | Header description |
showHeader | boolean | true | Show header section |
showCountdown | boolean | true | Show countdown timer |
showActions | boolean | true | Show action buttons |
opensAt | Date | - | When waitlist opens |
theme | ExperienceTheme | - | Theme configuration |
onEnter | () => void | - | Callback on join |
onLeave | () => void | - | Callback on leave |
onProceed | () => void | - | Callback when opened |
TimedReleaseWidget
Flash sale window with urgency countdown.TimedReleaseWidget Props
| Prop | Type | Default | Description |
|---|---|---|---|
timedReleaseId | string | Required | Timed release identifier |
title | string | i18n | Header title |
description | string | i18n | Header description |
showHeader | boolean | true | Show header section |
showCountdown | boolean | true | Show countdown timer |
showActions | boolean | true | Show action buttons |
checkoutUrl | string | - | URL for shopping |
endTime | Date | - | Override end time |
theme | ExperienceTheme | - | Theme configuration |
onEnter | () => void | - | Callback on enter |
onShop | () => void | - | Callback on shop click |
onComplete | () => void | - | Callback on complete |
onExit | () => void | - | Callback on exit |
ExperienceWidget
Full journey orchestration handling all stages.ExperienceWidget Props
| Prop | Type | Default | Description |
|---|---|---|---|
experienceId | string | Required | Experience identifier |
autoStart | boolean | false | Auto-start on mount |
accessCode | string | - | Pre-fill access code |
autoEnterWaitlist | boolean | false | Auto-join waitlist |
checkoutUrl | string | - | Checkout redirect URL |
theme | ExperienceTheme | - | Theme configuration |
variant | WidgetVariant | - | Visual variant |
onJourneyChange | (snapshot: JourneySnapshot) => void | - | Journey state callback |
onAdmitted | (token: string) => void | - | Admission callback |
onError | (error: Error) => void | - | Error callback |
Slots and Render Props
All widgets support customization through slots and render props. See Component Customization for details.Slots Example
Render Props Example
Related
- Overview - Solid SDK overview
- Primitives - Primitive components
- Web Components - Web component registration
- Theming - Theme customization