@synergy-design-system/mcp 2.4.1 → 2.6.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 +25 -0
- package/metadata/checksum.txt +1 -1
- package/metadata/packages/components/components/syn-accordion/component.ts +1 -1
- package/metadata/packages/components/components/syn-details/component.styles.ts +114 -16
- package/metadata/packages/components/components/syn-details/component.ts +3 -3
- package/metadata/packages/components/components/syn-header/component.angular.ts +16 -0
- package/metadata/packages/components/components/syn-header/component.react.ts +2 -0
- package/metadata/packages/components/components/syn-header/component.styles.ts +14 -0
- package/metadata/packages/components/components/syn-header/component.ts +8 -0
- package/metadata/packages/components/components/syn-header/component.vue +8 -0
- package/metadata/packages/components/static/CHANGELOG.md +35 -0
- package/metadata/packages/styles/index.css +1 -1
- package/metadata/packages/styles/link-list.css +1 -1
- package/metadata/packages/styles/link.css +1 -1
- package/metadata/packages/styles/tables.css +1 -1
- package/metadata/packages/styles/typography.css +1 -1
- package/metadata/packages/tokens/CHANGELOG.md +14 -0
- package/metadata/packages/tokens/dark.css +13 -11
- package/metadata/packages/tokens/index.js +56 -46
- package/metadata/packages/tokens/light.css +14 -12
- package/metadata/packages/tokens/sick2018_dark.css +14 -12
- package/metadata/packages/tokens/sick2018_light.css +14 -12
- package/metadata/packages/tokens/sick2025_dark.css +13 -11
- package/metadata/packages/tokens/sick2025_light.css +14 -12
- package/metadata/static/components/syn-accordion/docs.md +45 -0
- package/metadata/static/components/syn-details/docs.md +46 -29
- package/metadata/static/components/syn-header/docs.md +10 -0
- package/metadata/static/templates/appshell.md +8 -8
- package/metadata/static/templates/footer.md +1 -1
- package/package.json +4 -4
- package/metadata/packages/components/components/syn-details/component.custom.styles.ts +0 -133
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1188](https://github.com/synergy-design-system/synergy-design-system/pull/1188) [`c60deb9`](https://github.com/synergy-design-system/synergy-design-system/commit/c60deb9da1175404ddaa25b2c19ce9e182205cd2) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-02-19
|
|
8
|
+
|
|
9
|
+
feat: ✨ `<syn-header>` sticky behavior (#529)
|
|
10
|
+
|
|
11
|
+
`<syn-header>` now has a new `sticky` boolean property that can be used when a sticky header is needed, e.g. `<syn-header sticky></syn-header>`.
|
|
12
|
+
This adds `position: sticky`, as well as a small shadow that indicates that the header is stuck.
|
|
13
|
+
You can configure the `top` position via the new `--sticky-position` css property (defaults to `0` to make it stick to the top).
|
|
14
|
+
|
|
15
|
+
## 2.5.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [#1191](https://github.com/synergy-design-system/synergy-design-system/pull/1191) [`30f3b74`](https://github.com/synergy-design-system/synergy-design-system/commit/30f3b74891cf693735a792a901c5b23b016c71b8) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-02-19
|
|
20
|
+
|
|
21
|
+
feat: ✨ Add new size `small` to `<syn-details>` and `<syn-accordion>` (#1154)
|
|
22
|
+
|
|
23
|
+
The `<syn-details>` element was the only element with a `size` property that had no `small` variant.
|
|
24
|
+
This was now added for consistency with other elements that have a `size` property.
|
|
25
|
+
|
|
26
|
+
This can be used via `<syn-details size="small"></syn-details>` or `<syn-accordion size="small"></syn-accordion>`.
|
|
27
|
+
|
|
3
28
|
## 2.4.1
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/metadata/checksum.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
b0413e89368486e50f5f493fa46fe72b
|
|
@@ -38,7 +38,7 @@ export default class SynAccordion extends SynergyElement {
|
|
|
38
38
|
@property({ reflect: true, type: Boolean }) contained = false;
|
|
39
39
|
|
|
40
40
|
/** The size that should be applied to all slotted `<syn-details>` elements */
|
|
41
|
-
@property({ reflect: true }) size: 'medium' | 'large' = 'medium';
|
|
41
|
+
@property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';
|
|
42
42
|
|
|
43
43
|
private adjustDetailsSize() {
|
|
44
44
|
this.detailsInDefaultSlot.forEach(detail => {
|
|
@@ -2,30 +2,43 @@
|
|
|
2
2
|
import { css } from 'lit';
|
|
3
3
|
|
|
4
4
|
export default css`
|
|
5
|
-
/* stylelint-disable */
|
|
6
5
|
:host {
|
|
6
|
+
/* Size-dependent custom properties (default to medium values) */
|
|
7
|
+
--details-header-padding: var(--syn-spacing-medium-large) 0;
|
|
8
|
+
--details-content-padding: var(--syn-spacing-medium) 0 var(--syn-spacing-large);
|
|
9
|
+
--details-summary-font: var(--syn-body-medium-bold);
|
|
10
|
+
--details-content-font-size: var(--syn-font-size-small);
|
|
11
|
+
--details-icon-size: var(--syn-spacing-large);
|
|
12
|
+
--details-slotted-icon-size: var(--syn-spacing-large);
|
|
13
|
+
|
|
14
|
+
/* Contained variant custom properties */
|
|
15
|
+
--details-header-padding-contained: var(--syn-spacing-medium-large) var(--syn-spacing-large);
|
|
16
|
+
--details-content-padding-contained: var(--syn-spacing-medium) var(--syn-spacing-large) var(--syn-spacing-large);
|
|
17
|
+
|
|
7
18
|
display: block;
|
|
8
19
|
}
|
|
9
20
|
|
|
10
21
|
.details {
|
|
11
|
-
|
|
12
|
-
border
|
|
13
|
-
|
|
22
|
+
background-color: transparent;
|
|
23
|
+
border: 1px solid var(--syn-panel-border-color);
|
|
24
|
+
border-radius: var(--syn-border-radius-none);
|
|
25
|
+
border-width: 0 0 var(--syn-border-width-small);
|
|
14
26
|
overflow-anchor: none;
|
|
15
27
|
}
|
|
16
28
|
|
|
29
|
+
/** #429: Use token for opacity */
|
|
17
30
|
.details--disabled {
|
|
18
|
-
opacity:
|
|
31
|
+
opacity: var(--syn-opacity-50);
|
|
19
32
|
}
|
|
20
33
|
|
|
21
34
|
.details__header {
|
|
22
|
-
display: flex;
|
|
23
35
|
align-items: center;
|
|
24
36
|
border-radius: inherit;
|
|
25
|
-
padding: var(--syn-spacing-medium);
|
|
26
|
-
user-select: none;
|
|
27
|
-
-webkit-user-select: none;
|
|
28
37
|
cursor: pointer;
|
|
38
|
+
display: flex;
|
|
39
|
+
gap: var(--syn-spacing-medium);
|
|
40
|
+
padding: var(--details-header-padding);
|
|
41
|
+
user-select: none;
|
|
29
42
|
}
|
|
30
43
|
|
|
31
44
|
.details__header::-webkit-details-marker {
|
|
@@ -46,25 +59,41 @@ export default css`
|
|
|
46
59
|
}
|
|
47
60
|
|
|
48
61
|
.details--disabled .details__header:focus-visible {
|
|
49
|
-
outline: none;
|
|
50
62
|
box-shadow: none;
|
|
63
|
+
outline: none;
|
|
51
64
|
}
|
|
52
65
|
|
|
53
66
|
.details__summary {
|
|
54
|
-
flex: 1 1 auto;
|
|
55
|
-
display: flex;
|
|
56
67
|
align-items: center;
|
|
68
|
+
color: var(--syn-typography-color-text);
|
|
69
|
+
display: flex;
|
|
70
|
+
flex: 1 1 auto;
|
|
71
|
+
font: var(--details-summary-font);
|
|
57
72
|
}
|
|
58
73
|
|
|
59
74
|
.details__summary-icon {
|
|
60
|
-
flex: 0 0 auto;
|
|
61
|
-
display: flex;
|
|
62
75
|
align-items: center;
|
|
76
|
+
align-self: flex-start;
|
|
77
|
+
color: var(--syn-color-neutral-950);
|
|
78
|
+
display: flex;
|
|
79
|
+
flex: 0 0 auto;
|
|
80
|
+
font-size: var(--details-icon-size);
|
|
81
|
+
position: relative;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* As we are using an alignment of "start" instead of "center" make sure
|
|
85
|
+
* the arrow starts on the same visual line as the first line of headline text
|
|
86
|
+
*/
|
|
87
|
+
top: 2px;
|
|
63
88
|
transition: var(--syn-transition-medium) rotate ease;
|
|
64
89
|
}
|
|
65
90
|
|
|
91
|
+
/**
|
|
92
|
+
* As we are using top/down arrows for the details element,
|
|
93
|
+
* we have to adjust the rotation of the icon when the details is open.
|
|
94
|
+
*/
|
|
66
95
|
.details--open .details__summary-icon {
|
|
67
|
-
rotate:
|
|
96
|
+
rotate: var(--syn-details-open-rotation);
|
|
68
97
|
}
|
|
69
98
|
|
|
70
99
|
.details--open slot[name='expand-icon'],
|
|
@@ -78,6 +107,75 @@ export default css`
|
|
|
78
107
|
|
|
79
108
|
.details__content {
|
|
80
109
|
display: block;
|
|
81
|
-
|
|
110
|
+
font-size: var(--details-content-font-size);
|
|
111
|
+
line-height: var(--syn-line-height-normal);
|
|
112
|
+
padding: var(--details-content-padding);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Size variants
|
|
117
|
+
*/
|
|
118
|
+
.details--size-small {
|
|
119
|
+
--details-header-padding: var(--syn-spacing-small) 0;
|
|
120
|
+
--details-content-padding: var(--syn-spacing-small) 0 var(--syn-spacing-medium-large);
|
|
121
|
+
--details-summary-font: var(--syn-body-small-bold);
|
|
122
|
+
--details-content-font-size: var(--syn-font-size-x-small);
|
|
123
|
+
--details-icon-size: var(--syn-spacing-medium-large);
|
|
124
|
+
--details-slotted-icon-size: var(--syn-spacing-medium-large);
|
|
125
|
+
--details-header-padding-contained: var(--syn-spacing-small) var(--syn-spacing-large);
|
|
126
|
+
--details-content-padding-contained: var(--syn-spacing-small) var(--syn-spacing-large) var(--syn-spacing-medium-large);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* stylelint-disable-next-line no-descending-specificity */
|
|
130
|
+
.details--size-small .details__header {
|
|
131
|
+
min-height: var(--syn-spacing-large);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.details--size-large {
|
|
135
|
+
--details-header-padding: var(--syn-spacing-large) 0;
|
|
136
|
+
--details-content-padding: var(--syn-spacing-medium-large) 0 var(--syn-spacing-large);
|
|
137
|
+
--details-summary-font: var(--syn-body-large-bold);
|
|
138
|
+
--details-content-font-size: var(--syn-font-size-medium);
|
|
139
|
+
--details-icon-size: var(--syn-spacing-x-large);
|
|
140
|
+
--details-slotted-icon-size: var(--syn-spacing-x-large);
|
|
141
|
+
--details-header-padding-contained: var(--syn-spacing-large);
|
|
142
|
+
--details-content-padding-contained: var(--syn-spacing-medium-large) var(--syn-spacing-large) var(--syn-spacing-large);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.details__summary::slotted(syn-icon) {
|
|
146
|
+
/* Avoid shrinking of the icon, if the text content of the summary is very long and multi line */
|
|
147
|
+
flex-shrink: 0;
|
|
148
|
+
font-size: var(--details-slotted-icon-size);
|
|
149
|
+
margin-right: var(--syn-spacing-small);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Add a visually visible hover effect to the summary element
|
|
154
|
+
*/
|
|
155
|
+
.details:not(.details--disabled) .details__header:hover .details__summary,
|
|
156
|
+
.details:not(.details--disabled) .details__header:hover .details__summary-icon {
|
|
157
|
+
color: var(--syn-interactive-quiet-color-hover);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Contained style
|
|
162
|
+
*/
|
|
163
|
+
.details--contained {
|
|
164
|
+
background-color: var(--syn-panel-background-color);
|
|
165
|
+
border-radius: var(--syn-border-radius-medium);
|
|
166
|
+
border-width: var(--syn-panel-border-width);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* stylelint-disable-next-line no-descending-specificity */
|
|
170
|
+
.details--contained .details__header {
|
|
171
|
+
padding: var(--details-header-padding-contained);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.details--contained .details__content {
|
|
175
|
+
padding: var(--details-content-padding-contained);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.details--contained .details__header:focus-visible {
|
|
179
|
+
border-radius: var(--syn-border-radius-medium);
|
|
82
180
|
}
|
|
83
181
|
`;
|
|
@@ -11,7 +11,6 @@ import componentStyles from '../../styles/component.styles.js';
|
|
|
11
11
|
import SynergyElement from '../../internal/synergy-element.js';
|
|
12
12
|
import SynIcon from '../icon/icon.component.js';
|
|
13
13
|
import styles from './details.styles.js';
|
|
14
|
-
import customStyles from './details.custom.styles.js';
|
|
15
14
|
import type { CSSResultGroup } from 'lit';
|
|
16
15
|
import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';
|
|
17
16
|
|
|
@@ -47,7 +46,7 @@ import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator
|
|
|
47
46
|
*/
|
|
48
47
|
@enableDefaultSettings('SynDetails')
|
|
49
48
|
export default class SynDetails extends SynergyElement {
|
|
50
|
-
static styles: CSSResultGroup = [componentStyles, styles
|
|
49
|
+
static styles: CSSResultGroup = [componentStyles, styles];
|
|
51
50
|
|
|
52
51
|
static dependencies = {
|
|
53
52
|
'syn-icon': SynIcon
|
|
@@ -78,7 +77,7 @@ export default class SynDetails extends SynergyElement {
|
|
|
78
77
|
@property({ type: Boolean, reflect: true }) contained = false;
|
|
79
78
|
|
|
80
79
|
/** The details's size. */
|
|
81
|
-
@property({ reflect: true }) size: 'medium' | 'large' = 'medium';
|
|
80
|
+
@property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';
|
|
82
81
|
|
|
83
82
|
firstUpdated() {
|
|
84
83
|
this.body.style.height = this.open ? 'auto' : '0';
|
|
@@ -205,6 +204,7 @@ export default class SynDetails extends SynergyElement {
|
|
|
205
204
|
part="base"
|
|
206
205
|
class=${classMap({
|
|
207
206
|
details: true,
|
|
207
|
+
'details--size-small': this.size === 'small',
|
|
208
208
|
'details--size-medium': this.size === 'medium',
|
|
209
209
|
'details--size-large': this.size === 'large',
|
|
210
210
|
'details--open': this.open,
|
|
@@ -47,6 +47,8 @@ import '@synergy-design-system/components/components/header/header.js';
|
|
|
47
47
|
* @csspart meta-navigation - The Item wrapping the optional application menu
|
|
48
48
|
* @csspart navigation - The wrapper that is holding the optional top navigation section
|
|
49
49
|
* @csspart burger-menu-toggle-button - The button that toggles the burger menu
|
|
50
|
+
*
|
|
51
|
+
* @cssproperty --sticky-position - The position of the sticky header from the top of the viewport. Defaults to the top of the screen.
|
|
50
52
|
*/
|
|
51
53
|
@Component({
|
|
52
54
|
selector: 'syn-header',
|
|
@@ -109,6 +111,20 @@ The following values can be used:
|
|
|
109
111
|
return this.nativeElement.burgerMenu;
|
|
110
112
|
}
|
|
111
113
|
|
|
114
|
+
/**
|
|
115
|
+
* Makes the header stick to the top of the viewport when scrolling.
|
|
116
|
+
Also applies a shadow to the header when scrolling.
|
|
117
|
+
*/
|
|
118
|
+
@Input()
|
|
119
|
+
set sticky(v: '' | SynHeader['sticky']) {
|
|
120
|
+
this._ngZone.runOutsideAngular(
|
|
121
|
+
() => (this.nativeElement.sticky = v === '' || v),
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
get sticky(): SynHeader['sticky'] {
|
|
125
|
+
return this.nativeElement.sticky;
|
|
126
|
+
}
|
|
127
|
+
|
|
112
128
|
/**
|
|
113
129
|
* Emitted when the burger menu is toggled to closed
|
|
114
130
|
*/
|
|
@@ -44,6 +44,8 @@ Component.define('syn-header');
|
|
|
44
44
|
* @csspart meta-navigation - The Item wrapping the optional application menu
|
|
45
45
|
* @csspart navigation - The wrapper that is holding the optional top navigation section
|
|
46
46
|
* @csspart burger-menu-toggle-button - The button that toggles the burger menu
|
|
47
|
+
*
|
|
48
|
+
* @cssproperty --sticky-position - The position of the sticky header from the top of the viewport. Defaults to the top of the screen.
|
|
47
49
|
*/
|
|
48
50
|
export const SynHeader = createComponent({
|
|
49
51
|
displayName: 'SynHeader',
|
|
@@ -2,6 +2,8 @@ import { css } from 'lit';
|
|
|
2
2
|
|
|
3
3
|
export default css`
|
|
4
4
|
:host {
|
|
5
|
+
--sticky-position: 0;
|
|
6
|
+
|
|
5
7
|
display: block;
|
|
6
8
|
}
|
|
7
9
|
|
|
@@ -125,4 +127,16 @@ export default css`
|
|
|
125
127
|
.header--has-burger-menu .header__content {
|
|
126
128
|
padding-left: var(--syn-spacing-medium);
|
|
127
129
|
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* #529: Sticky header styles
|
|
133
|
+
*/
|
|
134
|
+
:host([sticky]) {
|
|
135
|
+
box-shadow: var(--syn-shadow-sticky-down);
|
|
136
|
+
position: sticky;
|
|
137
|
+
top: var(--sticky-position);
|
|
138
|
+
|
|
139
|
+
/* Make sure the header is above all other content, but below any potential modals or overlays */
|
|
140
|
+
z-index: calc(infinity - 1);
|
|
141
|
+
}
|
|
128
142
|
`;
|
|
@@ -41,6 +41,8 @@ import { watch } from '../../internal/watch.js';
|
|
|
41
41
|
* @csspart meta-navigation - The Item wrapping the optional application menu
|
|
42
42
|
* @csspart navigation - The wrapper that is holding the optional top navigation section
|
|
43
43
|
* @csspart burger-menu-toggle-button - The button that toggles the burger menu
|
|
44
|
+
*
|
|
45
|
+
* @cssproperty --sticky-position - The position of the sticky header from the top of the viewport. Defaults to the top of the screen.
|
|
44
46
|
*/
|
|
45
47
|
export default class SynHeader extends SynergyElement {
|
|
46
48
|
static styles: CSSResultGroup = [
|
|
@@ -82,6 +84,12 @@ export default class SynHeader extends SynergyElement {
|
|
|
82
84
|
*/
|
|
83
85
|
@property({ attribute: 'burger-menu', reflect: true }) burgerMenu: 'hidden' | 'open' | 'closed' = 'hidden';
|
|
84
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Makes the header stick to the top of the viewport when scrolling.
|
|
89
|
+
* Also applies a shadow to the header when scrolling.
|
|
90
|
+
*/
|
|
91
|
+
@property({ reflect: true, type: Boolean }) sticky = false;
|
|
92
|
+
|
|
85
93
|
/**
|
|
86
94
|
* The side nav
|
|
87
95
|
*/
|
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
* @csspart meta-navigation - The Item wrapping the optional application menu
|
|
35
35
|
* @csspart navigation - The wrapper that is holding the optional top navigation section
|
|
36
36
|
* @csspart burger-menu-toggle-button - The button that toggles the burger menu
|
|
37
|
+
*
|
|
38
|
+
* @cssproperty --sticky-position - The position of the sticky header from the top of the viewport. Defaults to the top of the screen.
|
|
37
39
|
*/
|
|
38
40
|
import { computed, ref } from 'vue';
|
|
39
41
|
import '@synergy-design-system/components/components/header/header.js';
|
|
@@ -68,6 +70,12 @@ The following values can be used:
|
|
|
68
70
|
- closed: The burger menu is visible and shows the open icon
|
|
69
71
|
*/
|
|
70
72
|
burgerMenu?: SynHeader['burgerMenu'];
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Makes the header stick to the top of the viewport when scrolling.
|
|
76
|
+
Also applies a shadow to the header when scrolling.
|
|
77
|
+
*/
|
|
78
|
+
sticky?: SynHeader['sticky'];
|
|
71
79
|
}>();
|
|
72
80
|
|
|
73
81
|
// Make sure prop binding only forwards the props that are actually there.
|
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1188](https://github.com/synergy-design-system/synergy-design-system/pull/1188) [`c60deb9`](https://github.com/synergy-design-system/synergy-design-system/commit/c60deb9da1175404ddaa25b2c19ce9e182205cd2) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-02-19
|
|
8
|
+
|
|
9
|
+
feat: ✨ `<syn-header>` sticky behavior (#529)
|
|
10
|
+
|
|
11
|
+
`<syn-header>` now has a new `sticky` boolean property that can be used when a sticky header is needed, e.g. `<syn-header sticky></syn-header>`.
|
|
12
|
+
This adds `position: sticky`, as well as a small shadow that indicates that the header is stuck.
|
|
13
|
+
You can configure the `top` position via the new `--sticky-position` css property (defaults to `0` to make it stick to the top).
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [[`c60deb9`](https://github.com/synergy-design-system/synergy-design-system/commit/c60deb9da1175404ddaa25b2c19ce9e182205cd2)]:
|
|
18
|
+
- @synergy-design-system/tokens@3.4.0
|
|
19
|
+
|
|
20
|
+
## 3.3.0
|
|
21
|
+
|
|
22
|
+
### Minor Changes
|
|
23
|
+
|
|
24
|
+
- [#1191](https://github.com/synergy-design-system/synergy-design-system/pull/1191) [`30f3b74`](https://github.com/synergy-design-system/synergy-design-system/commit/30f3b74891cf693735a792a901c5b23b016c71b8) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-02-19
|
|
25
|
+
|
|
26
|
+
feat: ✨ Add new size `small` to `<syn-details>` and `<syn-accordion>` (#1154)
|
|
27
|
+
|
|
28
|
+
The `<syn-details>` element was the only element with a `size` property that had no `small` variant.
|
|
29
|
+
This was now added for consistency with other elements that have a `size` property.
|
|
30
|
+
|
|
31
|
+
This can be used via `<syn-details size="small"></syn-details>` or `<syn-accordion size="small"></syn-accordion>`.
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- Updated dependencies []:
|
|
36
|
+
- @synergy-design-system/tokens@3.3.0
|
|
37
|
+
|
|
3
38
|
## 3.2.1
|
|
4
39
|
|
|
5
40
|
### Patch Changes
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1188](https://github.com/synergy-design-system/synergy-design-system/pull/1188) [`c60deb9`](https://github.com/synergy-design-system/synergy-design-system/commit/c60deb9da1175404ddaa25b2c19ce9e182205cd2) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-02-19
|
|
8
|
+
|
|
9
|
+
feat: ✨ `<syn-header>` sticky behavior (#529)
|
|
10
|
+
|
|
11
|
+
`<syn-header>` now has a new `sticky` boolean property that can be used when a sticky header is needed, e.g. `<syn-header sticky></syn-header>`.
|
|
12
|
+
This adds `position: sticky`, as well as a small shadow that indicates that the header is stuck.
|
|
13
|
+
You can configure the `top` position via the new `--sticky-position` css property (defaults to `0` to make it stick to the top).
|
|
14
|
+
|
|
15
|
+
## 3.3.0
|
|
16
|
+
|
|
3
17
|
## 3.2.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @synergy-design-system/tokens version 3.
|
|
2
|
+
* @synergy-design-system/tokens version 3.3.0
|
|
3
3
|
* SICK Global UX Foundation
|
|
4
4
|
* Do not edit directly, this file was auto-generated.
|
|
5
5
|
*/
|
|
@@ -307,8 +307,9 @@
|
|
|
307
307
|
--syn-option-icon-color-hover: var(--syn-color-neutral-0);
|
|
308
308
|
--syn-overlay-background-blur: 8px;
|
|
309
309
|
--syn-overlay-background-color: rgba(0, 5, 26, 0.6);
|
|
310
|
-
--syn-page-background: var(--syn-
|
|
310
|
+
--syn-page-background: var(--syn-page-background-color); /** Will be DEPRECATED */
|
|
311
311
|
--syn-page-background-color: var(--syn-color-neutral-0);
|
|
312
|
+
--syn-page-background-color-muted: var(--syn-color-neutral-0);
|
|
312
313
|
--syn-panel-background-color: var(--syn-color-neutral-50);
|
|
313
314
|
--syn-panel-border-color: var(--syn-color-neutral-300);
|
|
314
315
|
--syn-panel-border-radius: var(--syn-border-radius-medium);
|
|
@@ -320,6 +321,16 @@
|
|
|
320
321
|
--syn-range-tick-color: var(--syn-color-neutral-600);
|
|
321
322
|
--syn-range-track-color-active: var(--syn-interactive-emphasis-color);
|
|
322
323
|
--syn-readonly-background-color: var(--syn-color-neutral-300);
|
|
324
|
+
--syn-shadow-medium: 0px 1px 2px 0px rgba(13, 13, 13, 0.08), 0px 1px 4px 0px rgba(13, 13, 13, 0.08), 0px 2px 8px 0px rgba(13, 13, 13, 0.08);
|
|
325
|
+
--syn-shadow-large: 0px 0px 3px 0px rgba(13, 13, 13, 0.12), 0px 2px 6px 0px rgba(13, 13, 13, 0.12), 0px 3px 8px 0px rgba(13, 13, 13, 0.16);
|
|
326
|
+
--syn-shadow-x-large: 0px 1px 4px 0px rgba(13, 13, 13, 0.12), 0px 8px 24px 0px rgba(13, 13, 13, 0.12), 0px 16px 48px 0px rgba(13, 13, 13, 0.16);
|
|
327
|
+
--syn-shadow-overflow-down: 0px 1px 4px 0px rgba(13, 13, 13, 0.12), 0px 3px 8px 0px rgba(13, 13, 13, 0.12), 0px 4px 12px 0px rgba(13, 13, 13, 0.16);
|
|
328
|
+
--syn-shadow-overflow-up: 0px -1px 4px 0px rgba(13, 13, 13, 0.12), 0px -3px 8px 0px rgba(13, 13, 13, 0.12), 0px -4px 12px 0px rgba(13, 13, 13, 0.16);
|
|
329
|
+
--syn-shadow-overflow-left: -1px 0px 4px 0px rgba(13, 13, 13, 0.12), -3px 0px 8px 0px rgba(13, 13, 13, 0.12), -4px 0px 12px 0px rgba(13, 13, 13, 0.16);
|
|
330
|
+
--syn-shadow-overflow-right: 1px 0px 4px 0px rgba(13, 13, 13, 0.12), 3px 0px 8px 0px rgba(13, 13, 13, 0.12), 4px 0px 12px 0px rgba(13, 13, 13, 0.16);
|
|
331
|
+
--syn-shadow-x-small: 0px 1px 2px 0px rgba(13, 13, 13, 0.04), 0px 1px 4px 0px rgba(13, 13, 13, 0.04), 0px 2px 8px 0px rgba(13, 13, 13, 0.04);
|
|
332
|
+
--syn-shadow-small: 0px 1px 2px 0px rgba(13, 13, 13, 0.06), 0px 1px 4px 0px rgba(13, 13, 13, 0.06), 0px 2px 8px 0px rgba(13, 13, 13, 0.06);
|
|
333
|
+
--syn-shadow-sticky-down: 0px 3px 8px 0px rgba(13, 13, 13, 0.16);
|
|
323
334
|
--syn-spacing-1-5x-large: 40px;
|
|
324
335
|
--syn-spacing-2x-large: 48px;
|
|
325
336
|
--syn-spacing-2x-small: 4px;
|
|
@@ -373,15 +384,6 @@
|
|
|
373
384
|
--syn-z-index-dropdown: 900; /** Shoelace compatibility DO NOT USE */
|
|
374
385
|
--syn-z-index-toast: 950; /** Shoelace compatibility DO NOT USE */
|
|
375
386
|
--syn-z-index-tooltip: 1000; /** Shoelace compatibility DO NOT USE */
|
|
376
|
-
--syn-shadow-medium: 0px 1px 2px 0px rgba(13, 13, 13, 0.08), 0px 1px 4px 0px rgba(13, 13, 13, 0.08), 0px 2px 8px 0px rgba(13, 13, 13, 0.08);
|
|
377
|
-
--syn-shadow-large: 0px 0px 3px 0px rgba(13, 13, 13, 0.12), 0px 2px 6px 0px rgba(13, 13, 13, 0.12), 0px 3px 8px 0px rgba(13, 13, 13, 0.16);
|
|
378
|
-
--syn-shadow-x-large: 0px 1px 4px 0px rgba(13, 13, 13, 0.12), 0px 8px 24px 0px rgba(13, 13, 13, 0.12), 0px 16px 48px 0px rgba(13, 13, 13, 0.16);
|
|
379
|
-
--syn-shadow-overflow-down: 0px 1px 4px 0px rgba(13, 13, 13, 0.12), 0px 3px 8px 0px rgba(13, 13, 13, 0.12), 0px 4px 12px 0px rgba(13, 13, 13, 0.16);
|
|
380
|
-
--syn-shadow-overflow-up: 0px -1px 4px 0px rgba(13, 13, 13, 0.12), 0px -3px 8px 0px rgba(13, 13, 13, 0.12), 0px -4px 12px 0px rgba(13, 13, 13, 0.16);
|
|
381
|
-
--syn-shadow-overflow-left: -1px 0px 4px 0px rgba(13, 13, 13, 0.12), -3px 0px 8px 0px rgba(13, 13, 13, 0.12), -4px 0px 12px 0px rgba(13, 13, 13, 0.16);
|
|
382
|
-
--syn-shadow-overflow-right: 1px 0px 4px 0px rgba(13, 13, 13, 0.12), 3px 0px 8px 0px rgba(13, 13, 13, 0.12), 4px 0px 12px 0px rgba(13, 13, 13, 0.16);
|
|
383
|
-
--syn-shadow-x-small: 0px 1px 2px 0px rgba(13, 13, 13, 0.04), 0px 1px 4px 0px rgba(13, 13, 13, 0.04), 0px 2px 8px 0px rgba(13, 13, 13, 0.04);
|
|
384
|
-
--syn-shadow-small: 0px 1px 2px 0px rgba(13, 13, 13, 0.06), 0px 1px 4px 0px rgba(13, 13, 13, 0.06), 0px 2px 8px 0px rgba(13, 13, 13, 0.06);
|
|
385
387
|
--syn-body-x-small-regular: 400 12px/1.4 'SICK Intl', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
386
388
|
--syn-body-x-small-semibold: 600 12px/1.4 'SICK Intl', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
387
389
|
--syn-body-x-small-bold: 600 12px/1.4 'SICK Intl', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @synergy-design-system/tokens version 3.
|
|
2
|
+
* @synergy-design-system/tokens version 3.3.0
|
|
3
3
|
* SICK Global UX Foundation
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -1513,6 +1513,11 @@ export const SynPageBackground = 'var(--syn-page-background)';
|
|
|
1513
1513
|
*/
|
|
1514
1514
|
export const SynPageBackgroundColor = 'var(--syn-page-background-color)';
|
|
1515
1515
|
|
|
1516
|
+
/**
|
|
1517
|
+
* @type {string}
|
|
1518
|
+
*/
|
|
1519
|
+
export const SynPageBackgroundColorMuted = 'var(--syn-page-background-color-muted)';
|
|
1520
|
+
|
|
1516
1521
|
/**
|
|
1517
1522
|
* @type {string}
|
|
1518
1523
|
*/
|
|
@@ -1568,6 +1573,56 @@ export const SynRangeTrackColorActive = 'var(--syn-range-track-color-active)';
|
|
|
1568
1573
|
*/
|
|
1569
1574
|
export const SynReadonlyBackgroundColor = 'var(--syn-readonly-background-color)';
|
|
1570
1575
|
|
|
1576
|
+
/**
|
|
1577
|
+
* @type {string}
|
|
1578
|
+
*/
|
|
1579
|
+
export const SynShadowMedium = 'var(--syn-shadow-medium)';
|
|
1580
|
+
|
|
1581
|
+
/**
|
|
1582
|
+
* @type {string}
|
|
1583
|
+
*/
|
|
1584
|
+
export const SynShadowLarge = 'var(--syn-shadow-large)';
|
|
1585
|
+
|
|
1586
|
+
/**
|
|
1587
|
+
* @type {string}
|
|
1588
|
+
*/
|
|
1589
|
+
export const SynShadowXLarge = 'var(--syn-shadow-x-large)';
|
|
1590
|
+
|
|
1591
|
+
/**
|
|
1592
|
+
* @type {string}
|
|
1593
|
+
*/
|
|
1594
|
+
export const SynShadowOverflowDown = 'var(--syn-shadow-overflow-down)';
|
|
1595
|
+
|
|
1596
|
+
/**
|
|
1597
|
+
* @type {string}
|
|
1598
|
+
*/
|
|
1599
|
+
export const SynShadowOverflowUp = 'var(--syn-shadow-overflow-up)';
|
|
1600
|
+
|
|
1601
|
+
/**
|
|
1602
|
+
* @type {string}
|
|
1603
|
+
*/
|
|
1604
|
+
export const SynShadowOverflowLeft = 'var(--syn-shadow-overflow-left)';
|
|
1605
|
+
|
|
1606
|
+
/**
|
|
1607
|
+
* @type {string}
|
|
1608
|
+
*/
|
|
1609
|
+
export const SynShadowOverflowRight = 'var(--syn-shadow-overflow-right)';
|
|
1610
|
+
|
|
1611
|
+
/**
|
|
1612
|
+
* @type {string}
|
|
1613
|
+
*/
|
|
1614
|
+
export const SynShadowXSmall = 'var(--syn-shadow-x-small)';
|
|
1615
|
+
|
|
1616
|
+
/**
|
|
1617
|
+
* @type {string}
|
|
1618
|
+
*/
|
|
1619
|
+
export const SynShadowSmall = 'var(--syn-shadow-small)';
|
|
1620
|
+
|
|
1621
|
+
/**
|
|
1622
|
+
* @type {string}
|
|
1623
|
+
*/
|
|
1624
|
+
export const SynShadowStickyDown = 'var(--syn-shadow-sticky-down)';
|
|
1625
|
+
|
|
1571
1626
|
/**
|
|
1572
1627
|
* @type {string}
|
|
1573
1628
|
*/
|
|
@@ -1833,51 +1888,6 @@ export const SynZIndexToast = 'var(--syn-z-index-toast)';
|
|
|
1833
1888
|
*/
|
|
1834
1889
|
export const SynZIndexTooltip = 'var(--syn-z-index-tooltip)';
|
|
1835
1890
|
|
|
1836
|
-
/**
|
|
1837
|
-
* @type {string}
|
|
1838
|
-
*/
|
|
1839
|
-
export const SynShadowMedium = 'var(--syn-shadow-medium)';
|
|
1840
|
-
|
|
1841
|
-
/**
|
|
1842
|
-
* @type {string}
|
|
1843
|
-
*/
|
|
1844
|
-
export const SynShadowLarge = 'var(--syn-shadow-large)';
|
|
1845
|
-
|
|
1846
|
-
/**
|
|
1847
|
-
* @type {string}
|
|
1848
|
-
*/
|
|
1849
|
-
export const SynShadowXLarge = 'var(--syn-shadow-x-large)';
|
|
1850
|
-
|
|
1851
|
-
/**
|
|
1852
|
-
* @type {string}
|
|
1853
|
-
*/
|
|
1854
|
-
export const SynShadowOverflowDown = 'var(--syn-shadow-overflow-down)';
|
|
1855
|
-
|
|
1856
|
-
/**
|
|
1857
|
-
* @type {string}
|
|
1858
|
-
*/
|
|
1859
|
-
export const SynShadowOverflowUp = 'var(--syn-shadow-overflow-up)';
|
|
1860
|
-
|
|
1861
|
-
/**
|
|
1862
|
-
* @type {string}
|
|
1863
|
-
*/
|
|
1864
|
-
export const SynShadowOverflowLeft = 'var(--syn-shadow-overflow-left)';
|
|
1865
|
-
|
|
1866
|
-
/**
|
|
1867
|
-
* @type {string}
|
|
1868
|
-
*/
|
|
1869
|
-
export const SynShadowOverflowRight = 'var(--syn-shadow-overflow-right)';
|
|
1870
|
-
|
|
1871
|
-
/**
|
|
1872
|
-
* @type {string}
|
|
1873
|
-
*/
|
|
1874
|
-
export const SynShadowXSmall = 'var(--syn-shadow-x-small)';
|
|
1875
|
-
|
|
1876
|
-
/**
|
|
1877
|
-
* @type {string}
|
|
1878
|
-
*/
|
|
1879
|
-
export const SynShadowSmall = 'var(--syn-shadow-small)';
|
|
1880
|
-
|
|
1881
1891
|
/**
|
|
1882
1892
|
* @type {string}
|
|
1883
1893
|
*/
|