Components
Components
Actions
Everything that commits a change — buttons, toggles and the controls around them.
Back button
The return affordance. Icon-only below md, labelled above it.
Button
The primary action control. Seven variants and four sizes, including the convex white fill that carries BTS's primary affordance.
Filter pill
The rounded filter chip used above lists. Built on the .filter-pill custom class.
Toggle
A two-state button. Pressed state is visual only — it does not submit.
Toggle group
A set of toggles behaving as one control, single- or multiple-select.
Layout and structure
The frame a screen is built on: surfaces, dividers, panels and the app shell.
Accordion
Collapsible sections, single or multiple open. Carries a BTS-only hideChevron prop.
Aspect ratio
Constrains content to a fixed ratio. A pure re-export.
Card
The standard surface. Header, title, description, content and footer.
Collapsible
Unstyled show/hide. Brings no chrome of its own.
Resizable panels
Draggable split panes, horizontal or vertical, with an optional grip handle.
Scroll area
A styled scroll container with the BTS thin scrollbar.
Separator
A one-pixel rule, horizontal or vertical, decorative or semantic.
Sidebar
The application shell navigation — 23 exports covering the rail, the collapsed icon state and the mobile drawer.
Selection and input
Fields, pickers and choices. Where the customer's data actually enters the product.
Add form modal
AddFormModal — exported from the library at `src/components/forms/AddFormModal.tsx`. Awaiting a written description.
Auth footer
A centered footer of legal and account links shown beneath authentication forms.
Auth header
The top bar for authentication pages, combining the BTS logo, a menu toggle, and login/signup mode switches.
Calendar
Date selection — single, range or multiple.
Checkbox
Binary choice, with a BTS-added indeterminate state.
Command
The command palette — filtered list, groups and a shortcut column.
Form analytics card
FormAnalyticsCard — exported from the library at `src/components/forms/FormAnalyticsCard.tsx`. Awaiting a written description.
Form answer view
FormAnswerView — exported from the library at `src/components/forms/FormAnswerView.tsx`. Awaiting a written description.
Form builder
FormBuilder — exported from the library at `src/components/forms/FormBuilder.tsx`. Awaiting a written description.
Form detail header
FormDetailHeader — exported from the library at `src/components/forms/FormDetailHeader.tsx`. Awaiting a written description.
Form details sidebar
FormDetailsSidebar — exported from the library at `src/components/forms/FormDetailsSidebar.tsx`. Awaiting a written description.
Form responses section
FormResponsesSection — exported from the library at `src/components/forms/FormResponsesSection.tsx`. Awaiting a written description.
Form settings panel
FormSettingsPanel — exported from the library at `src/components/forms/FormSettingsPanel.tsx`. Awaiting a written description.
Form toolbar preview
FormToolbarPreview — exported from the library at `src/components/forms/FormToolbarPreview.tsx`. Awaiting a written description.
Forms header
FormsHeader — exported from the library at `src/components/forms/FormsHeader.tsx`. Awaiting a written description.
Forms table
FormsTable — exported from the library at `src/components/forms/FormsTable.tsx`. Awaiting a written description.
Icon select
A select whose options carry an icon, a label and a description line.
Input
The single-line text field. 48px tall on mobile, 40px on desktop.
Input OTP
Segmented one-time-code entry with a blinking caret.
Label
The field label, with peer-disabled handling.
Phone field input
PhoneFieldInput — exported from the library at `src/components/forms/PhoneFieldInput.tsx`. Awaiting a written description.
Phone input
International phone entry with a country selector. Exports PHONE_COUNTRIES alongside it.
Question input
QuestionInput — exported from the library at `src/components/forms/QuestionInput.tsx`. Awaiting a written description.
Radio group
One choice from a set.
Select
The dropdown picker. BTS removed the check indicator — selection reads via focus.
Slider
A value along a range, single thumb or two.
Switch
An immediate on/off. Track and thumb both resize below md.
Textarea
The multi-line field.
Feedback indicators
Status, progress and consequence — how a surface tells someone what just happened.
Alert
An inline message with optional icon, title and description.
Badge
A small status or count marker. The default variant uses the gradient .badge-primary fill.
Empty about
EmptyAboutDisplay — exported from the library at `src/components/empty-states/EmptyAbout.tsx`. Awaiting a written description.
Empty analytics
EmptyChart — exported from the library at `src/components/empty-states/EmptyAnalytics.tsx`. Awaiting a written description.
Empty contacts
EmptyContacts — exported from the library at `src/components/empty-states/EmptyContacts.tsx`. Awaiting a written description.
Empty posts
EmptyPosts — exported from the library at `src/components/empty-states/EmptyPosts.tsx`. Awaiting a written description.
Empty store
EmptyStore — exported from the library at `src/components/empty-states/EmptyStore.tsx`. Awaiting a written description.
Progress
Determinate completion along a bar.
Skeleton
The loading placeholder — block, line, circle and stacked forms.
Sonner toaster
The sonner toast host, exported as SonnerToaster to avoid colliding with the Radix one.
Toast
A transient message anchored top on mobile, bottom-right from sm up.
Toaster
The Radix toast host. Renders whatever toasts it is given.
Tooltip
A label on hover or focus. BTS defaults to an instant open.
Upload progress toast
Upload state as a persistent toast — progress, success and error.
Images and media
Avatars, galleries, lightboxes and charts.
Avatar
A person or space, as an image with initial and icon fallbacks.
Carousel
A swipeable track, horizontal or vertical, with arrow controls.
Chart
The Recharts wrapper — themed container, tooltip and legend.
Icon set
The twenty BTS glyphs the product ships — navigation marks, state icons and the toggles that have no Lucide equivalent.
Media lightbox
Full-screen image and video viewing, portalled above the app.
Media pill
A frosted label that sits over media. The smallest component in the system.
Overlays
Anything that sits above the page — dialogs, sheets, menus and tooltips.
Alert dialog
A modal that demands a decision before it will close.
Context menu
The right-click menu.
Dialog
The modal surface. Supports stacking and a borderless variant.
Drawer
The mobile bottom sheet, with drag-to-dismiss and background scaling.
Dropdown menu
The action menu. BTS adds first-class icon and shortcut props.
Hover card
Rich preview content on hover.
Mobile filter sheet
The filter drawer shown below md. Renders nothing at all on desktop, where filters live inline.
Popover
A small floating panel anchored to a trigger.
Sheet
A panel that slides in from any edge.
Tables and data
Dense, scannable presentation of many records.
Add contact modal
AddContactModal — exported from the library at `src/components/contacts/AddContactModal.tsx`. Awaiting a written description.
Contact form response view
ContactFormResponseView — exported from the library at `src/components/contacts/ContactFormResponseView.tsx`. Awaiting a written description.
Contact type filter popover
ContactTypeFilterPopover — exported from the library at `src/components/contacts/ContactTypeFilterPopover.tsx`. Awaiting a written description.
Contacts header
ContactsHeader — exported from the library at `src/components/contacts/ContactsHeader.tsx`. Awaiting a written description.
Contacts table
ContactsTable — exported from the library at `src/components/contacts/ContactsTable.tsx`. Awaiting a written description.
Location filter popover
LocationFilterPopover — exported from the library at `src/components/contacts/LocationFilterPopover.tsx`. Awaiting a written description.
Roles filter popover
RolesFilterPopover — exported from the library at `src/components/contacts/RolesFilterPopover.tsx`. Awaiting a written description.
Table
The dense record view — header, body, footer, caption and selection.
Tier filter popover
TierFilterPopover — exported from the library at `src/components/contacts/TierFilterPopover.tsx`. Awaiting a written description.
Dashboard
Metric surfaces — the stat cards and titled figures the overview screens are built from.
Checkout funnel chart
A dashboard card that visualizes checkout drop-off across started sessions, OTP authentication, and payment outcomes as a shaded step funnel with a stat row above it.
Data list
A dashboard card that presents a titled, scrollable list of items with avatars or source icons, secondary metadata, and optional badges.
Info title
A card title with an explanatory tooltip beside it.
Metric title
The stat-row variant of InfoTitle, sized for the bare stat card.
New customers chart
A dashboard card showing new-customer counts over time as a bar chart, with a headline total and period-over-period change.
Revenue chart
A dashboard card showing revenue over time as an area chart, with a headline total, change indicator, and dollar-formatted tooltips.
Stat card
A single metric with its label and change. Two variants: the bordered card and a bare form for stat rows.
Application shell
The frame the product sits in: content column, sidebar rail and its sections.
Admin toolbar
The top bar for creator/admin pages, switching between a default toolbar, a rich-text editor toolbar, and a settings header depending on the page mode.
Channel menu
A collapsible sidebar section that lists a space's custom channels and lets members add new ones.
Content footer
The site footer shown beneath page content, with a BTS logo link, legal links, and a "Create a space" link.
Content shell
The padded content column every creator screen renders into.
Content skeleton
A loading placeholder that mirrors the shape of the page it's replacing, with dedicated layouts for post feeds, product grids, contact tables, and analytics dashboards.
Creator menu
A sidebar navigation list for the creator area, linking to Analytics, Transactions, Contacts, and Products.
Creator top bar
The sticky header for creator views, showing the active space name, an admin mode toggle, and a slot for page-specific actions and a refresh control.
External link modal
A confirmation dialog warning that a link will open outside BTS before the user leaves the app.
Layer share popover
A two-layer sharing popover for a page or channel that combines access control, link copying, and member or email invites.
Left nav
The persistent left sidebar for switching between spaces, messages, and the user's own account menu.
Live event indicator
A dismissible sidebar banner that surfaces a space's live or imminent event, pulsing red while live and amber with a countdown in the 30 minutes before it starts.
Main layout
The shell that arranges left navigation, the admin or member sidebar, the admin toolbar, and page content for every creator space route.
Member content header
A header for member-facing space pages showing the space icon, name, creator, member avatars, and a join button or actions menu.
Member footer
A site footer for member-facing pages with links to Privacy, Terms, and Community guidelines plus a control to launch the create-space wizard.
Member layout
A minimal page shell for member-facing routes that stacks the admin toolbar, main content, and the member footer.
Member sidebar
The navigation sidebar shown to space members, listing pages and channels filtered by visibility, permission tier, and join status.
Menu header
The sidebar header for a BTS space, showing its icon and name and acting as the switcher between direct messages and other spaces.
Messages layout
Shell for the messaging surface that pairs the left space-switcher nav with the conversation sidebar and thread area, adapting to inbox and thread views on mobile.
Not member banner
Sticky header shown to visitors browsing a space they haven't joined, pairing a short notice with a join action.
Page menu
The collapsible "Pages" list in the sidebar that links to a space's About, Posts, and Store pages with a per-page settings menu.
Preview banner
Top bar that appears while an admin is viewing a space as a visitor or member, showing who they're viewing as and letting them switch roles or exit.
Preview shell
Bordered device-frame wrapper for visitor-preview content, topped by the preview banner so the simulated view stays visually contained.
Profile layout
Standard page layout for profile screens, combining the left nav, an optional sticky header, a centered content column, and the footer.
Sidebar accordion section
A collapsible group of rail items, with its own disclosure chevron.
Sidebar collection section
SidebarCollectionSection — exported from the library at `src/components/layout/sidebar/SidebarCollectionSection.tsx`. Awaiting a written description.
Sidebar managed nav item
SidebarManagedNavItem — exported from the library at `src/components/layout/sidebar/SidebarManagedNavItem.tsx`. Awaiting a written description.
Sidebar mobile search
SidebarMobileSearch — exported from the library at `src/components/layout/sidebar/SidebarMobileSearch.tsx`. Awaiting a written description.
Sidebar nav item
A single rail item — icon, label, active state. Built on the .nav-item custom class.
Space sidebar
SpaceSidebar — exported from the library at `src/components/layout/SpaceSidebar.tsx`. Awaiting a written description.
Top bar
The primary header for authenticated app views, showing the current brand or page title alongside member avatars, an admin-mode toggle, and quick actions.
Unauth header
The sticky top header shown to signed-out visitors, pairing the BTS logo and a menu toggle with sign up and log in buttons.
Unauth layout
The page shell for signed-out visitors that arranges the mobile sidebar menu, header, main content, and footer around the current route.
Unauth mobile sidebar
The full-height mobile menu for signed-out visitors, combining space search, a space-details accordion, and navigation to public pages and channels.
Unauth nav tabs
A horizontal tab bar listing public pages and channels for signed-out visitors to switch between space sections.
Unauth sidebar menu
A slide-in navigation menu shown to signed-out visitors, presented as a fullscreen overlay on mobile or narrow viewports and a push-in panel on desktop, linking to the unauthenticated space view and Fortuna One.
Unauth space bar
The header bar for a space's public, signed-out view, showing the space icon and name alongside a Join space button and an overflow menu.
Analytics
Date-range control for the reporting screens, in its desktop and mobile forms.
Analytics header
A sticky header for the Analytics page that displays the current date range and exposes refresh and export actions.
Custom date range modal
Two-calendar range picker for the Custom preset.
Date range picker panel
The preset list and calendar behind the reporting date control. Exports its presets, labels and resolver.
Mobile date range button
The compact date-range trigger used below md.
Commerce
Payment and transaction state, wherever money is shown.
Cart mode chooser modal
CartModeChooserModal — exported from the library at `src/components/checkout-links/CartModeChooserModal.tsx`. Awaiting a written description.
Checkout account card
CheckoutAccountCard — exported from the library at `src/components/checkout/CheckoutAccountCard.tsx`. Awaiting a written description.
Checkout business details
CheckoutBusinessDetails — exported from the library at `src/components/checkout/CheckoutBusinessDetails.tsx`. Awaiting a written description.
Checkout buyer details
CheckoutBuyerDetails — exported from the library at `src/components/checkout/CheckoutBuyerDetails.tsx`. Awaiting a written description.
Checkout card form
CheckoutCardForm — exported from the library at `src/components/checkout/CheckoutCardForm.tsx`. Awaiting a written description.
Checkout email verification
CheckoutEmailVerification — exported from the library at `src/components/checkout/CheckoutEmailVerification.tsx`. Awaiting a written description.
Checkout field
CheckoutField — exported from the library at `src/components/checkout/CheckoutField.tsx`. Awaiting a written description.
Checkout line items
CheckoutLineItem — exported from the library at `src/components/checkout/checkout-line-items.ts`. Awaiting a written description.
Checkout link activity section
CheckoutLinkActivitySection — exported from the library at `src/components/checkout-links/CheckoutLinkActivitySection.tsx`. Awaiting a written description.
Checkout link analytics card
CheckoutLinkAnalyticsCard — exported from the library at `src/components/checkout-links/CheckoutLinkAnalyticsCard.tsx`. Awaiting a written description.
Checkout link detail header
CheckoutLinkDetailHeader — exported from the library at `src/components/checkout-links/CheckoutLinkDetailHeader.tsx`. Awaiting a written description.
Checkout link details sidebar
CheckoutLinkDetailsSidebar — exported from the library at `src/components/checkout-links/CheckoutLinkDetailsSidebar.tsx`. Awaiting a written description.
Checkout link editor
CheckoutLinkSummary — exported from the library at `src/components/checkout-links/CheckoutLinkEditor.tsx`. Awaiting a written description.
Checkout link preview
CheckoutLinkPreview — exported from the library at `src/components/checkout-links/CheckoutLinkPreview.tsx`. Awaiting a written description.
Checkout link preview card
CheckoutLinkPreviewCard — exported from the library at `src/components/checkout-links/CheckoutLinkPreviewCard.tsx`. Awaiting a written description.
Checkout link types
CheckoutLinkInterval — exported from the library at `src/components/checkout-links/checkout-link-types.ts`. Awaiting a written description.
Checkout links empty state
CheckoutLinksEmptyState — exported from the library at `src/components/checkout-links/CheckoutLinksEmptyState.tsx`. Awaiting a written description.
Checkout links header
CheckoutLinksHeaderMenuItems — exported from the library at `src/components/checkout-links/CheckoutLinksHeader.tsx`. Awaiting a written description.
Checkout links table
CheckoutLinksTable — exported from the library at `src/components/checkout-links/CheckoutLinksTable.tsx`. Awaiting a written description.
Checkout modal
CheckoutModal — exported from the library at `src/components/checkout/CheckoutModal.tsx`. Awaiting a written description.
Checkout payment card
CheckoutPaymentCard — exported from the library at `src/components/checkout/CheckoutPaymentCard.tsx`. Awaiting a written description.
Checkout product summary
CheckoutProductSummary — exported from the library at `src/components/checkout/CheckoutProductSummary.tsx`. Awaiting a written description.
Checkout save info
CheckoutSaveInfo — exported from the library at `src/components/checkout/CheckoutSaveInfo.tsx`. Awaiting a written description.
Checkout saved method
CheckoutSavedMethod — exported from the library at `src/components/checkout/CheckoutSavedMethod.tsx`. Awaiting a written description.
Checkout sold out step
CheckoutSoldOutStep — exported from the library at `src/components/checkout/CheckoutSoldOutStep.tsx`. Awaiting a written description.
Checkout status badge
CheckoutStatusBadge — exported from the library at `src/components/checkout/CheckoutStatusBadge.tsx`. Awaiting a written description.
Checkout summary panel
CheckoutSummaryPanel — exported from the library at `src/components/checkout/CheckoutSummaryPanel.tsx`. Awaiting a written description.
Membership allocation modal
MembershipAllocationModal — exported from the library at `src/components/checkout/MembershipAllocationModal.tsx`. Awaiting a written description.
Payment badge
The payment-method mark. Exports PAYMENT_TYPES and a resolver from card id to type.
Payment logos
Payment logos — exported from the library at `src/components/payment/payment-logos.ts`. Awaiting a written description.
Payments not set up modal
PaymentsNotSetUpModal — exported from the library at `src/components/checkout/PaymentsNotSetUpModal.tsx`. Awaiting a written description.
Post purchase confirmation modal
PostPurchaseConfirmationModal — exported from the library at `src/components/checkout/PostPurchaseConfirmationModal.tsx`. Awaiting a written description.
Refund modal
The refund sheet for a transaction, rendered as a dialog on desktop and a bottom drawer on mobile, covering amount, reason, and which items lose access.
Status filter popover
StatusFilterPopover — exported from the library at `src/components/checkout-links/StatusFilterPopover.tsx`. Awaiting a written description.
Transaction detail header
The header bar for a transaction detail page, showing the transaction number, status badge, and the actions available for that status.
Transaction items card
Lists every line item a buyer paid for on a transaction detail page, showing a thumbnail, name, item-type pill, and unit price for each row.
Transaction payment summary
Displays the money breakdown on a transaction detail page, walking from subtotal through discount and fees down to the creator's net payout.
Transaction sidebar cards
A set of four cards for the sidebar of a transaction detail page: transaction info and payment method, buyer contact details, acquisition source, and a standalone payment-method card.
Transaction status badge
Succeeded, refunded, partially refunded or disputed, with an explanatory tooltip.
Transaction timeline
Renders the audit trail of a transaction as a vertical list of events joined by a dashed rail, from payment authorization through refunds or disputes.
Transaction types
TransactionItemType — exported from the library at `src/components/transactions/transaction-types.ts`. Awaiting a written description.
Transactions table
TransactionsTable — exported from the library at `src/components/transactions/TransactionsTable.tsx`. Awaiting a written description.
Products
The product management surfaces — tables, filters, analytics and detail sidebars.
Layer filter popover
Filters a product list by the layer it belongs to.
Product activity section
Recent transactions for one product.
Product analytics card
Per-product performance figures, with defaults supplied for the prototype.
Product details sidebar
The metadata rail on a product detail screen — price, dates, access.
Product management header
Title, share URL and actions above the product editor.
Product preview card
The compact product tile used in pickers and previews.
Product type filter popover
Filters by product kind. Exports its option set.
Products table
The product management table — desktop grid and a stacked mobile list from the same rows.
Store
The customer-facing storefront: product cards, galleries, detail panels and players.
Add product editor
The full-screen editor shell for creating or editing a store product, switching between a type-specific form layout and a live device preview.
Add product type modal
The six-card product type chooser, with search and a suggestion when nothing matches.
Course player
Lesson playback with the module outline beside it.
Event registered view
The post-registration event screen — countdown, attendees and calendar links.
Product about section
The product description, with a heading that changes by product kind. Returns null when empty.
Product card
The storefront tile. Five product types by three pricing models, with an optional layer action menu.
Product description blocks
The rich-text renderer behind the about section — bold, headings, lists.
Product detail header
The product screen header, with an optional completion ring.
Product details panel
Price, host, dates and the call to action on a product page.
Product image gallery
Cover imagery with thumbnails, price and type pills over the media.
Product list item
The row form of ProductCard, for the store's list view. Exports the media type labels.
Products header
Title and controls above a product grid.
Store header
The storefront header, with grid and list view toggles and an overflow menu.
Store product selector modal
Picks products to attach to something else, filtered by title.
Unlocked product viewer
What a member sees once a product is unlocked, by file type.
Store editor
The product editor shell and its section blocks, one per kind of thing you can sell.
About section
The rich-text description editor and its text styles.
Advanced section
Expiry and the less common settings.
Basic info section
Title and summary, with rotating placeholder copy.
Course editor layout
The course variant of the editor shell, with the module outline in place of sections.
Course modules section
Module and lesson management for a course.
Course outline section
The read-only outline shown to a prospective buyer.
Course settings section
Drip, access and completion rules for a course.
Event details section
Date, time, repeat and location for an event product.
Media upload section
Cover and gallery upload. Exports the product types that can carry unlockable media.
Pricing section
Pricing model and recurring interval.
Product details section
Detail fields whose labels change by product kind.
Product editor full preview
The device-framed live preview shown inside the product editor when an operator toggles preview mode.
Product editor layout
The editor shell — sidebar, section column and live preview.
Product editor preview
The live storefront preview beside the editor. Exports its price and CTA formatters.
Product editor sidebar
Section navigation for the editor. Exports the empty form state it starts from.
Product settings section
Access and expiry for a standard product.
Promo media field
Upload and crop for the promotional still.
Service delivery section
How a service is delivered — sessions, turnaround, submission and deliverable method.
Service settings section
Booking and scheduling rules for a service.
Video upload field
Video by upload or by URL, with a thumbnail resolver.
Visibility section
Who can see the product, with a description per option.
Settings
Controls that recur across the space settings screens.
Access tier card
An editable membership tier card covering its name, description, pricing model, optional free trial, and tags, used by the space access settings screen.
Account edit profile
AccountEditProfile — exported from the library at `src/components/account/AccountEditProfile.tsx`. Awaiting a written description.
Account notifications
AccountNotifications — exported from the library at `src/components/account/AccountNotifications.tsx`. Awaiting a written description.
Account payment methods
AccountPaymentMethods — exported from the library at `src/components/account/AccountPaymentMethods.tsx`. Awaiting a written description.
Account purchases
AccountPurchases — exported from the library at `src/components/account/AccountPurchases.tsx`. Awaiting a written description.
Account settings sidebar
AccountSettingsSidebar — exported from the library at `src/components/account/AccountSettingsSidebar.tsx`. Awaiting a written description.
Analytics account banner
The "Connected account" card shown under an analytics pane's header, displaying the authenticated login, an account picker, and a disconnect action.
Analytics pane header
The top bar of an analytics integration pane: a back button, the platform's logo in a tinted chip, its name, and an optional live-connection dot.
Analytics platform settings
The manage pane for an ad-platform analytics integration, covering connection status, the linked ad account, an event-sync matrix, and the disconnect action.
App card
AppCard — exported from the library at `src/components/apps/AppCard.tsx`. Awaiting a written description.
App detail header
AppDetailHeader — exported from the library at `src/components/apps/AppDetailHeader.tsx`. Awaiting a written description.
App info bar
AppInfoBar — exported from the library at `src/components/apps/AppInfoBar.tsx`. Awaiting a written description.
Apps header
AppsHeader — exported from the library at `src/components/apps/AppsHeader.tsx`. Awaiting a written description.
Connect modal
A configurable dialog that walks an operator through connecting an analytics platform to a Space, showing the platform name, a one-line pitch, and a single branded connect button.
Connect website modal
A three-step dialog for connecting an external website to BTS analytics: enter the URL, add DNS records, then install a framework-specific SDK snippet and verify.
Connect website snippets
Connect website snippets — exported from the library at `src/components/settings/connect-website-snippets.ts`. Awaiting a written description.
Create discount modal
A one-screen dialog for quickly creating a discount code, covering code, value, an apply-to item picker, and usage-limit and expiry toggles.
Danger zone
The destructive action panel, with an optional type-to-confirm gate before it will fire.
Date picker input
A text field with a calendar popover, tolerant of loose typing.
Discount editor
The full-screen discount builder that switches its section cards, form fields, and a live summary sidebar based on discount kind: amount off products, buy X get Y, or amount off order.
Discount product picker
The inline selector, backed by a modal, used everywhere a discount needs to specify which tiers, products, checkout links, or discount codes it applies to.
Discount type modal
A dialog offering the three discount kinds a space can create, so an operator can pick one before entering the full editor.
Ga4 connect modal
A fixed-copy dialog for connecting a Google Analytics 4 account, pairing the GA4 mark with a description of the property import and event-forwarding it enables.
Ga4 settings
The manage pane for a Google Analytics 4 integration, covering the connect/disconnect flow, the connected-account banner, and a configuration card for website domain and measurement ID.
Ga4 settings manage
A GA4 settings pane wired to mock account and domain data, handling connect/disconnect, property selection, and configuration of website domain and measurement ID.
Ghlaccount card
A card for one connected GoHighLevel account, showing a renameable label above two collapsible switch groups for data sync settings and member event triggers.
Ghlactive keys
A list of saved GoHighLevel API key connections, each shown as a renameable label with a delete affordance and a masked key string.
Ghlconnect modal
The "Connect GoHighLevel" dialog for entering a GoHighLevel Private Integration API key, with a docs link and a Connect action gated on the field having content.
Ghldelete key modal
A two-step confirmation dialog for removing a saved GoHighLevel API key, warning about disrupted syncs before requesting a six-digit emailed verification code.
Google connect modal
A fixed-copy dialog for connecting a Google Ads account, pairing the Google mark with a description of the conversion tracking it enables.
Google settings manage
A settings panel for managing a Space's Google Ads connection, showing the linked ad account and which events and fields sync to it.
Inline rename
Edit a name in place: display until invited to edit, then a field, with optional delete.
Layer access radio group
Who can see a layer — public, link, members, a named tier, or invite only.
Linked in connect modal
A dialog that walks a user through authorizing a LinkedIn Campaign Manager account for conversion tracking and audience insights.
Linked in settings manage
A settings panel for managing a Space's LinkedIn Ads connection, showing the linked ad account and which events and fields sync to it.
Meta connect modal
A dialog that walks a user through authorizing a Meta Business account for pixel tracking and Conversions API access.
Meta settings manage
A settings panel for managing a Space's Meta connection, showing the linked ad account and which events and fields sync to it.
Purchase allocations view
PurchaseAllocationsView — exported from the library at `src/components/account/PurchaseAllocationsView.tsx`. Awaiting a written description.
Purchase tier upgrade view
PurchaseTierUpgradeView — exported from the library at `src/components/account/PurchaseTierUpgradeView.tsx`. Awaiting a written description.
Role icon
The twelve role glyphs, with a fallback for an unknown id. Exports the id list and map.
Settings access
The Access pane of space settings, combining a public/private visibility chooser with a stack of access-tier cards and a Save/Cancel action row.
Settings admins
The Admins settings pane where space owners invite people by email and manage the list of everyone who currently holds full permissions.
Settings analytics
The Analytics settings pane listing tracking pixels and conversion APIs (Meta, TikTok, Google, GA4, LinkedIn) a space can connect, plus a callout for linking an external website.
Settings analytics manage
A router that opens the dedicated management screen for a connected tracking pixel — Meta, Google, GA4, LinkedIn, or TikTok — based on the selected pixel's id.
Settings app manage
A router that opens the management view for an installed app, using a dedicated GoHighLevel screen when that app is selected and a generic placeholder for every other app.
Settings apps
The Apps settings pane listing every app installed into a space, with its icon, type badge, tagline, and an overflow menu for managing or uninstalling it.
Settings billing
Renders a space's invoice history as a paginated desktop table or an unpaginated stacked list on mobile, with a dedicated empty state for spaces that have never paid.
Settings details
The Details pane of space settings for editing a space's cover photo, icon, name, short description, and URL slug behind a Save/Cancel pair.
Settings discount manage
A read-only detail pane for a single saved discount, showing its code, type, value, applied scope, status, and creation date plus a usage count.
Settings discounts
The Discounts pane of space settings, listing discount codes in a filterable, selectable, paginated table with search, bulk delete, and row-level edit/delete/copy actions.
Settings ghlmanage
The GoHighLevel integration settings screen, switching between a connect pitch and a connected panel with a sync-events accordion and a disconnect danger zone.
Settings manage
The Manage pane of space settings, holding the single irreversible action of permanently deleting a space and all of its contents.
Settings notifications
The Notifications pane of space settings, listing the sending-domain block plus two switch groups for member-facing and operator-facing emails.
Settings payment methods
The Payment methods pane of space settings, showing saved cards with a default badge, a per-card action menu, and an add-card dialog.
Settings payouts
The Payouts pane of space settings, combining a balance card with a withdraw action and a paginated history of past withdrawals.
Settings payouts bank manage
The Bank details screen behind Payouts, presenting a labelled form of account holder, bank name, and masked account and routing numbers.
Settings plan
A two-card comparison of the Free and Pro subscription tiers for a BTS space, showing the active plan, pricing, and the upgrade or downgrade action.
Settings role folder
SettingsRoleFolder — exported from the library at `src/components/settings/SettingsRoleFolder.tsx`. Awaiting a written description.
Settings role manage
The role editor for a BTS space, letting an admin set a role's name, icon, and colour, toggle its permissions, and assign or remove members across three tabs.
Settings roles
The roles list for a BTS space, with a search field, a create-role button, and a table of existing roles showing each role's icon, colour, and member count.
Settings rows
A stack of label, description and control rows — the body of a settings section, at two densities.
Settings section header
The title, description and actions above a block of settings. The unit every settings screen is stacked from.
Settings sending domain
The sending-domain block in space notification settings, covering the sender-address field, a collapsible DNS authentication table, and dialogs for sending a test email or getting DNS help.
Settings sidebar
The left-rail navigation for the BTS space-settings modal, showing the space identity above a menu of setting panes.
Settings website manage
The Custom website screen under Settings → Apps, showing either a connect prompt or the list of domains linked to a space for visitor analytics.
Space settings modal
The full space settings modal, covering every tab (details, access, analytics, admins, roles, notifications, discounts, payouts, plan, payment, billing, apps, manage) with its own responsive layout.
Table pagination footer
Page controls beneath a table. Hides itself entirely when there is nothing to page through.
Tik tok connect modal
A confirmation dialog that lets an operator connect a TikTok for Business account to enable pixel tracking and the Events API for a Space.
Tik tok settings manage
The full TikTok integration panel in Settings, covering account connection, ad account selection, and which activity, lifecycle events, and data fields sync to TikTok.
Time picker input
Half-hour time selection, auto-scrolled to the current value.
Collections
The full product inventory from the component audit. The areas that have started landing — dashboard, store, products, settings, analytics, commerce and the app shell — are catalogued above; these counts are the whole of each area, so the gap between them is what is still to come.
The inventory, not the catalogue
These counts come straight from the component audit and cover every component in each area, ported or not. Anything already promoted has its own entry above and its own page; the rest is inventoried and classified but not yet documented individually.
Settings
34Space settings — access tiers, discounts, payouts, roles, admins, billing and integrations.
Space
18Space creation and setup, including the stepped onboarding flow.
Checkout
15The purchase flow — summary, payment, confirmation and receipts.
Store
14Products, the product editor and its section blocks.
Forms
13The form builder and its field types.
Contacts
12Contact records, lists and detail panels.
Activity
12Event feeds and timelines.
Checkout links
12Shareable purchase links and their management surfaces.
Posts
10The community feed — composition, cards and detail views.
Channels
10Channel navigation, headers and membership.
Products
8Product listing and detail surfaces outside the store editor.
Calendar
8Events, scheduling and availability.
Dashboard
7Stat cards, charts and the overview surfaces. Entirely portable as-is.
Transactions
7Payment records and their detail views.
Account
7Personal account settings and profile.
Unauthenticated
7The logged-out experience — public space views and sign-up prompts.
Messages
5Direct messaging surfaces.
Members
5Member lists and profiles.
Empty states
5The zero-data surfaces. Entirely portable as-is.
Legal
4Terms, privacy and policy pages.
Analytics
14Reporting surfaces and the pixel integrations.
Adding a finished component
Export it from Storybook, maintain its stories there, then run the component sync. Lantern refreshes generated catalogue and story-id metadata and embeds the live Storybook story; no component or duplicate demo is copied here.