@survey-kit/registry
v0.1.23
Published
Component registry for survey UI components built Survey-Kit.
Readme
@survey-kit/registry
Component registry for survey UI components built with Radix UI and Tailwind CSS.
Overview
The registry package provides pre-built, accessible React components for building survey interfaces:
- Primitives – Button, Input, Heading, Card, Checkbox
- Layout – Header, Footer, Sidebar, Wrapper, Stage Tabs, Main Content
- Complex – Progress Bar, Score Card, Blocked Page, Emoji Slider, Panel, Filter Sidebar, Cookie Consent, BadgeList / ParticipantSummary (gamification UI)
- Chat – ChatContainer, ChatBubble, ChatMessage, ChatInput, TypingIndicator, ChatReviewScreen
- Dashboard – TrendLineChart, DropoffBarChart, ResponseList, ResponseDetailPanel for administrative analytics and response viewing
- Sections – SectionPage for intro/completion screens
- Form controls – Dropdown, Select components
All components are built on accessible primitives (Radix UI) and styled with Tailwind CSS.
Features
- WCAG 2.2 AA accessible components
- Fully customisable with Tailwind CSS
- Built on Radix UI primitives
- TypeScript support
- Mobile-first, responsive design
- Consistent design system
- Configurable Section Layouts
- Emoji Slider component
- Chat/messaging-style survey components
Installation
npm install @survey-kit/registryUsage
import { Button, Input, Card, ProgressBar } from '@survey-kit/registry'
function MyComponent() {
return (
<Card>
<Input type="text" placeholder="Enter your name" />
<Button variant="default">Submit</Button>
</Card>
)
}Component Categories
Primitives
Button– Various button variants and sizesInput– Text, email, number, date inputsHeading– Heading componentsCard– Card container componentCheckbox– Checkbox with singular/multiple variants
Layout
Header– Survey header with logo and actionsFooter– Survey footer with logoSidebar– Collapsible sidebar navigationSidebarMenu– Sidebar menu componentWrapper– Layout wrapper componentLayoutWrapper– Layout wrapper with configurationStageTabs– Stage navigation tabsMainContent– Main content area componentSectionPage– Flexible page component for sections (intro, sensitive info, etc.)
Complex
ProgressBar– Progress indicator componentScoreCard– Score display componentBlockedPage– Page access restriction componentEmojiSlider– Interactive slider with emoji feedbackSingleEmojiSlider– Single emoji slider variantScaleEmojiSlider– Scale-based emoji slider variantPanel– Panel container componentCookieConsent– Cookie consent componentFilterSidebar– Side navigation for dynamic dashboard filtering
Chat Components
Messaging-style survey interface components:
ChatContainer– Main container for chat interfaceChatBubble– Individual chat bubble componentChatMessage– Chat message with question renderingChatInput– Input component for chat responsesTypingIndicator– Animated typing indicatorChatReviewScreen– Review screen for chat surveys
import {
ChatContainer,
ChatMessage,
ChatInput,
TypingIndicator,
} from '@survey-kit/registry'Form Controls
Dropdown/Select– Dropdown select component (Radix UI based)SimpleDropdown– Simplified dropdown API for survey rendererDropdownTrigger,DropdownContent,DropdownItem,DropdownValue– Dropdown sub-components
Dashboard Controls
Administrative analytics and filtering components:
FilterSidebar– Dynamic sidebar for cross-tabulation filteringTrendLineChart– Visualise response trends over timeDropoffBarChart– Visualise survey drop-off rates by stageResponseList– Searchable list of survey responses with expandable detail panelResponseCard– Individual response card (completion status, preview, click to view details)ResponseDetailPanel– Slide-in panel showing full response answers
Sections
SectionPage– Flexible page component for intro/completion screens with configurable layouts
Customisation
Components can be customised using Tailwind CSS classes or by extending component variants. All components accept standard React props and className overrides.
Requirements
- React 19+
- Tailwind CSS 4+
Licence
MIT
