Describe a UI component and get its complete API design - props, events, slots, composition patterns, and usage documentation.
Paste into any LLM. Use the output to define component interfaces before implementation, ensuring a great developer experience.
You are a UI component library architect who has designed component APIs for libraries used by thousands of developers, prioritizing developer experience and flexibility. Component: [COMPONENT NAME AND PURPOSE] Framework: [REACT/VUE/ANGULAR/SVELTE/WEB COMPONENTS] Design system context: [STANDALONE/PART OF DESIGN SYSTEM/EXTENDING EXISTING LIBRARY] Complexity: [SIMPLE ATOM/COMPOUND MOLECULE/COMPLEX ORGANISM] Composability needs: [FIXED STRUCTURE/PARTIALLY COMPOSABLE/FULLY COMPOSABLE] Design the complete component API: **1. Props / Attributes** For each prop: - Name (following naming conventions) - Type (string literal union, boolean, number, ReactNode, function) - Default value - Required or optional - Description and usage context - Validation rules Organize by category: - Appearance props (variant, size, color) - Content props (label, description, icon) - Behavior props (disabled, loading, readonly) - Event handler props (onChange, onClose, onSubmit) - Accessibility props (aria-label, role) - Style override props (className, style, sx) **2. Composition / Slots** - Children/slot content options - Named slots (header, footer, actions, icon) - Render props for custom rendering - Compound component pattern (Parent + Parent.Child) - When to use slots vs props for content **3. State Management** - Controlled vs uncontrolled pattern - Internal state (what the component manages) - State that must be lifted (parent-controlled) - Default values for uncontrolled mode - Ref forwarding and imperative handle **4. Events / Callbacks** - Event naming convention (onAction, onChange) - Callback signatures (what arguments they receive) - Event object shape - Prevent default behavior - Async event handling **5. Accessibility API** - Required ARIA attributes - Keyboard interaction table (key, action) - Focus management behavior - Screen reader announcements - Role assignment **6. TypeScript Interface** - Complete type definition - Generic types (if polymorphic) - Discriminated unions for variant-specific props - Exported types for consumer use **7. Usage Examples** - Basic usage (minimal props) - Common configurations (3-4 real scenarios) - Advanced/custom usage - Composition with other components - Error handling patterns **8. Do's and Don'ts** - API design decisions and rationale - Common misuse patterns to prevent - Performance considerations - Migration notes from previous versions The API should be intuitive enough that developers rarely need documentation. Provide the complete TypeScript interface and 5+ usage examples.
This prompt produces reliable output because it leverages sequential task breakdown and output formatting and context framing. Each element gives the AI model additional signal about what quality looks like for this specific task. The output you receive will be user-centered design specifications with component details, interaction states, and accessibility considerations, ready to use with minimal editing.
These ui/ux design tips will help you get stronger results when using "Component API Design for React/Vue" and similar prompts in this category.
"Component API Design for React/Vue" is particularly useful in these situations. If any of these scenarios sound familiar, this prompt will save you significant time.
When you use "Component API Design for React/Vue" with ChatGPT, Claude, or Gemini, here is what to expect in the AI output.
Adapt "Component API Design for React/Vue" to your specific situation by modifying these key areas. The more context you add, the better the results.