igniteui-cli 15.2.2-alpha.3 → 15.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/lib/PromptSession.js +1 -1
  2. package/lib/commands/ai-config.d.ts +9 -2
  3. package/lib/commands/ai-config.js +49 -14
  4. package/lib/commands/build.js +7 -12
  5. package/lib/commands/new.js +4 -1
  6. package/package.json +4 -4
  7. package/templates/blazor/igb/projects/ai-config/files/skills/AGENTS.md +0 -5
  8. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/SKILL.md +3 -1
  9. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/charts.md +7 -35
  10. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/data-display.md +1 -54
  11. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/feedback.md +0 -38
  12. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/form-controls.md +0 -68
  13. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/layout-manager.md +1 -124
  14. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-components/references/layout.md +0 -62
  15. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-generate-from-image-design/references/gotchas.md +29 -6
  16. package/templates/blazor/igb/projects/ai-config/files/skills/igniteui-blazor-theming/SKILL.md +2 -2
  17. package/templates/react/igr-ts/accordion/default/index.js +2 -1
  18. package/templates/react/igr-ts/avatar/default/index.js +2 -1
  19. package/templates/react/igr-ts/badge/default/index.js +2 -1
  20. package/templates/react/igr-ts/banner/default/index.js +2 -1
  21. package/templates/react/igr-ts/button/default/index.js +2 -1
  22. package/templates/react/igr-ts/button-group/default/index.js +2 -1
  23. package/templates/react/igr-ts/calendar/default/index.js +2 -1
  24. package/templates/react/igr-ts/card/default/index.js +2 -1
  25. package/templates/react/igr-ts/checkbox/default/index.js +2 -1
  26. package/templates/react/igr-ts/chip/default/index.js +2 -1
  27. package/templates/react/igr-ts/circular-progress/default/index.js +2 -1
  28. package/templates/react/igr-ts/constants.d.ts +2 -0
  29. package/templates/react/igr-ts/constants.js +5 -0
  30. package/templates/react/igr-ts/custom-templates/subscription-form/index.js +2 -1
  31. package/templates/react/igr-ts/date-picker/default/index.js +2 -1
  32. package/templates/react/igr-ts/divider/default/index.js +2 -1
  33. package/templates/react/igr-ts/dropdown/default/index.js +2 -1
  34. package/templates/react/igr-ts/expansion-panel/default/index.js +2 -1
  35. package/templates/react/igr-ts/form/default/index.js +2 -1
  36. package/templates/react/igr-ts/grid/basic/index.js +2 -1
  37. package/templates/react/igr-ts/icon/default/index.js +2 -1
  38. package/templates/react/igr-ts/icon-button/default/index.js +2 -1
  39. package/templates/react/igr-ts/input/default/index.js +2 -1
  40. package/templates/react/igr-ts/linear-progress/default/index.js +2 -1
  41. package/templates/react/igr-ts/list/default/index.js +2 -1
  42. package/templates/react/igr-ts/navbar/default/index.js +2 -1
  43. package/templates/react/igr-ts/projects/_base/files/package.json +2 -1
  44. package/templates/react/igr-ts/projects/_base/files/src/app/app.tsx +4 -2
  45. package/templates/react/igr-ts/projects/_base/files/src/setupTests.ts +12 -0
  46. package/templates/react/igr-ts/projects/_base/files/styles.css +6 -0
  47. package/templates/react/igr-ts/projects/_base_with_home/files/index.html +2 -1
  48. package/templates/react/igr-ts/projects/_base_with_home/files/src/app/home/home.tsx +60 -10
  49. package/templates/react/igr-ts/projects/_base_with_home/files/src/app/home/style.module.css +79 -20
  50. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-components/SKILL.md +0 -8
  51. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-components/reference/CHARTS-GRIDS.md +6 -36
  52. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-components/reference/COMPONENT-CATALOGUE.md +8 -142
  53. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-components/reference/EVENT-HANDLING.md +2 -0
  54. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-customize-theme/SKILL.md +7 -14
  55. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-customize-theme/reference/CSS-THEMING.md +2 -0
  56. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-customize-theme/reference/MCP-SERVER.md +0 -8
  57. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-generate-from-image-design/SKILL.md +2 -2
  58. package/templates/react/igr-ts/projects/ai-config/files/skills/igniteui-react-generate-from-image-design/reference/component-mapping.md +60 -74
  59. package/templates/react/igr-ts/projects/empty/index.js +2 -2
  60. package/templates/react/igr-ts/projects/side-nav/files/src/app/app-routes.tsx +5 -0
  61. package/templates/react/igr-ts/projects/side-nav/files/src/app/app.css +82 -0
  62. package/templates/react/igr-ts/projects/side-nav/files/src/app/app.tsx +104 -0
  63. package/templates/react/igr-ts/projects/side-nav/files/src/app/home/home.tsx +69 -0
  64. package/templates/react/igr-ts/projects/side-nav/files/src/app/home/style.module.css +105 -0
  65. package/templates/react/igr-ts/projects/{top-nav → side-nav}/index.d.ts +2 -2
  66. package/templates/react/igr-ts/projects/{top-nav → side-nav}/index.js +7 -7
  67. package/templates/react/igr-ts/projects/side-nav-auth/files/index.html +19 -0
  68. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/app-routes.tsx +24 -0
  69. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/app.css +84 -0
  70. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/app.tsx +124 -0
  71. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/AuthContext.tsx +73 -0
  72. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/AuthGuard.tsx +14 -0
  73. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/Login.module.css +93 -0
  74. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/Login.tsx +69 -0
  75. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/LoginBar.module.css +42 -0
  76. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/LoginBar.tsx +44 -0
  77. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/LoginDialog.module.css +14 -0
  78. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/LoginDialog.tsx +49 -0
  79. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/Register.module.css +74 -0
  80. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/components/Register.tsx +67 -0
  81. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/models/external-login.ts +10 -0
  82. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/models/login.ts +4 -0
  83. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/models/register-info.ts +6 -0
  84. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/models/user.ts +19 -0
  85. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/pages/Profile.module.css +87 -0
  86. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/pages/Profile.tsx +42 -0
  87. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/pages/RedirectFacebook.tsx +44 -0
  88. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/pages/RedirectGoogle.tsx +40 -0
  89. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/pages/RedirectMicrosoft.tsx +40 -0
  90. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/services/authentication.ts +37 -0
  91. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/services/external-auth-config.ts +44 -0
  92. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/services/externalAuth.ts +272 -0
  93. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/services/fakeBackend.ts +88 -0
  94. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/services/jwtUtil.ts +10 -0
  95. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/services/pkce.ts +29 -0
  96. package/templates/react/igr-ts/projects/side-nav-auth/files/src/app/authentication/services/userStore.ts +39 -0
  97. package/templates/react/igr-ts/projects/side-nav-auth/index.d.ts +15 -0
  98. package/templates/react/igr-ts/projects/side-nav-auth/index.js +46 -0
  99. package/templates/react/igr-ts/projects/side-nav-mini/files/src/app/app-routes.tsx +5 -0
  100. package/templates/react/igr-ts/projects/side-nav-mini/files/src/app/app.css +109 -0
  101. package/templates/react/igr-ts/projects/side-nav-mini/files/src/app/app.test.tsx +20 -0
  102. package/templates/react/igr-ts/projects/side-nav-mini/files/src/app/app.tsx +81 -0
  103. package/templates/react/igr-ts/projects/side-nav-mini/files/src/app/home/home.tsx +69 -0
  104. package/templates/react/igr-ts/projects/side-nav-mini/files/src/app/home/style.module.css +105 -0
  105. package/templates/react/igr-ts/projects/side-nav-mini/index.d.ts +15 -0
  106. package/templates/react/igr-ts/projects/side-nav-mini/index.js +46 -0
  107. package/templates/react/igr-ts/projects/side-nav-mini-auth/files/src/app/app.css +106 -0
  108. package/templates/react/igr-ts/projects/side-nav-mini-auth/files/src/app/app.tsx +101 -0
  109. package/templates/react/igr-ts/projects/side-nav-mini-auth/index.d.ts +15 -0
  110. package/templates/react/igr-ts/projects/side-nav-mini-auth/index.js +50 -0
  111. package/templates/react/igr-ts/radio-group/default/index.js +2 -1
  112. package/templates/react/igr-ts/rating/default/index.js +2 -1
  113. package/templates/react/igr-ts/ripple/default/index.js +2 -1
  114. package/templates/react/igr-ts/slider/default/index.js +2 -1
  115. package/templates/react/igr-ts/switch/default/index.js +2 -1
  116. package/templates/react/igr-ts/tabs/default/index.js +2 -1
  117. package/templates/react/igr-ts/text-area/default/index.js +2 -1
  118. package/templates/react/igr-ts/tree/default/index.js +2 -1
  119. package/templates/webcomponents/igc-ts/grid/default/index.js +1 -1
  120. package/templates/webcomponents/igc-ts/grid/grid-editing/index.js +1 -1
  121. package/templates/webcomponents/igc-ts/grid/grid-summaries/index.js +1 -1
  122. package/templates/webcomponents/igc-ts/projects/_base/files/package.json +1 -1
  123. package/templates/webcomponents/igc-ts/projects/_base/files/src/app/app.ts +6 -1
  124. package/templates/webcomponents/igc-ts/projects/_base/files/styles.css +1 -0
  125. package/templates/webcomponents/igc-ts/projects/_base_with_home/files/index.html +2 -0
  126. package/templates/webcomponents/igc-ts/projects/_base_with_home/files/package.json +2 -2
  127. package/templates/webcomponents/igc-ts/projects/_base_with_home/files/src/app/home/home.ts +103 -9
  128. package/templates/webcomponents/igc-ts/projects/_base_with_home/files/src/assets/wc.png +0 -0
  129. package/templates/webcomponents/igc-ts/projects/ai-config/files/skills/igniteui-wc-choose-components/SKILL.md +122 -160
  130. package/templates/webcomponents/igc-ts/projects/ai-config/files/skills/igniteui-wc-customize-component-theme/SKILL.md +83 -311
  131. package/templates/webcomponents/igc-ts/projects/ai-config/files/skills/igniteui-wc-customize-component-theme/references/mcp-setup.md +69 -0
  132. package/templates/webcomponents/igc-ts/projects/ai-config/files/skills/igniteui-wc-generate-from-image-design/SKILL.md +4 -1
  133. package/templates/webcomponents/igc-ts/projects/ai-config/files/skills/igniteui-wc-generate-from-image-design/references/component-mapping.md +60 -61
  134. package/templates/webcomponents/igc-ts/projects/ai-config/files/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +15 -11
  135. package/templates/webcomponents/igc-ts/projects/ai-config/files/skills/igniteui-wc-optimize-bundle-size/SKILL.md +23 -274
  136. package/templates/webcomponents/igc-ts/projects/empty/index.js +1 -1
  137. package/templates/webcomponents/igc-ts/projects/side-nav/files/index.html +21 -0
  138. package/templates/webcomponents/igc-ts/projects/side-nav/files/src/app/app-routing.ts +9 -0
  139. package/templates/webcomponents/igc-ts/projects/side-nav/files/src/app/app.ts +192 -22
  140. package/templates/webcomponents/igc-ts/projects/side-nav/files/src/app/home/home.ts +175 -0
  141. package/templates/webcomponents/igc-ts/projects/side-nav/index.js +1 -1
  142. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/index.html +25 -0
  143. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/app-routing.ts +37 -0
  144. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/app.ts +251 -0
  145. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/login-bar/login-bar.ts +124 -0
  146. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/login-dialog/login-dialog.ts +253 -0
  147. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/models/external-login.ts +10 -0
  148. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/models/login.ts +4 -0
  149. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/models/register-info.ts +6 -0
  150. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/models/user.ts +19 -0
  151. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/services/authentication.ts +37 -0
  152. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/services/external-auth-config.ts +44 -0
  153. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/services/externalAuth.ts +272 -0
  154. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/services/fakeBackend.ts +88 -0
  155. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/services/jwtUtil.ts +10 -0
  156. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/services/pkce.ts +29 -0
  157. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/authentication/services/userStore.ts +39 -0
  158. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/profile/profile.ts +142 -0
  159. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/redirect/redirect-facebook.ts +57 -0
  160. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/redirect/redirect-google.ts +53 -0
  161. package/templates/webcomponents/igc-ts/projects/side-nav-auth/files/src/app/redirect/redirect-microsoft.ts +53 -0
  162. package/templates/webcomponents/igc-ts/projects/side-nav-auth/index.d.ts +15 -0
  163. package/templates/webcomponents/igc-ts/projects/side-nav-auth/index.js +46 -0
  164. package/templates/webcomponents/igc-ts/projects/side-nav-mini/files/src/app/app-routing.ts +13 -0
  165. package/templates/webcomponents/igc-ts/projects/side-nav-mini/files/src/app/app.ts +238 -0
  166. package/templates/webcomponents/igc-ts/projects/side-nav-mini/index.d.ts +14 -0
  167. package/templates/webcomponents/igc-ts/projects/side-nav-mini/index.js +45 -0
  168. package/templates/webcomponents/igc-ts/projects/side-nav-mini-auth/files/src/app/app.ts +258 -0
  169. package/templates/webcomponents/igc-ts/projects/side-nav-mini-auth/index.d.ts +15 -0
  170. package/templates/webcomponents/igc-ts/projects/side-nav-mini-auth/index.js +50 -0
  171. package/templates/webcomponents/igc-ts/tree/default/index.js +1 -1
  172. package/templates/react/igr-ts/projects/top-nav/files/src/app/app.css +0 -62
  173. package/templates/react/igr-ts/projects/top-nav/files/src/app/app.tsx +0 -18
  174. package/templates/react/igr-ts/projects/top-nav/files/src/components/navigation-header/index.tsx +0 -19
  175. /package/templates/react/igr-ts/projects/{top-nav → side-nav}/files/src/app/app.test.tsx +0 -0
@@ -35,7 +35,6 @@ user-invocable: true
35
35
  | Charts | `igniteui-react-charts` (trial) `@infragistics/igniteui-react-charts` (licensed) | `igniteui-react-charts` |
36
36
  | Gauges | `igniteui-react-gauges` (trial) `@infragistics/igniteui-react-gauges` (licensed) | `igniteui-react-gauges` |
37
37
  | Maps | `igniteui-react-maps` (trial) `@infragistics/igniteui-react-maps` (licensed) | `igniteui-react-maps` |
38
-
39
38
  ## Example Usage
40
39
 
41
40
  - "What component should I use to display a list of items with actions?"
@@ -179,10 +178,3 @@ Use [COMPONENT-CATALOGUE.md](./reference/COMPONENT-CATALOGUE.md) to map any UI n
179
178
  6. **Handle events as `CustomEvent`** — not `React.SyntheticEvent`
180
179
  7. **Use refs sparingly** — prefer declarative props
181
180
  8. **Check slot names** in the docs
182
-
183
- ## Additional Resources
184
-
185
- - [Ignite UI for React — Getting Started](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started)
186
- - [React Examples Repository](https://github.com/IgniteUI/igniteui-react-examples)
187
- - [npm: igniteui-react](https://www.npmjs.com/package/igniteui-react)
188
- - [@lit/react Documentation](https://lit.dev/docs/frameworks/react/)
@@ -53,6 +53,10 @@ IgrCategoryChartModule.register();
53
53
 
54
54
  ## Complete Chart Example
55
55
 
56
+ > Call `get_doc('react', 'column-chart')` for full `IgrCategoryChart` and `IgrDataChart` usage, prop tables, and code examples. Call `get_doc('react', 'chart-features')` for axes, annotations, animations, markers, and tooltips.
57
+
58
+ The minimum pattern — register the module at file scope, then wrap the component in a sized container:
59
+
56
60
  ```tsx
57
61
  import { IgrCategoryChart, IgrCategoryChartModule } from 'igniteui-react-charts';
58
62
  import styles from './dashboard-view.module.css';
@@ -80,20 +84,6 @@ export default function DashboardView() {
80
84
  }
81
85
  ```
82
86
 
83
- ```css
84
- /* dashboard-view.module.css */
85
- .chart-container {
86
- min-width: 400px;
87
- min-height: 300px;
88
- flex-grow: 1;
89
- flex-basis: 0;
90
- }
91
- .chart-container > * {
92
- height: 100%;
93
- width: 100%;
94
- }
95
- ```
96
-
97
87
  ## Complete Data Chart Example
98
88
 
99
89
  > **⚠️ IMPORTANT:** `IgrDataChart` requires registering **multiple modules** depending on the series type used. For bar charts, register the modules shown below. If you miss any module, the chart or axis types will silently fail to render.
@@ -140,6 +130,8 @@ IgrDataChartAnnotationModule.register();
140
130
 
141
131
  > **Bar charts are horizontal** — categories go on the Y-axis and numeric values on the X-axis. This is the opposite of column charts.
142
132
 
133
+ > For the full `IgrDataChart` API (all series types, axis options, layers), call `get_doc('react', 'bar-chart')` or `get_doc('react', 'column-chart')`.
134
+
143
135
  ### Complete Bar Chart Component (Multiple Series)
144
136
 
145
137
  ```tsx
@@ -288,28 +280,6 @@ export default function BarChartView() {
288
280
  }
289
281
  ```
290
282
 
291
- ### Key Props Reference for `IgrBarSeries`
292
-
293
- | Prop | Type | Description |
294
- |---|---|---|
295
- | `name` | `string` | Unique identifier — **required** when referencing the series from other elements |
296
- | `xAxisName` | `string` | Must match the `name` of an `IgrNumericXAxis` declared in the same chart |
297
- | `yAxisName` | `string` | Must match the `name` of an `IgrCategoryYAxis` declared in the same chart |
298
- | `valueMemberPath` | `string` | Field name in the data object that holds the bar length value |
299
- | `dataSource` | `any[]` | The data array — can differ per series for independent datasets |
300
- | `title` | `string` | Series label shown in the legend |
301
- | `isTransitionInEnabled` | `boolean` | Animates bars on initial render |
302
- | `isHighlightingEnabled` | `boolean` | Dims other series when one is hovered |
303
- | `showDefaultTooltip` | `boolean` | Shows a simple built-in tooltip (use `IgrDataToolTipLayer` for richer output) |
304
-
305
- ### Available Bar Chart Variants
306
-
307
- | Variant | Component | Module |
308
- |---|---|---|
309
- | Bar (horizontal) | `IgrBarSeries` | `IgrDataChartVerticalCategoryModule` |
310
- | Stacked Bar | `IgrStackedBarSeries` + `IgrStackedFragmentSeries` | `IgrDataChartStackedModule` |
311
- | Stacked 100% Bar | `IgrStacked100BarSeries` + `IgrStackedFragmentSeries` | `IgrDataChartStackedModule` |
312
-
313
283
  ## Complete Grid Lite Example
314
284
 
315
285
  > **⚠️ IMPORTANT:** Grid Lite (`IgrGridLite` from `igniteui-react/grid-lite`) requires installing both `igniteui-react` and `igniteui-grid-lite` packages. It's a React wrapper component (uses `Igr` prefix) and works like any standard React component — no `.register()` needed.
@@ -3,136 +3,6 @@
3
3
  ## Overview
4
4
  This reference gives high-level guidance on Ignite UI for React components, their key features, and common use cases. For a full list of components, call `list_components` from `igniteui-cli` with the specific chart, or grid component, or feature you're interested in.
5
5
 
6
- ## Available Packages
7
-
8
- Ignite UI for React is distributed across several packages depending on your needs:
9
-
10
- | Package | License | Install | Best For |
11
- |---|---|---|---|
12
- | [`igniteui-react`](https://www.npmjs.com/package/igniteui-react) | MIT | `npm install igniteui-react` | General UI components (inputs, layouts, notifications, scheduling) |
13
- | [`igniteui-grid-lite`](https://www.npmjs.com/package/igniteui-grid-lite) | MIT | `npm install igniteui-react igniteui-grid-lite` | Lightweight grid (Grid Lite) — requires both packages, import from `igniteui-react/grid-lite` |
14
- | [`igniteui-react-grids`](https://www.npmjs.com/package/igniteui-react-grids) | Commercial | `npm install igniteui-react-grids` (trial) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) |
15
- | [`igniteui-react-charts`](https://www.npmjs.com/package/igniteui-react-charts) | Commercial | `npm install igniteui-react-charts` (trial) | Charts (Category, Financial, Pie, Scatter, etc.) |
16
- | [`igniteui-react-maps`](https://www.npmjs.com/package/igniteui-react-maps) | Commercial | `npm install igniteui-react-maps` (trial) | Geographic maps |
17
- | [`igniteui-react-gauges`](https://www.npmjs.com/package/igniteui-react-gauges) | Commercial | `npm install igniteui-react-gauges` (trial) | Radial and linear gauges |
18
-
19
- > **Note:** The lightweight Grid Lite (`IgrGridLite` from `igniteui-react/grid-lite`) requires installing both `igniteui-react` and `igniteui-grid-lite` packages. It's a React wrapper component (uses `Igr` prefix) that works like any other React component — no `.register()` needed. See [CHARTS-GRIDS.md](./CHARTS-GRIDS.md) for setup details.
20
-
21
- ---
22
-
23
- ## Component Catalogue by UI Pattern
24
-
25
- Use the tables below to map a UI need to the right React component. All components use the **`Igr`** prefix.
26
-
27
- ### Inputs & Forms
28
-
29
- | UI Need | Component | Import | Docs |
30
- |---|---|---|---|
31
- | Text field / text input | `IgrInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/input) |
32
- | Multi-line text | `IgrTextarea` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/text-area) |
33
- | Checkbox | `IgrCheckbox` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/checkbox) |
34
- | On/off toggle | `IgrSwitch` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/switch) |
35
- | Single choice from a list | `IgrRadio` / `IgrRadioGroup` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/radio) |
36
- | Star / score rating | `IgrRating` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/rating) |
37
- | Formatted / masked text input | `IgrMaskInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/mask-input) |
38
- | Date and time input | `IgrDateTimeInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/date-time-input) |
39
- | File upload | `IgrFileInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/file-input) |
40
- | Simple dropdown / select | `IgrSelect` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/select) |
41
- | Searchable dropdown, single or multi-select | `IgrCombo` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/combo/overview) |
42
- | Grouped toggle buttons | `IgrButtonGroup` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/button-group) |
43
- | Range / numeric slider | `IgrSlider` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/slider) |
44
- | Range slider (two handles) | `IgrRangeSlider` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/slider) |
45
-
46
- ### Buttons & Actions
47
-
48
- | UI Need | Component | Import | Docs |
49
- |---|---|---|---|
50
- | Standard clickable button | `IgrButton` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/button) |
51
- | Icon-only button | `IgrIconButton` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/icon-button) |
52
- | Click ripple effect | `IgrRipple` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/ripple) |
53
- | Removable tag / filter chip | `IgrChip` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/chip) |
54
-
55
- ### Scheduling & Date Pickers
56
-
57
- | UI Need | Component | Import | Docs |
58
- |---|---|---|---|
59
- | Full calendar view | `IgrCalendar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/scheduling/calendar) |
60
- | Date picker (popup calendar) | `IgrDatePicker` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/scheduling/date-picker) |
61
- | Date range selection | `IgrDateRangePicker` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/scheduling/date-range-picker) |
62
-
63
- ### Notifications & Feedback
64
-
65
- | UI Need | Component | Import | Docs |
66
- |---|---|---|---|
67
- | Brief auto-dismiss notification | `IgrToast` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/toast) |
68
- | Actionable dismissible notification bar | `IgrSnackbar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/snackbar) |
69
- | Persistent status banner | `IgrBanner` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/banner) |
70
- | Modal confirmation or content dialog | `IgrDialog` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/dialog) |
71
- | Tooltip on hover | `IgrTooltip` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/tooltip) |
72
- | Small count / status indicator | `IgrBadge` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/badge) |
73
-
74
- ### Progress Indicators
75
-
76
- | UI Need | Component | Import | Docs |
77
- |---|---|---|---|
78
- | Horizontal progress bar | `IgrLinearProgress` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/linear-progress) |
79
- | Circular / spinner progress | `IgrCircularProgress` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/circular-progress) |
80
-
81
- ### Layouts & Containers
82
-
83
- | UI Need | Component | Import | Docs |
84
- |---|---|---|---|
85
- | Generic content card | `IgrCard` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/card) |
86
- | User avatar / profile image | `IgrAvatar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/avatar) |
87
- | Icon display | `IgrIcon` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/icon) |
88
- | Horizontal or vertical divider | `IgrDivider` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/divider) |
89
- | Collapsible section | `IgrExpansionPanel` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/expansion-panel) |
90
- | Multiple collapsible sections | `IgrAccordion` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/accordion) |
91
- | Tabbed content panels (with inline content) | `IgrTabs` (content in `IgrTab`) | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/tabs) |
92
- | Image / content slideshow | `IgrCarousel` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/carousel) |
93
- | Multi-step wizard / onboarding flow | `IgrStepper` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/stepper) |
94
- | Resizable, draggable dashboard tiles | `IgrTileManager` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/tile-manager) |
95
-
96
- ### Navigation
97
-
98
- | UI Need | Component | Import | Docs |
99
- |---|---|---|---|
100
- | Top application bar / toolbar | `IgrNavbar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/menus/navbar) |
101
- | Side navigation drawer | `IgrNavDrawer` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/menus/navigation-drawer) |
102
- | Tab-based navigation (with router) | `IgrTabs` (label-only, no content) | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/tabs) |
103
- | Context menu / actions dropdown | `IgrDropdown` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/dropdown) |
104
-
105
- ### Lists & Data Display
106
-
107
- | UI Need | Component | Import | Docs |
108
- |---|---|---|---|
109
- | Simple scrollable list | `IgrList` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/list) |
110
- | Hierarchical / tree data | `IgrTree` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/tree) |
111
- | Tabular data (MIT, lightweight) | `IgrGridLite` | `igniteui-react/grid-lite` (requires both `igniteui-react` and `igniteui-grid-lite` packages) | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grid-lite/overview) |
112
- | Full-featured tabular data grid | `IgrGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/grid/overview) |
113
- | Nested / master-detail grid | `IgrHierarchicalGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/hierarchical-grid/overview) |
114
- | Parent-child relational tree grid | `IgrTreeGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/tree-grid/overview) |
115
- | Cross-tabulation / BI pivot table | `IgrPivotGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/pivot-grid/overview) |
116
-
117
- ### Charts & Data Visualization
118
-
119
- > **⚠️ IMPORTANT:** Chart, gauge, and map components require **explicit module registration** and a **sized container**. Import the `*Module` class and call `.register()` at module level, and wrap the component in a container with explicit `min-width`/`min-height` or `flex-grow`. See [CHARTS-GRIDS.md](./CHARTS-GRIDS.md) for details.
120
-
121
- | UI Need | Component | Module Registration | Import | Docs |
122
- |---|---|---|---|---|
123
- | Category / bar / line chart | `IgrCategoryChart` | `IgrCategoryChartModule.register()` | `igniteui-react-charts` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/chart-overview) |
124
- | Pie / doughnut chart | `IgrPieChart` | `IgrPieChartModule.register()` | `igniteui-react-charts` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/chart-overview) |
125
- | Financial / stock chart | `IgrFinancialChart` | `IgrFinancialChartModule.register()` | `igniteui-react-charts` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/chart-overview) |
126
- | Radial gauge | `IgrRadialGauge` | `IgrRadialGaugeModule.register()` | `igniteui-react-gauges` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/gauges/radial-gauge) |
127
- | Linear gauge | `IgrLinearGauge` | `IgrLinearGaugeModule.register()` | `igniteui-react-gauges` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/gauges/linear-gauge) |
128
- | Geographic map | `IgrGeographicMap` | `IgrGeographicMapModule.register()` | `igniteui-react-maps` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/maps/geographic-map) |
129
-
130
- ### Conversational / AI
131
-
132
- | UI Need | Component | Import | Docs |
133
- |---|---|---|---|
134
- | Chat / AI assistant message thread | `IgrChat` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/interactivity/chat) |
135
-
136
6
  ---
137
7
 
138
8
  ## Step-by-Step: Choosing Components for a UI
@@ -149,7 +19,7 @@ Break the described UI into atomic patterns. Examples:
149
19
 
150
20
  ### Step 2 — Map patterns to components
151
21
 
152
- Use the **Component Catalogue** tables above to find matching components. When in doubt:
22
+ Call `list_components('react')` to discover available components, optionally filtered by keyword (e.g., `filter: 'date'` for date-related components). When in doubt:
153
23
 
154
24
  | If the user needs… | Prefer… | Over… |
155
25
  |---|---|---|
@@ -177,14 +47,9 @@ Confirm which package provides the component:
177
47
  - **Maps** → `igniteui-react-maps` *(commercial)*
178
48
  - **Gauges** → `igniteui-react-gauges` *(commercial)*
179
49
 
180
- ### Step 4 — Link to official resources
181
-
182
- Always direct the user to the official documentation linked in the tables above. Key entry points:
50
+ ### Step 4 — Look up component documentation
183
51
 
184
- - **Getting started**: [Ignite UI for React Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started)
185
- - **React examples**: [https://github.com/IgniteUI/igniteui-react-examples](https://github.com/IgniteUI/igniteui-react-examples)
186
- - **npm package**: [https://www.npmjs.com/package/igniteui-react](https://www.npmjs.com/package/igniteui-react)
187
- - **GitHub repository**: [https://github.com/IgniteUI/igniteui-react](https://github.com/IgniteUI/igniteui-react)
52
+ Call `get_doc('react', '<name>')` with the doc name from `list_components` results to get full usage documentation, import paths, prop tables, event signatures, and code examples. Use `search_docs('<query>', 'react')` for feature-based questions (e.g., `"date picker range selection"`).
188
53
 
189
54
  ### Step 5 — Provide a starter code snippet
190
55
 
@@ -288,8 +153,9 @@ function Dashboard() {
288
153
 
289
154
  ## Searching the Documentation
290
155
 
291
- If you are unsure about a component or need more information:
156
+ Use MCP tools for up-to-date component discovery and API lookup:
292
157
 
293
- 1. **Browse the docs** at `https://www.infragistics.com/products/ignite-ui-react/react/components/` — the left sidebar groups components by category
294
- 2. **Use the naming convention**: React components use the `Igr` prefix followed by PascalCase name (e.g., `IgrDateRangePicker`, `IgrNavDrawer`). The docs URL typically uses kebab-case: `components/scheduling/date-range-picker`
295
- 3. **Check the examples repo** at [igniteui-react-examples](https://github.com/IgniteUI/igniteui-react-examples) for working sample applications
158
+ - `list_components('react')`browse the full component catalogue, optionally narrowed with a filter keyword
159
+ - `get_doc('react', '<name>')` full documentation, prop tables, and code examples for a component
160
+ - `search_docs('<query>', 'react')` full-text search for features or behaviors (e.g., `"date picker range selection"`)
161
+ - `search_api('<query>', 'react')` — look up specific classes, properties, or methods
@@ -35,6 +35,8 @@ function MyForm() {
35
35
 
36
36
  ## Common Event Props
37
37
 
38
+ > For component-specific event signatures and detail types, call `get_api_reference('react', '<Component>', 'events')` — e.g. `get_api_reference('react', 'IgrCombo', 'events')`.
39
+
38
40
  | Component | Event Prop | Fires When |
39
41
  |---|---|---|
40
42
  | `IgrButton` | `onClick` | Button is clicked |
@@ -106,14 +106,14 @@ import './index.css'; // Overrides second
106
106
 
107
107
  ## Theming Architecture
108
108
 
109
- The Ignite UI theming system is built on four pillars:
109
+ The Ignite UI theming system is built on **palette**, **typography**, **elevations**, and per-component **schemas**. Use the MCP theming tools at the right stage:
110
110
 
111
- | Concept | Purpose |
112
- |---|---|
113
- | **Palette** | Color system with primary, secondary, surface, gray, info, success, warn, error families |
114
- | **Typography** | Font family, type scale (h1–h6, subtitle, body, button, caption, overline) |
115
- | **Elevations** | Box-shadow levels 0–24 for visual depth |
116
- | **Schema** | Per-component recipes mapping palette colors to component tokens |
111
+ - **`create_palette`** when the user provides brand colors; generates luminance-safe shades for all palette roles
112
+ - **`create_theme`** — generates the complete global theme CSS; call after `create_palette`
113
+ - **`create_typography`** when the user wants to change fonts, type scale, or weights
114
+ - **`create_elevations`** when the user wants to adjust shadow depth
115
+ - **`get_component_design_tokens`** - before writing any component-level CSS; retrieves the current token names for a specific component
116
+ - **`set_size`**, **`set_spacing`**, or **`set_roundness`** - adjust component size, content spacing, and roundness.
117
117
 
118
118
  ### Design Systems
119
119
 
@@ -182,10 +182,3 @@ See [CSS-THEMING.md](./reference/CSS-THEMING.md) for approaches: class toggle, m
182
182
  4. **Palette shades**: 50 = lightest, 900 = darkest
183
183
  5. **Surface color must match variant** — light color for `light`, dark for `dark`
184
184
  6. **Never hardcode colors after palette generation**
185
-
186
- ## Additional Resources
187
-
188
- - [Ignite UI for React — Themes Overview](https://www.infragistics.com/products/ignite-ui-react/react/components/themes/overview)
189
- - [igniteui-theming npm package](https://www.npmjs.com/package/igniteui-theming)
190
- - [CSS Custom Properties on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties)
191
- - [CSS ::part() on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/::part)
@@ -148,6 +148,8 @@ For truly dynamic one-off overrides:
148
148
 
149
149
  Override individual component appearance using CSS custom properties.
150
150
 
151
+ > **AGENT INSTRUCTION**: Before writing component-level token overrides, call `get_component_design_tokens` with the component name (e.g., `"avatar"`, `"button"`, `"grid"`) to retrieve the current, correct token names. Token names vary by component and can change between versions. Use only tokens returned by that call — do not guess or reuse tokens from other components.
152
+
151
153
  ```css
152
154
  /* Target the Ignite UI web component tag name */
153
155
  igc-avatar {
@@ -62,14 +62,6 @@ Edit the Claude Desktop config file:
62
62
  3. Set Command to `npx` and Arguments to `igniteui-theming igniteui-theming-mcp`
63
63
  4. Click OK and restart the AI Assistant
64
64
 
65
- ## MCP Server Workflow
66
-
67
- 1. **Detect platform**: Call `detect_platform` — it will detect `webcomponents` from `package.json`
68
- 2. **Generate a theme**: Call `create_theme` with your desired colors and design system
69
- 3. **Customize components**: Call `get_component_design_tokens` first, then `create_component_theme` with palette token values
70
- 4. **Get color references**: Call `get_color` to get the correct CSS custom property for any palette shade
71
- 5. **Adjust layout**: Call `set_size`, `set_spacing`, or `set_roundness`
72
-
73
65
  ## File Safety Rule
74
66
 
75
67
  > **IMPORTANT — File Safety Rule**: When generating theme code, **never overwrite existing style files directly**. Always propose changes as an update and let the user review before writing to disk.
@@ -65,7 +65,7 @@ After the table, translate the image into CSS Grid rows and columns first. Prese
65
65
 
66
66
  This skill is React-only. Check package routing, theme CSS imports, or licensing only when imports, packages, or theming depend on it.
67
67
 
68
- Then call `list_components` with `framework: "react"` and relevant filters to find components matching each UI pattern. Common filters:
68
+ Then call `list_components('react')` and relevant filters to find components matching each UI pattern. Common filters:
69
69
 
70
70
  - `chart`, `sparkline` - for data visualization
71
71
  - `list view`, `card`, `avatar`, `badge` - for data display
@@ -80,7 +80,7 @@ For component-to-Ignite-UI mapping, see [reference/component-mapping.md](referen
80
80
 
81
81
  ## Step 4: Look Up Component API
82
82
 
83
- For every chosen component category, call `get_doc` with the doc name from `list_components` results (e.g., `name: "card"`, `framework: "react"`). Use the doc `name` field from the MCP results, not the result title shown in the list. This is mandatory before coding and gives exact React usage patterns, prop names, slot structure, event signatures, and any required module registration.
83
+ For every chosen component category, call `get_doc('react', '<name>')` using the doc `name` field from `list_components` results (e.g., `get_doc('react', 'card')`), not the result title shown in the list. This is mandatory before coding and gives exact React usage patterns, prop names, slot structure, event signatures, and any required module registration.
84
84
 
85
85
  Call `search_docs` for feature-based questions (e.g., "how to configure [component] for [specific behavior or styling need]").
86
86
 
@@ -11,17 +11,19 @@
11
11
  - [Package Requirements](#package-requirements)
12
12
  - [Import Patterns](#import-patterns)
13
13
 
14
+ > **For component API details** (props, events, slots, examples), call `get_doc` with `'react'` and the doc name from `list_components` results. Use `search_api` for specific property lookup.
15
+
14
16
  ## Dashboard & Layout Components
15
17
 
16
- | UI Pattern | Ignite UI Component | Key Properties |
17
- |---|---|---|
18
- | Top navigation bar | `IgrNavbar` | children plus named action/content slots |
19
- | Side navigation | `IgrNavDrawer` | `open`, drawer items, `icon` and `content` slots |
20
- | Content cards/panels | `IgrCard` | `IgrCardHeader`, `IgrCardContent`, `IgrCardActions` |
21
- | Tabbed content | `IgrTabs` + `IgrTab` | `label`, `slot="label"` |
22
- | Accordion sections | `IgrAccordion` | `IgrExpansionPanel` children |
23
- | Split layouts | `IgrSplitter` | resizable panes when splitter chrome is visible |
24
- | Tile dashboard | `IgrTileManager` | drag/resize tiles |
18
+ | UI Pattern | Ignite UI Component |
19
+ |---|---|
20
+ | Top navigation bar | `IgrNavbar` |
21
+ | Side navigation | `IgrNavDrawer` |
22
+ | Content cards/panels | `IgrCard` |
23
+ | Tabbed content | `IgrTabs` + `IgrTab` |
24
+ | Accordion sections | `IgrAccordion` |
25
+ | Split layouts | `IgrSplitter` |
26
+ | Tile dashboard | `IgrTileManager` |
25
27
 
26
28
  Decision rule:
27
29
 
@@ -29,33 +31,17 @@ Decision rule:
29
31
  - Use `IgrNavDrawer` for a sidebar or side-navigation panel when drawer structure and behavior match the screenshot. Configure open and mini behavior according to whether the design shows fixed, collapsible, or icon-only navigation. Use a plain `<aside>` when a static custom sidebar matches the screenshot better.
30
32
  - Use `IgrTabs` for a horizontal tab strip when the screenshot clearly shows tabbed state switching. Use label-only tabs for routed navigation and inline tab content for local view switching.
31
33
 
32
- Component decision matrix (by visual pattern, domain-neutral):
33
-
34
- | Visual Pattern | Recommended Component | Notes |
35
- |---|---|---|
36
- | Repeated rows with icon/text/action | `IgrList` | Use when the row anatomy and interaction model match. Compose the row content with React children and the documented slots. Use native `<ul>/<li>` or custom containers when that is a closer visual fit |
37
- | Spreadsheet-like editable or sortable table | `IgrGridLite` or `IgrGrid` | Use only when content is truly tabular. Prefer `IgrGridLite` for lightweight MIT cases and `IgrGrid` when advanced grid features are required |
38
- | Hierarchical or tree-structured table | `IgrTreeGrid` or `IgrTree` | Use `IgrTreeGrid` for hierarchical tables and `IgrTree` for tree-style navigation or nested lists |
39
- | Content blocks / summary cards | `IgrCard` | Use when card chrome helps match the panel shape and structure. Use `IgrCardHeader`, `IgrCardContent`, and `IgrCardActions`, or plain `<div>` containers for flat or highly custom tiles |
40
- | Any text input field | `IgrInput` | Use when the input anatomy matches the screenshot, including search fields and inline editors. Apply CSS to match the screenshot's border/radius style |
41
- | Dropdown or select | `IgrSelect` | Use when the screenshot clearly shows select/dropdown behavior |
42
- | Form fields with labels and inputs | `IgrInput`, `IgrSelect`, `IgrCombo`, `IgrDatePicker`, `IgrDateTimeInput` | Cover text, select, combo, and date/time inputs |
43
- | Multi-step form / wizard | `IgrStepper` | Use when a sequence of steps is visually present |
44
- | Filter chips / tag inputs | `IgrChip` | Use when chip anatomy matches status badges, filter tags, or removable labels in the screenshot |
45
- | Calendar or date picker as a primary view element | `IgrCalendar`, `IgrDatePicker`, `IgrDateRangePicker` | Use when scheduling or date selection is the core UI |
46
- | Top icon/action bar | `IgrNavbar` with `IgrButton` / `IgrIconButton` | Use when a navbar structure matches the screenshot; use plain icon buttons or custom containers when that is a closer fit |
47
-
48
34
  ## Chart Components
49
35
 
50
- | UI Pattern | Ignite UI Component | Key Properties |
51
- |---|---|---|
52
- | Area chart | `IgrCategoryChart` | `chartType`, `markerTypes`, `areaFillOpacity` |
53
- | Line chart | `IgrCategoryChart` | `chartType`, `markerTypes` |
54
- | Column chart | `IgrCategoryChart` | `chartType`, `markerTypes`, `includedProperties` |
55
- | Sparkline (mini chart) | `IgrSparkline` or `IgrDataChart` | `displayType`, `valueMemberPath`, sized container |
56
- | Pie/donut chart | `IgrPieChart` | `valueMemberPath`, `labelMemberPath` |
57
- | Financial chart | `IgrFinancialChart` | OHLC/candlestick data |
58
- | Complex multi-series | `IgrDataChart` | multiple series + axes plus module registration |
36
+ | UI Pattern | Ignite UI Component |
37
+ |---|---|
38
+ | Area chart | `IgrCategoryChart` |
39
+ | Line chart | `IgrCategoryChart` |
40
+ | Column chart | `IgrCategoryChart` |
41
+ | Sparkline (mini chart) | `IgrSparkline` or `IgrDataChart` |
42
+ | Pie/donut chart | `IgrPieChart` |
43
+ | Financial chart | `IgrFinancialChart` |
44
+ | Complex multi-series | `IgrDataChart` |
59
45
 
60
46
  Decision rule:
61
47
 
@@ -65,17 +51,17 @@ Decision rule:
65
51
 
66
52
  ## Data Display Components
67
53
 
68
- | UI Pattern | Ignite UI Component | Key Properties |
69
- |---|---|---|
70
- | Item list | `IgrList` | slot-based row content, selection, and dense list styling |
71
- | User avatar | `IgrAvatar` | `initials`, `shape`, `src` |
72
- | Status badge | `IgrBadge` | value/children plus token-based styling |
73
- | Icons | `IgrIcon` | icon name, collection, styling |
74
- | Progress bar | `IgrLinearProgress` | `value`, `max` |
75
- | Circular progress | `IgrCircularProgress` | `value`, `max` |
76
- | Flat data grid | `IgrGridLite` or `IgrGrid` | choose by feature level and package availability |
77
- | Hierarchical/tree data grid | `IgrTreeGrid` | parent-child data |
78
- | Filter/tag chips | `IgrChip` | selected state, removable UI, token-based styling |
54
+ | UI Pattern | Ignite UI Component |
55
+ |---|---|
56
+ | Item list | `IgrList` |
57
+ | User avatar | `IgrAvatar` |
58
+ | Status badge | `IgrBadge` |
59
+ | Icons | `IgrIcon` |
60
+ | Progress bar | `IgrLinearProgress` |
61
+ | Circular progress | `IgrCircularProgress` |
62
+ | Flat data grid | `IgrGridLite` or `IgrGrid` |
63
+ | Hierarchical/tree data grid | `IgrTreeGrid` |
64
+ | Filter/tag chips | `IgrChip` |
79
65
 
80
66
  Decision rule:
81
67
 
@@ -86,44 +72,44 @@ Decision rule:
86
72
 
87
73
  ## Form & Input Components
88
74
 
89
- | UI Pattern | Ignite UI Component | Key Properties |
90
- |---|---|---|
91
- | Text input | `IgrInput` | `label`, `placeholder`, `type` |
92
- | Dropdown select | `IgrSelect` | option children, label, value |
93
- | Searchable multi-select | `IgrCombo` | `data`, `displayKey`, `valueKey` |
94
- | Date picker | `IgrDatePicker` | value and label props |
95
- | Date/time input | `IgrDateTimeInput` | value, format options |
96
- | Toggle switch | `IgrSwitch` | checked state, change events |
97
- | Checkbox | `IgrCheckbox` | checked state, `indeterminate` |
98
- | Radio button group | `IgrRadioGroup` + `IgrRadio` | `name`, selected value |
99
- | Slider | `IgrSlider` | `min`, `max`, `value` |
100
- | Multi-step wizard | `IgrStepper` | orientation, step composition |
101
- | Chip filter bar | `IgrChip` collection in a flex wrapper | compose removable/filter chips manually |
75
+ | UI Pattern | Ignite UI Component |
76
+ |---|---|
77
+ | Text input | `IgrInput` |
78
+ | Dropdown select | `IgrSelect` |
79
+ | Searchable multi-select | `IgrCombo` |
80
+ | Date picker | `IgrDatePicker` |
81
+ | Date/time input | `IgrDateTimeInput` |
82
+ | Toggle switch | `IgrSwitch` |
83
+ | Checkbox | `IgrCheckbox` |
84
+ | Radio button group | `IgrRadioGroup` + `IgrRadio` |
85
+ | Slider | `IgrSlider` |
86
+ | Multi-step wizard | `IgrStepper` |
87
+ | Chip filter bar | `IgrChip` collection in a flex wrapper |
102
88
 
103
89
  ## Calendar & Scheduling Components
104
90
 
105
- | UI Pattern | Ignite UI Component | Key Properties |
106
- |---|---|---|
107
- | Calendar view | `IgrCalendar` | selection mode, `value`, change events |
108
- | Date range picker | `IgrDateRangePicker` | range value, change events |
109
- | Month/year picker | `IgrCalendar` | month/year view settings per docs |
91
+ | UI Pattern | Ignite UI Component |
92
+ |---|---|
93
+ | Calendar view | `IgrCalendar` |
94
+ | Date range picker | `IgrDateRangePicker` |
95
+ | Month/year picker | `IgrCalendar` |
110
96
 
111
97
  ## Map Components
112
98
 
113
- | UI Pattern | Ignite UI Component | Key Properties |
114
- |---|---|---|
115
- | World map | `IgrGeographicMap` | `zoomable`, `backgroundContent` |
116
- | Map markers | `IgrGeographicSymbolSeries` | `latitudeMemberPath`, `longitudeMemberPath`, `markerType`, `markerBrush` |
117
- | Bubble overlay | `IgrGeographicProportionalSymbolSeries` | sized markers |
118
- | Shape regions | `IgrGeographicShapeSeries` | polygon rendering |
99
+ | UI Pattern | Ignite UI Component |
100
+ |---|---|
101
+ | World map | `IgrGeographicMap` |
102
+ | Map markers | `IgrGeographicSymbolSeries` |
103
+ | Bubble overlay | `IgrGeographicProportionalSymbolSeries` |
104
+ | Shape regions | `IgrGeographicShapeSeries` |
119
105
 
120
106
  ## Gauge Components
121
107
 
122
- | UI Pattern | Ignite UI Component | Key Properties |
123
- |---|---|---|
124
- | Linear gauge | `IgrLinearGauge` | `value`, `minimumValue`, `maximumValue`, `needleBrush` |
125
- | Radial gauge | `IgrRadialGauge` | `value`, `minimumValue`, `maximumValue` |
126
- | Bullet graph | `IgrBulletGraph` | performance vs target |
108
+ | UI Pattern | Ignite UI Component |
109
+ |---|---|
110
+ | Linear gauge | `IgrLinearGauge` |
111
+ | Radial gauge | `IgrRadialGauge` |
112
+ | Bullet graph | `IgrBulletGraph` |
127
113
 
128
114
  ## Package Requirements
129
115
 
@@ -30,8 +30,8 @@ class EmptyIgrTsProject extends _base_with_home_1.BaseWithHomeIgrTsProject {
30
30
  constructor() {
31
31
  super(...arguments);
32
32
  this.id = "empty";
33
- this.name = "Empty project";
34
- this.description = "Empty project structure with home page and routing";
33
+ this.name = "Empty Project";
34
+ this.description = "Starter project with routing and a home page";
35
35
  this.dependencies = [];
36
36
  this.framework = "react";
37
37
  this.projectType = "igr-ts";
@@ -0,0 +1,5 @@
1
+ import Home from './home/home';
2
+
3
+ export const routes = [
4
+ { path: '/', element: <Home />, text: 'Home', icon: 'home' }
5
+ ];
@@ -0,0 +1,82 @@
1
+ .app {
2
+ display: flex;
3
+ flex-flow: column nowrap;
4
+ height: 100%;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .app__navbar {
9
+ display: flex;
10
+ align-items: center;
11
+ flex: 0 0 auto;
12
+ height: 56px;
13
+ padding: 0 16px;
14
+ background: #239ef0;
15
+ box-shadow: 0 2px 4px rgba(0, 0, 0, .24);
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ .app__title {
20
+ margin: 0 0 0 16px;
21
+ font-size: 1.25rem;
22
+ font-weight: 600;
23
+ line-height: 1;
24
+ color: #000;
25
+ }
26
+
27
+ .app__menu-button {
28
+ display: inline-flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ width: 40px;
32
+ height: 40px;
33
+ padding: 0;
34
+ color: #000;
35
+ border: 0;
36
+ background: transparent;
37
+ cursor: pointer;
38
+ }
39
+
40
+ .app__menu-button igc-icon {
41
+ font-size: 24px;
42
+ }
43
+
44
+ .app__body {
45
+ display: flex;
46
+ flex: 1 1 auto;
47
+ min-height: 0;
48
+ }
49
+
50
+ .app__drawer {
51
+ flex: 0 0 auto;
52
+ height: 100%;
53
+ --menu-full-width: 280px;
54
+ }
55
+
56
+ igc-nav-drawer-item::part(base) {
57
+ min-height: 48px;
58
+ color: #2d2d2d;
59
+ }
60
+
61
+ igc-nav-drawer-item[active]::part(base) {
62
+ background: #e0f2ff;
63
+ color: #0075d2;
64
+ }
65
+
66
+ igc-nav-drawer-item[active] igc-icon {
67
+ color: #0075d2;
68
+ }
69
+
70
+ igc-nav-drawer-item:not([active]) igc-icon {
71
+ color: #2d2d2d;
72
+ }
73
+
74
+ .app__content {
75
+ flex: 1 1 auto;
76
+ display: flex;
77
+ flex-flow: row nowrap;
78
+ justify-content: center;
79
+ align-items: stretch;
80
+ min-width: 0;
81
+ overflow: auto;
82
+ }