@synergy-design-system/mcp 2.8.2 → 2.10.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 +22 -0
- package/metadata/checksum.txt +1 -1
- package/metadata/packages/components/components/syn-combobox/component.angular.ts +11 -0
- package/metadata/packages/components/components/syn-combobox/component.ts +5 -0
- package/metadata/packages/components/components/syn-combobox/component.vue +5 -0
- 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/static/CHANGELOG.md +32 -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 +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1216](https://github.com/synergy-design-system/synergy-design-system/pull/1216) [`fa7ebf8`](https://github.com/synergy-design-system/synergy-design-system/commit/fa7ebf8ca9aef4e246f75688711c7dbb24cb25cb) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-03-06
|
|
8
|
+
|
|
9
|
+
feat: ✨ `<syn-combobox>` should support `maxlength` attribute (#1184)
|
|
10
|
+
|
|
11
|
+
This release adds the ability to set a maximal input length for `<syn-combobox>` via `<syn-combobox maxlength="5">`.
|
|
12
|
+
This provides the ability to set the maximal amount of free text input for the comboboxes input field.
|
|
13
|
+
It still allows to use options from the list of available options and works as a restriction for free text only.
|
|
14
|
+
|
|
15
|
+
## 2.9.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [#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
|
|
20
|
+
|
|
21
|
+
feat: ✨ Add new component `<syn-tag-group>` (#1152)
|
|
22
|
+
|
|
23
|
+
Adds a new component `<syn-tag-group>`, including templates how to use this component.
|
|
24
|
+
|
|
3
25
|
## 2.8.2
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/metadata/checksum.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
ad2a168f719ee483e665e3c0bcea9fe9
|
|
@@ -265,6 +265,17 @@ and `hide()` methods and this attribute will reflect the combobox's open state.
|
|
|
265
265
|
return this.nativeElement.label;
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
+
/**
|
|
269
|
+
* The maximum length of input that will be considered valid.
|
|
270
|
+
*/
|
|
271
|
+
@Input()
|
|
272
|
+
set maxlength(v: SynCombobox['maxlength']) {
|
|
273
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.maxlength = v));
|
|
274
|
+
}
|
|
275
|
+
get maxlength(): SynCombobox['maxlength'] {
|
|
276
|
+
return this.nativeElement.maxlength;
|
|
277
|
+
}
|
|
278
|
+
|
|
268
279
|
/**
|
|
269
280
|
* The preferred placement of the combobox's menu.
|
|
270
281
|
Note that the actual placement may vary as needed to keep the listbox inside of the viewport.
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
/* eslint-disable no-underscore-dangle */
|
|
4
4
|
import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
5
5
|
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
6
7
|
import { html } from 'lit';
|
|
7
8
|
import { property, query, state } from 'lit/decorators.js';
|
|
8
9
|
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
@@ -228,6 +229,9 @@ export default class SynCombobox extends SynergyElement implements SynergyFormCo
|
|
|
228
229
|
/** The combobox's label. If you need to display HTML, use the `label` slot instead. */
|
|
229
230
|
@property() label = '';
|
|
230
231
|
|
|
232
|
+
/** The maximum length of input that will be considered valid. */
|
|
233
|
+
@property({ type: Number }) maxlength: number;
|
|
234
|
+
|
|
231
235
|
/**
|
|
232
236
|
* The preferred placement of the combobox's menu.
|
|
233
237
|
* Note that the actual placement may vary as needed to keep the listbox inside of the viewport.
|
|
@@ -1563,6 +1567,7 @@ export default class SynCombobox extends SynergyElement implements SynergyFormCo
|
|
|
1563
1567
|
.disabled=${this.disabled}
|
|
1564
1568
|
.readOnly=${this.readonly}
|
|
1565
1569
|
.value=${this.displayLabel}
|
|
1570
|
+
maxlength=${ifDefined(this.maxlength)}
|
|
1566
1571
|
autocomplete="off"
|
|
1567
1572
|
spellcheck="false"
|
|
1568
1573
|
autocapitalize="off"
|
|
@@ -135,6 +135,11 @@ and `hide()` methods and this attribute will reflect the combobox's open state.
|
|
|
135
135
|
*/
|
|
136
136
|
label?: SynCombobox['label'];
|
|
137
137
|
|
|
138
|
+
/**
|
|
139
|
+
* The maximum length of input that will be considered valid.
|
|
140
|
+
*/
|
|
141
|
+
maxlength?: SynCombobox['maxlength'];
|
|
142
|
+
|
|
138
143
|
/**
|
|
139
144
|
* The preferred placement of the combobox's menu.
|
|
140
145
|
Note that the actual placement may vary as needed to keep the listbox inside of the viewport.
|
|
@@ -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>
|
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1216](https://github.com/synergy-design-system/synergy-design-system/pull/1216) [`fa7ebf8`](https://github.com/synergy-design-system/synergy-design-system/commit/fa7ebf8ca9aef4e246f75688711c7dbb24cb25cb) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-03-06
|
|
8
|
+
|
|
9
|
+
feat: ✨ `<syn-combobox>` should support `maxlength` attribute (#1184)
|
|
10
|
+
|
|
11
|
+
This release adds the ability to set a maximal input length for `<syn-combobox>` via `<syn-combobox maxlength="5">`.
|
|
12
|
+
This provides the ability to set the maximal amount of free text input for the comboboxes input field.
|
|
13
|
+
It still allows to use options from the list of available options and works as a restriction for free text only.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies []:
|
|
18
|
+
- @synergy-design-system/tokens@3.8.0
|
|
19
|
+
|
|
20
|
+
## 3.7.0
|
|
21
|
+
|
|
22
|
+
### Minor Changes
|
|
23
|
+
|
|
24
|
+
- [#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
|
|
25
|
+
|
|
26
|
+
feat: ✨ Add new component `<syn-tag-group>` (#1152)
|
|
27
|
+
|
|
28
|
+
Adds a new component `<syn-tag-group>`, including templates how to use this component.
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [[`c7f6a8b`](https://github.com/synergy-design-system/synergy-design-system/commit/c7f6a8bc8ed2eb76c5f9510c1d499f6feca5d302)]:
|
|
33
|
+
- @synergy-design-system/tokens@3.7.0
|
|
34
|
+
|
|
3
35
|
## 3.6.2
|
|
4
36
|
|
|
5
37
|
### Patch Changes
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.8.0
|
|
4
|
+
|
|
5
|
+
## 3.7.0
|
|
6
|
+
|
|
7
|
+
### Minor Changes
|
|
8
|
+
|
|
9
|
+
- [#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
|
|
10
|
+
|
|
11
|
+
feat: ✨ Add new component `<syn-tag-group>` (#1152)
|
|
12
|
+
|
|
13
|
+
Adds a new component `<syn-tag-group>`, including templates how to use this component.
|
|
14
|
+
|
|
3
15
|
## 3.6.2
|
|
4
16
|
|
|
5
17
|
## 3.6.1
|