syncfusion-react-toolbar

Implement the Syncfusion React Toolbar component to create responsive command bars and action toolbars. This skill covers organizing buttons, separators, and input components with various overflow handling modes. Use this when building rich text editors, document editors, or command-driven interface

By syncfusion · 518 installs

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

Source repository · Upstream listing

Implementing Syncfusion React Toolbar Component Overview The Syncfusion React Toolbar component provides a flexible command bar for organizing and executing commands. It supports multiple item types (buttons, separators, inputs), responsive overflow modes, and comprehensive accessibility features. Key Capabilities: Multiple item types: Button, Separator, Input Responsive overflow modes: Scrollable, Popup, MultiRow, Extended Built in keyboard navigation and ARIA support Component rendering within toolbar items Customizable appearance and behavior Tab key navigation support Dynamic item management (add/remove/enable/disable) Rich event system (beforeCreate, clicked, keyDown, created, destroyed) Full RTL and locale support Stateless template rendering Complete Table of Contents 1. Getting Started File: [references/getting started.md](references/getting started.md) Dependencies setup Project initialization (Vite/CRA) Package installation CSS theme imports (Tailwind, Bootstrap, Fluent, Material) Basic implementation examples Global configuration: Locale support for internationalization RTL (Right to Left) layout Persistence settings Collision detection HTML sanitizer Development server setup 2. Item Configuration File: [references/item configuration.md](references/item configuration.md) ItemModel API Reference: Complete interface structure All 16 properties with types Property reference with descriptions Items array configuration patterns Configuration examples (simple, grouped, conditional, accessible) Button item type with properties: text Display text id Unique identifier prefixIcon / suffixIcon Icons positioning width Custom width align Alignment (Left/Center/Right) disabled Disabled state visible Visibility control cssClass Custom CSS classes htmlAttributes HTML attributes overflow Priority display (Show/Hide/None) showAlwaysInPopup Force popup display showTextOn Text display mode (Both/Overflow/Toolbar) Separator item type Input item type for components Tab navigation with tabIndex Complete working examples 3. Responsive Modes File: [references/responsive modes.md](references/responsive modes.md) Scrollable Mode (default) Horizontal scrolling with navigation arrows Touch swipe support Keyboard arrow navigation Use cases: many items, large screens Popup Mode Dropdown overflow container Command priority control Compact appearance Use cases: limited space, mobile MultiRow Mode Item wrapping to multiple rows No scrolling needed All items visible Use cases: responsive width containers Extended Mode Multi row with horizontal scrolling Row level navigation Use cases: many items in limited width Command priority (Show/Hide/None) Text display options (Both/Overflow/Toolbar) Mode comparison table Practical examples for each mode 4. Accessibility & Keyboard Support File: [references/accessibility.md](references/accessibility.md) Compliance standards: WCAG 2.2 Level AA Section 508 compliance Screen reader support (NVDA, JAWS, VoiceOver) ARIA attributes: role="toolbar" aria label , aria orientation aria expanded , aria haspopup Keyboard navigation: allowKeyboard property control Arrow keys (Left/Right) navigation Home/End keys Tab/Shift+Tab for focus Enter/Space for activation Escape to close popups keyDown Event handling: Event parameters (currentItem, nextItem, originalEvent) Custom keyboard shortcuts Preventing default navigation Key specific actions Screen reader support and testing Color contrast WCAG compliance Mobile/touch accessibility RTL support ARIA best practices Testing checklist and tools 5. Item Configuration (Continued) File: [references/item configuration.md](references/item configuration.md) Button properties reference Separator styling Input components (NumericTextBox, DropDownList, CheckBox, RadioButton) Tab navigation control Complete toolbar examples 6. Styling & Customization File: [references/styling customization.md](references/styling customization.md) CSS class structure: .e toolbar Container .e toolbar item Item wrapper .e tbar btn Button .e icons Icon element .e separator Separator .e toolbar pop Popup Toolbar container styling Item & button styling Icon styling and customization State styling (hover, focus, active, disabled) Theme integration (Tailwind, Bootstrap, Fluent, Material) Popup customization CSS classes: .e toolbar pop Popup container .e overflow button Dropdown toggle .e overflow show Show priority items .e overflow hide Hide priority items .e popup text Popup text styling .e toolbar text Toolbar text styling Custom styling examples Performance optimization Complete styled examples 7. Advanced Features & Templates File: [references/advanced features.md](references/advanced features.md) Template Configuration: Template basics (functions/JSX) Template properties When to use templates Item Wise Custom Templates: Single item templates Multiple different templates State within templates Template styling Stateless Templates: Performance optimization CSS class customization Popup customization equivalents Toggle Buttons: Single toggle state Toggle groups (radio like) CSS styling Link Items: Navigation links External links Breadcrumb patterns Tooltips: HTML title attribute Custom tooltip components Styling and positioning Rendering Other Components: Syncfusion components (DropDownList, NumericTextBox, ColorPicker) React components Custom components Command Customization: Click handlers Context menus Custom actions Dynamic Item Management: addItems() Add items at runtime removeItems() Remove by index or ID enableItems() Enable/disable items hideItem() Show/hide items disable() Disable entire toolbar destroy() Cleanup refreshOverflow() Recalculate layout Event Handling: beforeCreate Pre initialization customization created Post initialization callback clicked Item click events with ClickEventArgs keyDown Keyboard events with KeyDownEventArgs destroyed Cleanup event Scroll Step Customization: Control scroll distance Dynamic scroll step Touch swipe behavior Complete advanced example Documentation and Navigation Guide Getting Started 📄 Read: [references/getting started.md](references/getting started.md) Package installation and dependencies Setup with Vite and React CSS imports and theme configuration Basic toolbar with ItemsDirective HTML element initialization Running the development server Item Configuration & Types 📄 Read: [references/item configuration.md](references/item configuration.md) Button item type with properties (text, icons, width, align) Separator item type Input item type for components Tab key navigation with tabIndex Complete working examples Responsive Modes 📄 Read: [references/responsive modes.md](references/responsive modes.md) Scrollable mode (default behavior) Popup overflow mode Command priority (show, hide, none) Text display options Navigation and interaction patterns Accessibility & Keyboard Support 📄 Read: [references/accessibility.md](references/accessibility.md) WCAG 2.2 and Section 508 compliance ARIA attributes and roles Keyboard navigation keys Screen reader support Mobile device accessibility Styling & Customization 📄 Read: [references/styling customization.md](references/styling customization.md) CSS customization patterns Toolbar and item styling Icon and button customization Hover and focus states Theme integration Advanced Features & Templates 📄 Read: [references/advanced features.md](references/advanced features.md) Template configuration and patterns Item wise custom templates Toggle buttons Link items Tooltips Rendering other Syncfusion components Command and scroll customization Quick Start Example Required CSS imports in App.css: Common Patterns Basic Toolbar with Buttons and Separators Create a simple toolbar with button commands and visual separators between groups: Toolbar with Icons Use prefixIcon to add icons to buttons for better visual representation: Responsive Overflow Handling Choose between Scrollable (default) for continuous display or Popup for compact overflow: Toolbar with Input Components Include interactive components like dropdowns within toolbar items: Key Props Property Type Description id string Unique identifier for the toolbar overflowMode "Scrollable" \ "Popup" How to handle overflow items width string Width of the toolbar container items ItemModel[] Array of toolbar items text string Display text for button items prefixIcon string Icon class for prefix position suffixIcon string Icon class for suffix position type "Button" \ "Separator" \ "Input" Item type align "Left" \ "Center" \ "Right" Item alignment overflow "Show" \ "Hide" \ "None" Priority for popup mode tabIndex number Tab navigation order template function Custom template for items Common Use Cases 1. Text Editor Toolbar Format buttons (Bold, Italic, Underline) Alignment options Color and font pickers See: responsive modes.md, advanced features.md 2. File Operations Toolbar New, Open, Save, Save As buttons Print functionality Undo/Redo commands See: item configuration.md, advanced features.md 3. Responsive Mobile Toolbar Popup overflow mode for compact display Scrollable mode for continuous access See: responsive modes.md 4. Accessible Command Bar Keyboard navigation support ARIA attributes Screen reader friendly See: accessibility.md 5. Customized Branded Toolbar Custom CSS styling Theme integration Company specific icons See: styling customization.md Summary The Toolbar component provides a comprehensive solution for command organization and execution in React applications. Start with getting started.md for basic setup, then explore specific features based on your needs. Use advanced features.md for template customization and complex scenarios. Navigation Path: 1. Getting Started → Basic toolbar setup 2. Item Configuration → Add different item types 3. Responsive Modes → Handle overflow 4. Accessibility → Ensure keyboard support 5. Styling → Customize appearance 6. Advanced Features → Templates and custom components