syncfusion-react-popups

Comprehensive guide for implementing Syncfusion React popup components including Dialog, ToolTip. Use this when building modal/modeless dialogs, confirmation popups, forms in dialogs, draggable windows, popovers, tooltips, and overlaid content with custom positioning, animations, WCAG 2.2 accessibil

By syncfusion · 565 installs

npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-popups

Source repository · Upstream listing

Syncfusion React Popups Component Implementing Syncfusion React Dialog Component The DialogComponent displays content in a floating window with support for modal and modeless modes, custom positioning, dragging, resizing, animations, templating, and comprehensive accessibility features. Component Overview DialogComponent Features: Modal/Modeless modes : Control parent interaction blocking 9 preset positions + custom X/Y : Flexible placement Dragging : Header based drag and drop (allowDragging) Resizing : Diagonal resize grip (enableResize) Templating : Custom header, content, footer Animations : 16 effects (Fade, Zoom, Flip, Slide, FadeZoom, etc.) Buttons : Built in action buttons with click handlers Events : open, close, beforeOpen, beforeClose, drag, dragStart, dragStop, resize events Keyboard Navigation : Tab, Escape (closeOnEscape), Enter WCAG 2.2 Accessibility : ARIA roles, focus management Localization : 20+ locales via locale property RTL Support : Right to left rendering Documentation & Navigation Guide Getting Started 📄 Read: [references/getting started.md](references/dialog getting started.md) Installation ( @syncfusion/ej2 react popups ) CSS/theme imports (material, bootstrap, tailwind) Basic DialogComponent JSX structure show()/hide() methods and refs Functional component patterns with hooks Initial visibility with visible prop Modal vs Modeless 📄 Read: [references/modal vs modeless.md](references/dialog modal vs modeless.md) isModal boolean property (true/false) Modal overlay behavior and parent blocking Modeless floating behavior Focus management differences When to choose each mode Side by side comparisons Positioning and Dragging 📄 Read: [references/positioning and dragging.md](references/dialog positioning and dragging.md) position object (X: 'center' 'left' 'right' number, Y: 'top' 'center' 'bottom' number) 9 preset position combinations Custom pixel based positioning allowDragging boolean property enableResize and resizeHandles configuration Target element constraints with target prop Templates and Content 📄 Read: [references/templates and content.md](references/dialog templates and content.md) content property (string, HTML, JSX function) header property (text or template) footerTemplate (custom footer JSX) Dynamic content updates HTML sanitization (enableHtmlSanitizer) Styling content and edge cases Buttons and Actions 📄 Read: [references/buttons and actions.md](references/dialog buttons and actions.md) buttons array with ButtonPropsModel[] ButtonPropsModel structure (buttonModel, click, isFlat, type) buttonModel properties (content, isPrimary, cssClass) Click event handlers Styling buttons with cssClass Button types (Button, Submit, Reset) Animation Effects 📄 Read: [references/animation effects.md](references/dialog animation effects.md) AnimationSettingsModel (effect, duration, delay) 16 animation effects (Fade, FadeZoom, FlipLeftDown, FlipLeftUp, etc.) Duration in milliseconds Delay before animation starts Disable animations (effect: 'None') Performance considerations Localization and Accessibility 📄 Read: [references/localization and accessibility.md](references/dialog localization and accessibility.md) locale property for culture/language WCAG 2.2 compliance Keyboard navigation (Tab, Enter, Escape) closeOnEscape behavior control ARIA roles and attributes Screen reader support RTL support with enableRtl Focus management patterns Advanced Patterns 📄 Read: [references/advanced patterns.md](references/dialog advanced patterns.md) Events: open, close, beforeOpen, beforeClose, drag, dragStart, dragStop, resizeStart, resizeStop, resizing Nested and stacked dialogs Forms with validation AJAX content loading Prevent close logic (beforeClose event) Full screen dialogs HTML sanitization and security CSS classes and z index management Enable persistence (enablePersistence) Common edge cases and troubleshooting API Reference (Complete) 📄 Read: [references/api reference.md](references/dialog api reference.md) All 24 DialogModel properties with types and defaults All 11 events with event arguments Methods: show(), hide(), refresh(), destroy() ButtonPropsModel structure (buttonModel, click, isFlat, type) AnimationSettingsModel with all 16 effects Types and enumerations Quick reference patterns Quick Start Example ⚠️ Dependency Alignment: All @syncfusion/ej2 packages must be on the same major version to avoid peer dependency conflicts and supply chain mismatches. Install them together: Basic Modal Dialog: Common Patterns Pattern 1: Confirmation Dialog Delete action with confirmation buttons: Pattern 2: Form Dialog Dialog with form inputs and validation: Pattern 3: Centered Dialog Position dialog in center of screen: Pattern 4: Draggable Floating Panel Non modal, draggable properties panel: Pattern 5: Animated Dialog Dialog with Zoom animation: Pattern 6: Custom Footer Template Custom footer instead of buttons: Pattern 7: Nested Dialogs Parent dialog containing child dialog: Key Props (DialogModel) Prop Type Description Default When to Use isModal boolean Enable modal mode (blocks parent interaction) false Confirmations, alerts, critical actions visible boolean Initial visibility state false Control initial dialog display header string \ JSX Dialog header/title Every dialog needs a title content string \ HTML \ JSX Dialog body content Main dialog information buttons ButtonPropsModel[] Action buttons in footer For OK/Cancel, action confirmations footerTemplate JSX Custom footer content When buttons prop doesn't fit showCloseIcon boolean Show close button in header false Allow users to dismiss position PositionData X/Y positioning (center, top, etc.) { X: 'center', Y: 'center' } Custom placement allowDragging boolean Enable drag functionality false Movable dialogs, floating panels enableResize boolean Enable resize with grip false Resizable dialogs resizeHandles ResizeDirections[] Which edges/corners resize ['All'] Control resize behavior width string \ number Dialog width '330px' Control dialog size height string \ number Dialog height 'auto' Control dialog size minHeight string \ number Minimum height Prevent too small resize animationSettings AnimationSettingsModel Animation effect/duration/delay Smooth open/close transitions closeOnEscape boolean Close on Escape key press true Keyboard navigation target string (selector) Container element document.body Modal positioning enableHtmlSanitizer boolean Sanitize HTML content true Security (prevent XSS) cssClass string Custom CSS classes Styling and theming enableRtl boolean Right to left rendering false RTL languages locale string Culture/language code 'en US' Localization zIndex number Stack order Manage overlapping dialogs enablePersistence boolean Persist state on reload false Remember size/position Common Use Cases 1. Confirmation Dialogs Confirm delete, submit, or critical actions before proceeding 2. Alert/Info Popups Display system messages, warnings, or notifications 3. Form Dialogs Edit profiles, settings, or create new records in modal forms 4. Input Prompts Collect user input for specific actions (e.g., "Enter file name") 5. Properties Panels Draggable, non modal panels for settings or properties 6. Multi Step Workflows Nested dialogs for step by step processes 7. Loading/Processing Show progress indicators or loading states 8. Help/Documentation Contextual help, tips, or tutorial overlays 9. Image Galleries Lightbox dialogs for images or media previews 10. Settings/Preferences Organize application settings in tabbed dialogs Next: Choose a reference based on what you need to implement. All references include working code examples, best practices, and troubleshooting guidance. Implementing Syncfusion React Predefined Dialog Component Table of Contents [Key Concept]( key concept) [Quick Start]( quick start) [Documentation Guide]( documentation guide) [Common Patterns]( common patterns) Key Concept Syncfusion Predefined Dialogs are not component based ( <ejs dialog ). They are opened imperatively via the DialogUtility utility class: Dialog Type Method Alert DialogUtility.alert({ ... }) Confirm DialogUtility.confirm({ ... }) Prompt (input) DialogUtility.confirm({ content: '<input .../ ', ... }) Import: import { DialogUtility } from '@syncfusion/ej2 react popups'; Quick Start Documentation Guide Getting Started 📄 Read: [references/getting started.md](references/predefineddialog getting started.md) Installation ( @syncfusion/ej2 react popups ) CSS imports Alert, Confirm, and Prompt minimal examples Functional and class component patterns Animation 📄 Read: [references/animation.md](references/predefineddialog animation.md) animationSettings property with effect , duration , delay Alert / Confirm / Prompt animation examples Draggable 📄 Read: [references/draggable.md](references/predefineddialog draggable.md) isDraggable boolean property Alert / Confirm / Prompt drag examples Position 📄 Read: [references/position.md](references/predefineddialog position.md) position property: { X, Y } — left center right / top center bottom or numeric offset Alert / Confirm / Prompt position examples Dimension 📄 Read: [references/dimension.md](references/predefineddialog dimension.md) width and height properties cssClass for max width / min width constraints Alert / Confirm / Prompt dimension examples Customization 📄 Read: [references/customization.md](references/predefineddialog customization.md) okButton / cancelButton — custom text , icon , click handler showCloseIcon and closeOnEscape Custom content for prompt dialogs API Reference 📄 Read: [references/api.md](references/predefineddialog api.md) Full DialogUtility.alert() / confirm() option properties All supported fields: title , content , width , height , position , animationSettings , isDraggable , okButton , cancelButton , showCloseIcon , closeOnEscape , cssClass Common Patterns Alert with OK callback: Confirm with Yes / No: Prompt (input capture): Implementing Syncfusion React Tooltip A comprehensive skill for implementing the Syncfusion React TooltipComponent — covering setup, content strategies, positioning, open modes, animation, customization, accessibility, and advanced how to patterns. Package: @syncfusion/ej2 react popups Import: import { TooltipComponent } from '@syncfusion/ej2 react popups'; Quick Start Navigation Guide Getting Started & Setup 📄 Read: [references/getting started.md](references/tooltip getting started.md) Installation and CSS imports Basic tooltip on a single element Tooltip on multiple targets within a container ( target prop) Using title attribute as fallback content Running the application Content 📄 Read: [references/content.md](references/tooltip content.md) Plain string content Template content (JSX function) Dynamic content loaded via Fetch/Ajax ( beforeRender event) HTML content (iframe, embedded elements) Updating content programmatically with dataBind() Positioning 📄 Read: [references/position.md](references/tooltip position.md) 12 static positions ( TopL