igniteui-cli 15.0.0-rc.2 → 15.0.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.
- package/lib/commands/ai-config.d.ts +1 -2
- package/lib/commands/ai-config.js +4 -64
- package/lib/templates/IgniteUIForReactTemplate.d.ts +1 -0
- package/lib/templates/IgniteUIForReactTemplate.js +1 -0
- package/lib/templates/IgniteUIForWebComponentsTemplate.d.ts +1 -0
- package/lib/templates/IgniteUIForWebComponentsTemplate.js +1 -0
- package/lib/templates/jQueryTemplate.d.ts +1 -0
- package/lib/templates/jQueryTemplate.js +1 -0
- package/package.json +4 -4
- package/templates/jquery/js/projects/empty/index.js +1 -0
- package/templates/react/igr-ts/grid/basic/index.js +1 -1
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/SKILL.md +23 -3
- package/templates/react/igr-ts/projects/_base/files/__dot__vscode/mcp.json +1 -1
- package/templates/react/igr-ts/projects/_base/files/package.json +1 -1
- package/templates/react/igr-ts/projects/_base/index.d.ts +1 -0
- package/templates/react/igr-ts/projects/_base/index.js +1 -0
- package/templates/react/igr-ts/projects/_base_with_home/index.d.ts +1 -0
- package/templates/react/igr-ts/projects/_base_with_home/index.js +1 -0
- package/templates/react/igr-ts/projects/base/index.d.ts +1 -0
- package/templates/react/igr-ts/projects/base/index.js +1 -0
- package/templates/react/igr-ts/projects/empty/index.d.ts +1 -0
- package/templates/react/igr-ts/projects/empty/index.js +1 -0
- package/templates/react/igr-ts/projects/top-nav/index.d.ts +1 -0
- package/templates/react/igr-ts/projects/top-nav/index.js +1 -0
- package/templates/webcomponents/igc-ts/card/default/files/src/app/__path__/__filePrefix__.ts +7 -5
- package/templates/webcomponents/igc-ts/dock-manager/default/files/src/app/__path__/__filePrefix__.ts +1 -1
- package/templates/webcomponents/igc-ts/grid/default/files/src/app/__path__/__filePrefix__.ts +1 -1
- package/templates/webcomponents/igc-ts/grid/grid-editing/files/src/app/__path__/__filePrefix__.ts +1 -1
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/README.md +3 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-choose-components/SKILL.md +27 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-generate-from-image-design/SKILL.md +228 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-generate-from-image-design/references/component-mapping.md +130 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +147 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/SKILL.md +22 -1
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/angular.md +2 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/react.md +2 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/vanilla-js.md +2 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/vue.md +2 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__vscode/mcp.json +1 -1
- package/templates/webcomponents/igc-ts/projects/_base/files/eslint.config.js +5 -3
- package/templates/webcomponents/igc-ts/projects/_base/files/index.html +1 -1
- package/templates/webcomponents/igc-ts/projects/_base/files/package.json +7 -22
- package/templates/webcomponents/igc-ts/projects/_base/files/src/app/app-routing.ts +1 -1
- package/templates/webcomponents/igc-ts/projects/_base/files/tsconfig.json +22 -29
- package/templates/webcomponents/igc-ts/projects/_base/files/vite.config.ts +3 -4
- package/templates/webcomponents/igc-ts/projects/_base/index.d.ts +1 -0
- package/templates/webcomponents/igc-ts/projects/_base/index.js +1 -0
- package/templates/webcomponents/igc-ts/projects/_base_with_home/files/index.html +1 -1
- package/templates/webcomponents/igc-ts/projects/_base_with_home/files/package.json +7 -22
- package/templates/webcomponents/igc-ts/projects/_base_with_home/files/src/app/app-routing.ts +1 -1
- package/templates/webcomponents/igc-ts/projects/_base_with_home/index.d.ts +1 -0
- package/templates/webcomponents/igc-ts/projects/_base_with_home/index.js +1 -0
- package/templates/webcomponents/igc-ts/projects/base/index.d.ts +1 -0
- package/templates/webcomponents/igc-ts/projects/base/index.js +1 -0
- package/templates/webcomponents/igc-ts/projects/empty/index.d.ts +1 -0
- package/templates/webcomponents/igc-ts/projects/empty/index.js +1 -0
- package/templates/webcomponents/igc-ts/projects/side-nav/files/src/app/app.ts +11 -8
- package/templates/webcomponents/igc-ts/projects/side-nav/index.d.ts +1 -0
- package/templates/webcomponents/igc-ts/projects/side-nav/index.js +1 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/tsconfig.test.json +0 -14
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IFileSystem } from "@igniteui/cli-core";
|
|
2
1
|
import { CommandModule } from "yargs";
|
|
3
|
-
export declare function configureMCP(
|
|
2
|
+
export declare function configureMCP(): void;
|
|
4
3
|
export declare function configureSkills(): void;
|
|
5
4
|
export declare function configure(skills?: boolean): void;
|
|
6
5
|
declare const command: CommandModule;
|
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -36,50 +13,13 @@ exports.configureMCP = configureMCP;
|
|
|
36
13
|
exports.configureSkills = configureSkills;
|
|
37
14
|
exports.configure = configure;
|
|
38
15
|
const cli_core_1 = require("@igniteui/cli-core");
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
const IGNITEUI_THEMING_SERVER_KEY = "igniteui-theming";
|
|
42
|
-
const igniteuiServer = {
|
|
43
|
-
command: "npx",
|
|
44
|
-
args: ["-y", "igniteui-cli@next", "mcp"]
|
|
45
|
-
};
|
|
46
|
-
const igniteuiThemingServer = {
|
|
47
|
-
command: "npx",
|
|
48
|
-
args: ["-y", "igniteui-theming", "igniteui-theming-mcp"]
|
|
49
|
-
};
|
|
50
|
-
function getConfigPath() {
|
|
51
|
-
return path.join(process.cwd(), ".vscode", "mcp.json");
|
|
52
|
-
}
|
|
53
|
-
function readJson(filePath, fallback, fileSystem) {
|
|
54
|
-
try {
|
|
55
|
-
return JSON.parse(fileSystem.readFile(filePath));
|
|
56
|
-
}
|
|
57
|
-
catch (_a) {
|
|
58
|
-
return fallback;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function writeJson(filePath, data, fileSystem) {
|
|
62
|
-
fileSystem.writeFile(filePath, JSON.stringify(data, null, 2) + "\n");
|
|
63
|
-
}
|
|
64
|
-
function configureMCP(fileSystem = new cli_core_1.FsFileSystem()) {
|
|
65
|
-
const configPath = getConfigPath();
|
|
66
|
-
const config = readJson(configPath, { servers: {} }, fileSystem);
|
|
67
|
-
config.servers = config.servers || {};
|
|
68
|
-
let modified = false;
|
|
69
|
-
if (!config.servers[IGNITEUI_SERVER_KEY]) {
|
|
70
|
-
config.servers[IGNITEUI_SERVER_KEY] = igniteuiServer;
|
|
71
|
-
modified = true;
|
|
72
|
-
}
|
|
73
|
-
if (!config.servers[IGNITEUI_THEMING_SERVER_KEY]) {
|
|
74
|
-
config.servers[IGNITEUI_THEMING_SERVER_KEY] = igniteuiThemingServer;
|
|
75
|
-
modified = true;
|
|
76
|
-
}
|
|
16
|
+
function configureMCP() {
|
|
17
|
+
const modified = (0, cli_core_1.addMcpServers)(cli_core_1.VS_CODE_MCP_PATH);
|
|
77
18
|
if (!modified) {
|
|
78
|
-
cli_core_1.Util.log(` Ignite UI MCP servers already configured in ${
|
|
19
|
+
cli_core_1.Util.log(` Ignite UI MCP servers already configured in ${cli_core_1.VS_CODE_MCP_PATH}`);
|
|
79
20
|
return;
|
|
80
21
|
}
|
|
81
|
-
|
|
82
|
-
cli_core_1.Util.log(cli_core_1.Util.greenCheck() + ` MCP servers configured in ${configPath}`);
|
|
22
|
+
cli_core_1.Util.log(cli_core_1.Util.greenCheck() + ` MCP servers configured in ${cli_core_1.VS_CODE_MCP_PATH}`);
|
|
83
23
|
}
|
|
84
24
|
function configureSkills() {
|
|
85
25
|
const result = (0, cli_core_1.copyAISkillsToProject)();
|
|
@@ -12,6 +12,7 @@ export declare class IgniteUIForReactTemplate implements Template {
|
|
|
12
12
|
framework: string;
|
|
13
13
|
projectType: string;
|
|
14
14
|
hasExtraConfiguration: boolean;
|
|
15
|
+
isHidden: boolean;
|
|
15
16
|
packages: any[];
|
|
16
17
|
delimiters: import("@igniteui/cli-core").TemplateDelimiters;
|
|
17
18
|
protected widget: string;
|
|
@@ -11,6 +11,7 @@ export declare class IgniteUIForWebComponentsTemplate implements Template {
|
|
|
11
11
|
framework: string;
|
|
12
12
|
projectType: string;
|
|
13
13
|
hasExtraConfiguration: boolean;
|
|
14
|
+
isHidden: boolean;
|
|
14
15
|
packages: any[];
|
|
15
16
|
dependencies: TemplateDependency[];
|
|
16
17
|
delimiters: import("@igniteui/cli-core").TemplateDelimiters;
|
|
@@ -38,6 +38,7 @@ class IgniteUIForWebComponentsTemplate {
|
|
|
38
38
|
this.framework = "webcomponents";
|
|
39
39
|
this.projectType = "igc-ts";
|
|
40
40
|
this.hasExtraConfiguration = false;
|
|
41
|
+
this.isHidden = false;
|
|
41
42
|
this.packages = [];
|
|
42
43
|
this.dependencies = [];
|
|
43
44
|
this.delimiters = cli_core_1.defaultDelimiters;
|
|
@@ -15,6 +15,7 @@ export declare class jQueryTemplate implements Template {
|
|
|
15
15
|
framework: string;
|
|
16
16
|
projectType: string;
|
|
17
17
|
hasExtraConfiguration: boolean;
|
|
18
|
+
isHidden: boolean;
|
|
18
19
|
packages: any[];
|
|
19
20
|
delimiters: import("@igniteui/cli-core").TemplateDelimiters;
|
|
20
21
|
private configFile;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "igniteui-cli",
|
|
3
|
-
"version": "15.0.0
|
|
3
|
+
"version": "15.0.0",
|
|
4
4
|
"description": "CLI tool for creating Ignite UI projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"CLI",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"all": true
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@igniteui/angular-templates": "~21.
|
|
70
|
-
"@igniteui/cli-core": "~15.0.0
|
|
71
|
-
"@igniteui/mcp-server": "~15.0.0
|
|
69
|
+
"@igniteui/angular-templates": "~21.2.1500",
|
|
70
|
+
"@igniteui/cli-core": "~15.0.0",
|
|
71
|
+
"@igniteui/mcp-server": "~15.0.0",
|
|
72
72
|
"@inquirer/prompts": "^7.9.0",
|
|
73
73
|
"@types/yargs": "^17.0.33",
|
|
74
74
|
"chalk": "^5.3.0",
|
|
@@ -14,7 +14,7 @@ class GridTemplate extends IgniteUIForReactTemplate_1.IgniteUIForReactTemplate {
|
|
|
14
14
|
this.projectType = "igr-ts";
|
|
15
15
|
this.components = ["Grid"];
|
|
16
16
|
this.controlGroup = "Data Grids";
|
|
17
|
-
this.packages = ["igniteui-react-grids@~19.6.
|
|
17
|
+
this.packages = ["igniteui-react-grids@~19.6.1"];
|
|
18
18
|
this.hasExtraConfiguration = false;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -8,6 +8,24 @@ user-invocable: true
|
|
|
8
8
|
|
|
9
9
|
This skill covers everything from identifying the right component for a UI requirement to installing, setting up, and using Ignite UI for React components — including JSX patterns, event handling, refs, controlled/uncontrolled form components, and TypeScript.
|
|
10
10
|
|
|
11
|
+
## Before You Answer
|
|
12
|
+
|
|
13
|
+
- Do not guess package names or import paths from memory.
|
|
14
|
+
- First identify the component family, then read the relevant reference files from the Content Guide below.
|
|
15
|
+
- Check `package.json` and keep public or licensed package names consistent.
|
|
16
|
+
- If the required package is not present in `package.json`, add or install the correct Ignite UI dependency first. Absence from `package.json` does not mean the package is invalid.
|
|
17
|
+
|
|
18
|
+
### Package Routing
|
|
19
|
+
|
|
20
|
+
| Component family | Install packages | Import from |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Core UI components | `igniteui-react` | `igniteui-react` |
|
|
23
|
+
| Advanced grids | `igniteui-react-grids` (trial) `@infragistics/igniteui-react-grids` (licensed) | `igniteui-react-grids` |
|
|
24
|
+
| Grid Lite | `igniteui-react`, `igniteui-grid-lite` | `igniteui-react`, `igniteui-grid-lite` |
|
|
25
|
+
| Charts | `igniteui-react-charts` (trial) `@infragistics/igniteui-react-charts` (licensed) | `igniteui-react-charts` |
|
|
26
|
+
| Gauges | `igniteui-react-gauges` (trial) `@infragistics/igniteui-react-gauges` (licensed) | `igniteui-react-gauges` |
|
|
27
|
+
| Maps | `igniteui-react-maps` (trial) `@infragistics/igniteui-react-maps` (licensed) | `igniteui-react-maps` |
|
|
28
|
+
|
|
11
29
|
## Example Usage
|
|
12
30
|
|
|
13
31
|
- "What component should I use to display a list of items with actions?"
|
|
@@ -58,9 +76,11 @@ This skill is organized into focused reference files. Load the appropriate file
|
|
|
58
76
|
|
|
59
77
|
---
|
|
60
78
|
|
|
61
|
-
## Quick Start
|
|
79
|
+
## Quick Start (Core UI Example)
|
|
80
|
+
|
|
81
|
+
This example uses the core UI package `igniteui-react`. For grids, Grid Lite, charts, gauges, and maps, use the package routing table above first.
|
|
62
82
|
|
|
63
|
-
### 1. Install
|
|
83
|
+
### 1. Install Core UI Package
|
|
64
84
|
|
|
65
85
|
```bash
|
|
66
86
|
npm install igniteui-react
|
|
@@ -143,7 +163,7 @@ Use [COMPONENT-CATALOGUE.md](./reference/COMPONENT-CATALOGUE.md) to map any UI n
|
|
|
143
163
|
|
|
144
164
|
## Best Practices
|
|
145
165
|
|
|
146
|
-
1. **
|
|
166
|
+
1. **Use the package routing table first**
|
|
147
167
|
2. **Import theme CSS first** — components need it to render correctly
|
|
148
168
|
3. **Register chart/gauge/map modules** — call `.register()` at module level
|
|
149
169
|
4. **Wrap charts/gauges/maps in sized containers** — they need explicit dimensions
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@testing-library/react": "^16.3.0",
|
|
16
16
|
"element-internals-polyfill": "^3.0.2",
|
|
17
17
|
"functions-have-names": "^1.2.3",
|
|
18
|
-
"igniteui-react": "~19.6.
|
|
18
|
+
"igniteui-react": "~19.6.1",
|
|
19
19
|
"react": "^19.2.4",
|
|
20
20
|
"react-app-polyfill": "^3.0.0",
|
|
21
21
|
"react-dom": "^19.2.4",
|
|
@@ -7,6 +7,7 @@ export declare class BaseIgrTsProject implements ProjectTemplate {
|
|
|
7
7
|
projectType: string;
|
|
8
8
|
dependencies: string[];
|
|
9
9
|
hasExtraConfiguration: boolean;
|
|
10
|
+
isHidden: boolean;
|
|
10
11
|
delimiters: import("@igniteui/cli-core").TemplateDelimiters;
|
|
11
12
|
get templatePaths(): string[];
|
|
12
13
|
generateConfig(name: string, theme: string, ...options: any[]): {
|
|
@@ -8,6 +8,7 @@ export declare class BaseWithHomeIgrTsProject extends BaseIgrTsProject implement
|
|
|
8
8
|
framework: string;
|
|
9
9
|
projectType: string;
|
|
10
10
|
hasExtraConfiguration: boolean;
|
|
11
|
+
isHidden: boolean;
|
|
11
12
|
get templatePaths(): string[];
|
|
12
13
|
}
|
|
13
14
|
declare const _default: BaseWithHomeIgrTsProject;
|
|
@@ -36,6 +36,7 @@ class BaseWithHomeIgrTsProject extends _base_1.BaseIgrTsProject {
|
|
|
36
36
|
this.framework = "react";
|
|
37
37
|
this.projectType = "igr-ts";
|
|
38
38
|
this.hasExtraConfiguration = false;
|
|
39
|
+
this.isHidden = true;
|
|
39
40
|
}
|
|
40
41
|
get templatePaths() {
|
|
41
42
|
return [...super.templatePaths, path.join(__dirname, "files")];
|
|
@@ -8,6 +8,7 @@ export declare class BasePageIgrTsProject extends BaseIgrTsProject implements Pr
|
|
|
8
8
|
framework: string;
|
|
9
9
|
projectType: string;
|
|
10
10
|
hasExtraConfiguration: boolean;
|
|
11
|
+
isHidden: boolean;
|
|
11
12
|
get templatePaths(): string[];
|
|
12
13
|
}
|
|
13
14
|
declare const _default: BasePageIgrTsProject;
|
|
@@ -36,6 +36,7 @@ class BasePageIgrTsProject extends _base_1.BaseIgrTsProject {
|
|
|
36
36
|
this.framework = "react";
|
|
37
37
|
this.projectType = "igr-ts";
|
|
38
38
|
this.hasExtraConfiguration = false;
|
|
39
|
+
this.isHidden = true;
|
|
39
40
|
}
|
|
40
41
|
get templatePaths() {
|
|
41
42
|
return [...super.templatePaths, path.join(__dirname, "files")];
|
|
@@ -8,6 +8,7 @@ export declare class EmptyIgrTsProject extends BaseWithHomeIgrTsProject implemen
|
|
|
8
8
|
framework: string;
|
|
9
9
|
projectType: string;
|
|
10
10
|
hasExtraConfiguration: boolean;
|
|
11
|
+
isHidden: boolean;
|
|
11
12
|
get templatePaths(): string[];
|
|
12
13
|
}
|
|
13
14
|
declare const _default: EmptyIgrTsProject;
|
|
@@ -36,6 +36,7 @@ class EmptyIgrTsProject extends _base_with_home_1.BaseWithHomeIgrTsProject {
|
|
|
36
36
|
this.framework = "react";
|
|
37
37
|
this.projectType = "igr-ts";
|
|
38
38
|
this.hasExtraConfiguration = false;
|
|
39
|
+
this.isHidden = false;
|
|
39
40
|
}
|
|
40
41
|
get templatePaths() {
|
|
41
42
|
return [...super.templatePaths, path.join(__dirname, "files")];
|
|
@@ -8,6 +8,7 @@ export declare class TopNavIgrTsProject extends BaseWithHomeIgrTsProject impleme
|
|
|
8
8
|
framework: string;
|
|
9
9
|
projectType: string;
|
|
10
10
|
hasExtraConfiguration: boolean;
|
|
11
|
+
isHidden: boolean;
|
|
11
12
|
get templatePaths(): string[];
|
|
12
13
|
}
|
|
13
14
|
declare const _default: TopNavIgrTsProject;
|
|
@@ -36,6 +36,7 @@ class TopNavIgrTsProject extends _base_with_home_1.BaseWithHomeIgrTsProject {
|
|
|
36
36
|
this.framework = "react";
|
|
37
37
|
this.projectType = "igr-ts";
|
|
38
38
|
this.hasExtraConfiguration = false;
|
|
39
|
+
this.isHidden = false;
|
|
39
40
|
}
|
|
40
41
|
get templatePaths() {
|
|
41
42
|
return [...super.templatePaths, path.join(__dirname, "files")];
|
package/templates/webcomponents/igc-ts/card/default/files/src/app/__path__/__filePrefix__.ts
CHANGED
|
@@ -2,10 +2,12 @@ import { html, css, LitElement } from 'lit';
|
|
|
2
2
|
import { customElement } from 'lit/decorators.js';
|
|
3
3
|
import {
|
|
4
4
|
defineComponents,
|
|
5
|
+
IgcButtonComponent,
|
|
5
6
|
IgcCardComponent,
|
|
7
|
+
IgcIconButtonComponent,
|
|
6
8
|
} from 'igniteui-webcomponents';
|
|
7
9
|
|
|
8
|
-
defineComponents(IgcCardComponent);
|
|
10
|
+
defineComponents(IgcCardComponent, IgcButtonComponent, IgcIconButtonComponent);
|
|
9
11
|
|
|
10
12
|
@customElement('app-$(path)')
|
|
11
13
|
export default class $(ClassName) extends LitElement {
|
|
@@ -20,7 +22,7 @@ export default class $(ClassName) extends LitElement {
|
|
|
20
22
|
<igc-card>
|
|
21
23
|
<igc-card-media style="max-height: 194px">
|
|
22
24
|
<img
|
|
23
|
-
src="https://images.unsplash.com/photo-1518235506717-e1ed3306a89b?ixlib=rb-1.2.1&auto=format&fit=crop&w=320&q=180"
|
|
25
|
+
src="https://images.unsplash.com/photo-1518235506717-e1ed3306a89b?ixlib=rb-1.2.1&auto=format&fit=crop&w=320&q=180"
|
|
24
26
|
/>
|
|
25
27
|
</igc-card-media>
|
|
26
28
|
<igc-card-header>
|
|
@@ -46,9 +48,9 @@ export default class $(ClassName) extends LitElement {
|
|
|
46
48
|
style="height: 1px; margin: 0 0 8px 0; background-color: rgba(0,0,0, 0.2); border: 0px"
|
|
47
49
|
/>
|
|
48
50
|
<igc-card-actions>
|
|
49
|
-
<igc-button slot="start"
|
|
50
|
-
<igc-button slot="start"
|
|
51
|
-
<igc-icon slot="end" name="home" collection="default"></igc-icon>
|
|
51
|
+
<igc-button slot="start">Like</igc-button>
|
|
52
|
+
<igc-button slot="start">Learn More</igc-button>
|
|
53
|
+
<igc-icon-button slot="end" name="home" collection="default"></igc-icon-button>
|
|
52
54
|
</igc-card-actions>
|
|
53
55
|
</igc-card>
|
|
54
56
|
`;
|
package/templates/webcomponents/igc-ts/grid/default/files/src/app/__path__/__filePrefix__.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { html, css, LitElement } from 'lit';
|
|
2
2
|
import { customElement, state } from 'lit/decorators.js';
|
|
3
|
-
import { IgcGridComponent, IgcGroupingExpression, SortingDirection } from 'igniteui-webcomponents-grids';
|
|
3
|
+
import { IgcGridComponent, type IgcGroupingExpression, SortingDirection } from 'igniteui-webcomponents-grids';
|
|
4
4
|
|
|
5
5
|
import gridThemeLightMaterial from 'igniteui-webcomponents-grids/grids/themes/light/material.css?inline'
|
|
6
6
|
|
package/templates/webcomponents/igc-ts/grid/grid-editing/files/src/app/__path__/__filePrefix__.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css, html, LitElement } from 'lit';
|
|
2
2
|
import { customElement, query, state } from 'lit/decorators.js';
|
|
3
|
-
import { defineComponents, IgcButtonComponent, IgcCheckboxChangeEventArgs, IgcSwitchComponent } from 'igniteui-webcomponents';
|
|
3
|
+
import { defineComponents, IgcButtonComponent, type IgcCheckboxChangeEventArgs, IgcSwitchComponent } from 'igniteui-webcomponents';
|
|
4
4
|
import {
|
|
5
5
|
IgcGridComponent
|
|
6
6
|
} from 'igniteui-webcomponents-grids';
|
|
@@ -13,6 +13,7 @@ Skills are structured instructions that help AI agents understand and execute co
|
|
|
13
13
|
| [igniteui-wc-choose-components](./igniteui-wc-choose-components/SKILL.md) | Identify the right components for a UI pattern and navigate to official docs/demos | Deciding which components to use |
|
|
14
14
|
| [igniteui-wc-integrate-with-framework](./igniteui-wc-integrate-with-framework/SKILL.md) | Integrate components into React, Angular, Vue, or vanilla JS applications | Setting up components in your project |
|
|
15
15
|
| [igniteui-wc-customize-component-theme](./igniteui-wc-customize-component-theme/SKILL.md) | Customize styling using CSS custom properties, parts, and theming system | Applying custom brand colors/styles |
|
|
16
|
+
| [igniteui-wc-generate-from-image-design](./igniteui-wc-generate-from-image-design/SKILL.md) | Implement a view from a screenshot or mockup using Ignite UI Web Components | Converting a design image into UI |
|
|
16
17
|
| [igniteui-wc-optimize-bundle-size](./igniteui-wc-optimize-bundle-size/SKILL.md) | Reduce bundle size by importing only needed components and lazy loading | Optimizing production performance |
|
|
17
18
|
|
|
18
19
|
## How to Use
|
|
@@ -22,12 +23,14 @@ When working with an AI agent like GitHub Copilot, reference skills by name or a
|
|
|
22
23
|
### Natural Questions
|
|
23
24
|
- "How do I integrate igniteui-webcomponents with React?"
|
|
24
25
|
- "Help me customize the button colors to match my brand"
|
|
26
|
+
- "Build this screenshot with Ignite UI Web Components"
|
|
25
27
|
- "My bundle size is too large, how can I reduce it?"
|
|
26
28
|
- "Show me how to use these components in Vue"
|
|
27
29
|
|
|
28
30
|
### Direct Skill Reference
|
|
29
31
|
- "Follow the integrate-with-framework skill for my Angular app"
|
|
30
32
|
- "Use the customize-component-theme skill to help me style components"
|
|
33
|
+
- "Use the generate-from-image-design skill to implement this mockup"
|
|
31
34
|
- "Apply the optimize-bundle-size skill to reduce my bundle"
|
|
32
35
|
|
|
33
36
|
## Skill Structure
|
|
@@ -8,6 +8,12 @@ user-invocable: true
|
|
|
8
8
|
|
|
9
9
|
This skill helps AI agents and developers identify the best Ignite UI components for any UI requirement, then provides direct links to official documentation, usage examples, and API references.
|
|
10
10
|
|
|
11
|
+
## Before You Answer
|
|
12
|
+
|
|
13
|
+
- Choose the package before writing imports or install steps.
|
|
14
|
+
- If the required package is not present in `package.json`, add or install the correct Ignite UI dependency first. Absence from `package.json` does not mean the package is invalid.
|
|
15
|
+
- If the user also needs setup or code, then load [igniteui-wc-integrate-with-framework](../igniteui-wc-integrate-with-framework/SKILL.md).
|
|
16
|
+
|
|
11
17
|
## Example Usage
|
|
12
18
|
|
|
13
19
|
- "What component should I use to display a list of items with actions?"
|
|
@@ -46,10 +52,31 @@ Ignite UI for Web Components is distributed across several packages depending on
|
|
|
46
52
|
| [`igniteui-webcomponents-grids`](https://www.npmjs.com/package/igniteui-webcomponents-grids) | Commercial | `npm install igniteui-webcomponents-grids` (trial) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) with many built-in functionalities |
|
|
47
53
|
| [`igniteui-grid-lite`](https://www.npmjs.com/package/igniteui-grid-lite) | MIT | `npm install igniteui-grid-lite` | Lightweight data grid for simpler tabular data |
|
|
48
54
|
| [`igniteui-dockmanager`](https://www.npmjs.com/package/igniteui-dockmanager) | Commercial | `npm install igniteui-dockmanager` (trial) | Windowing / docking layouts (IDE-style panels) |
|
|
55
|
+
| [`igniteui-webcomponents-grids`](https://www.npmjs.com/package/igniteui-webcomponents-grids) | Commercial | `npm install igniteui-webcomponents-grids` (trial) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) with many built-in functionalities |
|
|
56
|
+
| [`@infragistics/igniteui-webcomponents-grids`](https://packages.infragistics.com/feeds/js-licensed/@infragistics/igniteui-webcomponents-grids) | Commercial | `npm install @infragistics/igniteui-webcomponents-grids` (licensed) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) with many built-in functionalities |
|
|
57
|
+
| [`igniteui-grid-lite`](https://www.npmjs.com/package/igniteui-grid-lite) | MIT | `npm install igniteui-grid-lite` | Lightweight data grid for simpler tabular data |
|
|
58
|
+
| [`igniteui-dockmanager`](https://www.npmjs.com/package/igniteui-dockmanager) | Commercial | `npm install igniteui-dockmanager` (trial) | Windowing / docking layouts (IDE-style panels) |
|
|
59
|
+
| [`@infragistics/igniteui-dockmanager`](https://packages.infragistics.com/feeds/js-licensed/@infragistics/igniteui-dockmanager) | Commercial | `npm install @infragistics/igniteui-dockmanager` (licensed) | Windowing / docking layouts (IDE-style panels) |
|
|
49
60
|
| [`igniteui-webcomponents-charts`](https://www.npmjs.com/package/igniteui-webcomponents-charts) | Commercial | `npm install igniteui-webcomponents-core igniteui-webcomponents-charts` (trial) | Charts and data visualizations (65+ chart types) |
|
|
61
|
+
| [`@infragistics/igniteui-webcomponents-charts`](https://packages.infragistics.com/feeds/js-licensed/@infragistics/igniteui-webcomponents-charts) | Commercial | `npm install @infragistics/igniteui-webcomponents-core @infragistics/igniteui-webcomponents-charts` (licensed) | Charts and data visualizations (65+ chart types) |
|
|
50
62
|
|
|
51
63
|
---
|
|
52
64
|
|
|
65
|
+
## Package Routing
|
|
66
|
+
|
|
67
|
+
| Component family | Package |
|
|
68
|
+
|---|---|
|
|
69
|
+
| General UI components | `igniteui-webcomponents` |
|
|
70
|
+
| Advanced grids | `igniteui-webcomponents-grids` (trial) `@infragistics/igniteui-webcomponents-grids` (licensed) |
|
|
71
|
+
| Grid Lite | `igniteui-grid-lite` |
|
|
72
|
+
| Dock Manager | `igniteui-dockmanager` (trial) `@infragistics/igniteui-dockmanager` (licensed) |
|
|
73
|
+
| Charts | `igniteui-webcomponents-charts` (trial) `@infragistics/igniteui-webcomponents-charts` (licensed) |
|
|
74
|
+
|
|
75
|
+
If the request only says "grid", choose by features:
|
|
76
|
+
|
|
77
|
+
- Advanced features such as editing, paging, summaries, grouping, hierarchical data, or pivot behavior -> `igniteui-webcomponents-grids`
|
|
78
|
+
- Lightweight table -> `igniteui-grid-lite`
|
|
79
|
+
|
|
53
80
|
## Component Catalogue by UI Pattern
|
|
54
81
|
|
|
55
82
|
Use the table below to map a UI need to the right component, then follow the documentation link.
|