@synergy-design-system/mcp 1.37.0 → 1.38.1
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 +24 -0
- package/metadata/checksum.txt +1 -1
- package/metadata/packages/components/components/syn-alert/component.angular.ts +11 -0
- package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +40 -7
- package/metadata/packages/components/components/syn-alert/component.ts +6 -0
- package/metadata/packages/components/components/syn-alert/component.vue +5 -0
- package/metadata/packages/components/components/syn-menu-item/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-validate/component.ts +46 -5
- package/metadata/packages/components/migration/migration-synergy-v3.md +17 -10
- package/metadata/packages/components/static/CHANGELOG.md +24 -0
- package/metadata/packages/tokens/dark.css +1 -1
- package/metadata/packages/tokens/index.js +1 -1
- package/metadata/packages/tokens/light.css +1 -1
- package/metadata/packages/tokens/sick2018_dark.css +1 -1
- package/metadata/packages/tokens/sick2018_light.css +1 -1
- package/metadata/packages/tokens/sick2025_dark.css +1 -1
- package/metadata/packages/tokens/sick2025_light.css +1 -1
- package/metadata/static/components/syn-alert/docs.md +65 -14
- package/metadata/static/components/syn-validate/docs.md +53 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.38.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1133](https://github.com/synergy-design-system/synergy-design-system/pull/1133) [`82ea066`](https://github.com/synergy-design-system/synergy-design-system/commit/82ea066fa18e35831d94f22c7ac620135bc8c334) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2025-12-15
|
|
8
|
+
|
|
9
|
+
fix: 🐛 syn menu submenu rounding (#1131)
|
|
10
|
+
|
|
11
|
+
Fixes an issue with `<syn-menu-item>` when rendering submenus.
|
|
12
|
+
Submenus did not take the changed `border-radius` of `<syn-menu>` into account, leading to squared borders in the `SICK 2025` themes.
|
|
13
|
+
|
|
14
|
+
## 1.38.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- [#1129](https://github.com/synergy-design-system/synergy-design-system/pull/1129) [`102e650`](https://github.com/synergy-design-system/synergy-design-system/commit/102e6503af3a72d0d2529ed216ce6053a07b9607) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2025-12-12
|
|
19
|
+
|
|
20
|
+
feat: ✨ syn alert add sizes (#1119)
|
|
21
|
+
|
|
22
|
+
We have added a new property `size` to `<syn-alert>` that can be set to `small`, `medium` (the default) and `large`.
|
|
23
|
+
The property can also be used with Synergy `defaultSettings`.
|
|
24
|
+
|
|
25
|
+
We also adjusted `<syn-validate>` to draw the `size` attribute of its `slotted` `HTMLInputElement`. If a `size` property is found on the rendered input, it will be forwarded to the rendered `<syn-alert>` if you use `variant="inline"`.
|
|
26
|
+
|
|
3
27
|
## 1.37.0
|
|
4
28
|
|
|
5
29
|
### Minor Changes
|
package/metadata/checksum.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
ad66baabe30abdbbfb394f24e54b654b
|
|
@@ -131,6 +131,17 @@ the alert will not close on its own.
|
|
|
131
131
|
return this.nativeElement.duration;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
+
/**
|
|
135
|
+
* The alert's size.
|
|
136
|
+
*/
|
|
137
|
+
@Input()
|
|
138
|
+
set size(v: SynAlert['size']) {
|
|
139
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.size = v));
|
|
140
|
+
}
|
|
141
|
+
get size(): SynAlert['size'] {
|
|
142
|
+
return this.nativeElement.size;
|
|
143
|
+
}
|
|
144
|
+
|
|
134
145
|
/**
|
|
135
146
|
* Emitted when the alert opens.
|
|
136
147
|
*/
|
|
@@ -8,14 +8,23 @@ export default css`
|
|
|
8
8
|
--variant-color-icon: var(--syn-alert-informative-color-icon, var(--syn-color-primary-600));
|
|
9
9
|
--variant-color-indicator: var(--syn-alert-informative-color-indicator, var(--syn-color-primary-600));
|
|
10
10
|
|
|
11
|
+
/* Defines special settings for sizes */
|
|
12
|
+
--size-font-size: var(--syn-font-size-medium);
|
|
13
|
+
--size-icon-size: var(--syn-font-size-x-large);
|
|
14
|
+
--size-min-height: 54px;
|
|
15
|
+
--size-message-padding: var(--syn-spacing-medium) var(--syn-spacing-large) var(--syn-spacing-medium) var(--syn-spacing-medium);
|
|
16
|
+
--size-icon-padding-block: var(--syn-spacing-medium);
|
|
17
|
+
--size-icon-padding-inline: var(--syn-spacing-medium);
|
|
18
|
+
|
|
11
19
|
background-color: var(--variant-color-background);
|
|
12
20
|
border: var(--syn-panel-border-width) solid var(--variant-color-border);
|
|
13
21
|
border-left: 0;
|
|
14
22
|
border-radius: var(--syn-border-radius-none);
|
|
23
|
+
box-sizing: content-box;
|
|
15
24
|
color: var(--syn-typography-color-text);
|
|
16
|
-
font-size: var(--
|
|
25
|
+
font-size: var(--size-font-size);
|
|
17
26
|
line-height: var(--syn-line-height-normal);
|
|
18
|
-
min-height:
|
|
27
|
+
min-height: var(--size-min-height);
|
|
19
28
|
}
|
|
20
29
|
|
|
21
30
|
/**
|
|
@@ -43,11 +52,12 @@ export default css`
|
|
|
43
52
|
.alert__icon,
|
|
44
53
|
.alert__close-button {
|
|
45
54
|
align-items: flex-start;
|
|
46
|
-
font-size: var(--
|
|
55
|
+
font-size: var(--size-icon-size);
|
|
47
56
|
}
|
|
48
57
|
|
|
49
58
|
.alert__message {
|
|
50
|
-
|
|
59
|
+
align-self: center;
|
|
60
|
+
padding: var(--size-message-padding);
|
|
51
61
|
}
|
|
52
62
|
|
|
53
63
|
/**
|
|
@@ -55,15 +65,14 @@ export default css`
|
|
|
55
65
|
*/
|
|
56
66
|
.alert__icon {
|
|
57
67
|
color: var(--variant-color-icon);
|
|
58
|
-
padding-block: var(--
|
|
59
|
-
padding-inline-start: var(--
|
|
68
|
+
padding-block-start: var(--size-icon-padding-block);
|
|
69
|
+
padding-inline-start: var(--size-icon-padding-inline);
|
|
60
70
|
}
|
|
61
71
|
|
|
62
72
|
/**
|
|
63
73
|
* Close Icon
|
|
64
74
|
*/
|
|
65
75
|
.alert__close-button {
|
|
66
|
-
align-self: start;
|
|
67
76
|
color: var(--syn-typography-color-text);
|
|
68
77
|
margin-block: calc(var(--syn-spacing-x-small) - var(--syn-panel-border-width));
|
|
69
78
|
margin-inline-end: var(--syn-spacing-x-small);
|
|
@@ -99,4 +108,28 @@ export default css`
|
|
|
99
108
|
--variant-color-icon: var(--syn-alert-error-color-icon, var(--syn-color-error-600));
|
|
100
109
|
--variant-color-indicator: var(--syn-alert-error-color-indicator, var(--syn-color-error-600));
|
|
101
110
|
}
|
|
111
|
+
|
|
112
|
+
/* #1119: Alert Sizes */
|
|
113
|
+
.alert--small {
|
|
114
|
+
--size-font-size: var(--syn-font-size-small);
|
|
115
|
+
--size-icon-size: var(--syn-font-size-large);
|
|
116
|
+
--size-min-height: 44px;
|
|
117
|
+
--size-message-padding: var(--syn-spacing-small) var(--syn-spacing-large) var(--syn-spacing-small) var(--syn-spacing-small);
|
|
118
|
+
--size-icon-padding-block: var(--syn-spacing-small);
|
|
119
|
+
--size-icon-padding-inline: var(--syn-spacing-small);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* Adjust close button size for small alerts */
|
|
123
|
+
.alert--small .alert__close-button {
|
|
124
|
+
font-size: var(--syn-font-size-medium);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.alert--large {
|
|
128
|
+
--size-font-size: var(--syn-font-size-large);
|
|
129
|
+
--size-icon-size: var(--syn-font-size-2x-large);
|
|
130
|
+
--size-min-height: 68px;
|
|
131
|
+
--size-message-padding: var(--syn-spacing-medium-large) var(--syn-spacing-large) var(--syn-spacing-medium-large) var(--syn-spacing-medium-large);
|
|
132
|
+
--size-icon-padding-block: var(--syn-spacing-medium-large);
|
|
133
|
+
--size-icon-padding-inline: var(--syn-spacing-medium-large);
|
|
134
|
+
}
|
|
102
135
|
`;
|
|
@@ -94,6 +94,9 @@ export default class SynAlert extends SynergyElement {
|
|
|
94
94
|
*/
|
|
95
95
|
@property({ type: Number }) duration = Infinity;
|
|
96
96
|
|
|
97
|
+
/** The alert's size. */
|
|
98
|
+
@property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';
|
|
99
|
+
|
|
97
100
|
/**
|
|
98
101
|
* Enables a countdown that indicates the remaining time the alert will be displayed.
|
|
99
102
|
* Typically used to indicate the remaining time before a whole app refresh.
|
|
@@ -253,6 +256,9 @@ export default class SynAlert extends SynergyElement {
|
|
|
253
256
|
class=${classMap({
|
|
254
257
|
alert: true,
|
|
255
258
|
'alert--open': this.open,
|
|
259
|
+
'alert--small': this.size === 'small',
|
|
260
|
+
'alert--medium': this.size === 'medium',
|
|
261
|
+
'alert--large': this.size === 'large',
|
|
256
262
|
'alert--closable': this.closable,
|
|
257
263
|
'alert--has-icon': this.hasSlotController.test('icon'),
|
|
258
264
|
'alert--primary': this.variant === 'primary',
|
|
@@ -74,6 +74,11 @@ the alert before it closes (e.g.
|
|
|
74
74
|
the alert will not close on its own.
|
|
75
75
|
*/
|
|
76
76
|
duration?: SynAlert['duration'];
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The alert's size.
|
|
80
|
+
*/
|
|
81
|
+
size?: SynAlert['size'];
|
|
77
82
|
}>();
|
|
78
83
|
|
|
79
84
|
// Make sure prop binding only forwards the props that are actually there.
|
|
@@ -160,4 +160,9 @@ export default css`
|
|
|
160
160
|
:host(:not([type="checkmark"]):not([loading])) .menu-item__label {
|
|
161
161
|
min-height: var(--syn-font-size-x-large);
|
|
162
162
|
}
|
|
163
|
+
|
|
164
|
+
/* #1131: Make sure that slotted menus do show the correct border radius */
|
|
165
|
+
syn-popup::part(popup) {
|
|
166
|
+
border-radius: var(--syn-input-border-radius-medium);
|
|
167
|
+
}
|
|
163
168
|
`;
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import type { CSSResultGroup, PropertyValues } from 'lit';
|
|
2
2
|
import { html } from 'lit';
|
|
3
3
|
import { property, queryAssignedElements, state } from 'lit/decorators.js';
|
|
4
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
4
5
|
import componentStyles from '../../styles/component.styles.js';
|
|
5
6
|
import SynergyElement from '../../internal/synergy-element.js';
|
|
7
|
+
import type SynInput from '../input/input.component.js';
|
|
6
8
|
import { watch } from '../../internal/watch.js';
|
|
7
9
|
import SynAlert from '../alert/alert.component.js';
|
|
8
10
|
import {
|
|
11
|
+
alertSizeForInput,
|
|
9
12
|
getEventNameForElement,
|
|
10
13
|
isBlurEvent,
|
|
11
14
|
isInvalidEvent,
|
|
15
|
+
isSynergyElement,
|
|
12
16
|
normalizeEventAttribute,
|
|
13
17
|
} from './utility.js';
|
|
14
18
|
import styles from './validate.styles.js';
|
|
@@ -43,6 +47,8 @@ export default class SynValidate extends SynergyElement {
|
|
|
43
47
|
|
|
44
48
|
observer: MutationObserver;
|
|
45
49
|
|
|
50
|
+
sizeObserver: MutationObserver;
|
|
51
|
+
|
|
46
52
|
@queryAssignedElements() private slottedChildren: HTMLElement[];
|
|
47
53
|
|
|
48
54
|
@state() validationMessage = '';
|
|
@@ -53,6 +59,8 @@ export default class SynValidate extends SynergyElement {
|
|
|
53
59
|
|
|
54
60
|
@state() isValid = true;
|
|
55
61
|
|
|
62
|
+
@state() alertSize?: SynInput['size'];
|
|
63
|
+
|
|
56
64
|
/**
|
|
57
65
|
* The variant that should be used to show validation alerts.
|
|
58
66
|
*
|
|
@@ -150,6 +158,10 @@ export default class SynValidate extends SynergyElement {
|
|
|
150
158
|
return input ? input as HTMLInputElement : undefined;
|
|
151
159
|
}
|
|
152
160
|
|
|
161
|
+
private setAlertSize() {
|
|
162
|
+
this.alertSize = alertSizeForInput(this.getInput());
|
|
163
|
+
}
|
|
164
|
+
|
|
153
165
|
/**
|
|
154
166
|
* Get the event names to listen for.
|
|
155
167
|
* If the input is a synergy element, will use syn- prefixes.
|
|
@@ -289,7 +301,7 @@ export default class SynValidate extends SynergyElement {
|
|
|
289
301
|
}
|
|
290
302
|
|
|
291
303
|
const input = e.currentTarget as HTMLInputElement;
|
|
292
|
-
if (input
|
|
304
|
+
if (isSynergyElement(input)) {
|
|
293
305
|
// When using a synergy element, we need to wait for it to be ready!
|
|
294
306
|
// This is needed as the validity state of the element may not be set yet.
|
|
295
307
|
await input.updateComplete;
|
|
@@ -331,7 +343,7 @@ export default class SynValidate extends SynergyElement {
|
|
|
331
343
|
const input = this.getInput();
|
|
332
344
|
|
|
333
345
|
if (this.customValidationMessage) {
|
|
334
|
-
if (input
|
|
346
|
+
if (isSynergyElement(input)) {
|
|
335
347
|
await input.updateComplete;
|
|
336
348
|
}
|
|
337
349
|
input?.setCustomValidity(this.customValidationMessage);
|
|
@@ -348,6 +360,34 @@ export default class SynValidate extends SynergyElement {
|
|
|
348
360
|
connectedCallback() {
|
|
349
361
|
super.connectedCallback();
|
|
350
362
|
|
|
363
|
+
// #1119: Update alert size when the input size changes
|
|
364
|
+
// Note that we need to create our own observer here,
|
|
365
|
+
// as the size attribute may be changed on the input element directly,
|
|
366
|
+
// which would not be captured by the synergy-element observer.
|
|
367
|
+
this.sizeObserver = new MutationObserver(entries => {
|
|
368
|
+
const input = this.getInput();
|
|
369
|
+
|
|
370
|
+
if (!input) {
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
const hasSizeChanged = entries
|
|
375
|
+
.filter(({ target }) => target === input)
|
|
376
|
+
.every(
|
|
377
|
+
entry => entry.attributeName === 'size',
|
|
378
|
+
);
|
|
379
|
+
|
|
380
|
+
if (hasSizeChanged) {
|
|
381
|
+
this.setAlertSize();
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
|
|
385
|
+
this.sizeObserver.observe(this, {
|
|
386
|
+
attributeFilter: ['size'],
|
|
387
|
+
attributes: true,
|
|
388
|
+
subtree: true,
|
|
389
|
+
});
|
|
390
|
+
|
|
351
391
|
// #717: Make sure to remove to rerun validation when
|
|
352
392
|
// disabled or readonly properties change on the input
|
|
353
393
|
this.observer = new MutationObserver(entries => {
|
|
@@ -357,10 +397,9 @@ export default class SynValidate extends SynergyElement {
|
|
|
357
397
|
return;
|
|
358
398
|
}
|
|
359
399
|
|
|
400
|
+
// Check if the input is disabled or readonly
|
|
360
401
|
const hasDisabledOrReadonly = entries
|
|
361
|
-
// Only check for changes on the input element
|
|
362
402
|
.filter(({ target }) => target === input)
|
|
363
|
-
// Check if the input is disabled or readonly
|
|
364
403
|
.every(entry => {
|
|
365
404
|
const target = entry.target as HTMLInputElement;
|
|
366
405
|
return target.hasAttribute('disabled') || target.hasAttribute('readonly');
|
|
@@ -373,7 +412,7 @@ export default class SynValidate extends SynergyElement {
|
|
|
373
412
|
// When using a synergy element, we need to check the validity after the element is updated,
|
|
374
413
|
// as we cannot rely on the validity state of the element itself.
|
|
375
414
|
// Unfortunately, this depends on used browser :(.
|
|
376
|
-
const waitForPromise = input
|
|
415
|
+
const waitForPromise = isSynergyElement(input)
|
|
377
416
|
? input.updateComplete
|
|
378
417
|
: Promise.resolve();
|
|
379
418
|
|
|
@@ -396,6 +435,7 @@ export default class SynValidate extends SynergyElement {
|
|
|
396
435
|
super.disconnectedCallback();
|
|
397
436
|
this.controller.abort();
|
|
398
437
|
this?.observer?.disconnect();
|
|
438
|
+
this?.sizeObserver?.disconnect();
|
|
399
439
|
}
|
|
400
440
|
|
|
401
441
|
private renderInlineValidation() {
|
|
@@ -408,6 +448,7 @@ export default class SynValidate extends SynergyElement {
|
|
|
408
448
|
open
|
|
409
449
|
exportparts="base:alert__base,message:alert__message,icon:alert__icon"
|
|
410
450
|
part="alert"
|
|
451
|
+
size=${ifDefined(this.alertSize)}
|
|
411
452
|
variant="danger"
|
|
412
453
|
>
|
|
413
454
|
${!this.hideIcon
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Migration to SICK 2025
|
|
2
2
|
|
|
3
|
-
> ⚠️ **
|
|
4
|
-
|
|
5
|
-
> It is currently not advised to use the new version in production, as we are still finalizing the
|
|
3
|
+
> ⚠️ **Update in progress:** Some features may not be fully implemented yet. See the [GitHub SICK 2025 theme update board](https://github.com/orgs/synergy-design-system/projects/2/views/37) for updates.
|
|
4
|
+
>
|
|
5
|
+
> It is currently not advised to use the new version in production, as we are still finalizing the update process.
|
|
6
6
|
> However, you can start preparing your codebase for the upcoming changes.
|
|
7
7
|
|
|
8
|
+
This guide details all steps that are needed to migrate from the SICK 2018 to the new SICK 2025 theme.
|
|
9
|
+
This guide assumes you are using Synergy version 2.
|
|
10
|
+
Synergy version 3 will apply most manual steps outlined in this guide automatically.
|
|
11
|
+
|
|
8
12
|
---
|
|
9
13
|
|
|
10
14
|
## Migration Checklist: Quick Overview
|
|
11
15
|
|
|
12
|
-
- [ ] Update
|
|
16
|
+
- [ ] Update `@synergy-design-system/components` to the latest stable 2.x version (e.g. `"^2.0.0"`)
|
|
17
|
+
- [ ] Update `@synergy-design-system/tokens` to the latest stable 2.x version (e.g. `"^2.0.0"`)
|
|
18
|
+
- [ ] Update `@synergy-design-system/assets` to the latest stable 1.x version (e.g. `"^1.0.0"`)
|
|
19
|
+
- [ ] Update `@synergy-design-system/styles` to the latest stable 1.x version (e.g. `"^1.0.0"`)
|
|
13
20
|
- [ ] Call `setSystemIconLibrary('sick2025')` before rendering components
|
|
14
21
|
- [ ] Copy new icons to `/assets/icons/`
|
|
15
22
|
- [ ] Import new CSS themes (`sick2025_light.css`, `sick2025_dark.css`)
|
|
@@ -18,7 +25,7 @@
|
|
|
18
25
|
|
|
19
26
|
---
|
|
20
27
|
|
|
21
|
-
## Release Highlights:
|
|
28
|
+
## Release Highlights: SICK 2025
|
|
22
29
|
|
|
23
30
|
- **Brand appearance:** Updated colors, roundings, and overall look
|
|
24
31
|
- **Fonts:** New SICK Intl font replaces Open Sans
|
|
@@ -306,7 +313,7 @@ setSystemIconLibrary("sick2025");
|
|
|
306
313
|
|
|
307
314
|
### Reference: Tokens & Themes
|
|
308
315
|
|
|
309
|
-
Synergy
|
|
316
|
+
The Synergy tokens package introduces new CSS theme files that implement the updated SICK brand appearance:
|
|
310
317
|
|
|
311
318
|
- **`sick2025_light.css`**: The new light theme featuring the SICK 2025 brand identity
|
|
312
319
|
- **`sick2025_dark.css`**: The new dark theme featuring the SICK 2025 brand identity
|
|
@@ -325,7 +332,7 @@ To use the new themes in your application:
|
|
|
325
332
|
1. **Replace theme imports** in your HTML or CSS:
|
|
326
333
|
|
|
327
334
|
```javascript
|
|
328
|
-
// New Synergy
|
|
335
|
+
// New Synergy SICK 2025 themes
|
|
329
336
|
import "@synergy-design-system/tokens/themes/sick2025_light.css";
|
|
330
337
|
import "@synergy-design-system/tokens/themes/sick2025_dark.css";
|
|
331
338
|
```
|
|
@@ -354,7 +361,7 @@ To use the new themes in your application:
|
|
|
354
361
|
|
|
355
362
|
### Reference: SICK Intl Fonts
|
|
356
363
|
|
|
357
|
-
The SICK 2025 theme introduces a new typeface called **SICK Intl** that replaces the previously used Open Sans font. When migrating to
|
|
364
|
+
The SICK 2025 theme introduces a new typeface called **SICK Intl** that replaces the previously used Open Sans font. When migrating to the SICK 2025 theme, you'll need to ensure this font is properly loaded in your application.
|
|
358
365
|
|
|
359
366
|
> **Important**: The SICK Intl font is now provided via the dedicated `@synergy-design-system/fonts` package for easy integration.
|
|
360
367
|
|
|
@@ -469,7 +476,7 @@ For better performance, you can also preload the font:
|
|
|
469
476
|
|
|
470
477
|
## Migration Steps
|
|
471
478
|
|
|
472
|
-
These steps are only needed when switching to the new
|
|
479
|
+
These steps are only needed when switching to the new SICK 2025 theme.
|
|
473
480
|
|
|
474
481
|
1. Always make sure to use the latest versions of the Synergy packages. You can check for updates using your package manager.
|
|
475
482
|
2. Call `setSystemIconLibrary` with `sick2025` to enable the new system icons.
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.74.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1133](https://github.com/synergy-design-system/synergy-design-system/pull/1133) [`82ea066`](https://github.com/synergy-design-system/synergy-design-system/commit/82ea066fa18e35831d94f22c7ac620135bc8c334) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2025-12-15
|
|
8
|
+
|
|
9
|
+
fix: 🐛 syn menu submenu rounding (#1131)
|
|
10
|
+
|
|
11
|
+
Fixes an issue with `<syn-menu-item>` when rendering submenus.
|
|
12
|
+
Submenus did not take the changed `border-radius` of `<syn-menu>` into account, leading to squared borders in the `SICK 2025` themes.
|
|
13
|
+
|
|
14
|
+
## 2.74.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- [#1129](https://github.com/synergy-design-system/synergy-design-system/pull/1129) [`102e650`](https://github.com/synergy-design-system/synergy-design-system/commit/102e6503af3a72d0d2529ed216ce6053a07b9607) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2025-12-12
|
|
19
|
+
|
|
20
|
+
feat: ✨ syn alert add sizes (#1119)
|
|
21
|
+
|
|
22
|
+
We have added a new property `size` to `<syn-alert>` that can be set to `small`, `medium` (the default) and `large`.
|
|
23
|
+
The property can also be used with Synergy `defaultSettings`.
|
|
24
|
+
|
|
25
|
+
We also adjusted `<syn-validate>` to draw the `size` attribute of its `slotted` `HTMLInputElement`. If a `size` property is found on the rendered input, it will be forwarded to the rendered `<syn-alert>` if you use `variant="inline"`.
|
|
26
|
+
|
|
3
27
|
## 2.73.0
|
|
4
28
|
|
|
5
29
|
### Minor Changes
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Alerts are used to display important messages inline or as toast notifications.
|
|
4
4
|
|
|
5
5
|
```html
|
|
6
|
-
<syn-alert open="" variant="primary">
|
|
6
|
+
<syn-alert open="" variant="primary" size="medium">
|
|
7
7
|
This is a standard alert. You can customize its content and even the icon.
|
|
8
8
|
<syn-icon
|
|
9
9
|
slot="icon"
|
|
@@ -24,7 +24,7 @@ Set the variant attribute to change the alert’s variant.
|
|
|
24
24
|
<div
|
|
25
25
|
style="display: flex; flex-direction: column; gap: var(--syn-spacing-medium)"
|
|
26
26
|
>
|
|
27
|
-
<syn-alert variant="primary" open="" id="something">
|
|
27
|
+
<syn-alert variant="primary" open="" id="something" size="medium">
|
|
28
28
|
<syn-icon
|
|
29
29
|
slot="icon"
|
|
30
30
|
name="info"
|
|
@@ -35,7 +35,7 @@ Set the variant attribute to change the alert’s variant.
|
|
|
35
35
|
You can tell by how pretty the alert is.
|
|
36
36
|
</syn-alert>
|
|
37
37
|
|
|
38
|
-
<syn-alert variant="success" open="">
|
|
38
|
+
<syn-alert variant="success" open="" size="medium">
|
|
39
39
|
<syn-icon
|
|
40
40
|
slot="icon"
|
|
41
41
|
name="check_circle"
|
|
@@ -46,7 +46,7 @@ Set the variant attribute to change the alert’s variant.
|
|
|
46
46
|
You can safely exit the app now.
|
|
47
47
|
</syn-alert>
|
|
48
48
|
|
|
49
|
-
<syn-alert variant="neutral" open="">
|
|
49
|
+
<syn-alert variant="neutral" open="" size="medium">
|
|
50
50
|
<syn-icon
|
|
51
51
|
slot="icon"
|
|
52
52
|
name="settings"
|
|
@@ -57,7 +57,7 @@ Set the variant attribute to change the alert’s variant.
|
|
|
57
57
|
Settings will take effect on next login.
|
|
58
58
|
</syn-alert>
|
|
59
59
|
|
|
60
|
-
<syn-alert variant="warning" open="">
|
|
60
|
+
<syn-alert variant="warning" open="" size="medium">
|
|
61
61
|
<syn-icon
|
|
62
62
|
slot="icon"
|
|
63
63
|
name="warning"
|
|
@@ -68,7 +68,7 @@ Set the variant attribute to change the alert’s variant.
|
|
|
68
68
|
Please login again to continue.
|
|
69
69
|
</syn-alert>
|
|
70
70
|
|
|
71
|
-
<syn-alert variant="danger" open="">
|
|
71
|
+
<syn-alert variant="danger" open="" size="medium">
|
|
72
72
|
<syn-icon
|
|
73
73
|
slot="icon"
|
|
74
74
|
name="status-error"
|
|
@@ -93,7 +93,13 @@ Set the variant attribute to change the alert’s variant.
|
|
|
93
93
|
Add the closable attribute to show a close button that will hide the alert.
|
|
94
94
|
|
|
95
95
|
```html
|
|
96
|
-
<syn-alert
|
|
96
|
+
<syn-alert
|
|
97
|
+
variant="primary"
|
|
98
|
+
open=""
|
|
99
|
+
closable=""
|
|
100
|
+
class="alert-closable"
|
|
101
|
+
size="medium"
|
|
102
|
+
>
|
|
97
103
|
<syn-icon
|
|
98
104
|
slot="icon"
|
|
99
105
|
name="info"
|
|
@@ -111,13 +117,58 @@ Add the closable attribute to show a close button that will hide the alert.
|
|
|
111
117
|
Icons are optional. Simply omit the icon slot if you don’t want them.
|
|
112
118
|
|
|
113
119
|
```html
|
|
114
|
-
<syn-alert variant="primary" open="">
|
|
120
|
+
<syn-alert variant="primary" open="" size="medium">
|
|
115
121
|
Nothing fancy here, just a simple alert.
|
|
116
122
|
</syn-alert>
|
|
117
123
|
```
|
|
118
124
|
|
|
119
125
|
---
|
|
120
126
|
|
|
127
|
+
## Sizes
|
|
128
|
+
|
|
129
|
+
Use the size attribute to change an alert’s size.
|
|
130
|
+
|
|
131
|
+
```html
|
|
132
|
+
<div
|
|
133
|
+
style="display: flex; flex-direction: column; gap: var(--syn-spacing-large)"
|
|
134
|
+
>
|
|
135
|
+
<syn-alert variant="primary" open="" size="small">
|
|
136
|
+
<syn-icon
|
|
137
|
+
slot="icon"
|
|
138
|
+
name="info"
|
|
139
|
+
aria-hidden="true"
|
|
140
|
+
library="default"
|
|
141
|
+
></syn-icon>
|
|
142
|
+
<strong>This is size small</strong><br />
|
|
143
|
+
Nothing fancy here, just a simple alert.
|
|
144
|
+
</syn-alert>
|
|
145
|
+
|
|
146
|
+
<syn-alert variant="primary" open="" size="medium">
|
|
147
|
+
<syn-icon
|
|
148
|
+
slot="icon"
|
|
149
|
+
name="info"
|
|
150
|
+
aria-hidden="true"
|
|
151
|
+
library="default"
|
|
152
|
+
></syn-icon>
|
|
153
|
+
<strong>This is size medium</strong><br />
|
|
154
|
+
Nothing fancy here, just a simple alert.
|
|
155
|
+
</syn-alert>
|
|
156
|
+
|
|
157
|
+
<syn-alert variant="primary" open="" size="large">
|
|
158
|
+
<syn-icon
|
|
159
|
+
slot="icon"
|
|
160
|
+
name="info"
|
|
161
|
+
aria-hidden="true"
|
|
162
|
+
library="default"
|
|
163
|
+
></syn-icon>
|
|
164
|
+
<strong>This is size large</strong><br />
|
|
165
|
+
Nothing fancy here, just a simple alert.
|
|
166
|
+
</syn-alert>
|
|
167
|
+
</div>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
121
172
|
## Duration
|
|
122
173
|
|
|
123
174
|
Set the duration attribute to automatically hide an alert after a period of time. This is useful for alerts that don’t require acknowledgement.
|
|
@@ -126,7 +177,7 @@ Set the duration attribute to automatically hide an alert after a period of time
|
|
|
126
177
|
<div class="alert-duration">
|
|
127
178
|
<syn-button variant="outline" title="" size="medium">Show Alert</syn-button>
|
|
128
179
|
|
|
129
|
-
<syn-alert variant="primary" duration="3000" closable="">
|
|
180
|
+
<syn-alert variant="primary" duration="3000" closable="" size="medium">
|
|
130
181
|
<syn-icon
|
|
131
182
|
slot="icon"
|
|
132
183
|
name="info"
|
|
@@ -161,7 +212,7 @@ To display an alert as a toast notification, or “toast”, create the alert an
|
|
|
161
212
|
<syn-button title="" variant="outline" size="medium">Danger</syn-button>
|
|
162
213
|
</div>
|
|
163
214
|
|
|
164
|
-
<syn-alert variant="primary" duration="3000" closable="">
|
|
215
|
+
<syn-alert variant="primary" duration="3000" closable="" size="medium">
|
|
165
216
|
<syn-icon
|
|
166
217
|
slot="icon"
|
|
167
218
|
name="info"
|
|
@@ -172,7 +223,7 @@ To display an alert as a toast notification, or “toast”, create the alert an
|
|
|
172
223
|
You can tell by how pretty the alert is.
|
|
173
224
|
</syn-alert>
|
|
174
225
|
|
|
175
|
-
<syn-alert variant="success" duration="3000" closable="">
|
|
226
|
+
<syn-alert variant="success" duration="3000" closable="" size="medium">
|
|
176
227
|
<syn-icon
|
|
177
228
|
slot="icon"
|
|
178
229
|
name="check_circle"
|
|
@@ -183,7 +234,7 @@ To display an alert as a toast notification, or “toast”, create the alert an
|
|
|
183
234
|
You can safely exit the app now.
|
|
184
235
|
</syn-alert>
|
|
185
236
|
|
|
186
|
-
<syn-alert variant="neutral" duration="3000" closable="">
|
|
237
|
+
<syn-alert variant="neutral" duration="3000" closable="" size="medium">
|
|
187
238
|
<syn-icon
|
|
188
239
|
slot="icon"
|
|
189
240
|
name="settings"
|
|
@@ -194,7 +245,7 @@ To display an alert as a toast notification, or “toast”, create the alert an
|
|
|
194
245
|
Settings will take effect on next login.
|
|
195
246
|
</syn-alert>
|
|
196
247
|
|
|
197
|
-
<syn-alert variant="warning" duration="3000" closable="">
|
|
248
|
+
<syn-alert variant="warning" duration="3000" closable="" size="medium">
|
|
198
249
|
<syn-icon
|
|
199
250
|
slot="icon"
|
|
200
251
|
name="warning"
|
|
@@ -205,7 +256,7 @@ To display an alert as a toast notification, or “toast”, create the alert an
|
|
|
205
256
|
Please login again to continue.
|
|
206
257
|
</syn-alert>
|
|
207
258
|
|
|
208
|
-
<syn-alert variant="danger" duration="3000" closable="">
|
|
259
|
+
<syn-alert variant="danger" duration="3000" closable="" size="medium">
|
|
209
260
|
<syn-icon
|
|
210
261
|
slot="icon"
|
|
211
262
|
name="status-error"
|
|
@@ -84,6 +84,59 @@ Use hide-icon to hide the icon in inline style. This is especially useful when s
|
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
87
|
+
## Sizes
|
|
88
|
+
|
|
89
|
+
In development use the size attribute of the form element e.g. syn-input to set the size of the inline syn-validate automatically.
|
|
90
|
+
|
|
91
|
+
```html
|
|
92
|
+
<form id="components-syn-validate--sizes-validate-demo-form">
|
|
93
|
+
<div
|
|
94
|
+
style="display: flex; flex-direction: column; gap: var(--syn-spacing-large)"
|
|
95
|
+
>
|
|
96
|
+
<syn-validate eager="" variant="inline" on="">
|
|
97
|
+
<syn-input
|
|
98
|
+
label="Inline Validation"
|
|
99
|
+
type="email"
|
|
100
|
+
value="team(at)synergy.com"
|
|
101
|
+
size="small"
|
|
102
|
+
title=""
|
|
103
|
+
form=""
|
|
104
|
+
></syn-input>
|
|
105
|
+
</syn-validate>
|
|
106
|
+
|
|
107
|
+
<syn-validate eager="" variant="inline" on="">
|
|
108
|
+
<syn-input
|
|
109
|
+
label="Inline Validation"
|
|
110
|
+
type="email"
|
|
111
|
+
value="team(at)synergy.com"
|
|
112
|
+
size="medium"
|
|
113
|
+
title=""
|
|
114
|
+
form=""
|
|
115
|
+
></syn-input>
|
|
116
|
+
</syn-validate>
|
|
117
|
+
|
|
118
|
+
<syn-validate eager="" variant="inline" on="">
|
|
119
|
+
<syn-input
|
|
120
|
+
label="Inline Validation"
|
|
121
|
+
type="email"
|
|
122
|
+
value="team(at)synergy.com"
|
|
123
|
+
size="large"
|
|
124
|
+
title=""
|
|
125
|
+
form=""
|
|
126
|
+
></syn-input>
|
|
127
|
+
</syn-validate>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<p>
|
|
131
|
+
<syn-button type="submit" title="" variant="outline" size="medium"
|
|
132
|
+
>Submit</syn-button
|
|
133
|
+
>
|
|
134
|
+
</p>
|
|
135
|
+
</form>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
87
140
|
## Live
|
|
88
141
|
|
|
89
142
|
Use the live value for the on attribute to validate on every input change (e. g. typing a character or checking a checkbox.) instead of form submit. This will automatically bind to the input and blur events.👨💻 Additional developer Information:Please ensure, that you really need live validation for your use case as this can have implications on accessibility.
|
package/package.json
CHANGED
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"serve-handler": "^6.1.6",
|
|
29
29
|
"ts-jest": "^29.4.0",
|
|
30
30
|
"typescript": "^5.9.3",
|
|
31
|
-
"@synergy-design-system/
|
|
32
|
-
"@synergy-design-system/components": "2.73.0",
|
|
31
|
+
"@synergy-design-system/components": "2.74.1",
|
|
33
32
|
"@synergy-design-system/eslint-config-syn": "^0.1.0",
|
|
34
33
|
"@synergy-design-system/styles": "1.9.0",
|
|
34
|
+
"@synergy-design-system/docs": "0.1.0",
|
|
35
35
|
"@synergy-design-system/fonts": "1.0.0",
|
|
36
36
|
"@synergy-design-system/tokens": "^2.46.0"
|
|
37
37
|
},
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"directory": "packages/mcp"
|
|
68
68
|
},
|
|
69
69
|
"type": "module",
|
|
70
|
-
"version": "1.
|
|
70
|
+
"version": "1.38.1",
|
|
71
71
|
"scripts": {
|
|
72
72
|
"build": "pnpm run build:ts && pnpm run build:metadata && pnpm build:hash",
|
|
73
73
|
"build:all": "pnpm run build && pnpm run build:storybook",
|