Eidetic

AI Structured Prompt

AI
Authoring
Block

Scaffolded input component with required fields, sections, and progress tracking. Guides users through creating well-formed prompts.

Card Variant

Full card with sections, progress bar, and validation

Blog Post Generator

Fill in the structure to generate a targeted blog post

0%
0/3 required
*
*
*
Fill required fields to continue

Inline Variant

Compact layout without sections

Quick Query
*
0% complete

Compact Variant

Horizontal label-field layout

Props

Component API reference

PropTypeDefaultDescription
title*stringTitle of the structured prompt
descriptionstringDescription or instructions
sections*PromptSection[]Sections containing prompt fields
variant'card' | 'inline' | 'compact''card'Display variant
onSubmit(values: Record<string, string>) => voidCallback when prompt is submitted
onFieldChange(fieldId: string, value: string) => voidCallback when a field changes
loadingbooleanfalseWhether submission is loading
submitLabelstring'Generate'Submit button text

Usage

Import and examples

import { AIStructuredPrompt } from '@/blocks/ai-conversation/ai-structured-prompt'
<AIStructuredPrompt
title="Blog Post Generator"
sections={[
{
id: 'context',
title: 'Context',
fields: [
{ id: 'role', label: 'AI Role', type: 'text', required: true },
{ id: 'audience', label: 'Audience', type: 'select', options: ['Beginners', 'Advanced'] },
],
},
]}
onSubmit={(values) => console.log(values)}
/>

Built With

2 components

This block uses the following UI components from the design system:

Features

Built-in functionality

  • Five field types: Text, textarea, select, radio, and tags inputs
  • Required field validation: Progress bar tracks required field completion
  • Collapsible sections: Optional section collapsing for complex prompts
  • Tag management: Add/remove tags with keyboard support
  • Three variants: Card, inline, and compact display modes
  • Dark mode: Full dark mode support

Accessibility

Accessibility considerations

ARIA Attributes

Labels associated with form fieldsRequired fields marked with visual indicator

Keyboard Navigation

KeyAction
TabNavigate between fields
EnterSubmit form or add tag
SpaceToggle radio options

Notes

  • Progress bar provides completion feedback
  • Submit disabled until all required fields are filled