@synergy-design-system/mcp 1.41.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/README.md +43 -8
- package/dist/build/assets.js +1 -0
- package/dist/build/static.js +15 -7
- package/dist/build/styles.js +1 -0
- package/dist/build/tokens.js +1 -0
- package/dist/tools/asset-info.js +4 -4
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +1 -0
- package/dist/tools/migration-info.d.ts +10 -1
- package/dist/tools/migration-info.js +74 -12
- package/dist/tools/migration-list.d.ts +10 -0
- package/dist/tools/migration-list.js +122 -0
- package/dist/utilities/migration.d.ts +3 -1
- package/dist/utilities/migration.js +25 -2
- package/metadata/checksum.txt +1 -1
- package/metadata/packages/angular/README.md +1 -1
- package/metadata/packages/assets/BREAKING_CHANGES.md +305 -0
- package/metadata/packages/assets/CHANGELOG.md +18 -0
- package/metadata/packages/assets/README.md +39 -22
- package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +20 -20
- package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +10 -10
- package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +1 -1
- package/metadata/packages/components/components/syn-button/component.custom.styles.ts +24 -24
- package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +7 -7
- package/metadata/packages/components/components/syn-combobox/component.angular.ts +0 -17
- package/metadata/packages/components/components/syn-combobox/component.ts +0 -9
- package/metadata/packages/components/components/syn-combobox/component.vue +0 -9
- package/metadata/packages/components/components/syn-details/component.custom.styles.ts +1 -1
- package/metadata/packages/components/components/syn-dialog/component.custom.styles.ts +1 -1
- package/metadata/packages/components/components/syn-dropdown/component.angular.ts +0 -17
- package/metadata/packages/components/components/syn-dropdown/component.ts +0 -8
- package/metadata/packages/components/components/syn-dropdown/component.vue +0 -9
- package/metadata/packages/components/components/syn-file/component.styles.ts +6 -6
- package/metadata/packages/components/components/syn-header/component.styles.ts +7 -7
- package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +8 -8
- package/metadata/packages/components/components/syn-input/component.custom.styles.ts +3 -3
- package/metadata/packages/components/components/syn-input/component.ts +2 -3
- package/metadata/packages/components/components/syn-menu-item/component.custom.styles.ts +11 -11
- package/metadata/packages/components/components/syn-nav-item/component.styles.ts +3 -3
- package/metadata/packages/components/components/syn-optgroup/component.styles.ts +1 -1
- package/metadata/packages/components/components/syn-option/component.custom.styles.ts +13 -13
- package/metadata/packages/components/components/syn-popup/component.angular.ts +0 -16
- package/metadata/packages/components/components/syn-popup/component.ts +3 -10
- package/metadata/packages/components/components/syn-popup/component.vue +0 -10
- package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +2 -2
- package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +2 -2
- package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +7 -7
- package/metadata/packages/components/components/syn-range/component.styles.ts +9 -9
- package/metadata/packages/components/components/syn-range/component.ts +0 -1
- package/metadata/packages/components/components/syn-range-tick/component.styles.ts +1 -1
- package/metadata/packages/components/components/syn-select/component.angular.ts +0 -17
- package/metadata/packages/components/components/syn-select/component.ts +0 -8
- package/metadata/packages/components/components/syn-select/component.vue +0 -9
- package/metadata/packages/components/components/syn-side-nav/component.angular.ts +0 -21
- package/metadata/packages/components/components/syn-side-nav/component.ts +1 -36
- package/metadata/packages/components/components/syn-side-nav/component.vue +0 -13
- package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +2 -2
- package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +16 -16
- package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +3 -3
- package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +2 -2
- package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +1 -1
- package/metadata/packages/components/components/syn-tooltip/component.angular.ts +0 -18
- package/metadata/packages/components/components/syn-tooltip/component.ts +1 -10
- package/metadata/packages/components/components/syn-tooltip/component.vue +0 -10
- package/metadata/packages/components/migration/BREAKING_CHANGES.md +433 -14
- package/metadata/packages/components/static/CHANGELOG.md +44 -0
- package/metadata/packages/components/static/LIMITATIONS.md +141 -35
- package/metadata/packages/styles/BREAKING_CHANGES.md +105 -0
- package/metadata/packages/styles/CHANGELOG.md +26 -0
- package/metadata/packages/styles/index.css +9 -9
- package/metadata/packages/styles/link-list.css +1 -1
- package/metadata/packages/styles/link.css +2 -2
- package/metadata/packages/styles/tables.css +8 -8
- package/metadata/packages/styles/typography.css +1 -1
- package/metadata/packages/tokens/BREAKING_CHANGES.md +180 -0
- package/metadata/packages/tokens/CHANGELOG.md +18 -0
- package/metadata/packages/tokens/README.md +2 -0
- package/metadata/packages/tokens/dark.css +237 -236
- package/metadata/packages/tokens/index.js +6 -1
- package/metadata/packages/tokens/light.css +221 -220
- package/metadata/packages/tokens/sick2018_dark.css +4 -3
- package/metadata/packages/tokens/sick2018_light.css +4 -3
- package/metadata/packages/tokens/sick2025_dark.css +4 -3
- package/metadata/packages/tokens/sick2025_light.css +4 -3
- package/metadata/static/components/syn-badge/docs.md +2 -14
- package/metadata/static/components/syn-popup/docs.md +10 -29
- package/metadata/static/components/syn-range/docs.md +1 -1
- package/metadata/static/migration/index.md +51 -11
- package/metadata/{packages/components/migration/migration-synergy-v3.md → static/migration/v2-2018-to-v2-2025.md} +1 -1
- package/metadata/static/migration/v2-2018-to-v3-2018.md +147 -0
- package/metadata/static/migration/v2-2018-to-v3-2025.md +150 -0
- package/metadata/static/migration/v2-2025-to-v3-2025.md +133 -0
- package/metadata/static/templates/appshell.md +8 -8
- package/metadata/static/templates/footer.md +1 -1
- package/package.json +6 -6
|
@@ -4,35 +4,139 @@ This file lists known issues and limitations of Synergy Web Components and usefu
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
<h2 id="syn-input-number-width">`<syn-input type="number">` is too large when no `width` is set</h2>
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
<h3 id="syn-input-number-width-meta">Meta Information</h3>
|
|
10
|
+
|
|
11
|
+
- Framework version: ALL
|
|
12
|
+
- Synergy version: ALL
|
|
13
|
+
|
|
14
|
+
<h3 id="syn-input-number-width-description">Description</h3>
|
|
15
|
+
|
|
16
|
+
Synergies `<syn-input>` may get drawn too wide if the `numeric-strategy` is using `noStepAlign`.
|
|
17
|
+
This is the case automatically starting with Synergy version 3.0.
|
|
18
|
+
|
|
19
|
+
<h3 id="syn-input-number-width-cause">Cause</h3>
|
|
20
|
+
|
|
21
|
+
This problem is that the `<syn-input>` needs `step="any"` to circumvent the native checks on the step property.
|
|
22
|
+
When setting `step="2"` for example, browser validation will flag a value of `3` as an error.
|
|
23
|
+
Synergy allows to circumvent this via `noStepAlign` as part of a custom strategy or per default when using the `modern` preset.
|
|
24
|
+
|
|
25
|
+
With this applied, `<syn-input>` must set `step="any"` on the rendered `<input>` component. As browsers assume the user will be able to enter an unknown amount of characters, they will draw the field with a minimal size of 10 characters, making it appear too wide. This is a feature built into the browser and cannot be changed.
|
|
26
|
+
|
|
27
|
+
<h3 id="syn-input-number-width-solution">Proposed Solution</h3>
|
|
28
|
+
|
|
29
|
+
If you encounter such errors, make sure to provide a fixed `max-width`.
|
|
30
|
+
|
|
31
|
+
<h4 id="syn-input-number-width-problem">Problem</h4>
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<!--
|
|
35
|
+
-- The right container will be much larger with numeric-strategy="modern" applied
|
|
36
|
+
-->
|
|
37
|
+
<div class="container">
|
|
38
|
+
<div class="left">Content (auto grow)</div>
|
|
39
|
+
<div class="right">
|
|
40
|
+
<syn-input
|
|
41
|
+
type="number"
|
|
42
|
+
min="5"
|
|
43
|
+
max="10"
|
|
44
|
+
numeric-strategy="modern"
|
|
45
|
+
></syn-input>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<style>
|
|
50
|
+
.container {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: row;
|
|
53
|
+
flex: 1 0 auto;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.left {
|
|
57
|
+
flex: 1;
|
|
58
|
+
width: 100%;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.right {
|
|
62
|
+
flex-grow: 0;
|
|
63
|
+
}
|
|
64
|
+
</style>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
<h4 id="syn-input-number-width-solution-1">Solution 1</h4>
|
|
68
|
+
|
|
69
|
+
If you do not need the `modern` behavior, use `numeric-strategy="native"` instead:
|
|
70
|
+
|
|
71
|
+
```html
|
|
72
|
+
<div class="container">
|
|
73
|
+
<div class="left">Content (auto grow)</div>
|
|
74
|
+
<div class="right">
|
|
75
|
+
<syn-input
|
|
76
|
+
type="number"
|
|
77
|
+
min="5"
|
|
78
|
+
max="10"
|
|
79
|
+
numeric-strategy="native"
|
|
80
|
+
></syn-input>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
<h4 id="syn-input-number-width-solution-2">Solution 2</h4>
|
|
86
|
+
|
|
87
|
+
Set the width of the element directly
|
|
88
|
+
|
|
89
|
+
```html
|
|
90
|
+
<div class="container">
|
|
91
|
+
<div class="left">Content (auto grow)</div>
|
|
92
|
+
<div class="right">
|
|
93
|
+
<syn-input
|
|
94
|
+
type="number"
|
|
95
|
+
min="5"
|
|
96
|
+
max="10"
|
|
97
|
+
numeric-strategy="modern"
|
|
98
|
+
></syn-input>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<style>
|
|
103
|
+
.right syn-input {
|
|
104
|
+
width: 130px;
|
|
105
|
+
}
|
|
106
|
+
</style>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
<h2 id="syn-button-dynamic-content">Layout issues with dynamic content in `<syn-button>`</h2>
|
|
112
|
+
|
|
113
|
+
<h3 id="syn-button-dynamic-content-meta">Meta Information</h3>
|
|
10
114
|
|
|
11
115
|
- Framework version: ALL
|
|
12
116
|
- Synergy version: ALL
|
|
13
117
|
- Issues: [#388](https://github.com/synergy-design-system/synergy-design-system/issues/388)
|
|
14
118
|
|
|
15
|
-
|
|
119
|
+
<h3 id="syn-button-dynamic-content-description">Description</h3>
|
|
16
120
|
|
|
17
121
|
Synergies `<syn-button>` may get drawn without inner paddings when inserting content async.
|
|
18
122
|
|
|
19
|
-
|
|
123
|
+
<h3 id="syn-button-dynamic-content-cause">Cause</h3>
|
|
20
124
|
|
|
21
125
|
The `<syn-button>` element uses a [slotchange](https://github.com/synergy-design-system/synergy-design-system/blob/main/packages/components/src/components/button/button.component.ts#L202C17-L202C27) listener to dynamically apply classes that effect the layout of the component.
|
|
22
126
|
|
|
23
127
|
As stated via [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/slotchange_event) `slotchange` events are fired when the **nodes** of a slot change. As most frameworks are reusing instances of `Text` nodes, those events will not trigger when the framework does not fully redraw the components content.
|
|
24
128
|
|
|
25
|
-
|
|
129
|
+
<h3 id="syn-button-dynamic-content-solution">Proposed Solution</h3>
|
|
26
130
|
|
|
27
131
|
Rendering is a crucial task of current frontend frameworks. Most frameworks will try to reuse created `Text` nodes. However, for most frameworks it is enough to wrap the slot contents with any `HTMLElement`.
|
|
28
132
|
|
|
29
|
-
|
|
133
|
+
<h4 id="syn-button-dynamic-content-problem">Problem</h4>
|
|
30
134
|
|
|
31
135
|
```html
|
|
32
136
|
<syn-button>DYNAMIC_TEXT</syn-button>
|
|
33
137
|
```
|
|
34
138
|
|
|
35
|
-
|
|
139
|
+
<h4 id="syn-button-dynamic-content-solution-example">Solution</h4>
|
|
36
140
|
|
|
37
141
|
```html
|
|
38
142
|
<syn-button>
|
|
@@ -42,28 +146,28 @@ Rendering is a crucial task of current frontend frameworks. Most frameworks will
|
|
|
42
146
|
|
|
43
147
|
---
|
|
44
148
|
|
|
45
|
-
|
|
149
|
+
<h2 id="syn-dialog-closes-unexpectedly">`<syn-dialog>` closes itself when interacting with certain elements</h2>
|
|
46
150
|
|
|
47
|
-
|
|
151
|
+
<h3 id="syn-dialog-closes-unexpectedly-meta">Meta Information</h3>
|
|
48
152
|
|
|
49
153
|
- Framework version: ALL
|
|
50
154
|
- Synergy version: ALL
|
|
51
155
|
- Issues: [#530](https://github.com/synergy-design-system/synergy-design-system/issues/530), [#572](https://github.com/synergy-design-system/synergy-design-system/issues/572), [sl#2020](https://github.com/shoelace-style/shoelace/issues/2020), [sl#1956](https://github.com/shoelace-style/shoelace/issues/1956)
|
|
52
156
|
|
|
53
|
-
|
|
157
|
+
<h3 id="syn-dialog-closes-unexpectedly-description">Description</h3>
|
|
54
158
|
|
|
55
159
|
A `<syn-dialog>` element may close itself unexpectedly when interacting with elements like `<syn-select>`, `<syn-accordion>` or `<syn-details>` and having a listener attached on the `syn-hide` event.
|
|
56
160
|
|
|
57
|
-
|
|
161
|
+
<h3 id="syn-dialog-closes-unexpectedly-cause">Cause</h3>
|
|
58
162
|
|
|
59
163
|
Synergy uses shared `CustomEvents` for all of its components. Per default, all of those events are bubbling. When a `<syn-select>`, `<syn-accordion>` or `<syn-details>` element is closed, it fires its own `syn-hide` event. This event bubbles to `<syn-dialog>` and closes it.
|
|
60
164
|
|
|
61
|
-
|
|
165
|
+
<h3 id="syn-dialog-closes-unexpectedly-solution">Proposed Solution</h3>
|
|
62
166
|
|
|
63
167
|
If you want to close the dialog only, listen to its `syn-request-close` event instead of `syn-hide`.
|
|
64
|
-
In other cases, make sure to suppress the other elements emitted `syn-hide` events or filter the
|
|
168
|
+
In other cases, make sure to suppress the other elements' emitted `syn-hide` events or filter the event's target to just listen for the wanted instance of the `<syn-dialog>`.
|
|
65
169
|
|
|
66
|
-
|
|
170
|
+
<h4 id="syn-dialog-closes-unexpectedly-problem">Problem</h4>
|
|
67
171
|
|
|
68
172
|
```html
|
|
69
173
|
<!-- Before -->
|
|
@@ -80,7 +184,7 @@ In other cases, make sure to suppress the other elements emitted `syn-hide` even
|
|
|
80
184
|
</script>
|
|
81
185
|
```
|
|
82
186
|
|
|
83
|
-
|
|
187
|
+
<h4 id="syn-dialog-closes-unexpectedly-solution-1">Solution 1</h4>
|
|
84
188
|
|
|
85
189
|
```html
|
|
86
190
|
<syn-dialog open>
|
|
@@ -98,7 +202,7 @@ In other cases, make sure to suppress the other elements emitted `syn-hide` even
|
|
|
98
202
|
</script>
|
|
99
203
|
```
|
|
100
204
|
|
|
101
|
-
|
|
205
|
+
<h4 id="syn-dialog-closes-unexpectedly-solution-2">Solution 2</h4>
|
|
102
206
|
|
|
103
207
|
```html
|
|
104
208
|
<syn-dialog open>
|
|
@@ -117,7 +221,7 @@ In other cases, make sure to suppress the other elements emitted `syn-hide` even
|
|
|
117
221
|
</script>
|
|
118
222
|
```
|
|
119
223
|
|
|
120
|
-
|
|
224
|
+
<h4 id="syn-dialog-closes-unexpectedly-solution-3">Solution 3</h4>
|
|
121
225
|
|
|
122
226
|
```html
|
|
123
227
|
<syn-dialog open>
|
|
@@ -137,27 +241,29 @@ In other cases, make sure to suppress the other elements emitted `syn-hide` even
|
|
|
137
241
|
</script>
|
|
138
242
|
```
|
|
139
243
|
|
|
140
|
-
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
<h2 id="syn-nav-item-click-events">Click events for `syn-nav-item` are not fired when clicking slotted items (e.g. icons)</h2>
|
|
141
247
|
|
|
142
|
-
|
|
248
|
+
<h3 id="syn-nav-item-click-events-meta">Meta Information</h3>
|
|
143
249
|
|
|
144
250
|
- Framework version: ALL
|
|
145
251
|
- Synergy version: ALL
|
|
146
252
|
- Issues: [#562](https://github.com/synergy-design-system/synergy-design-system/issues/530), [sl#2020](https://github.com/shoelace-style/shoelace/issues/562)
|
|
147
253
|
|
|
148
|
-
|
|
254
|
+
<h3 id="syn-nav-item-click-events-description">Description</h3>
|
|
149
255
|
|
|
150
256
|
When adding a `click` listener to a `<syn-nav-item>` that has content in the `prefix` or `suffix` slot, the `event.target` is the slotted element instead of the instance of the `<syn-nav-item>`.
|
|
151
257
|
|
|
152
|
-
|
|
258
|
+
<h3 id="syn-nav-item-click-events-cause">Cause</h3>
|
|
153
259
|
|
|
154
260
|
Synergy components make heavy use of [ShadowDOM](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM). When using the ShadowDOM, all internal events will get [**retargeted** to the events instance](https://lit.dev/docs/components/events/#shadowdom-retargeting). However, slotted elements are still part of the LightDOM and are not part of this retargetting. Therefore, when clicking a slotted `<syn-icon>`, the `event.target` will reference the slotted `<syn-icon>`.
|
|
155
261
|
|
|
156
|
-
|
|
262
|
+
<h3 id="syn-nav-item-click-events-solution">Proposed Solution</h3>
|
|
157
263
|
|
|
158
264
|
Try to match on the next `<syn-nav-item>` with the closest selector. This will also match for slotted elements.
|
|
159
265
|
|
|
160
|
-
|
|
266
|
+
<h4 id="syn-nav-item-click-events-problem">Problem</h4>
|
|
161
267
|
|
|
162
268
|
```html
|
|
163
269
|
<syn-side-nav>
|
|
@@ -178,7 +284,7 @@ Try to match on the next `<syn-nav-item>` with the closest selector. This will a
|
|
|
178
284
|
>
|
|
179
285
|
```
|
|
180
286
|
|
|
181
|
-
|
|
287
|
+
<h4 id="syn-nav-item-click-events-solution-example">Solution</h4>
|
|
182
288
|
|
|
183
289
|
```html
|
|
184
290
|
<script type="module">
|
|
@@ -192,22 +298,22 @@ Try to match on the next `<syn-nav-item>` with the closest selector. This will a
|
|
|
192
298
|
|
|
193
299
|
---
|
|
194
300
|
|
|
195
|
-
|
|
301
|
+
<h2 id="container-type-rendering-order">Wrong rendering order with container-type set on parent for `<syn-select>`, `<syn-combobox>`, `<syn-dropdown>`, and `<syn-tooltip>`</h2>
|
|
196
302
|
|
|
197
|
-
|
|
303
|
+
<h3 id="container-type-rendering-order-meta">Meta Information</h3>
|
|
198
304
|
|
|
199
305
|
- Framework version: ALL
|
|
200
306
|
- Synergy version: ALL
|
|
201
|
-
- Browsers:
|
|
307
|
+
- Browsers: Safari, older Chrome and older Firefox versions
|
|
202
308
|
- Issues: [#612](https://github.com/synergy-design-system/synergy-design-system/issues/612)
|
|
203
309
|
|
|
204
|
-
|
|
310
|
+
<h3 id="container-type-rendering-order-description">Description</h3>
|
|
205
311
|
|
|
206
|
-
Parts of Synergies `<syn-select>`, `<syn-combobox>`, `<syn-dropdown>`, `<syn-tooltip>` may get drawn behind other elements, if the `container-type` css property of a parent element is set to something different than `normal`.
|
|
312
|
+
Parts of Synergies `<syn-select>`, `<syn-combobox>`, `<syn-dropdown>`, and `<syn-tooltip>` may get drawn behind other elements, if the `container-type` css property of a parent element is set to something different than `normal`.
|
|
207
313
|
|
|
208
|
-
|
|
314
|
+
<h3 id="container-type-rendering-order-cause">Cause</h3>
|
|
209
315
|
|
|
210
|
-
Older
|
|
316
|
+
Older Chrome and Firefox browser versions as well as current Safari browser have a special handling for container queries, which was declared as a "design mistake". For this reason the browsers are already having or getting an updated handling for this and also the specification should be updated in the future.
|
|
211
317
|
The old handling was that `container-type: inline-size` or `container-type: size`:
|
|
212
318
|
|
|
213
319
|
- created a containing block
|
|
@@ -215,13 +321,13 @@ The old handling was that `container-type: inline-size` or `container-type: size
|
|
|
215
321
|
|
|
216
322
|
For further information have a look at [this article](https://dev.to/michaelcharles/chrome-129s-container-query-change-2i77)
|
|
217
323
|
|
|
218
|
-
This old behavior results in e.g. open `<syn-select>` options
|
|
324
|
+
This old behavior results in e.g. open `<syn-select>` options lists not being rendered above other elements (e.g. like `<syn-checkbox>`) but behind them.
|
|
219
325
|
|
|
220
|
-
|
|
326
|
+
<h3 id="container-type-rendering-order-solution">Proposed Solution</h3>
|
|
221
327
|
|
|
222
328
|
To work around this problem, add a `position: relative` and a `z-index` to the element with `container-type`.
|
|
223
329
|
|
|
224
|
-
|
|
330
|
+
<h4 id="container-type-rendering-order-problem">Problem</h4>
|
|
225
331
|
|
|
226
332
|
```html
|
|
227
333
|
<div class="container">
|
|
@@ -242,7 +348,7 @@ To work around this problem, add a `position: relative` and a `z-index` to the e
|
|
|
242
348
|
</style>
|
|
243
349
|
```
|
|
244
350
|
|
|
245
|
-
|
|
351
|
+
<h4 id="container-type-rendering-order-solution-example">Solution</h4>
|
|
246
352
|
|
|
247
353
|
```html
|
|
248
354
|
<div class="container">
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Handling breaking changes between major versions
|
|
2
|
+
|
|
3
|
+
This guide holds the required information for migrating from one major version of `@synergy-design-system/styles` to the next.
|
|
4
|
+
|
|
5
|
+
> ⚠️ Migrations **must** always be done from one major version to the next to prevent issues (e.g. with types and property changes)
|
|
6
|
+
> This means when moving from `@synergy-design-system@styles` v1.x to v3.x,
|
|
7
|
+
> you will **have to apply** the changes from v1.x to v2.x first!
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Version 2.0
|
|
12
|
+
|
|
13
|
+
<h3 id="syn-var-fallbacks-v2">Variable fallbacks</h3>
|
|
14
|
+
|
|
15
|
+
#### ⚠️ Removed all fallback variables in styles
|
|
16
|
+
|
|
17
|
+
**Associated Ticket(s)**:
|
|
18
|
+
|
|
19
|
+
- [#1149](https://github.com/synergy-design-system/synergy-design-system/issues/1149)
|
|
20
|
+
|
|
21
|
+
**Reason**:
|
|
22
|
+
|
|
23
|
+
During the migration process of Synergy version 2 to version 3, we added a compatibility layer in the styles package that made it possible for users with misaligned versions of the styles and tokens package to still use the updated styles. This was achieved using fallbacks like this:
|
|
24
|
+
|
|
25
|
+
```css
|
|
26
|
+
/* Original code of @synergy-design-system/styles@1.x */
|
|
27
|
+
.syn-table-cell--border-start {
|
|
28
|
+
border-inline-start: var(--syn-border-width-small) solid
|
|
29
|
+
var(--syn-table-border-color, var(--syn-color-neutral-300));
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
This helped introduce Synergies new semantic layer without breaking the versioning. However, this also lead to increased bundle sizes.
|
|
34
|
+
|
|
35
|
+
As the styles and token packages both get new major versions, there is no more need for this deprecation layer in the styles:
|
|
36
|
+
|
|
37
|
+
```css
|
|
38
|
+
/* Original code of @synergy-design-system/styles@2.x */
|
|
39
|
+
.syn-table-cell--border-start {
|
|
40
|
+
border-inline-start: var(--syn-border-width-small) solid
|
|
41
|
+
var(--syn-table-border-color);
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Migration Steps**:
|
|
46
|
+
|
|
47
|
+
- Make sure to use the latest versions of `@synergy-design-system/styles` and `@synergy-design-system/tokens`.
|
|
48
|
+
- The styles package now declares a `peerDependency` on version 3 of `@synergy-design-system/tokens`. You may also remove the installation of `@synergy-design-system/tokens` that was manually needed before as this should be automatically fetched now.
|
|
49
|
+
|
|
50
|
+
**Example (before)**:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@synergy-design-system/styles": "^1.0.0",
|
|
56
|
+
"@synergy-design-system/tokens": "2.11.0"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Example (after)**:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"@synergy-design-system/styles": "^2.0.0"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
<!-- USE THIS AS A TEMPLATE FOR ADDITIONAL MIGRATION STEPS
|
|
74
|
+
|
|
75
|
+
<h3 id="change-VERSION">`Change`</h3>
|
|
76
|
+
|
|
77
|
+
#### ⚠️ DESCRIBE THE CHANGE HERE
|
|
78
|
+
|
|
79
|
+
**Associated Ticket(s)**:
|
|
80
|
+
|
|
81
|
+
- [#1](https://github.com/synergy-design-system/synergy-design-system/issues/1)
|
|
82
|
+
|
|
83
|
+
**Reason**:
|
|
84
|
+
|
|
85
|
+
DESCRIBE THE REASON FOR THIS CHANGE
|
|
86
|
+
|
|
87
|
+
**Migration Steps**:
|
|
88
|
+
|
|
89
|
+
MIGRATION IN TEXT FORM
|
|
90
|
+
|
|
91
|
+
**Example (before)**:
|
|
92
|
+
|
|
93
|
+
```css
|
|
94
|
+
EXAMPLE BEFORE THE CHANGE
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Example (after)**:
|
|
98
|
+
|
|
99
|
+
```css
|
|
100
|
+
EXAMPLE AFTER THE CHANGE
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
-->
|
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#1160](https://github.com/synergy-design-system/synergy-design-system/pull/1160) [`669cbcb`](https://github.com/synergy-design-system/synergy-design-system/commit/669cbcb9cccce72134beac99ac12a2591f3e3c74) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-02-02
|
|
8
|
+
|
|
9
|
+
feat: 💥 Removal of variable fallbacks and token alignment
|
|
10
|
+
|
|
11
|
+
This release removes the compatibility layer that was introduced in Synergy v2 to support misaligned versions between styles and tokens packages.
|
|
12
|
+
|
|
13
|
+
**Key Changes:**
|
|
14
|
+
- **Breaking:** Variable fallbacks removed - all CSS custom property fallbacks have been eliminated to reduce bundle size
|
|
15
|
+
- **Breaking:** Token package alignment - styles now has a `peerDependency` on `@synergy-design-system/tokens@^3.0.0`
|
|
16
|
+
- Improved bundle size due to removal of fallback compatibility layer
|
|
17
|
+
|
|
18
|
+
**Migration Steps:**
|
|
19
|
+
- Ensure you're using the latest version of `@synergy-design-system/tokens` (v3.0.0 or higher)
|
|
20
|
+
- The tokens package is now automatically installed as a peer dependency
|
|
21
|
+
|
|
22
|
+
For detailed migration instructions, please refer to the [breaking changes documentation](https://synergy-design-system.github.io/?path=/docs/packages-styles-breaking-changes--docs).
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [[`669cbcb`](https://github.com/synergy-design-system/synergy-design-system/commit/669cbcb9cccce72134beac99ac12a2591f3e3c74)]:
|
|
27
|
+
- @synergy-design-system/tokens@3.0.0
|
|
28
|
+
|
|
3
29
|
## 1.9.1
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @synergy-design-system/styles version 1.9.
|
|
2
|
+
* @synergy-design-system/styles version 1.9.1
|
|
3
3
|
* SICK Global UX Foundation
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
font-family: var(--syn-font-sans);
|
|
24
24
|
font-size: var(--syn-link-font-size);
|
|
25
25
|
text-decoration: underline;
|
|
26
|
-
text-underline-offset: var(--syn-link-underline-outline
|
|
26
|
+
text-underline-offset: var(--syn-link-underline-outline);
|
|
27
27
|
}
|
|
28
28
|
.syn-link:has(syn-icon) {
|
|
29
29
|
align-items: center;
|
|
@@ -206,7 +206,7 @@ a.syn-link:not([href]) {
|
|
|
206
206
|
.syn-table--default td,
|
|
207
207
|
.syn-table--alternating td,
|
|
208
208
|
.syn-table--border td {
|
|
209
|
-
background-color: var(--syn-table-background-color
|
|
209
|
+
background-color: var(--syn-table-background-color);
|
|
210
210
|
color: var(--syn-typography-color-text);
|
|
211
211
|
font: var(--syn-body-small-regular);
|
|
212
212
|
height: var(--syn-spacing-large);
|
|
@@ -216,29 +216,29 @@ a.syn-link:not([href]) {
|
|
|
216
216
|
}
|
|
217
217
|
.syn-table-cell--alternating,
|
|
218
218
|
.syn-table--alternating tr:nth-child(even) > td {
|
|
219
|
-
background-color: var(--syn-table-background-color-alternating
|
|
219
|
+
background-color: var(--syn-table-background-color-alternating);
|
|
220
220
|
}
|
|
221
221
|
/* Border */
|
|
222
222
|
.syn-table-cell--border-start {
|
|
223
|
-
border-inline-start: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
223
|
+
border-inline-start: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
224
224
|
}
|
|
225
225
|
.syn-table-cell--border-end,
|
|
226
226
|
.syn-table--border tr > td:not(:last-child) {
|
|
227
|
-
border-inline-end: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
227
|
+
border-inline-end: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
228
228
|
}
|
|
229
229
|
.syn-table-cell--border-top {
|
|
230
|
-
border-top: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
230
|
+
border-top: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
231
231
|
}
|
|
232
232
|
.syn-table-cell--border-bottom,
|
|
233
233
|
.syn-table--border tr:not(:last-child) > td {
|
|
234
|
-
border-bottom: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
234
|
+
border-bottom: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
235
235
|
}
|
|
236
236
|
/* Header */
|
|
237
237
|
.syn-table-cell--header,
|
|
238
238
|
.syn-table--default th,
|
|
239
239
|
.syn-table--alternating th,
|
|
240
240
|
.syn-table--border th {
|
|
241
|
-
background-color: var(--syn-table-background-color-header
|
|
241
|
+
background-color: var(--syn-table-background-color-header);
|
|
242
242
|
color: var(--syn-typography-color-text);
|
|
243
243
|
font: var(--syn-body-small-semibold);
|
|
244
244
|
height: var(--syn-spacing-large);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @synergy-design-system/styles version 1.9.
|
|
2
|
+
* @synergy-design-system/styles version 1.9.1
|
|
3
3
|
* SICK Global UX Foundation
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
font-family: var(--syn-font-sans);
|
|
24
24
|
font-size: var(--syn-link-font-size);
|
|
25
25
|
text-decoration: underline;
|
|
26
|
-
text-underline-offset: var(--syn-link-underline-outline
|
|
26
|
+
text-underline-offset: var(--syn-link-underline-outline);
|
|
27
27
|
}
|
|
28
28
|
.syn-link:has(syn-icon) {
|
|
29
29
|
align-items: center;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @synergy-design-system/styles version 1.9.
|
|
2
|
+
* @synergy-design-system/styles version 1.9.1
|
|
3
3
|
* SICK Global UX Foundation
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
.syn-table--default td,
|
|
39
39
|
.syn-table--alternating td,
|
|
40
40
|
.syn-table--border td {
|
|
41
|
-
background-color: var(--syn-table-background-color
|
|
41
|
+
background-color: var(--syn-table-background-color);
|
|
42
42
|
color: var(--syn-typography-color-text);
|
|
43
43
|
font: var(--syn-body-small-regular);
|
|
44
44
|
height: var(--syn-spacing-large);
|
|
@@ -48,29 +48,29 @@
|
|
|
48
48
|
}
|
|
49
49
|
.syn-table-cell--alternating,
|
|
50
50
|
.syn-table--alternating tr:nth-child(even) > td {
|
|
51
|
-
background-color: var(--syn-table-background-color-alternating
|
|
51
|
+
background-color: var(--syn-table-background-color-alternating);
|
|
52
52
|
}
|
|
53
53
|
/* Border */
|
|
54
54
|
.syn-table-cell--border-start {
|
|
55
|
-
border-inline-start: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
55
|
+
border-inline-start: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
56
56
|
}
|
|
57
57
|
.syn-table-cell--border-end,
|
|
58
58
|
.syn-table--border tr > td:not(:last-child) {
|
|
59
|
-
border-inline-end: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
59
|
+
border-inline-end: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
60
60
|
}
|
|
61
61
|
.syn-table-cell--border-top {
|
|
62
|
-
border-top: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
62
|
+
border-top: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
63
63
|
}
|
|
64
64
|
.syn-table-cell--border-bottom,
|
|
65
65
|
.syn-table--border tr:not(:last-child) > td {
|
|
66
|
-
border-bottom: var(--syn-border-width-small) solid var(--syn-table-border-color
|
|
66
|
+
border-bottom: var(--syn-border-width-small) solid var(--syn-table-border-color);
|
|
67
67
|
}
|
|
68
68
|
/* Header */
|
|
69
69
|
.syn-table-cell--header,
|
|
70
70
|
.syn-table--default th,
|
|
71
71
|
.syn-table--alternating th,
|
|
72
72
|
.syn-table--border th {
|
|
73
|
-
background-color: var(--syn-table-background-color-header
|
|
73
|
+
background-color: var(--syn-table-background-color-header);
|
|
74
74
|
color: var(--syn-typography-color-text);
|
|
75
75
|
font: var(--syn-body-small-semibold);
|
|
76
76
|
height: var(--syn-spacing-large);
|