igniteui-angular 18.2.0-beta.0 → 18.2.0-beta.2
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/esm2022/lib/badge/badge.component.mjs +19 -3
- package/esm2022/lib/core/i18n/query-builder-resources.mjs +4 -3
- package/esm2022/lib/data-operations/filtering-expression.interface.mjs +1 -1
- package/esm2022/lib/data-operations/filtering-expressions-tree.mjs +1 -1
- package/esm2022/lib/grids/filtering/base/grid-filtering-cell.component.mjs +2 -2
- package/esm2022/lib/grids/grid/groupby-row.component.mjs +2 -2
- package/esm2022/lib/grids/grouping/grid-group-by-area.component.mjs +3 -3
- package/esm2022/lib/grids/grouping/tree-grid-group-by-area.component.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +2 -2
- package/esm2022/lib/grids/selection/selection.service.mjs +9 -9
- package/esm2022/lib/icon/icon.references.mjs +6 -10
- package/esm2022/lib/query-builder/query-builder-header.component.mjs +3 -3
- package/esm2022/lib/query-builder/query-builder-tree.component.mjs +3 -3
- package/esm2022/lib/tabs/tabs/tabs.component.mjs +4 -3
- package/fesm2022/igniteui-angular.mjs +46 -33
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/badge/badge.component.d.ts +12 -1
- package/lib/core/i18n/query-builder-resources.d.ts +1 -0
- package/lib/core/styles/components/badge/_badge-component.scss +4 -0
- package/lib/core/styles/components/badge/_badge-theme.scss +6 -12
- package/lib/core/styles/components/banner/_banner-theme.scss +5 -1
- package/lib/core/styles/components/card/_card-theme.scss +18 -1
- package/lib/core/styles/components/chip/_chip-theme.scss +180 -154
- package/lib/core/styles/components/drop-down/_drop-down-theme.scss +5 -1
- package/lib/core/styles/components/navdrawer/_navdrawer-theme.scss +9 -7
- package/lib/core/styles/components/query-builder/_query-builder-component.scss +4 -0
- package/lib/core/styles/components/query-builder/_query-builder-theme.scss +39 -38
- package/lib/core/styles/components/tabs/_tabs-theme.scss +72 -18
- package/lib/core/styles/components/tree/_tree-theme.scss +1 -3
- package/lib/core/styles/typography/_indigo.scss +3 -1
- package/lib/data-operations/filtering-expression.interface.d.ts +2 -4
- package/lib/data-operations/filtering-expressions-tree.d.ts +24 -2
- package/migrations/common/ServerHost.d.ts +3 -1
- package/migrations/common/ServerHost.js +4 -1
- package/migrations/common/UpdateChanges.d.ts +7 -2
- package/migrations/common/UpdateChanges.js +39 -29
- package/migrations/common/project-service-container.d.ts +11 -0
- package/migrations/common/project-service-container.js +25 -0
- package/migrations/update-13_0_0/changes/members.json +1 -1
- package/migrations/update-18_2_0/changes/inputs.json +14 -0
- package/migrations/update-18_2_0/changes/theme-changes.json +6 -0
- package/migrations/update-18_2_0/index.js +36 -0
- package/package.json +2 -2
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -12,7 +12,7 @@ const tss = require("typescript/lib/tsserverlibrary");
|
|
|
12
12
|
const schema_1 = require("./schema");
|
|
13
13
|
const tsUtils_1 = require("./tsUtils");
|
|
14
14
|
const util_1 = require("./util");
|
|
15
|
-
const
|
|
15
|
+
const project_service_container_1 = require("./project-service-container");
|
|
16
16
|
const TSCONFIG_PATH = 'tsconfig.json';
|
|
17
17
|
var InputPropertyType;
|
|
18
18
|
(function (InputPropertyType) {
|
|
@@ -33,31 +33,15 @@ class UpdateChanges {
|
|
|
33
33
|
this._shouldInvokeLS = val;
|
|
34
34
|
}
|
|
35
35
|
get projectService() {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// and no actual angular metadata will be resolved for the rest of the migration
|
|
41
|
-
// TODO: this patter/issue might be obsolete; if so, should be safe to return _projectService directly
|
|
42
|
-
const mainRelPath = this.getWorkspaceProjectEntryPath();
|
|
43
|
-
if (!mainRelPath) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
// patch TSConfig so it includes angularOptions.strictTemplates
|
|
47
|
-
// ivy ls requires this in order to function properly on templates
|
|
48
|
-
this.patchTsConfig();
|
|
49
|
-
const mainAbsPath = path.resolve(this._projectService.currentDirectory, mainRelPath);
|
|
50
|
-
const scriptInfo = this._projectService.getOrCreateScriptInfoForNormalizedPath(tss.server.toNormalizedPath(mainAbsPath), false);
|
|
51
|
-
this._projectService.openClientFile(scriptInfo.fileName);
|
|
52
|
-
try {
|
|
53
|
-
const project = this._projectService.findProject(scriptInfo.containingProjects[0].getProjectName());
|
|
54
|
-
project.getLanguageService().getSemanticDiagnostics(mainAbsPath);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
this.context.logger.warn("An error occurred during TypeScript project service setup. Some migrations relying on language services might not be applied.");
|
|
58
|
-
}
|
|
36
|
+
const projectService = project_service_container_1.serviceContainer.projectService;
|
|
37
|
+
if (!project_service_container_1.serviceContainer.configured) {
|
|
38
|
+
this.configureForAngularLS(projectService);
|
|
39
|
+
project_service_container_1.serviceContainer.configured = true;
|
|
59
40
|
}
|
|
60
|
-
return
|
|
41
|
+
return projectService;
|
|
42
|
+
}
|
|
43
|
+
get serverHost() {
|
|
44
|
+
return project_service_container_1.serviceContainer.serverHost;
|
|
61
45
|
}
|
|
62
46
|
get templateFiles() {
|
|
63
47
|
if (!this._templateFiles.length) {
|
|
@@ -132,7 +116,8 @@ class UpdateChanges {
|
|
|
132
116
|
this.themeChanges = this.loadConfig('theme-changes.json');
|
|
133
117
|
this.importsChanges = this.loadConfig('imports.json');
|
|
134
118
|
this.membersChanges = this.loadConfig('members.json');
|
|
135
|
-
|
|
119
|
+
// update LS server host with the schematics tree:
|
|
120
|
+
this.serverHost.host = this.host;
|
|
136
121
|
}
|
|
137
122
|
/** Apply configured changes to the Host Tree */
|
|
138
123
|
applyChanges() {
|
|
@@ -588,7 +573,7 @@ class UpdateChanges {
|
|
|
588
573
|
return;
|
|
589
574
|
}
|
|
590
575
|
// attempt to find a main tsconfig from workspace:
|
|
591
|
-
const wsProject = this.workspace.projects[0];
|
|
576
|
+
const wsProject = Object.values(this.workspace.projects)[0];
|
|
592
577
|
// technically could be per-project, but assuming there's at least one main tsconfig for IDE support
|
|
593
578
|
const projectConfig = (_b = (_a = wsProject.architect) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.options['tsConfig'];
|
|
594
579
|
if (!projectConfig || !this.host.exists(projectConfig)) {
|
|
@@ -731,6 +716,31 @@ class UpdateChanges {
|
|
|
731
716
|
project.addMissingFileRoot(scriptInfo.fileName);
|
|
732
717
|
return project;
|
|
733
718
|
}
|
|
719
|
+
/**
|
|
720
|
+
* Force Angular service to compile project on initial load w/ configured project
|
|
721
|
+
* otherwise if the first compilation occurs on an HTML file the project won't have proper refs
|
|
722
|
+
* and no actual angular metadata will be resolved for the rest of the migration
|
|
723
|
+
*/
|
|
724
|
+
configureForAngularLS(projectService) {
|
|
725
|
+
// TODO: this pattern/issue might be obsolete
|
|
726
|
+
const mainRelPath = this.getWorkspaceProjectEntryPath();
|
|
727
|
+
if (!mainRelPath) {
|
|
728
|
+
return;
|
|
729
|
+
}
|
|
730
|
+
// patch TSConfig so it includes angularOptions.strictTemplates
|
|
731
|
+
// ivy ls requires this in order to function properly on templates
|
|
732
|
+
this.patchTsConfig();
|
|
733
|
+
const mainAbsPath = path.resolve(projectService.currentDirectory, mainRelPath);
|
|
734
|
+
const scriptInfo = projectService.getOrCreateScriptInfoForNormalizedPath(tss.server.toNormalizedPath(mainAbsPath), false);
|
|
735
|
+
projectService.openClientFile(scriptInfo.fileName);
|
|
736
|
+
try {
|
|
737
|
+
const project = projectService.findProject(scriptInfo.containingProjects[0].getProjectName());
|
|
738
|
+
project.getLanguageService().getSemanticDiagnostics(mainAbsPath);
|
|
739
|
+
}
|
|
740
|
+
catch (err) {
|
|
741
|
+
this.context.logger.warn("An error occurred during TypeScript project service setup. Some migrations relying on language services might not be applied.");
|
|
742
|
+
}
|
|
743
|
+
}
|
|
734
744
|
getWorkspaceProjectEntryPath() {
|
|
735
745
|
var _a, _b;
|
|
736
746
|
const projectKeys = Object.keys(this.workspace.projects);
|
|
@@ -742,8 +752,8 @@ class UpdateChanges {
|
|
|
742
752
|
for (const key of projectKeys) {
|
|
743
753
|
const wsProject = this.workspace.projects[key];
|
|
744
754
|
// intentionally compare against string values of the enum to avoid hard import
|
|
745
|
-
if (wsProject.projectType == "application" && ((_b = (_a = wsProject.architect) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.options
|
|
746
|
-
return wsProject.architect.build.options['main'];
|
|
755
|
+
if (wsProject.projectType == "application" && ((_b = (_a = wsProject.architect) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.options)) {
|
|
756
|
+
return wsProject.architect.build.options['browser'] || wsProject.architect.build.options['main'];
|
|
747
757
|
}
|
|
748
758
|
else if (wsProject.projectType == "library") {
|
|
749
759
|
// TODO: attempt to resolve from project ng-package.json or tsConfig
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as tss from 'typescript/lib/tsserverlibrary';
|
|
2
|
+
import { ServerHost } from './ServerHost';
|
|
3
|
+
export declare class ProjectServiceContainer {
|
|
4
|
+
private _serverHost;
|
|
5
|
+
private _projectService;
|
|
6
|
+
/** Indicates additional config adjustments after init have been made */
|
|
7
|
+
configured: boolean;
|
|
8
|
+
get serverHost(): ServerHost;
|
|
9
|
+
get projectService(): tss.server.ProjectService;
|
|
10
|
+
}
|
|
11
|
+
export declare const serviceContainer: ProjectServiceContainer;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serviceContainer = exports.ProjectServiceContainer = void 0;
|
|
4
|
+
const tsUtils_1 = require("./tsUtils");
|
|
5
|
+
const ServerHost_1 = require("./ServerHost");
|
|
6
|
+
class ProjectServiceContainer {
|
|
7
|
+
constructor() {
|
|
8
|
+
/** Indicates additional config adjustments after init have been made */
|
|
9
|
+
this.configured = false;
|
|
10
|
+
}
|
|
11
|
+
get serverHost() {
|
|
12
|
+
if (!this._serverHost) {
|
|
13
|
+
this._serverHost = new ServerHost_1.ServerHost(null);
|
|
14
|
+
}
|
|
15
|
+
return this._serverHost;
|
|
16
|
+
}
|
|
17
|
+
get projectService() {
|
|
18
|
+
if (!this._projectService) {
|
|
19
|
+
this._projectService = (0, tsUtils_1.createProjectService)(this.serverHost);
|
|
20
|
+
}
|
|
21
|
+
return this._projectService;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ProjectServiceContainer = ProjectServiceContainer;
|
|
25
|
+
exports.serviceContainer = new ProjectServiceContainer();
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../common/schema/binding.schema.json",
|
|
3
|
+
"changes": [
|
|
4
|
+
{
|
|
5
|
+
"name": "fields",
|
|
6
|
+
"replaceWith": "entities",
|
|
7
|
+
"valueTransform": "fields_to_entities",
|
|
8
|
+
"owner": {
|
|
9
|
+
"selector": "igx-query-builder",
|
|
10
|
+
"type": "component"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -14,5 +14,41 @@ const version = '18.2.0';
|
|
|
14
14
|
exports.default = () => (host, context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
15
|
context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`);
|
|
16
16
|
const update = new UpdateChanges_1.UpdateChanges(__dirname, host, context);
|
|
17
|
+
update.addValueTransform('fields_to_entities', (args) => {
|
|
18
|
+
args.bindingType = UpdateChanges_1.InputPropertyType.EVAL;
|
|
19
|
+
args.value = `[{ name: '', fields: ${args.value}}]`;
|
|
20
|
+
});
|
|
21
|
+
const IG_COLORS = [
|
|
22
|
+
'primary-',
|
|
23
|
+
'primary-A',
|
|
24
|
+
'secondary-',
|
|
25
|
+
'secondary-A',
|
|
26
|
+
'gray-',
|
|
27
|
+
'surface-',
|
|
28
|
+
'surface-A',
|
|
29
|
+
'info-',
|
|
30
|
+
'info-A',
|
|
31
|
+
'success-',
|
|
32
|
+
'success-A',
|
|
33
|
+
'warn-',
|
|
34
|
+
'warn-A',
|
|
35
|
+
'error-',
|
|
36
|
+
'error-A'
|
|
37
|
+
];
|
|
38
|
+
const hslaColor = 'hsla?\\(var\\(--ig-attr(\\d)00\\)\\)';
|
|
39
|
+
for (const entryPath of update.sassFiles) {
|
|
40
|
+
let content = host.read(entryPath).toString();
|
|
41
|
+
IG_COLORS.forEach(color => {
|
|
42
|
+
let prop = hslaColor.replace('attr', color);
|
|
43
|
+
const regex = new RegExp(prop, 'g');
|
|
44
|
+
if (regex.test(content)) {
|
|
45
|
+
let newColor = prop.replace(/hsla\?\\\(var\\\(--ig-/g, 'var\(--ig-');
|
|
46
|
+
newColor = newColor.replace('(\\d)', '$1');
|
|
47
|
+
newColor = newColor.replace('\\)\\)', ')');
|
|
48
|
+
content = content.replace(regex, newColor);
|
|
49
|
+
host.overwrite(entryPath, content);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
17
53
|
update.applyChanges();
|
|
18
54
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "igniteui-angular",
|
|
3
|
-
"version": "18.2.0-beta.
|
|
3
|
+
"version": "18.2.0-beta.2",
|
|
4
4
|
"description": "Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps",
|
|
5
5
|
"author": "Infragistics",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"igniteui-trial-watermark": "^3.0.2",
|
|
75
75
|
"lodash-es": "^4.17.21",
|
|
76
76
|
"uuid": "^9.0.0",
|
|
77
|
-
"igniteui-theming": "^14.2.0-beta.
|
|
77
|
+
"igniteui-theming": "^14.2.0-beta.3",
|
|
78
78
|
"@igniteui/material-icons-extended": "^3.0.0"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|