syncfusion-react-inline-ai-assist
Implement the Syncfusion React Inline AI Assist component. Use this skill to add inline AI suggestions, integrate AI services such as OpenAI, Gemini, Lite-LLM, or Ollama, configure command and response actions, customize toolbars, handle events, and support real-time prompt-response workflows in React.
What this skill does
# Syncfusion React Syncfusion React Inline AI Assist Component
## Component Overview
The Inline AI Assist component provides intelligent text processing capabilities for your React applications. It enables AI-powered suggestions, content generation, and interactive prompt-response workflows with support for multiple AI service integrations.
### Key Capabilities
- **Multi-AI Service Integration**: Connect to OpenAI, Google Gemini, Lite-LLM, and Ollama for flexible AI backend options
- **Real-Time Response Streaming**: Enable `enableStreaming` for progressive response updates during content generation
- **Command & Response Actions**: Configure predefined commands for quick AI tasks and custom response actions
- **Inline Toolbar**: Add custom toolbar items with icons, buttons, and separators for enhanced user interactions
- **Inline & Popup Modes**: Display AI responses inline with existing content or in a floating popup window
- **Flexible Template Customization**: Customize prompt input and response display using string, function, or JSX templates
- **Internationalization (i18n) & RTL**: Support for multiple languages and right-to-left text direction
- **Event Handling**: Lifecycle events including `created`, `promptRequest`, `open`, and `close` for precise control
- **Public Methods**: Programmatic access with `addResponse()`, `executePrompt()`, `showPopup()`, and more
- **Prompt History**: Track prompt-response conversations with persistent history management
- **Accessibility & Theming**: Compatible with Material, Bootstrap, Fluent, and Tailwind CSS themes
## Documentation and Navigation Guide
### Getting Started
๐ **Read:** [references/getting-started.md](references/getting-started.md)
- Installation via npm
- CSS theme imports (Material, Bootstrap, Fluent, Tailwind)
- Component rendering
- Custom styling with `cssClass` property
- Running your first example
### Template Customization
๐ **Read:** [references/template-customization.md](references/template-customization.md)
- `editorTemplate` property: Customize prompt input area
- `responseTemplate` property: Customize response display
- String templates, function templates, JSX.Element templates
- Rich text editor integration
- Voice input integration
- Code syntax highlighting
- Markdown rendering
### Internationalization (i18n) and RTL
๐ **Read:** [references/internationalization.md](references/internationalization.md)
- `locale` property: Set language and regional formatting
- `enableRtl` property: Enable right-to-left text direction
- Available locale codes and setup
- Arabic, Hebrew, Persian support
- Multi-language applications
- Browser language detection
- Custom localization strings
### Positioning and Targeting
๐ **Read:** [references/positioning-and-targeting.md](references/positioning-and-targeting.md)
- `relateTo` property: Position relative to DOM elements
- `target` property: Specify where to append the component
- `responseMode` property: Inline vs Popup display modes
- Practical positioning scenarios
### Command Settings
๐ **Read:** [references/command-settings.md](references/command-settings.md)
- Configure command items for quick actions
- Command properties: id, label, iconCss, disabled, prompt, tooltip
- Group commands with `groupBy` property
- Handle `itemSelect` events
- Set popup dimensions
### Response Settings
๐ **Read:** [references/response-settings.md](references/response-settings.md)
- Built-in response items (accept, reject)
- Adding custom response actions
- Response item properties and configuration
- Group response items with `groupBy`
- Handle response `itemSelect` events
### Inline Toolbar Customization
๐ **Read:** [references/inline-toolbar.md](references/inline-toolbar.md)
- Configure toolbar items (buttons, separators, inputs)
- Built-in items and custom items
- Item properties: text, iconCss, type, visible, disabled, align
- Tab key navigation with `tabIndex`
- Custom item templates
- Toolbar positioning: Inline vs Bottom
- `itemClick` event handling with complete event args
### Events
๐ **Read:** [references/events.md](references/events.md)
- `created` event: Component render complete
- `promptRequest` event: Prompt submitted by user
- `open` event: Popup opened
- `close` event: Popup closed
- Event handler patterns and examples
### Methods
๐ **Read:** [references/methods.md](references/methods.md)
- `addResponse(response)`: Add AI response to component
- `executePrompt(prompt)`: Execute prompt dynamically
- `showPopup(coordinates)`: Open the popup
- `hidePopup()`: Close the popup
- `showCommandPopup()`: Show command actions
- `hideCommandPopup()`: Hide command actions
### AI Service Integrations
๐ **Read:** [references/ai-integrations.md](references/ai-integrations.md)
- `enableStreaming` property: Real-time response streaming
- OpenAI API integration with streaming
- Google Gemini AI integration with streaming
- Lite-LLM service integration
- Ollama local LLM integration with streaming
- API credential setup
- Prompt handling and response streaming
- Performance optimization and error handling
## Quick Start
```jsx
import { InlineAIAssistComponent } from '@syncfusion/ej2-react-interactive-chat';
import React from 'react';
function App() {
const assistRef = React.useRef(null);
const handlePromptRequest = () => {
// Simulate AI response
setTimeout(() => {
const response = 'Your AI-generated response here';
assistRef.current?.addResponse(response);
}, 1000);
};
const handleShowPopup = () => {
assistRef.current?.showPopup();
};
return (
<div>
<button onClick={handleShowPopup} className="e-btn e-primary">
Ask AI
</button>
<InlineAIAssistComponent
id="inlineAssist"
ref={assistRef}
relateTo="button"
promptRequest={handlePromptRequest}
popupWidth="500px"
/>
</div>
);
}
export default App;
```
## Common Patterns
### Pattern 1: AI-Assisted Text Editing
Combine the component with a contentEditable div to enable AI-powered suggestions while editing:
```jsx
const handleResponseItemSelect = (args) => {
if (args.command.label === 'Accept') {
const lastResponse = assistRef.current.prompts?.[assistRef.current.prompts.length - 1]?.response;
if (lastResponse && editableRef.current) {
editableRef.current.innerHTML = lastResponse;
}
}
};
<InlineAIAssistComponent
responseSettings={{
itemSelect: handleResponseItemSelect
}}
/>
```
### Pattern 2: Command-Based Actions
Set up predefined commands for common AI tasks:
```jsx
const commandSettings = {
commands: [
{ id: 'summarize', label: 'Summarize', iconCss: 'e-icons e-compress', prompt: 'Summarize this text' },
{ id: 'expand', label: 'Expand', iconCss: 'e-icons e-expand', prompt: 'Expand this text' },
{ id: 'fix', label: 'Fix Grammar', iconCss: 'e-icons e-check-box', prompt: 'Fix grammar and spelling' }
]
};
<InlineAIAssistComponent commandSettings={commandSettings} />
```
### Pattern 3: Custom Toolbar Actions
Add custom toolbar items to trigger component methods:
```jsx
const handleToolbarItemClick = (args) => {
if (args.item.id === 'customAction') {
assistRef.current?.executePrompt('User-defined prompt');
}
};
const inlineToolbarSettings = {
items: [
{ id: 'customAction', text: 'Custom', iconCss: 'e-icons e-settings' }
],
itemClick: handleToolbarItemClick
};
```
### Pattern 4: Response Display Modes
Switch between inline editing and popup responses:
```jsx
// Inline mode: Response appears inline
<InlineAIAssistComponent responseMode="Inline" />
// Popup mode: Response in floating popup
<InlineAIAssistComponent responseMode="Popup" popupWidth="400px" />
```
### Pattern 5: Lifecycle Management
Use events to coordinatRelated in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context โ no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes โ information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development โ guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.