igniteui-angular 22.1.0-beta.7 → 22.1.0-rc.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/README.md +1 -0
- package/fesm2022/igniteui-angular-accordion.mjs +4 -4
- package/fesm2022/igniteui-angular-accordion.mjs.map +1 -1
- package/fesm2022/igniteui-angular-action-strip.mjs +1 -0
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-avatar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-badge.mjs +1 -0
- package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +2 -2
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +5 -4
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-card.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +6 -17
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +337 -16
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +14 -12
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +47 -45
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +2 -3
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +12 -23
- package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +202 -484
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +95 -116
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +19 -15
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +153 -75
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +35 -28
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +3 -2
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-progressbar.mjs +2 -5
- package/fesm2022/igniteui-angular-progressbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +19 -18
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +1 -1
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +7 -10
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +3 -3
- package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +6 -3
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +10 -8
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/migrations/migration-collection.json +7 -0
- package/migrations/update-21_0_0_import-migration/index.js +11 -5
- package/migrations/update-21_0_0_import-migration/index.spec.d.ts +1 -0
- package/migrations/update-21_0_0_import-migration/index.spec.js +175 -0
- package/migrations/update-21_1_0_import-migration/index.js +14 -5
- package/migrations/update-21_1_0_import-migration/index.spec.d.ts +1 -0
- package/migrations/update-21_1_0_import-migration/index.spec.js +146 -0
- package/migrations/update-22_1_0_import-migration/index.d.ts +2 -0
- package/migrations/update-22_1_0_import-migration/index.js +228 -0
- package/migrations/update-22_1_0_import-migration/index.spec.d.ts +1 -0
- package/migrations/update-22_1_0_import-migration/index.spec.js +188 -0
- package/package.json +1 -1
- package/skills/igniteui-angular-components/SKILL.md +1 -0
- package/skills/igniteui-angular-figma-to-app/SKILL.md +1 -0
- package/skills/igniteui-angular-generate-from-image-design/SKILL.md +1 -0
- package/skills/igniteui-angular-grids/SKILL.md +1 -0
- package/skills/igniteui-angular-theming/SKILL.md +1 -0
- package/types/igniteui-angular-avatar.d.ts +1 -1
- package/types/igniteui-angular-banner.d.ts +3 -3
- package/types/igniteui-angular-calendar.d.ts +9 -9
- package/types/igniteui-angular-card.d.ts +1 -1
- package/types/igniteui-angular-carousel.d.ts +9 -9
- package/types/igniteui-angular-chat.d.ts +1 -1
- package/types/igniteui-angular-chips.d.ts +5 -5
- package/types/igniteui-angular-combo.d.ts +13 -17
- package/types/igniteui-angular-core.d.ts +495 -200
- package/types/igniteui-angular-date-picker.d.ts +3 -3
- package/types/igniteui-angular-dialog.d.ts +4 -4
- package/types/igniteui-angular-directives.d.ts +59 -60
- package/types/igniteui-angular-drop-down.d.ts +16 -16
- package/types/igniteui-angular-expansion-panel.d.ts +6 -6
- package/types/igniteui-angular-grids-core.d.ts +782 -1044
- package/types/igniteui-angular-grids-grid.d.ts +267 -104
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +547 -68
- package/types/igniteui-angular-grids-lite.d.ts +7 -7
- package/types/igniteui-angular-grids-pivot-grid.d.ts +129 -94
- package/types/igniteui-angular-grids-tree-grid.d.ts +51 -5
- package/types/igniteui-angular-icon.d.ts +2 -2
- package/types/igniteui-angular-input-group.d.ts +4 -4
- package/types/igniteui-angular-list.d.ts +4 -4
- package/types/igniteui-angular-navigation-drawer.d.ts +3 -3
- package/types/igniteui-angular-progressbar.d.ts +0 -1
- package/types/igniteui-angular-query-builder.d.ts +9 -9
- package/types/igniteui-angular-radio.d.ts +1 -1
- package/types/igniteui-angular-select.d.ts +5 -5
- package/types/igniteui-angular-simple-combo.d.ts +2 -2
- package/types/igniteui-angular-slider.d.ts +4 -4
- package/types/igniteui-angular-splitter.d.ts +3 -3
- package/types/igniteui-angular-time-picker.d.ts +8 -8
- package/types/igniteui-angular-tree.d.ts +8 -8
|
@@ -0,0 +1,228 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.default = migrate;
|
|
46
|
+
const ts = __importStar(require("typescript"));
|
|
47
|
+
const tsUtils_1 = require("../common/tsUtils");
|
|
48
|
+
const version = '22.1.0';
|
|
49
|
+
// Exports that moved to a different entry point in 22.1.0.
|
|
50
|
+
// Keyed by exported symbol -> { from: source entry point, to: target entry point }.
|
|
51
|
+
const EXPORT_MOVES = new Map([
|
|
52
|
+
// IgxSummaryOperand definitions moved from grids/core to core
|
|
53
|
+
['IgxSummaryOperand', { from: 'grids/core', to: 'core' }],
|
|
54
|
+
['IgxNumberSummaryOperand', { from: 'grids/core', to: 'core' }],
|
|
55
|
+
['IgxDateSummaryOperand', { from: 'grids/core', to: 'core' }],
|
|
56
|
+
['IgxTimeSummaryOperand', { from: 'grids/core', to: 'core' }],
|
|
57
|
+
// Selection/transaction types moved from grids/core to core
|
|
58
|
+
['GridSelectionRange', { from: 'grids/core', to: 'core' }],
|
|
59
|
+
['ISelectionNode', { from: 'grids/core', to: 'core' }],
|
|
60
|
+
['IMultiRowLayoutNode', { from: 'grids/core', to: 'core' }],
|
|
61
|
+
['ISelectionKeyboardState', { from: 'grids/core', to: 'core' }],
|
|
62
|
+
['ISelectionPointerState', { from: 'grids/core', to: 'core' }],
|
|
63
|
+
['IColumnSelectionState', { from: 'grids/core', to: 'core' }],
|
|
64
|
+
['SelectionState', { from: 'grids/core', to: 'core' }],
|
|
65
|
+
['IgxGridTransaction', { from: 'grids/core', to: 'core' }],
|
|
66
|
+
// IGroupingDoneEventArgs moved from grids/grid to grids/core
|
|
67
|
+
['IGroupingDoneEventArgs', { from: 'grids/grid', to: 'grids/core' }]
|
|
68
|
+
]);
|
|
69
|
+
// Distinct source entry points we need to inspect, e.g. 'grids/core', 'grids/grid'.
|
|
70
|
+
const SOURCE_ENTRY_POINTS = [...new Set([...EXPORT_MOVES.values()].map(m => m.from))];
|
|
71
|
+
/**
|
|
72
|
+
* Resolves an import module specifier to its base package and entry point,
|
|
73
|
+
* e.g. `igniteui-angular/grids/core` -> { basePackage: 'igniteui-angular', entry: 'grids/core' }.
|
|
74
|
+
* Returns null for specifiers that are not an Ignite UI entry point.
|
|
75
|
+
*/
|
|
76
|
+
function resolveEntryPoint(importPath) {
|
|
77
|
+
for (const basePackage of [tsUtils_1.IG_PACKAGE_NAME, tsUtils_1.IG_LICENSED_PACKAGE_NAME]) {
|
|
78
|
+
if (importPath.startsWith(`${basePackage}/`)) {
|
|
79
|
+
return { basePackage, entry: importPath.substring(basePackage.length + 1) };
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
/** Sorts specifiers alphabetically by their imported symbol name. */
|
|
85
|
+
const sortByName = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
|
|
86
|
+
/** Collects Ignite UI named imports from the file, in source order. */
|
|
87
|
+
function collectIgImports(sourceFile) {
|
|
88
|
+
const imports = [];
|
|
89
|
+
const visit = (node) => {
|
|
90
|
+
if (ts.isImportDeclaration(node) && (0, tsUtils_1.igNamedImportFilter)(node)) {
|
|
91
|
+
const resolved = resolveEntryPoint(node.moduleSpecifier.text);
|
|
92
|
+
if (resolved) {
|
|
93
|
+
const namedBindings = node.importClause.namedBindings;
|
|
94
|
+
const specifiers = namedBindings.elements.map(element => {
|
|
95
|
+
var _a;
|
|
96
|
+
const name = element.name.text;
|
|
97
|
+
const alias = (_a = element.propertyName) === null || _a === void 0 ? void 0 : _a.text;
|
|
98
|
+
const importName = alias || name;
|
|
99
|
+
const typePrefix = element.isTypeOnly ? 'type ' : '';
|
|
100
|
+
const specifier = alias ? `${importName} as ${name}` : importName;
|
|
101
|
+
return { key: importName, text: `${typePrefix}${specifier}` };
|
|
102
|
+
});
|
|
103
|
+
imports.push({
|
|
104
|
+
node,
|
|
105
|
+
basePackage: resolved.basePackage,
|
|
106
|
+
entry: resolved.entry,
|
|
107
|
+
isTypeOnly: node.importClause.phaseModifier === ts.SyntaxKind.TypeKeyword,
|
|
108
|
+
specifiers
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
ts.forEachChild(node, visit);
|
|
113
|
+
};
|
|
114
|
+
visit(sourceFile);
|
|
115
|
+
return imports;
|
|
116
|
+
}
|
|
117
|
+
function migrateFile(filePath, content) {
|
|
118
|
+
const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
|
|
119
|
+
const imports = collectIgImports(sourceFile);
|
|
120
|
+
// The full module path a specifier ends up in, or null if it stays where it is.
|
|
121
|
+
const movedTo = (imp, spec) => {
|
|
122
|
+
const move = EXPORT_MOVES.get(spec.key);
|
|
123
|
+
return move && move.from === imp.entry ? `${imp.basePackage}/${move.to}` : null;
|
|
124
|
+
};
|
|
125
|
+
// A stable key per output import: its `type` modifier plus module path.
|
|
126
|
+
const importKey = (path, isTypeOnly) => `${isTypeOnly ? 'type ' : ''}${path}`;
|
|
127
|
+
// Imports (module path + type modifier) that gain a moved specifier.
|
|
128
|
+
const mergeTargets = new Set();
|
|
129
|
+
for (const imp of imports) {
|
|
130
|
+
for (const spec of imp.specifiers) {
|
|
131
|
+
const to = movedTo(imp, spec);
|
|
132
|
+
if (to) {
|
|
133
|
+
mergeTargets.add(importKey(to, imp.isTypeOnly));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Nothing moves in this file.
|
|
138
|
+
if (mergeTargets.size === 0) {
|
|
139
|
+
return content;
|
|
140
|
+
}
|
|
141
|
+
// Rewrite imports that lose a specifier (sources) or receive one (merge targets).
|
|
142
|
+
const participating = imports.filter(imp => imp.specifiers.some(spec => movedTo(imp, spec)) ||
|
|
143
|
+
mergeTargets.has(importKey(`${imp.basePackage}/${imp.entry}`, imp.isTypeOnly)));
|
|
144
|
+
// Collect the surviving specifiers per output import, retained ones before moved ones.
|
|
145
|
+
const groups = new Map();
|
|
146
|
+
const add = (path, isTypeOnly, spec) => {
|
|
147
|
+
var _a;
|
|
148
|
+
const key = importKey(path, isTypeOnly);
|
|
149
|
+
((_a = groups.get(key)) !== null && _a !== void 0 ? _a : groups.set(key, { path, isTypeOnly, specifiers: [] }).get(key)).specifiers.push(spec);
|
|
150
|
+
};
|
|
151
|
+
for (const imp of participating) {
|
|
152
|
+
const from = `${imp.basePackage}/${imp.entry}`;
|
|
153
|
+
for (const spec of imp.specifiers) {
|
|
154
|
+
if (!movedTo(imp, spec)) {
|
|
155
|
+
add(from, imp.isTypeOnly, spec);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
for (const spec of imp.specifiers) {
|
|
159
|
+
const to = movedTo(imp, spec);
|
|
160
|
+
if (to) {
|
|
161
|
+
add(to, imp.isTypeOnly, spec);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
const newImports = [...groups.values()].map(group => {
|
|
166
|
+
const typeModifier = group.isTypeOnly ? 'type ' : '';
|
|
167
|
+
const specifiers = group.specifiers.sort(sortByName).map(s => s.text).join(', ');
|
|
168
|
+
return `import ${typeModifier}{ ${specifiers} } from '${group.path}';`;
|
|
169
|
+
});
|
|
170
|
+
// Replace the first participating declaration with the merged imports; drop the rest.
|
|
171
|
+
const anchor = participating[0];
|
|
172
|
+
const changes = [
|
|
173
|
+
{ start: anchor.node.getStart(sourceFile), end: anchor.node.getEnd(), replacement: newImports.join('\n') },
|
|
174
|
+
...participating.slice(1).map(imp => ({
|
|
175
|
+
start: imp.node.getFullStart(),
|
|
176
|
+
end: imp.node.getEnd(),
|
|
177
|
+
replacement: ''
|
|
178
|
+
}))
|
|
179
|
+
];
|
|
180
|
+
// Apply changes in reverse order to maintain positions.
|
|
181
|
+
changes.sort((a, b) => b.start - a.start);
|
|
182
|
+
let result = content;
|
|
183
|
+
for (const change of changes) {
|
|
184
|
+
result = result.substring(0, change.start) + change.replacement + result.substring(change.end);
|
|
185
|
+
}
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
/** Fast-path check: does the file import from any of the source entry points we migrate? */
|
|
189
|
+
function hasRelevantImport(content) {
|
|
190
|
+
return SOURCE_ENTRY_POINTS.some(entry => [tsUtils_1.IG_PACKAGE_NAME, tsUtils_1.IG_LICENSED_PACKAGE_NAME].some(basePackage => content.includes(`from '${basePackage}/${entry}'`) ||
|
|
191
|
+
content.includes(`from "${basePackage}/${entry}"`)));
|
|
192
|
+
}
|
|
193
|
+
function migrate() {
|
|
194
|
+
return (host, context) => __awaiter(this, void 0, void 0, function* () {
|
|
195
|
+
context.logger.info(`Applying optional import migration for Ignite UI for Angular to version ${version}`);
|
|
196
|
+
context.logger.info('Migrating imports to new entry points...');
|
|
197
|
+
const visit = (filePath) => {
|
|
198
|
+
// Only process TypeScript files
|
|
199
|
+
if (!filePath.endsWith('.ts')) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
// Skip node_modules and dist
|
|
203
|
+
if (filePath.includes('node_modules') || filePath.includes('dist')) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const content = host.read(filePath);
|
|
207
|
+
if (!content) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const originalContent = content.toString();
|
|
211
|
+
// Check if file imports from any migrated source entry point
|
|
212
|
+
if (!hasRelevantImport(originalContent)) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const migratedContent = migrateFile(filePath, originalContent);
|
|
216
|
+
if (migratedContent !== originalContent) {
|
|
217
|
+
host.overwrite(filePath, migratedContent);
|
|
218
|
+
context.logger.info(` ✓ Migrated ${filePath}`);
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
host.visit(visit);
|
|
222
|
+
context.logger.info('Migration complete!');
|
|
223
|
+
context.logger.info('Breaking changes:');
|
|
224
|
+
for (const [symbol, move] of EXPORT_MOVES) {
|
|
225
|
+
context.logger.info(` - ${symbol} moved from ${tsUtils_1.IG_PACKAGE_NAME}/${move.from} to ${tsUtils_1.IG_PACKAGE_NAME}/${move.to}`);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,188 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const path = __importStar(require("path"));
|
|
46
|
+
const index_js_1 = require("@angular-devkit/schematics/testing/index.js");
|
|
47
|
+
const setup_spec_1 = require("../common/setup.spec");
|
|
48
|
+
const version = '22.1.0';
|
|
49
|
+
describe(`Update to ${version}`, () => {
|
|
50
|
+
let appTree;
|
|
51
|
+
const schematicRunner = new index_js_1.SchematicTestRunner('ig-migrate', path.join(__dirname, '../migration-collection.json'));
|
|
52
|
+
beforeEach(() => {
|
|
53
|
+
appTree = (0, setup_spec_1.setupTestTree)();
|
|
54
|
+
});
|
|
55
|
+
const migrationName = 'migration-59';
|
|
56
|
+
const filePath = '/testSrc/appPrefix/component/test.component.ts';
|
|
57
|
+
it('should move a single IgxSummaryOperand import from grids/core to core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
+
appTree.create(filePath, `import { IgxSummaryOperand } from 'igniteui-angular/grids/core';`);
|
|
59
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
60
|
+
expect(tree.readContent(filePath))
|
|
61
|
+
.toEqual(`import { IgxSummaryOperand } from 'igniteui-angular/core';`);
|
|
62
|
+
}));
|
|
63
|
+
it('should move all summary operand imports from grids/core to core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
+
appTree.create(filePath, `import { IgxSummaryOperand, IgxNumberSummaryOperand, IgxDateSummaryOperand, IgxTimeSummaryOperand } from 'igniteui-angular/grids/core';`);
|
|
65
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
66
|
+
expect(tree.readContent(filePath))
|
|
67
|
+
.toEqual(`import { IgxDateSummaryOperand, IgxNumberSummaryOperand, IgxSummaryOperand, IgxTimeSummaryOperand } from 'igniteui-angular/core';`);
|
|
68
|
+
}));
|
|
69
|
+
it('should split mixed imports, keeping non-operand exports in grids/core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
+
appTree.create(filePath, `import { IgxGridComponent, IgxNumberSummaryOperand } from 'igniteui-angular/grids/core';`);
|
|
71
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
72
|
+
expect(tree.readContent(filePath))
|
|
73
|
+
.toEqual(`import { IgxGridComponent } from 'igniteui-angular/grids/core';\n` +
|
|
74
|
+
`import { IgxNumberSummaryOperand } from 'igniteui-angular/core';`);
|
|
75
|
+
}));
|
|
76
|
+
it('should preserve aliased operand imports', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
appTree.create(filePath, `import { IgxSummaryOperand as SummaryOperand } from 'igniteui-angular/grids/core';`);
|
|
78
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
79
|
+
expect(tree.readContent(filePath))
|
|
80
|
+
.toEqual(`import { IgxSummaryOperand as SummaryOperand } from 'igniteui-angular/core';`);
|
|
81
|
+
}));
|
|
82
|
+
it('should migrate imports from the licensed package', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
+
appTree.create(filePath, `import { IgxTimeSummaryOperand } from '@infragistics/igniteui-angular/grids/core';`);
|
|
84
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
85
|
+
expect(tree.readContent(filePath))
|
|
86
|
+
.toEqual(`import { IgxTimeSummaryOperand } from '@infragistics/igniteui-angular/core';`);
|
|
87
|
+
}));
|
|
88
|
+
it('should NOT modify operand imports that already come from core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
89
|
+
const content = `import { IgxSummaryOperand } from 'igniteui-angular/core';`;
|
|
90
|
+
appTree.create(filePath, content);
|
|
91
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
92
|
+
expect(tree.readContent(filePath)).toEqual(content);
|
|
93
|
+
}));
|
|
94
|
+
it('should NOT modify grids/core imports that are not moved operands', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
+
const content = `import { IgxGridComponent } from 'igniteui-angular/grids/core';`;
|
|
96
|
+
appTree.create(filePath, content);
|
|
97
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
98
|
+
expect(tree.readContent(filePath)).toEqual(content);
|
|
99
|
+
}));
|
|
100
|
+
it('should move selection and transaction types from grids/core to core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
101
|
+
appTree.create(filePath, `import { GridSelectionRange, ISelectionNode, IMultiRowLayoutNode, ISelectionKeyboardState, ISelectionPointerState, IColumnSelectionState, SelectionState, IgxGridTransaction } from 'igniteui-angular/grids/core';`);
|
|
102
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
103
|
+
expect(tree.readContent(filePath))
|
|
104
|
+
.toEqual(`import { GridSelectionRange, IColumnSelectionState, IMultiRowLayoutNode, ISelectionKeyboardState, ISelectionNode, ISelectionPointerState, IgxGridTransaction, SelectionState } from 'igniteui-angular/core';`);
|
|
105
|
+
}));
|
|
106
|
+
it('should split a mixed grids/core import, keeping non-moved exports in place', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
|
+
appTree.create(filePath, `import { IgxGridComponent, SelectionState, IgxSummaryOperand } from 'igniteui-angular/grids/core';`);
|
|
108
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
109
|
+
expect(tree.readContent(filePath))
|
|
110
|
+
.toEqual(`import { IgxGridComponent } from 'igniteui-angular/grids/core';\n` +
|
|
111
|
+
`import { IgxSummaryOperand, SelectionState } from 'igniteui-angular/core';`);
|
|
112
|
+
}));
|
|
113
|
+
it('should move IGroupingDoneEventArgs from grids/grid to grids/core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
114
|
+
appTree.create(filePath, `import { IGroupingDoneEventArgs } from 'igniteui-angular/grids/grid';`);
|
|
115
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
116
|
+
expect(tree.readContent(filePath))
|
|
117
|
+
.toEqual(`import { IGroupingDoneEventArgs } from 'igniteui-angular/grids/core';`);
|
|
118
|
+
}));
|
|
119
|
+
it('should move IGroupingDoneEventArgs from grids/grid to grids/core as type import', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
120
|
+
appTree.create(filePath, `import type { IGroupingDoneEventArgs } from 'igniteui-angular/grids/grid';`);
|
|
121
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
122
|
+
expect(tree.readContent(filePath))
|
|
123
|
+
.toEqual(`import type { IGroupingDoneEventArgs } from 'igniteui-angular/grids/core';`);
|
|
124
|
+
}));
|
|
125
|
+
it('should preserve the type modifier when moving summary operands from grids/core to core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
126
|
+
appTree.create(filePath, `import type { IgxSummaryOperand } from 'igniteui-angular/grids/core';`);
|
|
127
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
128
|
+
expect(tree.readContent(filePath))
|
|
129
|
+
.toEqual(`import type { IgxSummaryOperand } from 'igniteui-angular/core';`);
|
|
130
|
+
}));
|
|
131
|
+
it('should preserve a per-specifier inline type modifier when moving an export', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
|
+
appTree.create(filePath, `import { type IGroupingDoneEventArgs, IgxGridComponent } from 'igniteui-angular/grids/grid';`);
|
|
133
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
134
|
+
expect(tree.readContent(filePath))
|
|
135
|
+
.toEqual(`import { IgxGridComponent } from 'igniteui-angular/grids/grid';\n` +
|
|
136
|
+
`import { type IGroupingDoneEventArgs } from 'igniteui-angular/grids/core';`);
|
|
137
|
+
}));
|
|
138
|
+
it('should migrate multiple separate import declarations in the same file', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
139
|
+
appTree.create(filePath, `import { IgxSummaryOperand } from 'igniteui-angular/grids/core';\n` +
|
|
140
|
+
`import { IGroupingDoneEventArgs } from 'igniteui-angular/grids/grid';`);
|
|
141
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
142
|
+
expect(tree.readContent(filePath))
|
|
143
|
+
.toEqual(`import { IgxSummaryOperand } from 'igniteui-angular/core';\n` +
|
|
144
|
+
`import { IGroupingDoneEventArgs } from 'igniteui-angular/grids/core';`);
|
|
145
|
+
}));
|
|
146
|
+
it('should migrate multiple import type declarations in the same file', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
147
|
+
appTree.create(filePath, `import type { IMultiRowLayoutNode, ISelectionNode } from 'igniteui-angular/grids/core';`);
|
|
148
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
149
|
+
expect(tree.readContent(filePath))
|
|
150
|
+
.toEqual(`import type { IMultiRowLayoutNode, ISelectionNode } from 'igniteui-angular/core';`);
|
|
151
|
+
}));
|
|
152
|
+
it('should merge migrated import declarations', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
153
|
+
appTree.create(filePath, `import { IgxSummaryResult } from 'igniteui-angular/core';\n` +
|
|
154
|
+
`import { IgxNumberSummaryOperand, IgxSummaryOperand } from 'igniteui-angular/grids/core';`);
|
|
155
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
156
|
+
expect(tree.readContent(filePath))
|
|
157
|
+
.toEqual(`import { IgxNumberSummaryOperand, IgxSummaryOperand, IgxSummaryResult } from 'igniteui-angular/core';`);
|
|
158
|
+
}));
|
|
159
|
+
it('should split IGroupingDoneEventArgs out of grids/grid, keeping other exports', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
160
|
+
appTree.create(filePath, `import { IgxGridComponent, IGroupingDoneEventArgs } from 'igniteui-angular/grids/grid';`);
|
|
161
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
162
|
+
expect(tree.readContent(filePath))
|
|
163
|
+
.toEqual(`import { IgxGridComponent } from 'igniteui-angular/grids/grid';\n` +
|
|
164
|
+
`import { IGroupingDoneEventArgs } from 'igniteui-angular/grids/core';`);
|
|
165
|
+
}));
|
|
166
|
+
it('should NOT move IGroupingDoneEventArgs when imported from grids/core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
167
|
+
const content = `import { IGroupingDoneEventArgs } from 'igniteui-angular/grids/core';`;
|
|
168
|
+
appTree.create(filePath, content);
|
|
169
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
170
|
+
expect(tree.readContent(filePath)).toEqual(content);
|
|
171
|
+
}));
|
|
172
|
+
it('should merge into an existing core import while leaving unrelated imports untouched', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
173
|
+
appTree.create(filePath, `import { Component, OnInit, ViewChild } from '@angular/core';\n` +
|
|
174
|
+
`import { IgxHierarchicalGridComponent, IgxRowIslandComponent } from 'igniteui-angular/grids/hierarchical-grid';\n` +
|
|
175
|
+
`import { IgxCellTemplateDirective, IgxColumnComponent, IgxNumberSummaryOperand, IgxSummaryOperand } from 'igniteui-angular/grids/core';\n` +
|
|
176
|
+
`import { IgxSummaryResult } from 'igniteui-angular/core';\n` +
|
|
177
|
+
`import { SINGERS } from '../../data/singersData';\n` +
|
|
178
|
+
`import { IgxPreventDocumentScrollDirective } from '../../directives/prevent-scroll.directive';`);
|
|
179
|
+
const tree = yield schematicRunner.runSchematic(migrationName, {}, appTree);
|
|
180
|
+
expect(tree.readContent(filePath))
|
|
181
|
+
.toEqual(`import { Component, OnInit, ViewChild } from '@angular/core';\n` +
|
|
182
|
+
`import { IgxHierarchicalGridComponent, IgxRowIslandComponent } from 'igniteui-angular/grids/hierarchical-grid';\n` +
|
|
183
|
+
`import { IgxCellTemplateDirective, IgxColumnComponent } from 'igniteui-angular/grids/core';\n` +
|
|
184
|
+
`import { IgxNumberSummaryOperand, IgxSummaryOperand, IgxSummaryResult } from 'igniteui-angular/core';\n` +
|
|
185
|
+
`import { SINGERS } from '../../data/singersData';\n` +
|
|
186
|
+
`import { IgxPreventDocumentScrollDirective } from '../../directives/prevent-scroll.directive';`);
|
|
187
|
+
}));
|
|
188
|
+
});
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
license: MIT
|
|
2
3
|
name: igniteui-angular-components
|
|
3
4
|
description: "Covers all non-grid Ignite UI for Angular UI components: application scaffolding and setup, form controls (inputs, combos, selects, date/time pickers, calendar, checkbox, radio, switch, slider), layout containers (tabs, stepper, accordion, splitter, navigation drawer), data-display components (list, tree, card, chips, carousel, paginator, progress indicators, chat), feedback overlays (dialog, snackbar, toast, banner), directives (button, icon button, button group, ripple, tooltip, drag-and-drop), Dock Manager, Layout Manager, Tile Manager, and Charts. Use when users ask about any Ignite UI Angular component that is NOT a data grid — such as forms, dropdowns, pickers, dialogs, navigation, lists, trees, cards, charts, or initial project setup. Do NOT use for data grids, tables, or tabular data — use igniteui-angular-grids instead. Do NOT use for theming or styling — use igniteui-angular-theming instead."
|
|
4
5
|
user-invocable: true
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
license: MIT
|
|
2
3
|
name: igniteui-angular-generate-from-image-design
|
|
3
4
|
description: Implement Angular application views from design images using Ignite UI Angular components. Uses MCP servers (igniteui-cli, igniteui-theming, angular-cli) to discover components, generate themes, and follow best practices. Triggers when the user provides a design image (screenshot, mockup, wireframe) and wants it built as a working Angular view with igniteui-angular components. Also triggers when the user asks to "implement this design", "build this UI", "convert this mockup", or "create a page from this image" in an Ignite UI Angular project.
|
|
4
5
|
user-invocable: true
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
license: MIT
|
|
2
3
|
name: igniteui-angular-grids
|
|
3
4
|
description: "Provides guidance on all Ignite UI for Angular data grid types (Flat Grid, Tree Grid, Hierarchical Grid, Grid Lite, Pivot Grid) including setup, column configuration, sorting, filtering, selection, editing, grouping, summaries, toolbar, export, paging, remote data, and state persistence. Use when users ask about grids, tables, data grids, tabular data display, cell editing, batch editing, row selection, column pinning, column hiding, grouping rows, pivot tables, tree-structured data, hierarchical data, master-detail views, or exporting grid data. Do NOT use for non-grid UI components (forms, dialogs, navigation, charts) — use igniteui-angular-components instead. Do NOT use for theming or styling — use igniteui-angular-theming instead."
|
|
4
5
|
user-invocable: true
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
license: MIT
|
|
2
3
|
name: igniteui-angular-theming
|
|
3
4
|
description: "Generates and customizes Ignite UI for Angular themes including color palettes, typography, elevations, and component-level styles using the Sass theming system and the igniteui-theming MCP server. Use when users ask to theme, restyle, or style Ignite UI components, change colors or the color palette, switch between light and dark themes, create or apply a global theme, customize typography or elevation shadows, adjust spacing, sizing, or roundness, or configure per-component design tokens. Do NOT use for component behavior, APIs, or data binding — use igniteui-angular-components or igniteui-angular-grids instead."
|
|
4
5
|
user-invocable: true
|
|
@@ -199,7 +199,7 @@ declare class IgxAvatarComponent implements OnInit {
|
|
|
199
199
|
get _isIconType(): boolean;
|
|
200
200
|
/** @hidden @internal */
|
|
201
201
|
get _isInitialsType(): boolean;
|
|
202
|
-
protected get componentSize(): string;
|
|
202
|
+
protected get componentSize(): string | undefined;
|
|
203
203
|
/**
|
|
204
204
|
* Returns the template of the avatar.
|
|
205
205
|
*
|
|
@@ -170,7 +170,7 @@ declare class IgxBannerComponent implements IToggleView {
|
|
|
170
170
|
* <button type="button" (click)="banner.open()">Open Banner</button>
|
|
171
171
|
* ```
|
|
172
172
|
*/
|
|
173
|
-
open(event?:
|
|
173
|
+
open(event?: MouseEvent): void;
|
|
174
174
|
/**
|
|
175
175
|
* Closes the banner
|
|
176
176
|
*
|
|
@@ -185,7 +185,7 @@ declare class IgxBannerComponent implements IToggleView {
|
|
|
185
185
|
* <button type="button" (click)="banner.close()">Close Banner</button>
|
|
186
186
|
* ```
|
|
187
187
|
*/
|
|
188
|
-
close(event?:
|
|
188
|
+
close(event?: MouseEvent): void;
|
|
189
189
|
/**
|
|
190
190
|
* Toggles the banner
|
|
191
191
|
*
|
|
@@ -200,7 +200,7 @@ declare class IgxBannerComponent implements IToggleView {
|
|
|
200
200
|
* <button type="button" (click)="banner.toggle()">Toggle Banner</button>
|
|
201
201
|
* ```
|
|
202
202
|
*/
|
|
203
|
-
toggle(event?:
|
|
203
|
+
toggle(event?: MouseEvent): void;
|
|
204
204
|
/** @hidden */
|
|
205
205
|
onExpansionPanelOpen(): void;
|
|
206
206
|
/** @hidden */
|
|
@@ -98,7 +98,7 @@ declare const IgxCalendarView: {
|
|
|
98
98
|
* Determines the Calendar active view - days, months or years.
|
|
99
99
|
*/
|
|
100
100
|
type IgxCalendarView = (typeof IgxCalendarView)[keyof typeof IgxCalendarView];
|
|
101
|
-
declare const range: (start: number, stop: number, step?: number) =>
|
|
101
|
+
declare const range: (start: number | undefined, stop: number, step?: number) => number[];
|
|
102
102
|
/**
|
|
103
103
|
* Returns true for leap years, false for non-leap years.
|
|
104
104
|
*
|
|
@@ -252,7 +252,7 @@ declare abstract class IgxCalendarViewDirective implements ControlValueAccessor
|
|
|
252
252
|
protected dayInterval: DayInterval;
|
|
253
253
|
role: string;
|
|
254
254
|
tabIndex: number;
|
|
255
|
-
protected get activeDescendant(): number;
|
|
255
|
+
protected get activeDescendant(): number | undefined;
|
|
256
256
|
/**
|
|
257
257
|
* Gets/sets whether the view should be rendered
|
|
258
258
|
* according to the locale and format, if any.
|
|
@@ -293,11 +293,11 @@ declare abstract class IgxCalendarViewDirective implements ControlValueAccessor
|
|
|
293
293
|
/**
|
|
294
294
|
* @hidden
|
|
295
295
|
*/
|
|
296
|
-
protected _locale:
|
|
296
|
+
protected _locale: string;
|
|
297
297
|
/**
|
|
298
298
|
* @hidden
|
|
299
299
|
*/
|
|
300
|
-
protected _defaultLocale:
|
|
300
|
+
protected _defaultLocale: string;
|
|
301
301
|
private _date;
|
|
302
302
|
private _destroyRef;
|
|
303
303
|
/**
|
|
@@ -586,8 +586,8 @@ declare class IgxCalendarBaseDirective implements ControlValueAccessor {
|
|
|
586
586
|
protected _destroyRef: DestroyRef;
|
|
587
587
|
protected platform: PlatformUtil;
|
|
588
588
|
protected _localeId: string;
|
|
589
|
-
protected keyboardNavigation?: KeyboardNavigationService;
|
|
590
|
-
protected cdr?: ChangeDetectorRef;
|
|
589
|
+
protected keyboardNavigation?: KeyboardNavigationService | undefined;
|
|
590
|
+
protected cdr?: ChangeDetectorRef | undefined;
|
|
591
591
|
protected i18nFormatter: igniteui_angular_core.BaseFormatter;
|
|
592
592
|
/**
|
|
593
593
|
* Holds month view index we are operating on.
|
|
@@ -1063,7 +1063,7 @@ declare class IgxDaysViewComponent extends IgxCalendarBaseDirective implements A
|
|
|
1063
1063
|
readonly viewClass = true;
|
|
1064
1064
|
get standalone(): boolean;
|
|
1065
1065
|
set standalone(value: boolean);
|
|
1066
|
-
protected get activeDescendant(): number;
|
|
1066
|
+
protected get activeDescendant(): number | undefined;
|
|
1067
1067
|
/**
|
|
1068
1068
|
* Show/hide week numbers
|
|
1069
1069
|
*
|
|
@@ -1601,7 +1601,7 @@ declare class IgxCalendarComponent extends IgxCalendarBaseDirective implements A
|
|
|
1601
1601
|
* @hidden
|
|
1602
1602
|
* @internal
|
|
1603
1603
|
*/
|
|
1604
|
-
protected changePage(isKeydownTrigger: boolean, direction: ScrollDirection): void;
|
|
1604
|
+
protected changePage(isKeydownTrigger: boolean | undefined, direction: ScrollDirection): void;
|
|
1605
1605
|
/**
|
|
1606
1606
|
* Continious navigation through the previous pages
|
|
1607
1607
|
*
|
|
@@ -1832,7 +1832,7 @@ declare class IgxMonthPickerComponent extends IgxCalendarBaseDirective implement
|
|
|
1832
1832
|
* this.monthPicker.selectDate(new Date(`2018-06-12`));
|
|
1833
1833
|
* ```
|
|
1834
1834
|
*/
|
|
1835
|
-
selectDate(value: Date): Date;
|
|
1835
|
+
selectDate(value: Date): Date | undefined;
|
|
1836
1836
|
/**
|
|
1837
1837
|
* @hidden
|
|
1838
1838
|
*/
|
|
@@ -208,7 +208,7 @@ type IgxCardActionsLayout = (typeof IgxCardActionsLayout)[keyof typeof IgxCardAc
|
|
|
208
208
|
* Card actions is container for the card actions.
|
|
209
209
|
*/
|
|
210
210
|
declare class IgxCardActionsComponent implements OnInit, OnChanges {
|
|
211
|
-
card: IgxCardComponent;
|
|
211
|
+
card: IgxCardComponent | null;
|
|
212
212
|
/**
|
|
213
213
|
* Sets the layout style of the actions.
|
|
214
214
|
* You can justify the elements slotted in the igx-card-action container
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnDestroy, ChangeDetectorRef, EventEmitter, AfterContentChecked, AfterContentInit, TemplateRef, QueryList } from '@angular/core';
|
|
3
|
-
import { AnimationPlayer, IBaseEventArgs, ICarouselResourceStrings } from 'igniteui-angular/core';
|
|
3
|
+
import { AnimationPlayer, IBaseEventArgs, ICarouselResourceStrings, IgxGestureEvent } from 'igniteui-angular/core';
|
|
4
4
|
import { AnimationReferenceMetadata } from '@angular/animations';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
|
|
@@ -127,7 +127,7 @@ declare class IgxSlideComponent implements AfterContentChecked, OnDestroy, IgxSl
|
|
|
127
127
|
* @memberof IgxSlideComponent
|
|
128
128
|
* @deprecated in version 19.2.0.
|
|
129
129
|
*/
|
|
130
|
-
get tabIndex():
|
|
130
|
+
get tabIndex(): 0 | null;
|
|
131
131
|
/**
|
|
132
132
|
* @hidden
|
|
133
133
|
*/
|
|
@@ -247,7 +247,7 @@ declare class IgxCarouselComponent extends IgxCarouselComponentBase implements O
|
|
|
247
247
|
/** @hidden */
|
|
248
248
|
roleDescription: string;
|
|
249
249
|
/** @hidden */
|
|
250
|
-
get labelId(): string;
|
|
250
|
+
get labelId(): string | null;
|
|
251
251
|
/** @hidden */
|
|
252
252
|
get isVertical(): boolean;
|
|
253
253
|
/**
|
|
@@ -594,23 +594,23 @@ declare class IgxCarouselComponent extends IgxCarouselComponentBase implements O
|
|
|
594
594
|
set interval(value: number);
|
|
595
595
|
constructor();
|
|
596
596
|
/** @hidden */
|
|
597
|
-
onTap(event:
|
|
597
|
+
onTap(event: IgxGestureEvent): void;
|
|
598
598
|
/** @hidden */
|
|
599
599
|
onMouseEnter(): void;
|
|
600
600
|
/** @hidden */
|
|
601
601
|
onMouseLeave(): void;
|
|
602
602
|
/** @hidden */
|
|
603
|
-
onPanLeft(event:
|
|
603
|
+
onPanLeft(event: IgxGestureEvent): void;
|
|
604
604
|
/** @hidden */
|
|
605
|
-
onPanRight(event:
|
|
605
|
+
onPanRight(event: IgxGestureEvent): void;
|
|
606
606
|
/** @hidden */
|
|
607
|
-
onPanUp(event:
|
|
607
|
+
onPanUp(event: IgxGestureEvent): void;
|
|
608
608
|
/** @hidden */
|
|
609
|
-
onPanDown(event:
|
|
609
|
+
onPanDown(event: IgxGestureEvent): void;
|
|
610
610
|
/**
|
|
611
611
|
* @hidden
|
|
612
612
|
*/
|
|
613
|
-
onPanEnd(event:
|
|
613
|
+
onPanEnd(event: IgxGestureEvent): void;
|
|
614
614
|
/** @hidden */
|
|
615
615
|
ngAfterContentInit(): void;
|
|
616
616
|
/** @hidden */
|
|
@@ -63,7 +63,7 @@ declare class IgxChatComponent implements OnInit, OnDestroy {
|
|
|
63
63
|
readonly draftMessage: _angular_core.InputSignal<{
|
|
64
64
|
text: string;
|
|
65
65
|
attachments?: IgcChatMessageAttachment[];
|
|
66
|
-
}>;
|
|
66
|
+
} | undefined>;
|
|
67
67
|
/** Configuration options for the chat component */
|
|
68
68
|
readonly options: _angular_core.InputSignal<IgxChatOptions>;
|
|
69
69
|
/** Custom templates for rendering chat elements */
|