Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
5ac4f65
feat(core): remove global style dependencies
danielleroux Jun 30, 2026
1bd62f0
fix styles
danielleroux Jun 30, 2026
5cb76d0
centralize component design tokens
danielleroux Jun 30, 2026
8ecabe9
update type file
danielleroux Jul 1, 2026
5db4d3f
load component colors inside foundation layer
danielleroux Jul 1, 2026
6331bdb
fix root missing issue
danielleroux Jul 1, 2026
2fd31bd
add fallback variables
danielleroux Jul 17, 2026
b5389e5
use dark light switch
danielleroux Jul 17, 2026
aeff283
reduce card scss file into vars
danielleroux Jul 17, 2026
b61b3a0
fix: add new theme variables
danielleroux Jul 22, 2026
53ecf70
update snapshots
danielleroux Jul 22, 2026
e26d05e
update aggrid snapshots
danielleroux Jul 23, 2026
0abd2be
color adjustments
danielleroux Jul 23, 2026
db16e1a
test: update tokens
danielleroux Jul 24, 2026
5f908f9
update input mixins
danielleroux Jul 24, 2026
8d67a51
update to latest tokens
danielleroux Jul 29, 2026
291c6ae
update tokens
danielleroux Jul 31, 2026
7e8707b
update action-card
danielleroux Aug 3, 2026
982c7ec
add missing component tokens
danielleroux Aug 3, 2026
7ab18e2
update legacy tokens
danielleroux Aug 3, 2026
a344dad
migrate missing token matches
danielleroux Aug 3, 2026
d240d8d
refactor(core): migrate badge system tokens
danielleroux Aug 4, 2026
b48b52c
refactor(core): update component theme tokens
danielleroux Aug 4, 2026
c342766
add theme composition
danielleroux Aug 5, 2026
90742ff
remove wrong migrated slider tokens
danielleroux Aug 5, 2026
ae6f515
fix blind colors same icon color then text
danielleroux Aug 5, 2026
44c33ea
fix wrong named variables
danielleroux Aug 5, 2026
622cda9
fix naming for all component colors
danielleroux Aug 5, 2026
5beafa9
refactor(core): use purpose-based component token names
danielleroux Aug 5, 2026
ad1b859
fix blind critical color
danielleroux Aug 5, 2026
f57ded5
fix broken image
danielleroux Aug 5, 2026
4ab1764
fix slider; update range images; fix step
danielleroux Aug 5, 2026
f228cec
update workflow snapshots
danielleroux Aug 5, 2026
8ab3b47
inherit host styles to prevent accessibility overlaycheck
danielleroux Aug 5, 2026
3325578
fix wrong text color of card
danielleroux Aug 5, 2026
35c1bfc
update snaps
danielleroux Aug 6, 2026
3f637b8
update typescript dyanmic values
danielleroux Aug 7, 2026
5ae9f47
update message-bar
danielleroux Aug 7, 2026
40d7d6f
add scss type safe sys tokens
danielleroux Aug 10, 2026
4c8ed73
add storybook
danielleroux Aug 11, 2026
54f0348
replace component tokens
danielleroux Aug 11, 2026
8c845a9
remove --theme prefix
danielleroux Aug 11, 2026
2329792
remove old theme tokens
danielleroux Aug 11, 2026
d9efd72
remove old theme tokens
danielleroux Aug 12, 2026
f82e3cd
simplyfy mixins folder
danielleroux Aug 12, 2026
94fd439
refactoring scss folder
danielleroux Aug 12, 2026
a154875
Update aggrid theme
danielleroux Aug 13, 2026
d8eda1f
reapply scrollbar and font/color as global base styles
danielleroux Aug 13, 2026
bcb63d4
remove temp migration skill
danielleroux Aug 13, 2026
75b038f
adjust changesets
danielleroux Aug 13, 2026
b31df5f
update snapshots after rebase main
danielleroux Aug 13, 2026
a229496
update ref tokens; typography tokens
danielleroux Aug 13, 2026
e1a597c
fix badge findings
danielleroux Aug 14, 2026
77f1997
Merge origin/main into feat/remove-global-css
danielleroux Aug 14, 2026
d37e66a
refactor(core): normalize Sass token module names
danielleroux Aug 14, 2026
2d4996a
remove legacy tokens from test-apps
danielleroux Aug 17, 2026
00856ad
add testing for different entry point
danielleroux Aug 17, 2026
4c52a05
Merge origin/main into feat/remove-global-css
danielleroux Aug 17, 2026
c15e20c
fix failing tests
danielleroux Aug 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/aggrid-system-token-compatibility.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@siemens/ix-aggrid': patch
---

Keep the IX AG Grid theme compatible with the updated IX design-token output by replacing removed component aliases with supported system and common tokens.
7 changes: 7 additions & 0 deletions .changeset/calm-foundation-styles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@siemens/ix': major
---

Change the default IX stylesheet to include the classic theme, foundation styles, and the button-group, link, table, and typography utilities. Native element normalization, the body margin reset, scoped scrollbars, utility shadows and input-group styles, and native form styles are no longer applied by default. Import `@siemens/ix/css/globals.css` for the complete supported global styles, or combine `@siemens/ix/css/default.css` with `@siemens/ix/css/legacy.css` to retain the previous behavior while migrating.

Replace deep Sass imports with the explicit foundation, global, theme, token, mixin, or deprecated compatibility entry points. Unsupported legacy component modules and implementation-specific mixins have been removed; migration guidance is available in `BREAKING_CHANGES/v6.md`.
5 changes: 5 additions & 0 deletions .changeset/component-customization-tokens.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@siemens/ix': minor
---

Expose component-scoped `--ix-*` CSS custom properties for `ix-action-card`, `ix-chat-input`, `ix-chat-ai-message`, and `ix-chat-user-message`, allowing their appearance and interaction states to be customized without overriding internal selectors.
11 changes: 11 additions & 0 deletions .changeset/sys-token-migration-focus-color.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
'@siemens/ix': major
---

Rename Siemens system custom properties from `--theme-si-sys-*` to `--si-sys-*` and reference custom properties from `--theme-si-classic-ref-*` or `--theme-si-ref-*` to `--si-ref-*`.

Generated `--theme-<component>-*` aliases are no longer included in the standard IX styles and no longer customize migrated components. Replace component overrides with the corresponding scoped `--ix-*` custom properties. The `@siemens/ix/scss/deprecated/components` Sass mixin remains available for downstream styles that temporarily require the generated aliases.

Color-valued component properties, including `iconColor` and event-list `itemColor`, now require a complete CSS custom-property name such as `--si-sys-text-danger`. The exported `NotificationColor` values include the leading `--`.

Components now use the SI Theme 6 system mappings. Warning, critical, and neutral states and component shadows can therefore render differently. See `BREAKING_CHANGES/v6.md` for migration guidance.
1 change: 1 addition & 0 deletions BREAKING_CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ This document aims to provide a clear and detailed overview of all significant m

Please select your target version

- [Version v6.0.0](./BREAKING_CHANGES/v6.md)
- [Version v5.0.0](./BREAKING_CHANGES/v5.md)
- [Version v4.0.0](./BREAKING_CHANGES/v4.md)
- [Version v3.0.0](./BREAKING_CHANGES/v3.md)
Expand Down
208 changes: 208 additions & 0 deletions BREAKING_CHANGES/v6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
# Breaking Changes V6

This document lists breaking changes introduced in Siemens Industrial Experience V6.

## Siemens design token custom-property names

Siemens system and reference design tokens no longer use the `--theme-` prefix.
This applies to color, effects, shadows, and typography tokens.

| Before | After |
| ------------------------------------------ | ------------------------------------ |
| `--theme-si-sys-text-primary` | `--si-sys-text-primary` |
| `--theme-si-sys-typography-body` | `--si-sys-typography-body` |
| `--theme-si-ref-color-main-blue-500` | `--si-ref-color-main-blue-500` |
| `--theme-si-ref-typography-font-size-body` | `--si-ref-typography-font-size-body` |

No aliases are emitted for the old names. Replace direct CSS declarations,
references, and overrides:

```css
/* Before */
color: var(--theme-si-sys-text-primary);

/* After */
color: var(--si-sys-text-primary);
```

The public Sass variable names remain unchanged:

```scss
@use '@siemens/ix/scss/tokens/system' as sys;

color: sys.$si-sys-text-primary;
```

## Generated component token aliases

Standard IX foundation and theme CSS no longer emits generated
`--theme-<component>-*` custom properties such as
`--theme-btn-primary--background`. IX components and global style utilities now
declare scoped, purpose-based `--ix-*` properties where they are used.

Replace component overrides with the corresponding `--ix-*` property on the
component:

```css
/* Before */
[data-ix-theme] {
--theme-btn-primary--background: var(--si-sys-background-accent);
}

/* After */
ix-button {
--ix-button-primary--background: var(--si-sys-background-accent);
}
```

The generated aliases remain available as a temporary, opt-in Sass layer for
downstream styles that still reference them:

```scss
@use '@siemens/ix/scss/deprecated/components' as deprecated;

[data-ix-theme] {
@include deprecated.setComponentVars;
}
```

This deprecated mixin restores the alias declarations for downstream CSS. It
does not reconnect those aliases to migrated IX components; component
customization must use the component's `--ix-*` properties.

## Global CSS and Sass entry points

The default `siemens-ix.css` stylesheet now contains the combined classic theme
and IX foundation. Foundation applies body typography, text color, background,
and document-wide scrollbar styles. It does not normalize native HTML elements,
reset the body margin, style native links or form controls, or provide utility
classes.

Use the canonical default import for self-contained IX components:

```css
@import '@siemens/ix/css/default.css';
```

The existing `@siemens/ix/dist/siemens-ix/siemens-ix.css` import path remains
available and resolves to the same default bundle. It includes the foundation
body and scrollbar defaults but not the previous reset, utility, or native form
styles.

Global application styles are available as explicit opt-ins:

| Import | Side effects |
| -------------------------------- | ------------------------------------------------------------ |
| `@siemens/ix/css/foundation.css` | Required variables, body presentation, and global scrollbars |
| `@siemens/ix/css/reset.css` | Native element normalization and box sizing |
| `@siemens/ix/css/base.css` | Theme font/color inheritance and body margin reset |
| `@siemens/ix/css/scrollbar.css` | Scoped scrollbars below `[data-ix-scrollbars]` |
| `@siemens/ix/css/utilities.css` | Typography, links, tables, groups, and shadows |
| `@siemens/ix/css/globals.css` | Reset, base, scrollbar, and utilities |
| `@siemens/ix/css/legacy.css` | Previous native form and global style behavior |

Import foundation before a separately selected theme:

```css
@import '@siemens/ix/css/foundation.css';
@import '@siemens/ix/css/theme/classic-light.css';
```

To retain the previous aggregate behavior while migrating, combine the new
default and legacy bundles:

```css
@import '@siemens/ix/css/default.css';
@import '@siemens/ix/css/legacy.css';
```

Applications that keep the existing distribution path can restore the same
behavior with:

```css
@import '@siemens/ix/dist/siemens-ix/siemens-ix.css';
@import '@siemens/ix/css/legacy.css';
```

Foundation styles document scrollbars automatically. Add `disable-scrollbar` to
`body` to disable that behavior. The scoped scrollbar stylesheet can then
enable themed scrollbars for a selected subtree:

```html
<body class="disable-scrollbar">
<main data-ix-scrollbars>
<!-- Scrollable descendants use IX scrollbar styling. -->
</main>
</body>
```

The package no longer exports every file below `@siemens/ix/scss/*`. Supported
Sass entry points are now explicit and mirror the CSS bundles:

```scss
@use '@siemens/ix/scss/default';
@use '@siemens/ix/scss/globals';
@use '@siemens/ix/scss/tokens/system' as sys;
```

Theme modules, retained public mixins, and
`@siemens/ix/scss/deprecated/components` remain explicitly exported. Replace
imports from internal `components`, `entries`, `legacy`, `misc`, and
`mixins/internal` folders with a supported public entry point or local styles.
The former `@siemens/ix/scss/misc/common-variables` path remains as a v6
compatibility export for generated custom themes; new Sass code should use
`@siemens/ix/scss/tokens/legacy`.

## Removed legacy Sass modules

The unused legacy Sass modules below have been removed:

- `@siemens/ix/scss/legacy/components/dropdown`
- `@siemens/ix/scss/legacy/components/modal`
- `@siemens/ix/scss/legacy/components/button-group`

These modules were not included in the compiled IX CSS. Remove direct imports
and use the corresponding IX components. For CSS class-based button groups, use
the supported `.ix-button-group` styles.

## Removed Sass mixins

The following unused or implementation-specific Sass modules have been
removed:

- `@siemens/ix/scss/mixins/field`
- `@siemens/ix/scss/mixins/reduce-motion`
- `@siemens/ix/scss/mixins/shadows`
- `@siemens/ix/scss/mixins/internal/dropdown-item`
- `@siemens/ix/scss/mixins/shadow-dom/focus-visible`
- `@siemens/ix/scss/mixins/shadow-dom/host-disabled`
- `@siemens/ix/scss/mixins/shadow-dom/hover`

The unused `hover.host-focus`, `hover.host-focus-visible`, `input.label`, and
`input.element-form` mixins have also been removed.

Use `@siemens/ix/scss/mixins/hover` for retained interaction helpers. Replace
`shadows.box-shadow($level)` with
`box-shadow: var(--theme-shadow-#{$level})`. Reduced-motion timing overrides
remain part of the standard IX foundation CSS and no longer require a separate
mixin.

## Icon and component color properties

`@siemens/ix-icons` now passes its `color` value directly to `var(...)`.
Properties that forward a color to an icon, and `ix-event-list-item.itemColor`,
therefore require the complete CSS custom-property name:

```html
<!-- Before -->
<ix-icon color="si-sys-text-primary"></ix-icon>
<ix-icon-button icon-color="color-primary"></ix-icon-button>
<ix-event-list-item item-color="color-alarm"></ix-event-list-item>

<!-- After -->
<ix-icon color="--si-sys-text-primary"></ix-icon>
<ix-icon-button icon-color="--si-sys-text-accent"></ix-icon-button>
<ix-event-list-item item-color="--si-sys-background-danger"></ix-event-list-item>
```

The exported `NotificationColor` string literals now include the leading `--`.
Loading
Loading