@survey-kit/registry
v0.1.9
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
- Chat – ChatContainer, ChatBubble, ChatMessage, ChatInput, TypingIndicator, ChatReviewScreen
- 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 component
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
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
