@synergy-design-system/mcp 2.8.1 → 2.9.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 +20 -0
- package/metadata/checksum.txt +1 -1
- package/metadata/packages/components/components/syn-tag-group/component.angular.ts +83 -0
- package/metadata/packages/components/components/syn-tag-group/component.react.ts +33 -0
- package/metadata/packages/components/components/syn-tag-group/component.styles.ts +49 -0
- package/metadata/packages/components/components/syn-tag-group/component.ts +95 -0
- package/metadata/packages/components/components/syn-tag-group/component.vue +69 -0
- package/metadata/packages/components/components/syn-validate/component.ts +18 -5
- package/metadata/packages/components/static/CHANGELOG.md +28 -0
- package/metadata/packages/tokens/CHANGELOG.md +12 -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-tag-group/docs.md +269 -0
- package/metadata/static/templates/tag-group.md +833 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1193](https://github.com/synergy-design-system/synergy-design-system/pull/1193) [`c7f6a8b`](https://github.com/synergy-design-system/synergy-design-system/commit/c7f6a8bc8ed2eb76c5f9510c1d499f6feca5d302) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-03-06
|
|
8
|
+
|
|
9
|
+
feat: ✨ Add new component `<syn-tag-group>` (#1152)
|
|
10
|
+
|
|
11
|
+
Adds a new component `<syn-tag-group>`, including templates how to use this component.
|
|
12
|
+
|
|
13
|
+
## 2.8.2
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#1214](https://github.com/synergy-design-system/synergy-design-system/pull/1214) [`01c5e9c`](https://github.com/synergy-design-system/synergy-design-system/commit/01c5e9cc231c6bcc260cedc2f5d5713cf71ea254) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-03-06
|
|
18
|
+
|
|
19
|
+
fix: 🐛 Angular: `<syn-validate>` does not work when dynamically added to the DOM (#851)
|
|
20
|
+
|
|
21
|
+
This release fixes an issue that made `<syn-validate>` ignore its set `customValidationMessage` when the component gets dynamically added to the DOM in Angular. It does so by preferring the provided `customValidationMessage` over of the internally available `validationMessage`, which could be empty under certain conditions.
|
|
22
|
+
|
|
3
23
|
## 2.8.1
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/metadata/checksum.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
9b61dd848d186c06c6cdfc4646c64d6f
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------
|
|
2
|
+
// 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components
|
|
3
|
+
// Please do not edit this file directly!
|
|
4
|
+
// It will get recreated when running pnpm build.
|
|
5
|
+
// ---------------------------------------------------------------------
|
|
6
|
+
import {
|
|
7
|
+
Component,
|
|
8
|
+
ElementRef,
|
|
9
|
+
NgZone,
|
|
10
|
+
Input,
|
|
11
|
+
Output,
|
|
12
|
+
EventEmitter,
|
|
13
|
+
AfterContentInit,
|
|
14
|
+
} from '@angular/core';
|
|
15
|
+
import type { SynTagGroup } from '@synergy-design-system/components';
|
|
16
|
+
|
|
17
|
+
import '@synergy-design-system/components/components/tag-group/tag-group.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @summary A tag group is used to display multiple tags that belong together, often representing selected filters, categories, or user‑generated labels.
|
|
21
|
+
* It arranges tags in flexible rows and supports different sizes and layouts.
|
|
22
|
+
* Tags can be removable, icon‑based, or purely textual.
|
|
23
|
+
*
|
|
24
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag-group--docs
|
|
25
|
+
* @status stable
|
|
26
|
+
*
|
|
27
|
+
* @slot - The tag group's main content. Must be `<syn-tag />` elements.
|
|
28
|
+
* @slot label - The tag group's label. Alternatively, you can use the `label` attribute.
|
|
29
|
+
*
|
|
30
|
+
* @csspart base - The component's base wrapper.
|
|
31
|
+
* @csspart tag-label - The tag group's label.
|
|
32
|
+
*/
|
|
33
|
+
@Component({
|
|
34
|
+
selector: 'syn-tag-group',
|
|
35
|
+
standalone: true,
|
|
36
|
+
template: '<ng-content></ng-content>',
|
|
37
|
+
})
|
|
38
|
+
export class SynTagGroupComponent {
|
|
39
|
+
public nativeElement: SynTagGroup;
|
|
40
|
+
private _ngZone: NgZone;
|
|
41
|
+
|
|
42
|
+
constructor(e: ElementRef, ngZone: NgZone) {
|
|
43
|
+
this.nativeElement = e.nativeElement;
|
|
44
|
+
this._ngZone = ngZone;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The tag group's label.
|
|
49
|
+
* If you need to display HTML, use the `label` slot instead.
|
|
50
|
+
*/
|
|
51
|
+
@Input()
|
|
52
|
+
set label(v: SynTagGroup['label']) {
|
|
53
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.label = v));
|
|
54
|
+
}
|
|
55
|
+
get label(): SynTagGroup['label'] {
|
|
56
|
+
return this.nativeElement.label;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Controls the label position.
|
|
61
|
+
* Use 'top' to place the label above the tags, or 'start' to place it to the begin of the tag group.
|
|
62
|
+
*/
|
|
63
|
+
@Input()
|
|
64
|
+
set labelPosition(v: SynTagGroup['labelPosition']) {
|
|
65
|
+
this._ngZone.runOutsideAngular(
|
|
66
|
+
() => (this.nativeElement.labelPosition = v),
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
get labelPosition(): SynTagGroup['labelPosition'] {
|
|
70
|
+
return this.nativeElement.labelPosition;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The size that should be applied to all slotted `<syn-tag>` elements
|
|
75
|
+
*/
|
|
76
|
+
@Input()
|
|
77
|
+
set size(v: SynTagGroup['size']) {
|
|
78
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.size = v));
|
|
79
|
+
}
|
|
80
|
+
get size(): SynTagGroup['size'] {
|
|
81
|
+
return this.nativeElement.size;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------
|
|
2
|
+
// 🔒 AUTOGENERATED @synergy-design-system/react wrappers for @synergy-design-system/components
|
|
3
|
+
// Please do not edit this file directly!
|
|
4
|
+
// It will get recreated when running pnpm build.
|
|
5
|
+
// ---------------------------------------------------------------------
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import { createComponent } from '@lit/react';
|
|
8
|
+
import Component from '@synergy-design-system/components/components/tag-group/tag-group.component.js';
|
|
9
|
+
|
|
10
|
+
const tagName = 'syn-tag-group';
|
|
11
|
+
Component.define('syn-tag-group');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary A tag group is used to display multiple tags that belong together, often representing selected filters, categories, or user‑generated labels.
|
|
15
|
+
* It arranges tags in flexible rows and supports different sizes and layouts.
|
|
16
|
+
* Tags can be removable, icon‑based, or purely textual.
|
|
17
|
+
*
|
|
18
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag-group--docs
|
|
19
|
+
* @status stable
|
|
20
|
+
*
|
|
21
|
+
* @slot - The tag group's main content. Must be `<syn-tag />` elements.
|
|
22
|
+
* @slot label - The tag group's label. Alternatively, you can use the `label` attribute.
|
|
23
|
+
*
|
|
24
|
+
* @csspart base - The component's base wrapper.
|
|
25
|
+
* @csspart tag-label - The tag group's label.
|
|
26
|
+
*/
|
|
27
|
+
export const SynTagGroup = createComponent({
|
|
28
|
+
displayName: 'SynTagGroup',
|
|
29
|
+
elementClass: Component,
|
|
30
|
+
events: {},
|
|
31
|
+
react: React,
|
|
32
|
+
tagName,
|
|
33
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
|
|
3
|
+
export default css`
|
|
4
|
+
:host {
|
|
5
|
+
--tag-group-item-gap: var(--syn-spacing-x-small);
|
|
6
|
+
--tag-group-label-gap: var(--syn-spacing-x-small);
|
|
7
|
+
--tag-group-label-font: var(--syn-body-medium-semibold);
|
|
8
|
+
|
|
9
|
+
display: block;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.tag-group {
|
|
13
|
+
align-items: anchor-center;
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-wrap: wrap;
|
|
16
|
+
gap: var(--tag-group-item-gap);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Label Styles */
|
|
20
|
+
.tag-group__label {
|
|
21
|
+
color: var(--syn-input-label-color);
|
|
22
|
+
display: block;
|
|
23
|
+
font: var(--tag-group-label-font);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.tag-group--top .tag-group__label {
|
|
27
|
+
/**
|
|
28
|
+
* When calculating the margin-bottom, we have to take the gap of .tag-group into account.
|
|
29
|
+
* We dont want to remove the row-gap above, as otherwise the gap between multi line tags would be 0.
|
|
30
|
+
* By subtracting the row-gap from the label gap, we ensure that the distance between the label and the first row of tags is consistent.
|
|
31
|
+
*/
|
|
32
|
+
margin-bottom: calc(var(--tag-group-label-gap) - var(--syn-spacing-2x-small));
|
|
33
|
+
order: -1;
|
|
34
|
+
width: 100%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Size Modifiers */
|
|
38
|
+
.tag-group--small {
|
|
39
|
+
--tag-group-item-gap: var(--syn-spacing-2x-small);
|
|
40
|
+
--tag-group-label-gap: var(--syn-spacing-x-small);
|
|
41
|
+
--tag-group-label-font: var(--syn-body-small-semibold);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.tag-group--large {
|
|
45
|
+
--tag-group-item-gap: var(--syn-spacing-small);
|
|
46
|
+
--tag-group-label-gap: var(--syn-spacing-x-small);
|
|
47
|
+
--tag-group-label-font: var(--syn-body-large-semibold);
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { property, queryAssignedElements } from 'lit/decorators.js';
|
|
3
|
+
import type { CSSResultGroup } from 'lit';
|
|
4
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
5
|
+
import { HasSlotController } from '../../internal/slot.js';
|
|
6
|
+
import SynergyElement from '../../internal/synergy-element.js';
|
|
7
|
+
import { watch } from '../../internal/watch.js';
|
|
8
|
+
import componentStyles from '../../styles/component.styles.js';
|
|
9
|
+
import styles from './tag-group.styles.js';
|
|
10
|
+
import type SynTag from '../tag/tag.component.js';
|
|
11
|
+
import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary A tag group is used to display multiple tags that belong together, often representing selected filters, categories, or user‑generated labels.
|
|
15
|
+
* It arranges tags in flexible rows and supports different sizes and layouts.
|
|
16
|
+
* Tags can be removable, icon‑based, or purely textual.
|
|
17
|
+
*
|
|
18
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag-group--docs
|
|
19
|
+
* @status stable
|
|
20
|
+
*
|
|
21
|
+
* @slot - The tag group's main content. Must be `<syn-tag />` elements.
|
|
22
|
+
* @slot label - The tag group's label. Alternatively, you can use the `label` attribute.
|
|
23
|
+
*
|
|
24
|
+
* @csspart base - The component's base wrapper.
|
|
25
|
+
* @csspart tag-label - The tag group's label.
|
|
26
|
+
*/
|
|
27
|
+
@enableDefaultSettings('SynTagGroup')
|
|
28
|
+
export default class SynTagGroup extends SynergyElement {
|
|
29
|
+
static styles: CSSResultGroup = [
|
|
30
|
+
componentStyles,
|
|
31
|
+
styles,
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
@queryAssignedElements({ selector: 'syn-tag' }) tagsInDefaultSlot!: SynTag[];
|
|
35
|
+
|
|
36
|
+
private readonly hasSlotController = new HasSlotController(this, 'label');
|
|
37
|
+
|
|
38
|
+
/** The tag group's label. If you need to display HTML, use the `label` slot instead. */
|
|
39
|
+
@property() label = '';
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Controls the label position. Use 'top' to place the label above the tags, or 'start' to place it to the begin of the tag group.
|
|
43
|
+
*/
|
|
44
|
+
@property({ attribute: 'label-position', reflect: true }) labelPosition: 'top' | 'start' = 'top';
|
|
45
|
+
|
|
46
|
+
/** The size that should be applied to all slotted `<syn-tag>` elements */
|
|
47
|
+
@property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';
|
|
48
|
+
|
|
49
|
+
private adjustTagSize() {
|
|
50
|
+
this.tagsInDefaultSlot.forEach(tag => {
|
|
51
|
+
tag.setAttribute('size', this.size);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@watch('size', { waitUntilFirstUpdate: true })
|
|
56
|
+
handleSizeChange() {
|
|
57
|
+
this.adjustTagSize();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
handleSlotChange() {
|
|
61
|
+
this.adjustTagSize();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
render() {
|
|
65
|
+
const hasLabelSlot = this.hasSlotController.test('label');
|
|
66
|
+
const hasLabel = this.label ? true : !!hasLabelSlot;
|
|
67
|
+
|
|
68
|
+
/* eslint-disable @typescript-eslint/unbound-method */
|
|
69
|
+
return html`
|
|
70
|
+
<div
|
|
71
|
+
part="base"
|
|
72
|
+
class=${classMap({
|
|
73
|
+
'tag-group': true,
|
|
74
|
+
'tag-group--large': this.size === 'large',
|
|
75
|
+
'tag-group--medium': this.size === 'medium',
|
|
76
|
+
'tag-group--small': this.size === 'small',
|
|
77
|
+
'tag-group--start': this.labelPosition === 'start',
|
|
78
|
+
'tag-group--top': this.labelPosition === 'top',
|
|
79
|
+
})}
|
|
80
|
+
>
|
|
81
|
+
|
|
82
|
+
<span
|
|
83
|
+
part="tag-label"
|
|
84
|
+
class="tag-group__label"
|
|
85
|
+
aria-hidden=${hasLabel ? 'false' : 'true'}
|
|
86
|
+
>
|
|
87
|
+
<slot name="label">${this.label}</slot>
|
|
88
|
+
</span>
|
|
89
|
+
|
|
90
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
91
|
+
</div>
|
|
92
|
+
`;
|
|
93
|
+
/* eslint-enable @typescript-eslint/unbound-method */
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
// ---------------------------------------------------------------------
|
|
3
|
+
// 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
|
|
4
|
+
// Please do not edit this file directly!
|
|
5
|
+
// It will get recreated when running pnpm build.
|
|
6
|
+
// ---------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @summary A tag group is used to display multiple tags that belong together, often representing selected filters, categories, or user‑generated labels.
|
|
10
|
+
* It arranges tags in flexible rows and supports different sizes and layouts.
|
|
11
|
+
* Tags can be removable, icon‑based, or purely textual.
|
|
12
|
+
*
|
|
13
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tag-group--docs
|
|
14
|
+
* @status stable
|
|
15
|
+
*
|
|
16
|
+
* @slot - The tag group's main content. Must be `<syn-tag />` elements.
|
|
17
|
+
* @slot label - The tag group's label. Alternatively, you can use the `label` attribute.
|
|
18
|
+
*
|
|
19
|
+
* @csspart base - The component's base wrapper.
|
|
20
|
+
* @csspart tag-label - The tag group's label.
|
|
21
|
+
*/
|
|
22
|
+
import { computed, ref } from 'vue';
|
|
23
|
+
import '@synergy-design-system/components/components/tag-group/tag-group.js';
|
|
24
|
+
|
|
25
|
+
import type { SynTagGroup } from '@synergy-design-system/components';
|
|
26
|
+
|
|
27
|
+
// DOM Reference to the element
|
|
28
|
+
const nativeElement = ref<SynTagGroup>();
|
|
29
|
+
|
|
30
|
+
defineExpose({
|
|
31
|
+
nativeElement,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// Map attributes
|
|
35
|
+
const props = defineProps<{
|
|
36
|
+
/**
|
|
37
|
+
* The tag group's label.
|
|
38
|
+
* If you need to display HTML, use the `label` slot instead.
|
|
39
|
+
*/
|
|
40
|
+
label?: SynTagGroup['label'];
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Controls the label position.
|
|
44
|
+
* Use 'top' to place the label above the tags, or 'start' to place it to the begin of the tag group.
|
|
45
|
+
*/
|
|
46
|
+
labelPosition?: SynTagGroup['labelPosition'];
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The size that should be applied to all slotted `<syn-tag>` elements
|
|
50
|
+
*/
|
|
51
|
+
size?: SynTagGroup['size'];
|
|
52
|
+
}>();
|
|
53
|
+
|
|
54
|
+
// Make sure prop binding only forwards the props that are actually there.
|
|
55
|
+
// This is needed because :param="param" also adds an empty attribute
|
|
56
|
+
// when using web-components, which breaks optional arguments like size in SynInput
|
|
57
|
+
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
58
|
+
const visibleProps = computed(() =>
|
|
59
|
+
Object.fromEntries(
|
|
60
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
61
|
+
),
|
|
62
|
+
);
|
|
63
|
+
</script>
|
|
64
|
+
|
|
65
|
+
<template>
|
|
66
|
+
<syn-tag-group v-bind="visibleProps" ref="nativeElement">
|
|
67
|
+
<slot></slot>
|
|
68
|
+
</syn-tag-group>
|
|
69
|
+
</template>
|
|
@@ -283,6 +283,16 @@ export default class SynValidate extends SynergyElement {
|
|
|
283
283
|
});
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
+
/**
|
|
287
|
+
* #851: Get the validation message that should be displayed to the user.
|
|
288
|
+
* Prioritizes customValidationMessage over the internal validationMessage state.
|
|
289
|
+
* This is needed because frameworks may clear the internal validation message on
|
|
290
|
+
* dynamically rendered elements, but the customValidationMessage is still valid.
|
|
291
|
+
*/
|
|
292
|
+
private getDisplayValidationMessage(): string {
|
|
293
|
+
return this.customValidationMessage || this.validationMessage;
|
|
294
|
+
}
|
|
295
|
+
|
|
286
296
|
private setValidationMessage(input: HTMLInputElement) {
|
|
287
297
|
const { customValidationMessage } = this;
|
|
288
298
|
const validationMessage = customValidationMessage || input.validationMessage;
|
|
@@ -514,10 +524,11 @@ export default class SynValidate extends SynergyElement {
|
|
|
514
524
|
// we need to update the content and show or hide it based on the validation state and focus state.
|
|
515
525
|
// We have to do this manually, as there is a problem when updating open and content at the same time.
|
|
516
526
|
// The order is critical: fill before showing, don´t update the content during hide.
|
|
517
|
-
const
|
|
527
|
+
const displayMessage = this.getDisplayValidationMessage();
|
|
528
|
+
const shouldShowTooltip = !this.isValid && displayMessage && this.hasFocus;
|
|
518
529
|
|
|
519
530
|
if (shouldShowTooltip) {
|
|
520
|
-
tooltip.content =
|
|
531
|
+
tooltip.content = displayMessage;
|
|
521
532
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
522
533
|
tooltip.show();
|
|
523
534
|
} else {
|
|
@@ -527,7 +538,9 @@ export default class SynValidate extends SynergyElement {
|
|
|
527
538
|
}
|
|
528
539
|
|
|
529
540
|
private renderInlineValidation() {
|
|
530
|
-
|
|
541
|
+
const messageToShow = this.getDisplayValidationMessage();
|
|
542
|
+
|
|
543
|
+
if (this.variant !== 'inline' || !messageToShow) {
|
|
531
544
|
return '';
|
|
532
545
|
}
|
|
533
546
|
|
|
@@ -543,7 +556,7 @@ export default class SynValidate extends SynergyElement {
|
|
|
543
556
|
? html`<syn-icon slot="icon" name="status-error" library="system"></syn-icon>`
|
|
544
557
|
: ''
|
|
545
558
|
}
|
|
546
|
-
${
|
|
559
|
+
${messageToShow}
|
|
547
560
|
</syn-alert>
|
|
548
561
|
`;
|
|
549
562
|
}
|
|
@@ -555,7 +568,7 @@ export default class SynValidate extends SynergyElement {
|
|
|
555
568
|
<syn-tooltip
|
|
556
569
|
.anchor=${getActualInputElement(this.getInput()) as Element ?? undefined}
|
|
557
570
|
exportparts="base:tooltip__base,base__popup:tooltip__popup,base__arrow:tooltip__arrow,body:tooltip__body"
|
|
558
|
-
.open=${this.eager ? !this.isValid && this.
|
|
571
|
+
.open=${this.eager ? !this.isValid && this.getDisplayValidationMessage().length > 0 : false}
|
|
559
572
|
part="tooltip"
|
|
560
573
|
placement="bottom"
|
|
561
574
|
trigger="manual"
|
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1193](https://github.com/synergy-design-system/synergy-design-system/pull/1193) [`c7f6a8b`](https://github.com/synergy-design-system/synergy-design-system/commit/c7f6a8bc8ed2eb76c5f9510c1d499f6feca5d302) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-03-06
|
|
8
|
+
|
|
9
|
+
feat: ✨ Add new component `<syn-tag-group>` (#1152)
|
|
10
|
+
|
|
11
|
+
Adds a new component `<syn-tag-group>`, including templates how to use this component.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [[`c7f6a8b`](https://github.com/synergy-design-system/synergy-design-system/commit/c7f6a8bc8ed2eb76c5f9510c1d499f6feca5d302)]:
|
|
16
|
+
- @synergy-design-system/tokens@3.7.0
|
|
17
|
+
|
|
18
|
+
## 3.6.2
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- [#1214](https://github.com/synergy-design-system/synergy-design-system/pull/1214) [`01c5e9c`](https://github.com/synergy-design-system/synergy-design-system/commit/01c5e9cc231c6bcc260cedc2f5d5713cf71ea254) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-03-06
|
|
23
|
+
|
|
24
|
+
fix: 🐛 Angular: `<syn-validate>` does not work when dynamically added to the DOM (#851)
|
|
25
|
+
|
|
26
|
+
This release fixes an issue that made `<syn-validate>` ignore its set `customValidationMessage` when the component gets dynamically added to the DOM in Angular. It does so by preferring the provided `customValidationMessage` over of the internally available `validationMessage`, which could be empty under certain conditions.
|
|
27
|
+
|
|
28
|
+
- Updated dependencies []:
|
|
29
|
+
- @synergy-design-system/tokens@3.6.2
|
|
30
|
+
|
|
3
31
|
## 3.6.1
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1193](https://github.com/synergy-design-system/synergy-design-system/pull/1193) [`c7f6a8b`](https://github.com/synergy-design-system/synergy-design-system/commit/c7f6a8bc8ed2eb76c5f9510c1d499f6feca5d302) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-03-06
|
|
8
|
+
|
|
9
|
+
feat: ✨ Add new component `<syn-tag-group>` (#1152)
|
|
10
|
+
|
|
11
|
+
Adds a new component `<syn-tag-group>`, including templates how to use this component.
|
|
12
|
+
|
|
13
|
+
## 3.6.2
|
|
14
|
+
|
|
3
15
|
## 3.6.1
|
|
4
16
|
|
|
5
17
|
## 3.6.0
|