Skip to main content

igniteui-wc-choose-components

Identify the correct Ignite UI Web Components (igniteui-webcomponents, grids, charts, dock manager, React wrappers) for a UI requirement. Give links to the official docs, examples, and API references. WHEN TO USE: the user asks which component fits a UI pattern (form, table, dashboard, navigation, chat, etc.), must compare options (for example, Grid Lite vs. premium Grid), wants a component list for a screen, or asks which package contains a component. WHEN NOT TO USE: implementing a view from a design image or Figma file (use generate-from-image-design or figma-to-app), installing/wiring packages into a framework (use integrate-with-framework), styling/theming (use customize-component-theme), reducing bundle size (use optimize-bundle-size), or migrating Grid Lite to the premium grid (use migrate-grid-lite-to-premium).

Source facts

Repository
IgniteUI/igniteui-webcomponents
Last source activity
October 12, 2026 at 08:19
Detected SKILL.md language
English
Stars
170
Forks
12

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
license
MIT
name
igniteui-wc-choose-components
description
Identify the correct Ignite UI Web Components (igniteui-webcomponents, grids, charts, dock manager, React wrappers) for a UI requirement. Give links to the official docs, examples, and API references. WHEN TO USE: the user asks which component fits a UI pattern (form, table, dashboard, navigation, chat, etc.), must compare options (for example, Grid Lite vs. premium Grid), wants a component list for a screen, or asks which package contains a component. WHEN NOT TO USE: implementing a view from a design image or Figma file (use generate-from-image-design or figma-to-app), installing/wiring packages into a framework (use integrate-with-framework), styling/theming (use customize-component-theme), reducing bundle size (use optimize-bundle-size), or migrating Grid Lite to the premium grid (use migrate-grid-lite-to-premium).
user-invocable
true
# Choose the Right Ignite UI Components AI agents and developers use this skill to identify the best Ignite UI components for a UI requirement. The skill also gives direct links to the official documentation, usage examples, and API references. ## Prerequisites - The **Ignite UI CLI MCP server** (`igniteui-cli`) available as a tool provider > **AGENT INSTRUCTION — MCP Server Setup (REQUIRED)** > > Before you use the Ignite UI CLI MCP tools, you MUST make sure that the MCP server is available. > To do this, call `list_components`. If the tool is not available or the call fails, > you MUST configure the server automatically. Follow the setup instructions in > [`reference/mcp-setup.md`](./reference/mcp-setup.md). > > After you write the file, tell the user that the MCP server is configured. > Also tell the user that it can be necessary to reload the editor to activate the tools. > Start the MCP server. Wait until the MCP server starts, then continue the component-related work. > Do NOT skip this step. Do NOT ask the user to do it manually. ## Setting Up the Ignite UI CLI MCP Server > **Full setup instructions for VS Code, Cursor, Claude Desktop, and JetBrains IDEs are in [`reference/mcp-setup.md`](./reference/mcp-setup.md).** Read that file for editor-specific configuration steps and verification. ## Before You Answer - Choose the package before you write imports or install steps. - If `package.json` does not contain the necessary package, first add or install the correct Ignite UI dependency. If a package is not in `package.json`, this does not mean that the package is invalid. - If the user also needs setup steps or code, load [igniteui-wc-integrate-with-framework](../igniteui-wc-integrate-with-framework/SKILL.md). ## Example Usage - "What component should I use to display a list of items with actions?" - "I need a date picker for a booking form" - "How do I show file upload progress?" - "What's the best component for a navigation sidebar?" - "I need a searchable dropdown with multi-select" - "Build a dashboard layout with cards and a data grid" - "I want to display hierarchical/tree data" - "Show me components for notifications and alerts" ## Related Skills - [igniteui-wc-integrate-with-framework](../igniteui-wc-integrate-with-framework/SKILL.md) — Configure the selected components in React, Angular, Vue, or vanilla JS - [igniteui-wc-customize-component-theme](../igniteui-wc-customize-component-theme/SKILL.md) — Style and theme the components you select - [igniteui-wc-optimize-bundle-size](../igniteui-wc-optimize-bundle-size/SKILL.md) — Import only the components that you use ## When to Use - The agent or user must decide which component fits a UI requirement - The user describes a UI pattern and needs a matching component name - The user wants to see which components are available - The user needs links to the official docs or live examples for a specific component - The user starts a new feature and maps requirements to components - The user changes existing UI that has new or different component requirements --- ## Available Packages | Component family | License | Trial install | Licensed install | |---|---|---|---| | General UI components | MIT | `npm install igniteui-webcomponents` | (same) | | Advanced grids | Commercial | `npm install igniteui-webcomponents-grids` | `npm install @infragistics/igniteui-webcomponents-grids` | | Grid Lite | MIT | `npm install igniteui-grid-lite` | (same) | | Dock Manager | Commercial | `npm install igniteui-dockmanager` | `npm install @infragistics/igniteui-dockmanager` | | Charts | Commercial | `npm install igniteui-webcomponents-core igniteui-webcomponents-charts` | `npm install @infragistics/igniteui-webcomponents-core @infragistics/igniteui-webcomponents-charts` | If the request only says "grid", choose by features: - Advanced features (editing, paging, summaries, grouping, hierarchical data, pivot) → `igniteui-webcomponents-grids` - Lightweight table → `igniteui-grid-lite` ## Component Catalogue by UI Pattern > **Use MCP to find the live component catalogue.** Call `list_components({ framework: "webcomponents" })`. It returns all 300+ available docs with doc names, summaries, and premium status. Then call `get_doc` with the exact doc `name` field to get usage patterns, HTML examples, and slots. Call `get_api_reference` with the component class name (for example, `IgcCarouselComponent`) to get the full property/method/event API. > > ``` > list_components({ framework: "webcomponents", filter: "<keyword>" }) > get_doc({ framework: "webcomponents", name: "<doc-name-from-list>" }) > ``` > > Use `filter` to limit the results: `"input"`, `"grid"`, `"chart"`, `"nav"`, `"date"`, `"combo"`, etc. The tables below are a **quick routing reference** for the most common UI patterns. Component tags and package assignments are stable. For usage examples, call `get_doc`. For the full property/method/event API, call `get_api_reference`. ### Inputs & Forms All inputs are form-associated and integrate natively with `<form>`. | UI Need | Component | Tag | |---|---|---| | Text field / text input | Input | `<igc-input>` | | Multi-line text | Textarea | `<igc-textarea>` | | Checkbox | Checkbox | `<igc-checkbox>` | | On/off toggle | Switch | `<igc-switch>` | | Single choice from a list | Radio / Radio Group | `<igc-radio>` / `<igc-radio-group>` | | Star / score rating | Rating | `<igc-rating>` | | Formatted / masked text input | Mask Input | `<igc-mask-input>` | | Date and time input | Date Time Input | `<igc-date-time-input>` | | File upload | File Input | `<igc-file-input>` | | Simple dropdown / select | Select | `<igc-select>` | | Searchable dropdown, single or multi-select | Combo | `<igc-combo>` | | Grouped toggle buttons | Button Group | `<igc-button-group>` | | Range / numeric slider | Slider | `<igc-slider>` | | Range slider (two handles) | Range Slider | `<igc-range-slider>` | ### Buttons & Actions | UI Need | Component | Tag | |---|---|---| | Standard clickable button | Button | `<igc-button>` | | Icon-only button | Icon Button | `<igc-icon-button>` | | Click ripple effect | Ripple | `<igc-ripple>` | | Removable tag / filter chip | Chip | `<igc-chip>` | ### Scheduling & Date Pickers | UI Need | Component | Tag | |---|---|---| | Full calendar view | Calendar | `<igc-calendar>` | | Date picker (popup calendar) | Date Picker | `<igc-date-picker>` | | Date range selection | Date Range Picker | `<igc-date-range-picker>` | ### Notifications & Feedback | UI Need | Component | Tag | |---|---|---| | Brief auto-dismiss notification | Toast | `<igc-toast>` | | Actionable dismissible notification bar | Snackbar | `<igc-snackbar>` | | Persistent status banner (e.g. warning, error) | Banner | `<igc-banner>` | | Modal confirmation or content dialog | Dialog | `<igc-dialog>` | | Tooltip on hover | Tooltip | `<igc-tooltip>` | | Small count / status indicator | Badge | `<igc-badge>` | ### Progress Indicators | UI Need | Component | Tag | |---|---|---| | Horizontal progress bar | Linear Progress | `<igc-linear-progress>` | | Circular / spinner progress | Circular Progress | `<igc-circular-progress>` | ### Layouts & Containers | UI Need | Component | Tag | |---|---|---| | Generic content card | Card | `<igc-card>` | | User avatar / profile image | Avatar | `<igc-avatar>` | | Icon display | Icon | `<igc-icon>` | | Horizontal or vertical divider line | Divider | `<igc-divider>` | | Collapsible section | Expansion Panel | `<igc-expansion-panel>` | | Multiple collapsible sections (accordion) | Accordion | `<igc-accordion>` | | Tabbed content panels | Tabs | `<igc-tabs>` | | Image / content slideshow | Carousel | `<igc-carousel>` | | Multi-step wizard / onboarding flow | Stepper | `<igc-stepper>` | | Resizable, draggable dashboard tiles | Tile Manager | `<igc-tile-manager>` | | IDE-style docking / floating panels | Dock Manager | `<igc-dockmanager>` | ### Navigation | UI Need | Component | Tag | |---|---|---| | Top application bar / toolbar | Navbar | `<igc-navbar>` | | Side navigation drawer | Navigation Drawer | `<igc-nav-drawer>` | | Context menu / actions dropdown | Drop Down | `<igc-dropdown>` | ### Lists & Data Display | UI Need | Component | Tag | |---|---|---| | Simple scrollable list | List | `<igc-list>` | | Hierarchical / tree data | Tree | `<igc-tree>` | | Tabular data (MIT, lightweight) | Grid Lite | `<igc-grid>` | | Full-featured tabular data grid | Data Grid | `<igc-grid>` | | Nested / master-detail grid | Hierarchical Grid | `<igc-hierarchical-grid>` | | Parent-child relational tree grid | Tree Grid | `<igc-tree-grid>` | | Cross-tabulation / BI pivot table | Pivot Grid | `<igc-pivot-grid>` | ### Charting & Visualization > The **`igniteui-webcomponents-charts`** package (commercial) contains the charts. Use `IgcCategoryChartComponent` or `IgcFinancialChartComponent` for simpler domain-specific scenarios. Use `IgcDataChartComponent` for full flexibility (mixed series, numeric/time axes, scatter, polar, etc.). > > To get the full chart doc list, call `list_components({ framework: "webcomponents", filter: "chart" })`. Before you write code, call `get_doc` for the specific chart type. | UI Need | Component | Tag | |---|---|---| | Column / Line / Area / Spline / Step charts | Category Chart | `<igc-category-chart>` | | Pie chart | Pie Chart | `<igc-pie-chart>` | | Doughnut chart | Doughnut Chart | `<igc-doughnut-chart>` | | Financial / stock chart (OHLC, candlestick) | Financial Chart | `<igc-financial-chart>` | | Bar / Scatter / Bubble / Polar / Composite charts | Data Chart | `<igc-data-chart>` | | Sparkline (inline mini-chart) | Sparkline | `<igc-sparkline>` | | Treemap | Treemap | `<igc-treemap>` | ### Conversational / AI | UI Need | Component | Tag | |---|---|---| | Chat / AI assistant message thread | Chat | `<igc-chat>` | --- ## Step-by-Step: Choosing Components for a UI Follow these steps when an agent or user describes a UI requirement: ### Step 1 — Identify UI patterns Divide the UI into atomic patterns. Examples: - "A booking form" → date input, text inputs, button, optionally a calendar picker - "An admin dashboard" → navbar, nav drawer, cards, data grid, charts - "A notification center" → snackbar or toast, badge, list - "A settings page" → tabs or accordion, switch, input, select, button ### Step 2 — Map patterns to components Use the **Component Catalogue** tables above to find matching components. If you are not sure, use this table: | If the user needs… | Prefer… | Over… | |---|---|---| | Simple static list | `<igc-list>` | Data Grid | | Basic dropdown | `<igc-select>` | `<igc-combo>` | | Searchable or multi-select dropdown | `<igc-combo>` | `<igc-select>` | | Tabular data with basic display and functionality | Grid Lite | Data Grid (commercial) | | Tabular data, advanced features needed | Data Grid | Grid Lite | | Single dismissible message | Toast | Snackbar | | Message requiring user action | Snackbar | Toast | | Collapsible single section | Expansion Panel | Accordion | | Multiple collapsible sections | Accordion | Expansion Panel | | Stepped wizard UI | Stepper | Tabs | | Content tabs / view switching | Tabs | Stepper | ### Step 3 — Check the package Confirm which package provides the component: - **MIT components** (inputs, layout, notifications, scheduling, chat) → `igniteui-webcomponents` - **Advanced grids** (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) → `igniteui-webcomponents-grids` *(commercial)* - **Lightweight grid** (Grid Lite) → `igniteui-grid-lite` *(MIT)* - **Docking layout** → `igniteui-dockmanager` *(commercial)* - **Charts & visualizations** (Category Chart, Data Chart, Financial Chart, Pie Chart, Sparkline, Treemap, etc.) → `igniteui-webcomponents-charts` *(commercial)* ### Step 4 — Look up component documentation These tools use different data sources. Call the correct tool so that you do not guess: - **Usage patterns, HTML examples, slots** → `get_doc` gives the component's **topic-page** (prose guide, code samples, slot names, CSS examples). Use the kebab-case doc `name` that `list_components` returns: ``` get_doc({ framework: "webcomponents", name: "<doc-name>" }) ``` - **Full property/method/event API** → `get_api_reference` gives **class-level reflection data** (every `@property`, method signature, event name with types). It does NOT overlap with `get_doc`. The topic page rarely lists all properties. If you do not know the exact class name (for example, `IgcCarouselComponent`), use `search_api` first: ``` search_api({ platform: "webcomponents", query: "<component keyword>" }) get_api_reference({ platform: "webcomponents", component: "<ClassName>" }) ``` For feature-based questions (for example, "how does combo filtering work"), use `search_docs` instead: ```
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub