Skip to main content

syncfusion-react-stepper

Implement and configure the Syncfusion React Stepper component for guided workflows. Use this skill when creating step-by-step navigation flows, multi-step forms, wizards, or process guides in React. This skill covers step configuration, orientation (horizontal/vertical), events, validation, animations, templates, accessibility, and globalization support for linear or non-linear workflows.

معلومات المصدر

المستودع
syncfusion/react-ui-components-skills
آخر نشاط في المصدر
١١ أغسطس ٢٠٢٦ في ٠٥:١٩
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣
التفرعات
٩

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
10 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
syncfusion-react-stepper
description
Implement and configure the Syncfusion React Stepper component for guided workflows. Use this skill when creating step-by-step navigation flows, multi-step forms, wizards, or process guides in React. This skill covers step configuration, orientation (horizontal/vertical), events, validation, animations, templates, accessibility, and globalization support for linear or non-linear workflows.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Implementing Syncfusion React Stepper The Stepper component guides users through a multi-step workflow or process with visual indicators, step labels, and flexible configuration. It's ideal for wizards, checkout flows, onboarding processes, and any guided user experience requiring sequential navigation. ## When to Use This Skill Use the Stepper component when you need to: - Guide users through multi-step processes (checkout, registration, setup wizards) - Display step-by-step workflows with progress indication - Validate user input before advancing to the next step - Support linear or non-linear navigation patterns - Customize appearance with icons, labels, and templates - Localize content for different languages/regions ## Component Overview **Key Capabilities:** - **Step Navigation:** Horizontal and vertical orientations, sequential or free navigation - **Step Types:** Default (icons + labels), label-only, or indicator-only modes - **Events:** Track step changes, validations, and interactions - **Styling:** Animations, templates, custom CSS, and tooltips - **Accessibility:** Full keyboard navigation and ARIA support - **Globalization:** Multi-language support and RTL compatibility ## Documentation and Navigation Guide ### Getting Started & Installation 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Package installation and dependencies - CSS imports and theme setup - Creating your first stepper - Initial configuration and rendering ### Core Configuration: Steps and Properties 📄 **Read:** [references/steps-and-configuration.md](references/steps-and-configuration.md) - Adding and defining steps with StepDirective - Icon CSS, text, and label properties - Active step management - Disabled states and customization - CSS class configuration ### Layout & Appearance: Orientations and Types 📄 **Read:** [references/orientations-and-types.md](references/orientations-and-types.md) - Horizontal and vertical orientations - Step type modes (Default, Label, Indicator) - Label positioning (Top, Bottom, Start, End) - RTL support and responsive design ### Interaction & Behavior: Events 📄 **Read:** [references/events-and-interactions.md](references/events-and-interactions.md) - Lifecycle events: created, stepChanged, stepChanging - User interaction events: stepClick, beforeStepRender - Event arguments and handling patterns - Preventing unwanted transitions ### Workflow Control: Linear Flow and Validation 📄 **Read:** [references/linear-flow-and-validation.md](references/linear-flow-and-validation.md) - Linear stepper configuration for sequential navigation - Step validation and status management - Preventing invalid transitions - Resetting stepper state ### Advanced Styling & Customization 📄 **Read:** [references/animation-template-tooltip.md](references/animation-template-tooltip.md) - Animation configuration and timing - Template customization for steps - Tooltip integration and display - Custom content rendering ### Methods and Advanced Patterns 📄 **Read:** [references/methods-and-advanced.md](references/methods-and-advanced.md) - Component methods (reset, etc.) - Both API patterns (component-based vs property-based) - Advanced use cases and patterns - Performance optimization tips ### Best Practices: Accessibility & Localization 📄 **Read:** [references/accessibility-globalization.md](references/accessibility-globalization.md) - WCAG compliance and ARIA attributes - Keyboard navigation guidelines - Globalization and localization - RTL support implementation ## Quick Start Examples ### Pattern 1: Component-Based (StepsDirective) ```jsx import React from 'react'; import { StepperComponent, StepsDirective, StepDirective } from '@syncfusion/ej2-react-navigations'; import '@syncfusion/ej2-base/styles/tailwind3.css'; import '@syncfusion/ej2-navigations/styles/tailwind3.css'; function App() { return ( <div> <StepperComponent> <StepsDirective> <StepDirective iconCss="sf-icon-cart" label="Cart" /> <StepDirective iconCss="sf-icon-transport" label="Delivery" /> <StepDirective iconCss="sf-icon-payment" label="Payment" /> <StepDirective iconCss="sf-icon-success" label="Confirmation" /> </StepsDirective> </StepperComponent> </div> ); } export default App; ``` ### Pattern 2: Property-Based (steps Array) ```jsx import React from 'react'; import { StepperComponent } from '@syncfusion/ej2-react-navigations'; import '@syncfusion/ej2-base/styles/tailwind3.css'; import '@syncfusion/ej2-navigations/styles/tailwind3.css'; function App() { const steps = [ { iconCss: 'sf-icon-cart', label: 'Cart' }, { iconCss: 'sf-icon-transport', label: 'Delivery' }, { iconCss: 'sf-icon-payment', label: 'Payment' }, { iconCss: 'sf-icon-success', label: 'Confirmation' } ]; return ( <div> <StepperComponent steps={steps} /> </div> ); } export default App; ``` ## Common Patterns ### Pattern 1: Wizard with Validation ```jsx const [activeStep, setActiveStep] = React.useState(0); const stepperRef = React.useRef(null); const handleStepChanging = (args) => { // Validate current step before advancing if (!validateStep(activeStep)) { args.cancel = true; // Prevent transition } }; <StepperComponent ref={stepperRef} stepChanging={handleStepChanging} > {/* steps */} </StepperComponent> ``` ### Pattern 2: Linear vs Non-Linear Navigation ```jsx // Linear: Users must complete steps sequentially <StepperComponent linear={true}> // Non-linear: Users can skip to any step <StepperComponent linear={false}> ``` ### Pattern 3: Responsive Orientation ```jsx // Auto-switch orientation based on screen size const [orientation, setOrientation] = React.useState('horizontal'); React.useEffect(() => { const handleResize = () => { setOrientation(window.innerWidth < 768 ? 'vertical' : 'horizontal'); }; window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); <StepperComponent orientation={orientation}> ``` ## Key Props and Configuration ### Component Properties | Prop | Type | Default | Purpose | |------|------|---------|---------| | `activeStep` | number | 0 | Currently active step index | | `animation` | StepperAnimationSettingsModel | undefined | Animation configuration (enable, duration, delay) | | `cssClass` | string | '' | CSS class for custom styling | | `enablePersistence` | boolean | false | Persist component state between page reloads | | `enableRtl` | boolean | false | Enable right-to-left layout | | `labelPosition` | string | 'Bottom' | Label placement: 'Top', 'Bottom', 'Start', 'End' | | `linear` | boolean | false | Enforce sequential step navigation | | `locale` | string | 'en-US' | Localization culture code | | `orientation` | string | 'horizontal' | Layout direction: 'horizontal' or 'vertical' | | `readOnly` | boolean | false | Disable user interaction | | `showTooltip` | boolean | true | Show tooltips on hover | | `stepType` | string | 'Default' | Visual mode: 'Default', 'Label', 'Indicator' | | `steps` | StepModel[] | [] | Array of step objects (property-based pattern) | | `template` | string \| function | undefined | Custom template for steps | | `tooltipTemplate` | string \| function | undefined | Custom template for tooltips | ### Step Properties (StepModel) | Property | Type | Purpose | |----------|------|---------| | `cssClass` | string | CSS class for individual step styling | | `disabled` | boolean | Disable the step | | `iconCss` | string | Icon CSS class for the step | | `isValid` | boolean | Validation status of the step | | `label` | string | Step label text | | `optional` | boolean | Mark step as optional | | `status` | string | Step status: 'NotStarted', 'InProgress', 'Completed' | | `text` | string | Text content (usually number) | ### Animation Settings | Property | Type | Default | Purpose | |----------|------|---------|---------| | `enable` | boolean | true | Enable animations | | `duration` | number | 400 | Animation duration in milliseconds | | `delay` | number | 0 | Delay before animation starts | ### Events | Event | Fires | Use For | Arguments | |-------|-------|---------|-----------| | `created` | After component initialization | Setup, initialization | Event | | `stepChanged` | After step changes | Update UI, load content | StepperChangedEventArgs | | `stepChanging` | Before step changes | Validate, prevent transitions | StepperChangingEventArgs | | `stepClick` | User clicks step | Track interactions | StepperClickEventArgs | | `beforeStepRender` | Before rendering each step | Customize step appearance | StepperRenderingEventArgs | ### Methods | Method | Parameters | Returns | Purpose | |--------|-----------|---------|---------| | `reset()` | none | void | Reset stepper to initial state (activeStep: 0) | | `nextStep()` | none | void | Move to next step programmatically | | `previousStep()` | none | void | Move to previous step programmatically | | `refreshProgressbar()` | none | void | Refresh progress bar on container resize | | `destroy()` | none | void | Destroy component and release resources | **Event Arguments Reference:** - **StepperChangedEventArgs:** activeStep, previousStep, isInteracted, name, event, element - **StepperChangingEventArgs:** activeStep, previousStep, cancel, isInteracted, name, event, element - **StepperClickEventArgs:** activeStep, name, event, element - **StepperRenderingEventArgs:** activeStep, name, element ## Common Use Cases - **E-Commerce Checkout:** Multi-step checkout flow with order review, shipping, payment - **User Registration:** Multi-step signup with email, profile, verification - **Setup Wizards:** Software onboarding with configuration steps - **Survey Forms:** Step-by-step questionnaire with progress indication - **Installation Guides:** Installation steps with instructions and validation
عرض على GitHub