MCPInstall

syncfusion-angular-ribbon

Implement the Syncfusion Angular Ribbon component. Use this skill when you need to create Microsoft Office-style ribbon interfaces, organize application commands in tabs and groups, implement file menus or backstage views, or create sophisticated command interfaces. Includes setup, configuration, event handling, layouts, and customization. Use this skill for all Ribbon component implementation needs.

Installs
304
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-ribbon
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-angular-ribbon automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Syncfusion Angular Ribbon Component

Component Overview

The Syncfusion Angular Ribbon is a professional command interface component that organizes application commands in a tabbed ribbon format, similar to Microsoft Office. It features:

  • Hierarchical Command Organization: Tabs → Groups → Collections → Items for logical command structure
  • 7 Built-in Item Types: Button, CheckBox, DropDown, SplitButton, ComboBox, ColorPicker, GroupButton, and Gallery
  • Dual Layout Modes: Classic (multi-row) and Simplified (collapsible) layouts with automatic resizing
  • File Menu & Backstage Views: Traditional file menus or modern backstage interfaces for document operations
  • Contextual Tabs: Dynamic tabs that appear based on user selection or context
  • Responsive Resizing: Automatic item size adjustment (Large, Medium, Small) based on available width
  • Keyboard Navigation: Full keytips support for keyboard-first workflows
  • Accessibility Features: WCAG compliance with ARIA attributes and screen reader support
  • RTL Support: Right-to-left layout for Arabic, Hebrew, Persian, and Urdu languages
  • Gallery Items: Visual selection panels for themes, styles, and color schemes
  • Help Pane: Customizable help pane with template support
  • Advanced Event System: Comprehensive events for tab selection, collapse/expand, launcher clicks, and item interactions
  • Highly Configurable: Extensive API with 20+ ribbon properties, 30+ item properties, and 10+ events

Key Concepts & Hierarchy

Important concepts:

  • Tabs: Organize major feature categories (Home, Insert, View)
  • Groups: Group related commands within a tab (Clipboard, Font, Alignment)
  • Collections: Visual groupings within a group for better organization
  • Items: Individual commands with 7 types (Button, DropDown, ColorPicker, etc.)
  • Layouts: Classic (multi-row) or Simplified (collapse-capable) with automatic switching
  • File Menu/Backstage: Application-level operations (New, Open, Save, Print)

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and package setup (Ivy vs ngcc)
  • CSS theme imports and dependencies
  • Creating your first Ribbon
  • Adding tabs and groups
  • Basic items and running the application

Tabs, Groups, and Items Structure

📄 Read: references/tabs-groups-items.md

  • Tab hierarchy and properties
  • Adding groups to tabs
  • Ribbon collections and items
  • Item size configuration (Large, Medium, Small)
  • Orientation settings (Row/Column)
  • Multiple tabs and groups examples

Item Types and Configuration

📄 Read: references/item-types.md

  • All 7 built-in item types
  • Button items (toggle, disabled states)
  • CheckBox, DropDown, SplitButton items
  • ComboBox, ColorPicker, GroupButton items
  • Complete code examples for each type
  • Item settings models and properties

Ribbon Layouts and Resizing

📄 Read: references/layouts.md

  • Classic layout (default multi-row format)
  • Simplified layout (with collapse support)
  • Switching between layouts
  • Item size allowances and configuration
  • Responsive resizing behavior
  • Layout examples and best practices

File Menu and Backstage Views

📄 Read: references/file-menu-and-backstage.md

  • File Menu configuration and visibility
  • Adding menu items with icons and actions
  • Backstage view as file menu replacement
  • Backstage items and content
  • Footer items and separators
  • Back button customization
  • Target element positioning
  • Complete file menu and backstage examples

Advanced Features

📄 Read: references/advanced-features.md

  • Contextual tabs (dynamic tab creation)
  • Keytips for keyboard navigation
  • Gallery items for visual selection
  • Help pane templates
  • Tooltip configuration
  • Resizing behavior and responsive design
  • RTL support for right-to-left languages
  • Accessibility features and WCAG compliance

Events and Interactivity

📄 Read: references/events.md

  • Tab selection events (tabSelected, tabSelecting)
  • Ribbon collapse/expand events
  • Backstage item click events
  • Event arguments and cancellation
  • Event handling patterns
  • Complete event examples

Customization and Styling

📄 Read: references/customization-and-styling.md

  • CSS class customization
  • Theme integration and switching
  • CSS variables for styling
  • Custom styling examples
  • Group icon customization
  • Item customization and appearance
  • Launcher icon usage

Quick Start Example

Here's a minimal Ribbon with Home and Insert tabs:

import { Component } from "@angular/core";
import { RibbonModule } from '@syncfusion/ej2-angular-ribbon';
import { RibbonButtonSettingsModel, RibbonSplitButtonSettingsModel } from '@syncfusion/ej2-angular-ribbon';

@Component({
  imports: [ RibbonModule ],
  standalone: true,
  selector: "app-root",
  template: `
    <ejs-ribbon id="ribbon">
      <e-ribbon-tabs>
        <e-ribbon-tab header="Home">
          <e-ribbon-groups>
            <e-ribbon-group header="Clipboard" orientation="Row">
              <e-ribbon-collections>
                <e-ribbon-collection>
                  <e-ribbon-items>
                    <e-ribbon-item type="SplitButton" [splitButtonSettings]="pasteSettings"></e-ribbon-item>
                  </e-ribbon-items>
                </e-ribbon-collection>
                <e-ribbon-collection>
                  <e-ribbon-items>
                    <e-ribbon-item type="Button" [buttonSettings]="cutButton"></e-ribbon-item>
                    <e-ribbon-item type="Button" [buttonSettings]="copyButton"></e-ribbon-item>
                  </e-ribbon-items>
                </e-ribbon-collection>
              </e-ribbon-collections>
            </e-ribbon-group>
          </e-ribbon-groups>
        </e-ribbon-tab>
        <e-ribbon-tab header="Insert">
          <e-ribbon-groups>
            <e-ribbon-group header="Illustrations" orientation="Row">
              <e-ribbon-collections>
                <e-ribbon-collection>
                  <e-ribbon-items>
                    <e-ribbon-item type="Button" [buttonSettings]="chartButton"></e-ribbon-item>
                  </e-ribbon-items>
                </e-ribbon-collection>
              </e-ribbon-collections>
            </e-ribbon-group>
          </e-ribbon-groups>
        </e-ribbon-tab>
      </e-ribbon-tabs>
    </ejs-ribbon>
  `,
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  public pasteSettings = { 
    iconCss: "e-icons e-paste", 
    items: [{ text: "Keep Source Format" }, { text: "Merge format" }], 
    content: "Paste" 
  };
  public cutButton: RibbonButtonSettingsModel = { iconCss: "e-icons e-cut", content: "Cut" };
  public copyButton: RibbonButtonSettingsModel = { iconCss: "e-icons e-copy", content: "Copy" };
  public chartButton: RibbonButtonSettingsModel = { iconCss: "e-icons e-chart", content: "Chart" };
}

Common Patterns

Pattern 1: Multi-Tab Command Interface

  1. Define multiple tabs for major features (Home, Insert, View, Format)
  2. Add groups within each tab for related commands
  3. Configure collections to organize items visually
  4. Use appropriate item types (Button, DropDown, ColorPicker)
  5. Set activeLayout to Classic or Simplified
  6. Handle tabSelected event for tab-specific actions

Pattern 2: File Menu Integration with Backstage

  1. Configure fileMenu or backStageMenu for document operations
  2. Add menu items for New, Open, Save, Print, Export
  3. Set icons with iconCss and content areas for backstage
  4. Handle menu item clicks with event handlers
  5. Use footer items for settings or account options
  6. Configure back button for backstage navigation

Pattern 3: Responsive Resizing with Size Priorities

  1. Set allowedSizes array on items (Large, Medium, Small)
  2. Configure activeSize for initial display size
  3. Ribbon automatically adjusts item sizes based on width
  4. Use Large for primary commands, Small for secondary
  5. Handle ribbonCollapsing event for custom resize logic
  6. Test responsive behavior at different viewport widths

Pattern 4: Contextual Tabs for Dynamic Commands

  1. Define contextualTabs array with tab configurations
  2. Set visible property based on user selection or context
  3. Use isSelected to activate contextual tab programmatically
  4. Add tab-specific groups and items for contextual commands
  5. Handle tabSelected to detect contextual tab activation
  6. Toggle visibility dynamically in response to user actions

Pattern 5: Keyboard Navigation with Keytips

  1. Enable enableKeyTips on ribbon component
  2. Assign keyTip property to tabs (Alt+H for Home)
  3. Add keytips to groups and individual items
  4. Configure layoutSwitcherKeyTip for layout toggle
  5. Set keytips on file menu and backstage items
  6. Follow consistent keytip patterns (Alt+ letter combinations)

Pattern 6: Gallery Items for Visual Selection

  1. Configure items with type="Gallery" for visual panels
  2. Define gallerySettings with groups and items
  3. Set itemCount, popupWidth, popupHeight for display
  4. Use templates for custom gallery item rendering
  5. Handle selection events for gallery item clicks
  6. Common use cases: themes, styles, colors, table designs

Key Properties & Events

Core Ribbon Configuration

PropertyTypeDefaultWhen to Use
tabsRibbonTabModel[][]Define ribbon tabs with groups and items
activeLayoutLayoutType'Classic'Set layout mode (Classic or Simplified)
selectedTabnumber0Set or get the currently active tab index
isMinimizedbooleanfalseControl ribbon minimized state

Layout & Appearance

PropertyTypeDefaultWhen to Use
widthstring | number'100%'Set ribbon container width
cssClassstring''Apply custom CSS classes for styling and themes
hideLayoutSwitcherbooleanfalseHide the Classic/Simplified layout toggle button
tabAnimationobjectnullConfigure tab switching animation settings

Keyboard & Accessibility

PropertyTypeDefaultWhen to Use
enableKeyTipsbooleanfalseEnable keytips for keyboard navigation (Alt+ shortcuts)
layoutSwitcherKeyTipstring''Set keytip for layout switcher button
launcherIconCssstring''Default CSS class for launcher icons across all groups

File Menu & Backstage

PropertyTypeDefaultWhen to Use
fileMenuFileMenuSettingsModelnullConfigure traditional file menu (New, Open, Save, Print)
backStageMenuBackStageMenuModelnullConfigure modern backstage view (replaces file menu)

Advanced Features

PropertyTypeDefaultWhen to Use
contextualTabsRibbonContextualTabModel[][]Define tabs that appear based on context or selection
helpPaneTemplatestring''Custom template for help pane content

Globalization

PropertyTypeDefaultWhen to Use
localestring'en-US'Set language/culture for localization
enableRtlbooleanfalseEnable right-to-left layout (Arabic, Hebrew, Persian, Urdu)
enablePersistencebooleanfalseSave ribbon state between page reloads

Tab Configuration

PropertyTypeDefaultWhen to Use
headerstring''Tab display text (Home, Insert, View)
groupsRibbonGroupModel[][]Array of groups within the tab
idstring''Unique identifier for the tab
keyTipstring''Keyboard shortcut keytip (H for Home)

Group Configuration

PropertyTypeDefaultWhen to Use
headerstring''Group display text (Clipboard, Font, Alignment)
orientationItemOrientation'Column'Layout direction (Row or Column)
enableGroupOverflowbooleanfalseShow overflow dropdown when group doesn't fit
isCollapsiblebooleantrueAllow group to collapse in simplified layout
showLauncherIconbooleanfalseShow launcher icon for dialog/pane launch
groupIconCssstring''CSS class for group icon in overflow/launcher

Item Configuration

PropertyTypeDefaultWhen to Use
typeRibbonItemType'Button'Item type: Button, CheckBox, DropDown, SplitButton, ComboBox, ColorPicker, GroupButton, Gallery
idstring''Unique identifier for the item
allowedSizesRibbonItemSize[]['Large', 'Medium', 'Small']Sizes item can resize to (responsive behavior)
activeSizeRibbonItemSize'Medium'Current display size of item
disabledbooleanfalseDisable item to prevent user interaction
displayOptionsDisplayMode'Auto'Control display (Auto, Classic, Simplified, Overflow)
cssClassstring''Custom CSS class for item styling
keyTipstring''Keyboard shortcut keytip for item
ribbonTooltipSettingsTooltipSettingsModelnullTooltip configuration (id, title, content, iconCss, cssClass)
itemTemplatestring''Custom template for item rendering
buttonSettingsRibbonButtonSettingsModelnullButton-specific settings (iconCss, content, clicked)
dropDownSettingsRibbonDropDownSettingsModelnullDropDown-specific settings (iconCss, content, items)
splitButtonSettingsRibbonSplitButtonSettingsModelnullSplitButton-specific settings (iconCss, items, clicked)
checkBoxSettingsRibbonCheckBoxSettingsModelnullCheckBox-specific settings (label, checked, change)
colorPickerSettingsRibbonColorPickerSettingsModelnullColorPicker-specific settings (value, change)
comboBoxSettingsRibbonComboBoxSettingsModelnullComboBox-specific settings (dataSource, value, fields)
groupButtonSettingsRibbonGroupButtonSettingsModelnullGroupButton-specific settings (items, selected)
gallerySettingsRibbonGallerySettingsModelnullGallery configuration (groups, items, itemCount, popupWidth, popupHeight, template)

File Menu Configuration

PropertyTypeDefaultWhen to Use
visiblebooleanfalseShow/hide file menu button
textstring'File'File menu button text
menuItemsFileMenuItemModel[][]Array of menu items (New, Open, Save, Print)
itemTemplatestring''Custom template for menu items
popupTemplatestring''Custom template for entire popup
keyTipstring''Keytip for file menu (F for File)
ribbonTooltipSettingsTooltipSettingsModelnullTooltip settings for file menu button

Backstage Configuration

PropertyTypeDefaultWhen to Use
visiblebooleanfalseShow/hide backstage view
textstring'File'Backstage button text
itemsBackStageItemModel[][]Backstage items (id, text, iconCss, content, separator, isFooter)
backButtonBackButtonModelnullBack button configuration (text, iconCss, visible)
widthstring'auto'Backstage width dimension
heightstring'auto'Backstage height dimension
targetHTMLElementnullElement for positioning backstage
templatestring''Custom template for backstage content
keyTipstring''Keytip for backstage button
ribbonTooltipSettingsTooltipSettingsModelnullTooltip settings for backstage button

Contextual Tab Configuration

PropertyTypeDefaultWhen to Use
visiblebooleanfalseShow/hide contextual tab group
isSelectedbooleanfalseWhether contextual tab is active
tabsRibbonTabModel[][]Array of tabs in contextual group

Key Events

EventArgumentsWhen to Use
(tabSelected)TabSelectedEventArgsAfter a tab is selected (get tab index and data)
(tabSelecting)TabSelectingEventArgsBefore tab selection (cancelable, validate selection)
(ribbonCollapsing)RibbonCollapsingEventArgsBefore ribbon collapses (cancelable)
(ribbonExpanded)RibbonExpandedEventArgsAfter ribbon expands
(launcherClick)LauncherClickEventArgsWhen launcher icon is clicked (open dialog/pane)
(overflowPopupOpen)OverflowPopupEventArgsBefore overflow popup opens (cancelable)
(overflowPopupClose)OverflowPopupEventArgsBefore overflow popup closes (cancelable)
(layoutSwitched)LayoutSwitchedEventArgsWhen layout switches between Classic/Simplified
(backStageItemClick)BackStageItemClickEventArgsWhen backstage item is clicked

File Menu Events

EventArgumentsWhen to Use
beforeOpenBeforeOpenCloseMenuEventArgsBefore file menu opens (cancelable)
openOpenCloseMenuEventArgsAfter file menu opens
beforeCloseBeforeOpenCloseMenuEventArgsBefore file menu closes (cancelable)
closeOpenCloseMenuEventArgsAfter file menu closes
beforeItemRenderMenuEventArgsBefore menu item renders (customize rendering)
selectMenuEventArgsWhen menu item is selected

FAQ

What does the syncfusion-angular-ribbon skill do?

Implement the Syncfusion Angular Ribbon component. Use this skill when you need to create Microsoft Office-style ribbon interfaces, organize application commands in tabs and groups, implement file menus or backstage views, or create sophisticated command interfaces. Includes setup, configuration, event handling, layouts, and customization. Use this skill for all Ribbon component implementation needs.

How do I install syncfusion-angular-ribbon?

Run npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-ribbon in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-angular-ribbon/ (personal) or .claude/skills/syncfusion-angular-ribbon/ (project).

Which AI agents can use syncfusion-angular-ribbon?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-angular-ribbon safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-angular-ribbon?

It is published by syncfusion in syncfusion/angular-ui-components-skills. It has 304 recorded installs.

More from syncfusion/angular-ui-components-skills

View all →

syncfusion-angular-grid

syncfusion/angular-ui-components-skills

Implements Syncfusion Angular Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling or infinite scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.

Frontend & Design342 installs

syncfusion-angular-common

syncfusion/angular-ui-components-skills

Common utilities and features for Syncfusion Angular components. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion Angular components.

Frontend & Design327 installs

syncfusion-angular-chart

syncfusion/angular-ui-components-skills

Implement Syncfusion Angular Chart component for professional data visualization. Use this when creating or customizing charts such as line, bar, column, area, pie, financial (candlestick, OHLC), scatter, bubble, or stock charts. Supports axes configuration, series binding, legends, tooltips, zooming, real-time updates, technical indicators, themes, export, and accessibility features.

Frontend & Design321 installs

syncfusion-angular-license

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design319 installs

syncfusion-angular-themes

syncfusion/angular-ui-components-skills

Use this skill when users need to apply themes, customize appearance, switch dark mode, use CSS variables, configure icons, or modify visual styling for Syncfusion Angular components. Covers icon library, size modes, and Theme Studio integration.

Frontend & Design319 installs

syncfusion-angular-rich-text-editor

syncfusion/angular-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design317 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs