diff --git a/.gitignore b/.gitignore
index 639fa2ea00a..56c2a0f1c21 100644
--- a/.gitignore
+++ b/.gitignore
@@ -147,6 +147,7 @@ yarn-error.log*
###
# Build output
##
+packages/core/components/
packages/*/dist/
packages/*/www/
packages/*/loader/
diff --git a/packages/angular-test-app/package.json b/packages/angular-test-app/package.json
index 8002d274d2d..88920f00481 100644
--- a/packages/angular-test-app/package.json
+++ b/packages/angular-test-app/package.json
@@ -18,7 +18,7 @@
"@angular/platform-browser": "^14.2.0",
"@angular/platform-browser-dynamic": "^14.2.0",
"@angular/router": "^14.2.0",
- "@siemens/ix-icons": "^1.2.0",
+ "@siemens/ix-icons": "2.0.0-beta.0",
"@siemens/ix": "~2.0.0-beta.1",
"@siemens/ix-aggrid": "~2.0.0-beta.1",
"@siemens/ix-angular": "~2.0.0-beta.1",
diff --git a/packages/angular-test-app/src/styles.scss b/packages/angular-test-app/src/styles.scss
index d0814fd037f..57bf4dba678 100644
--- a/packages/angular-test-app/src/styles.scss
+++ b/packages/angular-test-app/src/styles.scss
@@ -14,7 +14,6 @@
@import '@siemens/ix-aggrid/dist/ix-aggrid/ix-aggrid.css';
@import '@siemens/ix/dist/siemens-ix/siemens-ix.css';
-@import '@siemens/ix-icons/dist/css/ix-icons.css';
@import './preview-examples/placeholder-logo.css';
diff --git a/packages/angular/ng-package.json b/packages/angular/ng-package.json
index 1e894a8d1d1..e8794d81f3f 100644
--- a/packages/angular/ng-package.json
+++ b/packages/angular/ng-package.json
@@ -5,5 +5,5 @@
"lib": {
"entryFile": "src/index.ts"
},
- "allowedNonPeerDependencies": ["tslib", "@siemens/ix", "@siemens/ix-icons"]
+ "allowedNonPeerDependencies": ["tslib", "@siemens/ix"]
}
diff --git a/packages/angular/package.json b/packages/angular/package.json
index 212b4c181f8..2f3504594d4 100644
--- a/packages/angular/package.json
+++ b/packages/angular/package.json
@@ -16,11 +16,11 @@
},
"license": "MIT",
"dependencies": {
- "@siemens/ix": "~2.0.0-beta.1",
- "@siemens/ix-icons": "^1.2.0"
+ "@siemens/ix": "~2.0.0-beta.1"
},
"peerDependencies": {
- "@angular/core": ">=13.3.12"
+ "@angular/core": ">=13.3.12",
+ "@siemens/ix-icons": "2.0.0-beta.0"
},
"devDependencies": {
"@angular/common": "v13-lts",
diff --git a/packages/angular/src/app-initialize.ts b/packages/angular/src/app-initialize.ts
index e88c1bf3be7..a7a1747b555 100644
--- a/packages/angular/src/app-initialize.ts
+++ b/packages/angular/src/app-initialize.ts
@@ -7,12 +7,13 @@
* LICENSE file in the root directory of this source tree.
*/
+import { defineCustomElements as iconsDefineCustomElements } from '@siemens/ix-icons/loader';
import { applyPolyfills, defineCustomElements } from '@siemens/ix/loader';
let didInitialize = false;
export const appInitialize = (doc: Document) => {
- return () => {
+ return async () => {
const win: Window | undefined = doc.defaultView as any;
if (win && typeof (window as any) !== 'undefined') {
if (didInitialize) {
@@ -21,9 +22,9 @@ export const appInitialize = (doc: Document) => {
didInitialize = true;
- applyPolyfills().then(() => {
- return defineCustomElements();
- });
+ await applyPolyfills();
+ await iconsDefineCustomElements();
+ await defineCustomElements();
}
};
};
diff --git a/packages/angular/src/components.ts b/packages/angular/src/components.ts
index ebcfa2be82b..abdcafc9d6f 100644
--- a/packages/angular/src/components.ts
+++ b/packages/angular/src/components.ts
@@ -985,28 +985,6 @@ export declare interface IxGroupItem extends Components.IxGroupItem {
}
-@ProxyCmp({
- inputs: ['color', 'name', 'size']
-})
-@Component({
- selector: 'ix-icon',
- changeDetection: ChangeDetectionStrategy.OnPush,
- template: ' ',
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
- inputs: ['color', 'name', 'size'],
-})
-export class IxIcon {
- protected el: HTMLElement;
- constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
- c.detach();
- this.el = r.nativeElement;
- }
-}
-
-
-export declare interface IxIcon extends Components.IxIcon {}
-
-
@ProxyCmp({
inputs: ['color', 'disabled', 'ghost', 'icon', 'loading', 'outline', 'oval', 'size', 'type', 'variant']
})
diff --git a/packages/angular/src/declare-components.ts b/packages/angular/src/declare-components.ts
index 3ff4b7cdec7..a6dfb8ea860 100644
--- a/packages/angular/src/declare-components.ts
+++ b/packages/angular/src/declare-components.ts
@@ -39,7 +39,6 @@ export const DIRECTIVES = [
d.IxGroup,
d.IxGroupContextMenu,
d.IxGroupItem,
- d.IxIcon,
d.IxIconButton,
d.IxIconToggleButton,
d.IxInputGroup,
diff --git a/packages/angular/src/index.ts b/packages/angular/src/index.ts
index b994fb0a681..95f91454a8a 100644
--- a/packages/angular/src/index.ts
+++ b/packages/angular/src/index.ts
@@ -11,6 +11,7 @@ export * from '@siemens/ix';
export * from './boolean-value-accessor';
export * from './components';
export * from './dropdown/trigger.directive';
+export { IxIcon } from './ix-icon';
export * from './modal';
export * from './module';
export * from './select-value-accessor';
diff --git a/packages/angular/src/ix-icon.ts b/packages/angular/src/ix-icon.ts
new file mode 100644
index 00000000000..8a957a07e64
--- /dev/null
+++ b/packages/angular/src/ix-icon.ts
@@ -0,0 +1,38 @@
+/*
+ * SPDX-FileCopyrightText: 2023 Siemens AG
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+import {
+ ChangeDetectionStrategy,
+ ChangeDetectorRef,
+ Component,
+ ElementRef,
+ NgZone,
+} from '@angular/core';
+import type { Components } from '@siemens/ix';
+import { ProxyCmp } from './angular-component-lib/utils';
+
+export declare interface IxIcon extends Components.IxIcon {}
+
+@ProxyCmp({
+ defineCustomElementFn: undefined,
+ inputs: ['color', 'name'],
+})
+@Component({
+ selector: 'ix-icon',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ template: ' ',
+ inputs: ['color', 'name'],
+})
+export class IxIcon {
+ protected el: HTMLElement;
+ constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
+ c.detach();
+ this.el = r.nativeElement;
+ }
+}
diff --git a/packages/angular/src/module.ts b/packages/angular/src/module.ts
index 947a2011fe2..b055bea00d5 100644
--- a/packages/angular/src/module.ts
+++ b/packages/angular/src/module.ts
@@ -17,17 +17,18 @@ import {
import { appInitialize } from './app-initialize';
import { DIRECTIVES } from './declare-components';
import { IxDropdownTriggerDirective } from './dropdown/trigger.directive';
+import { IxIcon } from './ix-icon';
import { ModalService } from './modal';
import { SelectValueAccessor } from './select-value-accessor';
import { BooleanValueAccessor } from './boolean-value-accessor';
import { ThemeService } from './theme';
import { ToastService } from './toast';
import * as tree from './tree';
-
const DECLARATIONS = [
...DIRECTIVES,
tree.IxTree,
IxDropdownTriggerDirective,
+ IxIcon,
SelectValueAccessor,
BooleanValueAccessor
];
diff --git a/packages/core/component-doc.json b/packages/core/component-doc.json
index e55bcf917fb..2bbc2334439 100644
--- a/packages/core/component-doc.json
+++ b/packages/core/component-doc.json
@@ -27,14 +27,12 @@
"dependencies": [
"ix-card",
"ix-card-content",
- "ix-icon",
"ix-typography"
],
"dependencyGraph": {
"ix-action-card": [
"ix-card",
"ix-card-content",
- "ix-icon",
"ix-typography"
]
},
@@ -184,12 +182,10 @@
],
"ix-burger-menu": [
"ix-icon-button",
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-basic-navigation": [
"ix-application-header"
@@ -315,12 +311,10 @@
],
"ix-burger-menu": [
"ix-icon-button",
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -427,12 +421,10 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-icon",
"ix-typography"
],
"dependencyGraph": {
"ix-blind": [
- "ix-icon",
"ix-typography"
]
},
@@ -613,11 +605,7 @@
"ix-dropdown-item",
"ix-breadcrumb-item"
],
- "ix-dropdown-item": [
- "ix-icon"
- ],
"ix-breadcrumb-item": [
- "ix-icon",
"ix-spinner"
]
},
@@ -737,12 +725,10 @@
"ix-breadcrumb"
],
"dependencies": [
- "ix-icon",
"ix-spinner"
],
"dependencyGraph": {
"ix-breadcrumb-item": [
- "ix-icon",
"ix-spinner"
],
"ix-breadcrumb": [
@@ -815,13 +801,11 @@
"ix-upload"
],
"dependencies": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"dependencyGraph": {
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-card-list": [
"ix-button"
@@ -1105,13 +1089,8 @@
"dependents": [
"ix-push-card"
],
- "dependencies": [
- "ix-icon"
- ],
+ "dependencies": [],
"dependencyGraph": {
- "ix-card-accordion": [
- "ix-icon"
- ],
"ix-push-card": [
"ix-card-accordion"
]
@@ -1187,7 +1166,6 @@
"dependencies": [
"ix-card",
"ix-card-content",
- "ix-icon",
"ix-icon-button",
"ix-typography",
"ix-button"
@@ -1196,18 +1174,15 @@
"ix-card-list": [
"ix-card",
"ix-card-content",
- "ix-icon",
"ix-icon-button",
"ix-typography",
"ix-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -1434,7 +1409,6 @@
"dependents": [],
"dependencies": [
"ix-icon-button",
- "ix-icon",
"ix-filter-chip",
"ix-dropdown",
"ix-spinner"
@@ -1442,14 +1416,12 @@
"dependencyGraph": {
"ix-category-filter": [
"ix-icon-button",
- "ix-icon",
"ix-filter-chip",
"ix-dropdown",
"ix-spinner"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-filter-chip": [
"ix-icon-button"
@@ -1701,17 +1673,14 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-icon-button",
- "ix-icon"
+ "ix-icon-button"
],
"dependencyGraph": {
"ix-chip": [
- "ix-icon-button",
- "ix-icon"
+ "ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -2202,8 +2171,7 @@
"ix-typography"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -2316,24 +2284,20 @@
"ix-date-time-card",
"ix-icon-button",
"ix-button",
- "ix-dropdown",
- "ix-icon"
+ "ix-dropdown"
],
"dependencyGraph": {
"ix-date-picker": [
"ix-date-time-card",
"ix-icon-button",
"ix-button",
- "ix-dropdown",
- "ix-icon"
+ "ix-dropdown"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-datetime-picker": [
"ix-date-picker"
@@ -2660,16 +2624,13 @@
"ix-date-time-card",
"ix-icon-button",
"ix-button",
- "ix-dropdown",
- "ix-icon"
+ "ix-dropdown"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-time-picker": [
"ix-date-time-card",
@@ -3099,8 +3060,7 @@
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -3558,24 +3518,20 @@
"dependents": [],
"dependencies": [
"ix-button",
- "ix-icon",
"ix-icon-button",
"ix-dropdown"
],
"dependencyGraph": {
"ix-dropdown-button": [
"ix-button",
- "ix-icon",
"ix-icon-button",
"ix-dropdown"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -3813,13 +3769,8 @@
"ix-select-item",
"ix-split-button-item"
],
- "dependencies": [
- "ix-icon"
- ],
+ "dependencies": [],
"dependencyGraph": {
- "ix-dropdown-item": [
- "ix-icon"
- ],
"ix-breadcrumb": [
"ix-dropdown-item"
],
@@ -3990,19 +3941,16 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-icon",
"ix-typography",
"ix-button"
],
"dependencyGraph": {
"ix-empty-state": [
- "ix-icon",
"ix-typography",
"ix-button"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -4226,14 +4174,8 @@
"docsTags": [],
"encapsulation": "shadow",
"dependents": [],
- "dependencies": [
- "ix-icon"
- ],
- "dependencyGraph": {
- "ix-event-list-item": [
- "ix-icon"
- ]
- },
+ "dependencies": [],
+ "dependencyGraph": {},
"props": [
{
"name": "chevron",
@@ -4349,8 +4291,7 @@
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -4469,8 +4410,7 @@
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-category-filter": [
"ix-filter-chip"
@@ -4558,8 +4498,7 @@
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -4728,13 +4667,11 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-icon",
"ix-group-context-menu",
"ix-group-item"
],
"dependencyGraph": {
"ix-group": [
- "ix-icon",
"ix-group-context-menu",
"ix-group-item"
],
@@ -4742,11 +4679,7 @@
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
- ],
- "ix-group-item": [
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -4924,8 +4857,7 @@
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-group": [
"ix-group-context-menu"
@@ -4954,13 +4886,8 @@
"dependents": [
"ix-group"
],
- "dependencies": [
- "ix-icon"
- ],
+ "dependencies": [],
"dependencyGraph": {
- "ix-group-item": [
- "ix-icon"
- ],
"ix-group": [
"ix-group-item"
]
@@ -5144,13 +5071,11 @@
"ix-toast"
],
"dependencies": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"dependencyGraph": {
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-burger-menu": [
"ix-icon-button"
@@ -5455,13 +5380,11 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"dependencyGraph": {
"ix-icon-toggle-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -5677,14 +5600,8 @@
],
"encapsulation": "shadow",
"dependents": [],
- "dependencies": [
- "ix-icon"
- ],
- "dependencyGraph": {
- "ix-key-value": [
- "ix-icon"
- ]
- },
+ "dependencies": [],
+ "dependencyGraph": {},
"props": [
{
"name": "icon",
@@ -5827,14 +5744,8 @@
"docsTags": [],
"encapsulation": "shadow",
"dependents": [],
- "dependencies": [
- "ix-icon"
- ],
- "dependencyGraph": {
- "ix-kpi": [
- "ix-icon"
- ]
- },
+ "dependencies": [],
+ "dependencyGraph": {},
"props": [
{
"name": "label",
@@ -6041,14 +5952,8 @@
],
"encapsulation": "shadow",
"dependents": [],
- "dependencies": [
- "ix-icon"
- ],
- "dependencyGraph": {
- "ix-link-button": [
- "ix-icon"
- ]
- },
+ "dependencies": [],
+ "dependencyGraph": {},
"props": [
{
"name": "disabled",
@@ -6146,20 +6051,17 @@
"ix-icon-button"
],
"ix-map-navigation-overlay": [
- "ix-icon",
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-application-header": [
"ix-burger-menu"
],
"ix-burger-menu": [
"ix-icon-button",
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -6326,17 +6228,14 @@
"ix-map-navigation"
],
"dependencies": [
- "ix-icon",
"ix-icon-button"
],
"dependencyGraph": {
"ix-map-navigation-overlay": [
- "ix-icon",
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-map-navigation": [
"ix-map-navigation-overlay"
@@ -6433,15 +6332,10 @@
],
"ix-burger-menu": [
"ix-icon-button",
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
- ],
- "ix-menu-item": [
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -6845,11 +6739,7 @@
"ix-tabs"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
- ],
- "ix-tabs": [
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -6975,25 +6865,21 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-icon",
"ix-typography",
"ix-icon-button",
"ix-button"
],
"dependencyGraph": {
"ix-menu-about-news": [
- "ix-icon",
"ix-typography",
"ix-icon-button",
"ix-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -7150,9 +7036,6 @@
],
"ix-menu-avatar-item": [
"ix-dropdown-item"
- ],
- "ix-dropdown-item": [
- "ix-icon"
]
},
"props": [
@@ -7287,9 +7170,6 @@
"ix-menu-avatar-item": [
"ix-dropdown-item"
],
- "ix-dropdown-item": [
- "ix-icon"
- ],
"ix-menu-avatar": [
"ix-menu-avatar-item"
]
@@ -7365,7 +7245,6 @@
"dependents": [],
"dependencies": [
"ix-menu-item",
- "ix-icon",
"ix-dropdown",
"ix-dropdown-item",
"ix-typography",
@@ -7374,17 +7253,10 @@
"dependencyGraph": {
"ix-menu-category": [
"ix-menu-item",
- "ix-icon",
"ix-dropdown",
"ix-dropdown-item",
"ix-typography",
"ix-divider"
- ],
- "ix-menu-item": [
- "ix-icon"
- ],
- "ix-dropdown-item": [
- "ix-icon"
]
},
"props": [
@@ -7465,13 +7337,8 @@
"ix-menu",
"ix-menu-category"
],
- "dependencies": [
- "ix-icon"
- ],
+ "dependencies": [],
"dependencyGraph": {
- "ix-menu-item": [
- "ix-icon"
- ],
"ix-menu": [
"ix-menu-item"
],
@@ -7639,11 +7506,7 @@
"ix-tabs"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
- ],
- "ix-tabs": [
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -7769,17 +7632,14 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-icon",
"ix-icon-button"
],
"dependencyGraph": {
"ix-message-bar": [
- "ix-icon",
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -8123,12 +7983,10 @@
"ix-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [],
@@ -8186,19 +8044,16 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-icon",
"ix-typography",
"ix-icon-button"
],
"dependencyGraph": {
"ix-modal-header": [
- "ix-icon",
"ix-typography",
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -8292,8 +8147,7 @@
"ix-typography",
"ix-select",
"ix-select-item",
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"dependencyGraph": {
"ix-pagination": [
@@ -8301,27 +8155,21 @@
"ix-typography",
"ix-select",
"ix-select-item",
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-select": [
"ix-select-item",
"ix-filter-chip",
"ix-icon-button",
- "ix-icon",
"ix-dropdown",
"ix-dropdown-item"
],
"ix-select-item": [
"ix-dropdown-item"
],
- "ix-dropdown-item": [
- "ix-icon"
- ],
"ix-filter-chip": [
"ix-icon-button"
]
@@ -8501,14 +8349,8 @@
"docsTags": [],
"encapsulation": "shadow",
"dependents": [],
- "dependencies": [
- "ix-icon"
- ],
- "dependencyGraph": {
- "ix-pill": [
- "ix-icon"
- ]
- },
+ "dependencies": [],
+ "dependencyGraph": {},
"props": [
{
"name": "alignLeft",
@@ -8668,7 +8510,6 @@
"ix-card",
"ix-card-content",
"ix-card-title",
- "ix-icon",
"ix-typography",
"ix-card-accordion"
],
@@ -8677,12 +8518,8 @@
"ix-card",
"ix-card-content",
"ix-card-title",
- "ix-icon",
"ix-typography",
"ix-card-accordion"
- ],
- "ix-card-accordion": [
- "ix-icon"
]
},
"props": [
@@ -8852,7 +8689,6 @@
"ix-select-item",
"ix-filter-chip",
"ix-icon-button",
- "ix-icon",
"ix-dropdown",
"ix-dropdown-item"
],
@@ -8861,22 +8697,17 @@
"ix-select-item",
"ix-filter-chip",
"ix-icon-button",
- "ix-icon",
"ix-dropdown",
"ix-dropdown-item"
],
"ix-select-item": [
"ix-dropdown-item"
],
- "ix-dropdown-item": [
- "ix-icon"
- ],
"ix-filter-chip": [
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-pagination": [
"ix-select"
@@ -9221,9 +9052,6 @@
"ix-select-item": [
"ix-dropdown-item"
],
- "ix-dropdown-item": [
- "ix-icon"
- ],
"ix-pagination": [
"ix-select-item"
],
@@ -9677,12 +9505,10 @@
"ix-dropdown"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -9897,9 +9723,6 @@
"dependencyGraph": {
"ix-split-button-item": [
"ix-dropdown-item"
- ],
- "ix-dropdown-item": [
- "ix-icon"
]
},
"deprecation": "since 2.0.0. Use the `ix-dropdown-item` component instead.",
@@ -10164,13 +9987,8 @@
"ix-menu-about",
"ix-menu-settings"
],
- "dependencies": [
- "ix-icon"
- ],
+ "dependencies": [],
"dependencyGraph": {
- "ix-tabs": [
- "ix-icon"
- ],
"ix-menu-about": [
"ix-tabs"
],
@@ -10388,12 +10206,10 @@
"ix-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-datetime-picker": [
"ix-time-picker"
@@ -10665,17 +10481,14 @@
"ix-toast-container"
],
"dependencies": [
- "ix-icon",
"ix-icon-button"
],
"dependencyGraph": {
"ix-toast": [
- "ix-icon",
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"ix-toast-container": [
"ix-toast"
@@ -10833,12 +10646,10 @@
"ix-toast"
],
"ix-toast": [
- "ix-icon",
"ix-icon-button"
],
"ix-icon-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -11095,13 +10906,11 @@
"encapsulation": "shadow",
"dependents": [],
"dependencies": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
],
"dependencyGraph": {
"ix-toggle-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -11406,9 +11215,6 @@
"dependencyGraph": {
"ix-tree": [
"ix-tree-item"
- ],
- "ix-tree-item": [
- "ix-icon"
]
},
"props": [
@@ -11544,13 +11350,8 @@
"dependents": [
"ix-tree"
],
- "dependencies": [
- "ix-icon"
- ],
+ "dependencies": [],
"dependencyGraph": {
- "ix-tree-item": [
- "ix-icon"
- ],
"ix-tree": [
"ix-tree-item"
]
@@ -11860,8 +11661,7 @@
"ix-button"
],
"ix-button": [
- "ix-spinner",
- "ix-icon"
+ "ix-spinner"
]
},
"props": [
@@ -12210,14 +12010,8 @@
"docsTags": [],
"encapsulation": "shadow",
"dependents": [],
- "dependencies": [
- "ix-icon"
- ],
- "dependencyGraph": {
- "ix-workflow-step": [
- "ix-icon"
- ]
- },
+ "dependencies": [],
+ "dependencyGraph": {},
"props": [
{
"name": "clickable",
diff --git a/packages/core/package.json b/packages/core/package.json
index dc9135d8022..5dd07e96835 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -21,6 +21,7 @@
"files": [
"LICENSE",
"README.md",
+ "components/",
"dist/",
"loader/",
"scss/"
@@ -52,7 +53,7 @@
},
"devDependencies": {
"@playwright/test": "^1.32.1",
- "@siemens/ix-icons": "^1.2.0",
+ "@siemens/ix-icons": "2.0.0-beta.0",
"@stencil-community/eslint-plugin": "^0.5.0",
"@stencil-community/postcss": "^2.1.0",
"@stencil/angular-output-target": "^0.5.0",
@@ -87,7 +88,8 @@
},
"peerDependencies": {
"@popperjs/core": "^2.11.0",
- "bootstrap": "~5.2.0"
+ "bootstrap": "~5.2.0",
+ "@siemens/ix-icons": "2.0.0-beta.0"
},
"config": {
"commitizen": {
diff --git a/packages/core/scripts/custom-elements/custom-elements.d.ts b/packages/core/scripts/custom-elements/custom-elements.d.ts
new file mode 100644
index 00000000000..435d9ac9d9b
--- /dev/null
+++ b/packages/core/scripts/custom-elements/custom-elements.d.ts
@@ -0,0 +1,10 @@
+/*
+ * SPDX-FileCopyrightText: 2023 Siemens AG
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+export * from '../dist/types/index';
+export * from './index';
diff --git a/packages/core/scripts/custom-elements/package.json b/packages/core/scripts/custom-elements/package.json
new file mode 100644
index 00000000000..578e15a91e6
--- /dev/null
+++ b/packages/core/scripts/custom-elements/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "@siemens/ix/components",
+ "version": "0.0.0",
+ "main": "./index.js",
+ "types": "./custom-elements.d.ts",
+ "private": true,
+ "sideEffects": false
+}
diff --git a/packages/core/src/components.d.ts b/packages/core/src/components.d.ts
index 521421f7531..ac34c0d1e03 100644
--- a/packages/core/src/components.d.ts
+++ b/packages/core/src/components.d.ts
@@ -402,7 +402,7 @@ export namespace Components {
/**
* Show icon
*/
- "icon": string | undefined;
+ "icon": string;
/**
* Show chip with outline style
*/
@@ -3479,7 +3479,7 @@ declare namespace LocalJSX {
/**
* Show icon
*/
- "icon"?: string | undefined;
+ "icon"?: string;
/**
* Fire event if close button is clicked
* @since 1.5.0
diff --git a/packages/core/src/components/blind/blind.tsx b/packages/core/src/components/blind/blind.tsx
index 1c6af1e7abc..203c1e5840d 100644
--- a/packages/core/src/components/blind/blind.tsx
+++ b/packages/core/src/components/blind/blind.tsx
@@ -67,7 +67,7 @@ export class Blind {
@Element() hostElement!: HTMLIxBlindElement;
private chevronRef: HTMLElement;
- private id = ++sequentialInstanceId;
+ private blindId = ++sequentialInstanceId;
constructor() {}
@@ -148,14 +148,14 @@ export class Blind {
closed: this.collapsed,
}}
type="button"
- aria-labelledby={`ix-blind-header-title-${this.id}`}
- aria-controls={`ix-blind-content-section-${this.id}`}
+ aria-labelledby={`ix-blind-header-title-${this.blindId}`}
+ aria-controls={`ix-blind-content-section-${this.blindId}`}
aria-expanded={a11yBoolean(!this.collapsed)}
onClick={(e) => this.onHeaderClick(e)}
>
{this.showChevron ? (
diff --git a/packages/core/src/components/button/button-mixin.scss b/packages/core/src/components/button/button-mixin.scss
index 8fccbda9074..969ccb07b3b 100644
--- a/packages/core/src/components/button/button-mixin.scss
+++ b/packages/core/src/components/button/button-mixin.scss
@@ -24,7 +24,6 @@
color: var(--theme-btn-#{$name}--color);
--ix-button-color: var(--theme-btn-#{$name}--color);
- --ix-icon-color: var(--ix-button-color);
@if $enable-border {
border-width: var(--theme-btn--border-thickness);
diff --git a/packages/core/src/components/card-accordion/card-accordion.tsx b/packages/core/src/components/card-accordion/card-accordion.tsx
index e8658eb2b3a..e3cd53f6b60 100644
--- a/packages/core/src/components/card-accordion/card-accordion.tsx
+++ b/packages/core/src/components/card-accordion/card-accordion.tsx
@@ -78,7 +78,7 @@ export class CardAccordion {
aria-controls={getAriaControlsId()}
>
diff --git a/packages/core/src/components/category-filter/category-filter.tsx b/packages/core/src/components/category-filter/category-filter.tsx
index 3469176abdc..e890993970b 100644
--- a/packages/core/src/components/category-filter/category-filter.tsx
+++ b/packages/core/src/components/category-filter/category-filter.tsx
@@ -629,7 +629,7 @@ export class CategoryFilter {
}}
ghost
oval
- icon="clear"
+ icon={'clear'}
size="16"
>
);
diff --git a/packages/core/src/components/chip/chip-mixin.scss b/packages/core/src/components/chip/chip-mixin.scss
index 4916ca58278..1830dd2958d 100644
--- a/packages/core/src/components/chip/chip-mixin.scss
+++ b/packages/core/src/components/chip/chip-mixin.scss
@@ -34,6 +34,7 @@ $border-radius: 100px;
}
.hidden {
+ display: none;
width: 0px;
margin-right: 0px;
}
diff --git a/packages/core/src/components/chip/chip.tsx b/packages/core/src/components/chip/chip.tsx
index ae755b9b119..e91ceef9d76 100644
--- a/packages/core/src/components/chip/chip.tsx
+++ b/packages/core/src/components/chip/chip.tsx
@@ -52,7 +52,7 @@ export class Chip {
/**
* Show icon
*/
- @Prop() icon: string | undefined;
+ @Prop() icon: string;
/**
* Custom color for pill. Only working for `variant='custom'`
@@ -79,22 +79,20 @@ export class Chip {
private getCloseButton() {
return (
- {
- {
- this.closeChip.emit(event);
- event.stopPropagation();
- }}
- >
- }
+ {
+ this.closeChip.emit(event);
+ event.stopPropagation();
+ }}
+ >
);
}
@@ -143,7 +141,7 @@ export class Chip {
this.backButtonClick.emit()}
>
diff --git a/packages/core/src/components/date-picker/date-picker.tsx b/packages/core/src/components/date-picker/date-picker.tsx
index 5292638e0fa..df13a8e9318 100644
--- a/packages/core/src/components/date-picker/date-picker.tsx
+++ b/packages/core/src/components/date-picker/date-picker.tsx
@@ -469,7 +469,7 @@ export class DatePicker {
this.changeMonth(-1)}
ghost
- icon="chevron-left"
+ icon={'chevron-left'}
variant="primary"
class="arrows"
>
@@ -502,7 +502,7 @@ export class DatePicker {
hidden: this.tempYear !== year,
arrowPosition: true,
}}
- name="chevron-right"
+ name={'chevron-right'}
size="12"
>
@@ -546,7 +546,7 @@ export class DatePicker {
this.changeMonth(1)}
ghost
- icon="chevron-right"
+ icon={'chevron-right'}
variant="primary"
class="arrows"
>
diff --git a/packages/core/src/components/drawer/drawer.tsx b/packages/core/src/components/drawer/drawer.tsx
index 071e70272d3..d5941bd4a6a 100644
--- a/packages/core/src/components/drawer/drawer.tsx
+++ b/packages/core/src/components/drawer/drawer.tsx
@@ -174,7 +174,7 @@ export class Drawer {
this.onCloseClicked()}
diff --git a/packages/core/src/components/dropdown-button/dropdown-button.tsx b/packages/core/src/components/dropdown-button/dropdown-button.tsx
index 36c23f592a7..7188c55bf48 100644
--- a/packages/core/src/components/dropdown-button/dropdown-button.tsx
+++ b/packages/core/src/components/dropdown-button/dropdown-button.tsx
@@ -109,7 +109,7 @@ export class DropdownButton {
>
) : null}
{this.label}
-
+
) : (
diff --git a/packages/core/src/components/dropdown-item/dropdown-item.tsx b/packages/core/src/components/dropdown-item/dropdown-item.tsx
index 48fb657946b..abc00ca364f 100644
--- a/packages/core/src/components/dropdown-item/dropdown-item.tsx
+++ b/packages/core/src/components/dropdown-item/dropdown-item.tsx
@@ -6,7 +6,7 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-import { chevronRightSmall } from '@siemens/ix-icons/icons';
+
import {
Component,
Element,
@@ -101,7 +101,7 @@ export class DropdownItem {
{this.checked ? (
) : null}
@@ -115,7 +115,10 @@ export class DropdownItem {
{this.isSubMenu ? (
-
+
) : null}
diff --git a/packages/core/src/components/event-list-item/event-list-item.tsx b/packages/core/src/components/event-list-item/event-list-item.tsx
index f2448e88d82..e886dd0af99 100644
--- a/packages/core/src/components/event-list-item/event-list-item.tsx
+++ b/packages/core/src/components/event-list-item/event-list-item.tsx
@@ -89,7 +89,7 @@ export class EventListItem {
{this.chevron && (
diff --git a/packages/core/src/components/expanding-search/expanding-search.tsx b/packages/core/src/components/expanding-search/expanding-search.tsx
index 27695ce7f59..f0cdede97a4 100644
--- a/packages/core/src/components/expanding-search/expanding-search.tsx
+++ b/packages/core/src/components/expanding-search/expanding-search.tsx
@@ -155,7 +155,7 @@ export class ExpandingSearch {
{this.isFieldChanged ? (
this.toggleIndex()}
diff --git a/packages/core/src/components/group/group-context-menu.tsx b/packages/core/src/components/group/group-context-menu.tsx
index 3406a87f843..9ff71a9ea97 100644
--- a/packages/core/src/components/group/group-context-menu.tsx
+++ b/packages/core/src/components/group/group-context-menu.tsx
@@ -64,7 +64,7 @@ export class GroupContextMenu {
class={{ hide: !this.showContextMenu }}
size="24"
ghost={true}
- icon="context-menu"
+ icon={'context-menu'}
>
this.onSlotChange()}>
diff --git a/packages/core/src/components/group/group.tsx b/packages/core/src/components/group/group.tsx
index d6447c38260..4f3a3122ace 100644
--- a/packages/core/src/components/group/group.tsx
+++ b/packages/core/src/components/group/group.tsx
@@ -214,7 +214,9 @@ export class Group {
class={{
hidden: this.slotSize === 0,
}}
- name={`chevron-${this.collapsed ? 'right' : 'down'}-small`}
+ name={
+ this.collapsed ? 'chevron-right-small' : 'chevron-down-small'
+ }
onClick={(e) => this.onExpandClick(e)}
>
diff --git a/packages/core/src/components/icon-button/icon-button-mixin.scss b/packages/core/src/components/icon-button/icon-button-mixin.scss
index d689cb50764..92f98fb356d 100644
--- a/packages/core/src/components/icon-button/icon-button-mixin.scss
+++ b/packages/core/src/components/icon-button/icon-button-mixin.scss
@@ -51,7 +51,7 @@
}
ix-icon {
- color: var(--ix-icon-button-color);
+ color: var(--ix-icon-button-color, currentColor);
margin: 0;
}
diff --git a/packages/core/src/components/icon-button/test/icon-button.ct.ts b/packages/core/src/components/icon-button/test/icon-button.ct.ts
index 347c38a5c7b..e4a25447979 100644
--- a/packages/core/src/components/icon-button/test/icon-button.ct.ts
+++ b/packages/core/src/components/icon-button/test/icon-button.ct.ts
@@ -17,9 +17,7 @@ test('renders', async ({ mount, page }) => {
expect(button.allInnerTexts).not.toEqual('Content');
await expect(button.locator('ix-icon')).toBeVisible();
- await expect(button.locator('ix-icon').locator('i')).toHaveClass(
- /glyph-rocket/
- );
+ await expect(button.locator('ix-icon').locator('title')).toHaveText('rocket');
});
test('show spinner while loading', async ({ mount, page }) => {
diff --git a/packages/core/src/components/kpi/kpi.tsx b/packages/core/src/components/kpi/kpi.tsx
index 679f1d7a4da..2f24e18ca01 100644
--- a/packages/core/src/components/kpi/kpi.tsx
+++ b/packages/core/src/components/kpi/kpi.tsx
@@ -46,7 +46,7 @@ export class Kpi {
return (
);
@@ -55,7 +55,7 @@ export class Kpi {
return (
);
diff --git a/packages/core/src/components/link-button/link-button.tsx b/packages/core/src/components/link-button/link-button.tsx
index e28c0396b03..7db5b9a7776 100644
--- a/packages/core/src/components/link-button/link-button.tsx
+++ b/packages/core/src/components/link-button/link-button.tsx
@@ -48,7 +48,11 @@ export class LinkButton {
href={this.disabled ? undefined : this.url}
target={this.target}
>
-
+
this.closeOverlay()}
>
diff --git a/packages/core/src/components/map-navigation/map-navigation.tsx b/packages/core/src/components/map-navigation/map-navigation.tsx
index a87f1f4dd39..85a73185059 100644
--- a/packages/core/src/components/map-navigation/map-navigation.tsx
+++ b/packages/core/src/components/map-navigation/map-navigation.tsx
@@ -244,7 +244,7 @@ export class MapNavigation {
''
) : (
@@ -82,7 +82,7 @@ export class MenuAboutNews {
{
this.show = false;
diff --git a/packages/core/src/components/menu-about/menu-about.tsx b/packages/core/src/components/menu-about/menu-about.tsx
index 706057cca11..e36e11f0143 100644
--- a/packages/core/src/components/menu-about/menu-about.tsx
+++ b/packages/core/src/components/menu-about/menu-about.tsx
@@ -124,7 +124,7 @@ export class MenuAbout {
this.close.emit({
name: 'ix-menu-about',
diff --git a/packages/core/src/components/menu-avatar/menu-avatar.tsx b/packages/core/src/components/menu-avatar/menu-avatar.tsx
index 4b4fecc9a1e..1aa0d5312cc 100644
--- a/packages/core/src/components/menu-avatar/menu-avatar.tsx
+++ b/packages/core/src/components/menu-avatar/menu-avatar.tsx
@@ -90,7 +90,7 @@ export class MenuAvatar {
{
this.logoutClick.emit(e);
}}
diff --git a/packages/core/src/components/menu-category/menu-category.tsx b/packages/core/src/components/menu-category/menu-category.tsx
index 677c3875673..dbbedd9b414 100644
--- a/packages/core/src/components/menu-category/menu-category.tsx
+++ b/packages/core/src/components/menu-category/menu-category.tsx
@@ -173,7 +173,7 @@ export class MenuCategory {
{this.label}
this.close.emit({
name: 'ix-menu-settings',
diff --git a/packages/core/src/components/menu/burger-menu.tsx b/packages/core/src/components/menu/burger-menu.tsx
index b35362b02c0..074bcb276e4 100644
--- a/packages/core/src/components/menu/burger-menu.tsx
+++ b/packages/core/src/components/menu/burger-menu.tsx
@@ -52,7 +52,7 @@ export class BurgerMenu {
}}
>
{this.pinned ? (
-
+
) : (
this.toggleSettings(!this.showSettings)}
>
{this.i18nSettings}
@@ -667,7 +667,7 @@ export class Menu {
'bottom-tab': true,
active: this.showAbout,
}}
- icon="info"
+ icon={'info'}
onClick={async () => this.toggleAbout(!this.showAbout)}
>
{this.i18nLegal}
@@ -679,7 +679,7 @@ export class Menu {
id="toggleTheme"
onClick={() => themeSwitcher.toggleMode()}
class="internal-tab bottom-tab"
- tabIcon="bulb"
+ icon={'bulb'}
>
{this.i18nToggleTheme}
diff --git a/packages/core/src/components/menu/test/menu.ct.ts b/packages/core/src/components/menu/test/menu.ct.ts
index 81755f7c8f8..4ef17ed3fc7 100644
--- a/packages/core/src/components/menu/test/menu.ct.ts
+++ b/packages/core/src/components/menu/test/menu.ct.ts
@@ -183,13 +183,13 @@ test('should close about by item click', async ({ mount, page }) => {
});
async function clickAboutButton(element: Locator, page: Page) {
- const aboutButton = element.locator('#aboutAndLegal');
+ const aboutButton = element.locator('ix-menu-item#aboutAndLegal');
await aboutButton.click();
await page.waitForTimeout(1000);
}
async function clickSettingsButton(element: Locator, page: Page) {
- const settingsButton = element.locator('#settings');
+ const settingsButton = element.locator('ix-menu-item#settings');
await settingsButton.click();
await page.waitForTimeout(1000);
}
diff --git a/packages/core/src/components/message-bar/message-bar.tsx b/packages/core/src/components/message-bar/message-bar.tsx
index 2719570b62b..4c70d38658f 100644
--- a/packages/core/src/components/message-bar/message-bar.tsx
+++ b/packages/core/src/components/message-bar/message-bar.tsx
@@ -92,7 +92,7 @@ export class MessageBar {
{this.dismissible ? (
{
diff --git a/packages/core/src/components/message-bar/test/__snapshots__/message-bar.spec.tsx.snap b/packages/core/src/components/message-bar/test/__snapshots__/message-bar.spec.tsx.snap
deleted file mode 100644
index 56b800c1183..00000000000
--- a/packages/core/src/components/message-bar/test/__snapshots__/message-bar.spec.tsx.snap
+++ /dev/null
@@ -1,15 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ix-message-bar renders 1`] = `
-
-
-
-
-
-`;
diff --git a/packages/core/src/components/message-bar/test/message-bar.spec.tsx b/packages/core/src/components/message-bar/test/message-bar.spec.tsx
index d6d992a80b3..2872b272262 100644
--- a/packages/core/src/components/message-bar/test/message-bar.spec.tsx
+++ b/packages/core/src/components/message-bar/test/message-bar.spec.tsx
@@ -28,10 +28,6 @@ describe('ix-message-bar', () => {
);
});
- it('renders', async () => {
- expect(page.root).toMatchSnapshot();
- });
-
it('closes the alert message bar', async (done) => {
messageBar.addEventListener('closedChange', () => {
done();
diff --git a/packages/core/src/components/modal/modal.tsx b/packages/core/src/components/modal/modal.tsx
index 905624802bb..c26aba6e457 100644
--- a/packages/core/src/components/modal/modal.tsx
+++ b/packages/core/src/components/modal/modal.tsx
@@ -142,7 +142,7 @@ export class Modal {
*/
@Method()
async showModal() {
- this.dialog.showModal();
+ this.dialog?.showModal();
}
/**
diff --git a/packages/core/src/components/my-component/example-modal.tsx b/packages/core/src/components/my-component/example-modal.tsx
index 266fef15c88..b614d462854 100644
--- a/packages/core/src/components/my-component/example-modal.tsx
+++ b/packages/core/src/components/my-component/example-modal.tsx
@@ -33,7 +33,7 @@ export class ModalExample {
this.dismiss()}
>
diff --git a/packages/core/src/components/pagination/pagination.tsx b/packages/core/src/components/pagination/pagination.tsx
index f124cd7509f..f81d81f03ff 100644
--- a/packages/core/src/components/pagination/pagination.tsx
+++ b/packages/core/src/components/pagination/pagination.tsx
@@ -213,7 +213,7 @@ export class Pagination {
this.decrease()}
>
@@ -244,7 +244,7 @@ export class Pagination {
this.increase()}
>
diff --git a/packages/core/src/components/select/select.scss b/packages/core/src/components/select/select.scss
index 113bd9e883a..4e6376587a0 100644
--- a/packages/core/src/components/select/select.scss
+++ b/packages/core/src/components/select/select.scss
@@ -18,6 +18,7 @@
display: inline-block;
position: relative;
+ min-height: 2rem;
height: auto;
border-radius: var(--theme-input--border-radius);
@@ -29,7 +30,6 @@
position: relative;
display: flex;
align-items: center;
- height: auto;
background-color: var(--theme-input--background);
border: var(--theme-input--border-thickness) solid
var(--theme-input--border-color);
@@ -95,6 +95,7 @@
position: relative;
align-items: flex-start;
width: 100%;
+ height: 100%;
.chips {
position: relative;
@@ -135,39 +136,8 @@
}
}
- .chevron-down-container {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 2rem;
- min-width: 2rem;
- height: 2rem;
-
- @include hover {
- color: var(--theme-color-dynamic--hover);
- }
-
- @include active {
- color: var(--theme-color-dynamic--hover);
- }
- }
-
- .editable {
- .chevron-down-container {
- @include hover {
- color: var(--theme-color-std-text);
- background-color: var(
- --theme-btn-invisible-secondary--background--hover
- );
- }
-
- @include active {
- color: var(--theme-color-std-text);
- background-color: var(
- --theme-btn-invisible-secondary--background--active
- );
- }
- }
+ .dropdown-visible {
+ --ix-icon-button-color: var(--theme-color-dynamic--hover);
}
.add-item {
diff --git a/packages/core/src/components/select/select.tsx b/packages/core/src/components/select/select.tsx
index af76bf762c4..196fb563306 100644
--- a/packages/core/src/components/select/select.tsx
+++ b/packages/core/src/components/select/select.tsx
@@ -457,8 +457,6 @@ export class Select {
) : null}
{this.disabled || this.readonly ? null : (
- {
if (this.editable) this.dropdownWrapperRef = ref;
}}
- >
-
-
+ >
)}
@@ -560,7 +559,7 @@ export class Select {
{this.isAddItemVisible() ? (
{
const element = page.locator('ix-select');
await expect(element).toHaveClass(/hydrated/);
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
const dropdown = element.locator('ix-dropdown');
await expect(dropdown).toBeVisible();
@@ -38,7 +38,7 @@ test('editable mode', async ({ mount, page }) => {
const element = page.locator('ix-select');
await expect(element).toHaveClass(/hydrated/);
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
await page.getByTestId('input').fill('Not existing');
const dropdown = element.locator('ix-dropdown');
@@ -51,10 +51,8 @@ test('editable mode', async ({ mount, page }) => {
await expect(add).toBeVisible();
await add.click();
-
await expect(page.getByTestId('input')).toHaveValue(/Not existing/);
-
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();
await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();
@@ -78,14 +76,14 @@ test('single selection', async ({ mount, page }) => {
(select: HTMLIxSelectElement) => (select.value = '22')
);
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
const dropdown = element.locator('ix-dropdown');
await expect(dropdown).toBeVisible();
await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();
await expect(
- page.getByRole('button', { name: 'Item 2' }).locator('i')
+ page.getByRole('button', { name: 'Item 2' }).locator('ix-icon')
).toBeVisible();
});
@@ -100,7 +98,7 @@ test('multiple selection', async ({ mount, page }) => {
`);
const element = page.locator('ix-select');
await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
const dropdown = element.locator('ix-dropdown');
const chips = element.locator('.chips');
@@ -110,12 +108,12 @@ test('multiple selection', async ({ mount, page }) => {
const item1 = element.locator('ix-select-item').nth(0);
const item3 = element.locator('ix-select-item').nth(2);
await item1.click();
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
await item3.click();
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
- await expect(item1.locator('i')).toBeVisible();
- await expect(item3.locator('i')).toBeVisible();
+ await expect(item1.locator('ix-icon')).toBeVisible();
+ await expect(item3.locator('ix-icon')).toBeVisible();
const chip1 = chips.getByTitle('Item 1');
const chip3 = chips.getByTitle('Item 3');
@@ -136,7 +134,7 @@ test('filter', async ({ mount, page }) => {
const element = page.locator('ix-select');
await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));
- await page.locator('.chevron-down-container').click();
+ await page.locator('[data-select-dropdown]').click();
const dropdown = element.locator('ix-dropdown');
await expect(dropdown).toBeVisible();
diff --git a/packages/core/src/components/tabs/tabs.tsx b/packages/core/src/components/tabs/tabs.tsx
index 30af28f7990..3f9e20fcfdc 100644
--- a/packages/core/src/components/tabs/tabs.tsx
+++ b/packages/core/src/components/tabs/tabs.tsx
@@ -19,8 +19,6 @@ import {
State,
} from '@stencil/core';
-let windowStartSize = window.innerWidth;
-
@Component({
tag: 'ix-tabs',
styleUrl: 'tabs.scss',
@@ -68,6 +66,9 @@ export class Tabs {
@State() stylePreviousArrow = {};
@State() scrollActionAmount = 0;
+
+ private windowStartSize = window.innerWidth;
+
private clickAction: {
timeout: NodeJS.Timeout;
isClick: boolean;
@@ -81,9 +82,10 @@ export class Tabs {
this.totalItems = 0;
this.totalItems = this.getTabs().length;
- if (windowStartSize === 0) return (windowStartSize = window.innerWidth);
- this.move(windowStartSize - window.innerWidth);
- windowStartSize = window.innerWidth;
+ if (this.windowStartSize === 0)
+ return (this.windowStartSize = window.innerWidth);
+ this.move(this.windowStartSize - window.innerWidth);
+ this.windowStartSize = window.innerWidth;
}
private getTabs() {
@@ -283,7 +285,7 @@ export class Tabs {
style={this.stylePreviousArrow}
onClick={() => this.move(this.scrollAmount, true)}
>
-
+
this.move(-this.scrollAmount, true)}
>
-
+
);
diff --git a/packages/core/src/components/time-picker/time-picker.tsx b/packages/core/src/components/time-picker/time-picker.tsx
index 35a3a3aa8dc..62c4c592674 100644
--- a/packages/core/src/components/time-picker/time-picker.tsx
+++ b/packages/core/src/components/time-picker/time-picker.tsx
@@ -315,7 +315,7 @@ export class TimePicker {
size="16"
onClick={() => this.updateInput('up', { hours: true })}
ghost
- icon="chevron-up"
+ icon={'chevron-up'}
variant="primary"
class="arrows"
>
@@ -340,7 +340,7 @@ export class TimePicker {
size="16"
onClick={() => this.updateInput('down', { hours: true })}
ghost
- icon="chevron-down"
+ icon={'chevron-down'}
variant="primary"
class="arrows"
>
@@ -357,7 +357,7 @@ export class TimePicker {
size="16"
onClick={() => this.updateInput('up', { minutes: true })}
ghost
- icon="chevron-up"
+ icon={'chevron-up'}
variant="primary"
class="arrows"
>
@@ -382,7 +382,7 @@ export class TimePicker {
size="16"
onClick={() => this.updateInput('down', { minutes: true })}
ghost
- icon="chevron-down"
+ icon={'chevron-down'}
variant="primary"
class="arrows"
>
@@ -399,7 +399,7 @@ export class TimePicker {
size="16"
onClick={() => this.updateInput('up', { seconds: true })}
ghost
- icon="chevron-up"
+ icon={'chevron-up'}
variant="primary"
class="arrows"
>
@@ -424,7 +424,7 @@ export class TimePicker {
size="16"
onClick={() => this.updateInput('down', { seconds: true })}
ghost
- icon="chevron-down"
+ icon={'chevron-down'}
variant="primary"
class="arrows"
>
@@ -441,7 +441,7 @@ export class TimePicker {
size="16"
onClick={() => this.changeReference()}
ghost
- icon="chevron-up"
+ icon={'chevron-up'}
variant="primary"
class="arrows"
>
@@ -450,7 +450,7 @@ export class TimePicker {
size="16"
onClick={() => this.changeReference()}
ghost
- icon="chevron-down"
+ icon={'chevron-down'}
variant="primary"
class="arrows"
>
diff --git a/packages/core/src/components/toast/test/toast.spec.tsx b/packages/core/src/components/toast/test/toast.spec.tsx
deleted file mode 100644
index b65fdc1dfaa..00000000000
--- a/packages/core/src/components/toast/test/toast.spec.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * SPDX-FileCopyrightText: 2023 Siemens AG
- *
- * SPDX-License-Identifier: MIT
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import { newSpecPage } from '@stencil/core/testing';
-import '@testing-library/jest-dom';
-import { Toast } from '../toast';
-
-describe('toast', () => {
- it('renders', async () => {
- const page = await newSpecPage({
- components: [Toast],
- html: 'Test message ',
- });
-
- await page.waitForChanges();
-
- expect(page.root).toEqualHtml(`
-
-
-
-
-
- Test message
-
- `);
- });
-});
diff --git a/packages/core/src/components/toast/toast.tsx b/packages/core/src/components/toast/toast.tsx
index bc0cc52c194..eae59b6003f 100644
--- a/packages/core/src/components/toast/toast.tsx
+++ b/packages/core/src/components/toast/toast.tsx
@@ -133,7 +133,7 @@ export class Toast {
this.closeToast.emit()}
diff --git a/packages/core/src/components/tree-item/tree-item.tsx b/packages/core/src/components/tree-item/tree-item.tsx
index f56640f2719..d52838884e1 100644
--- a/packages/core/src/components/tree-item/tree-item.tsx
+++ b/packages/core/src/components/tree-item/tree-item.tsx
@@ -57,7 +57,7 @@ export class TreeItem {
>
{this.hasChildren ? (
-