@synergy-design-system/mcp 2.6.1 → 2.7.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/dist/utilities/storybook/scraper.js +14 -3
- package/metadata/checksum.txt +1 -1
- package/metadata/packages/components/components/syn-checkbox/component.angular.ts +13 -0
- package/metadata/packages/components/components/syn-checkbox/component.styles.ts +99 -39
- package/metadata/packages/components/components/syn-checkbox/component.ts +13 -10
- package/metadata/packages/components/components/syn-checkbox/component.vue +5 -0
- package/metadata/packages/components/components/syn-combobox/component.angular.ts +13 -0
- package/metadata/packages/components/components/syn-combobox/component.styles.ts +216 -193
- package/metadata/packages/components/components/syn-combobox/component.ts +68 -39
- package/metadata/packages/components/components/syn-combobox/component.vue +5 -0
- package/metadata/packages/components/components/syn-file/component.angular.ts +13 -0
- package/metadata/packages/components/components/syn-file/component.styles.ts +20 -3
- package/metadata/packages/components/components/syn-file/component.ts +19 -5
- package/metadata/packages/components/components/syn-file/component.vue +5 -0
- package/metadata/packages/components/components/syn-input/component.ts +1 -2
- package/metadata/packages/components/components/syn-radio/component.angular.ts +13 -0
- package/metadata/packages/components/components/syn-radio/component.styles.ts +91 -29
- package/metadata/packages/components/components/syn-radio/component.ts +19 -10
- package/metadata/packages/components/components/syn-radio/component.vue +5 -0
- package/metadata/packages/components/components/syn-radio-group/component.styles.ts +30 -9
- package/metadata/packages/components/components/syn-radio-group/component.ts +61 -32
- package/metadata/packages/components/components/syn-range/component.angular.ts +13 -0
- package/metadata/packages/components/components/syn-range/component.styles.ts +27 -3
- package/metadata/packages/components/components/syn-range/component.ts +17 -5
- package/metadata/packages/components/components/syn-range/component.vue +5 -0
- package/metadata/packages/components/components/syn-select/component.angular.ts +13 -0
- package/metadata/packages/components/components/syn-select/component.styles.ts +222 -151
- package/metadata/packages/components/components/syn-select/component.ts +30 -15
- package/metadata/packages/components/components/syn-select/component.vue +5 -0
- package/metadata/packages/components/components/syn-switch/component.angular.ts +13 -0
- package/metadata/packages/components/components/syn-switch/component.styles.ts +145 -63
- package/metadata/packages/components/components/syn-switch/component.ts +16 -4
- package/metadata/packages/components/components/syn-switch/component.vue +5 -0
- package/metadata/packages/components/components/syn-textarea/component.styles.ts +55 -27
- package/metadata/packages/components/components/syn-textarea/component.ts +1 -3
- package/metadata/packages/components/static/CHANGELOG.md +27 -0
- package/metadata/packages/tokens/CHANGELOG.md +22 -0
- package/metadata/packages/tokens/dark.css +7 -1
- package/metadata/packages/tokens/index.js +31 -1
- package/metadata/packages/tokens/light.css +7 -1
- package/metadata/packages/tokens/sick2018_dark.css +7 -1
- package/metadata/packages/tokens/sick2018_light.css +7 -1
- package/metadata/packages/tokens/sick2025_dark.css +7 -1
- package/metadata/packages/tokens/sick2025_light.css +7 -1
- package/metadata/static/components/syn-checkbox/docs.md +36 -0
- package/metadata/static/components/syn-combobox/docs.md +138 -0
- package/metadata/static/components/syn-file/docs.md +24 -0
- package/metadata/static/components/syn-input/docs.md +1 -1
- package/metadata/static/components/syn-radio/docs.md +21 -0
- package/metadata/static/components/syn-radio-group/docs.md +46 -0
- package/metadata/static/components/syn-range/docs.md +19 -0
- package/metadata/static/components/syn-select/docs.md +81 -0
- package/metadata/static/components/syn-switch/docs.md +22 -0
- package/metadata/static/components/syn-textarea/docs.md +1 -1
- package/metadata/static/components/syn-tooltip/docs.md +73 -0
- package/package.json +4 -4
- package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +0 -86
- package/metadata/packages/components/components/syn-combobox/component.custom.styles.ts +0 -122
- package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +0 -86
- package/metadata/packages/components/components/syn-radio-group/component.custom.styles.ts +0 -25
- package/metadata/packages/components/components/syn-select/component.custom.styles.ts +0 -175
- package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +0 -141
- package/metadata/packages/components/components/syn-textarea/component.custom.styles.ts +0 -48
|
@@ -142,3 +142,76 @@ Set the trigger attribute to click to toggle the tooltip on click instead of
|
|
|
142
142
|
>
|
|
143
143
|
</syn-tooltip>
|
|
144
144
|
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Manual Trigger
|
|
149
|
+
|
|
150
|
+
Tooltips can be controlled programmatically by setting the trigger attribute to manual. Use the open attribute to control when the tooltip is shown.
|
|
151
|
+
|
|
152
|
+
```html
|
|
153
|
+
<syn-button style="margin-right: 4rem" title="" variant="outline" size="medium"
|
|
154
|
+
>Toggle Manually</syn-button
|
|
155
|
+
>
|
|
156
|
+
<syn-tooltip
|
|
157
|
+
content="This is an avatar"
|
|
158
|
+
trigger="manual"
|
|
159
|
+
class="manual-tooltip"
|
|
160
|
+
open=""
|
|
161
|
+
>
|
|
162
|
+
<syn-icon-button
|
|
163
|
+
name="person"
|
|
164
|
+
label="Person"
|
|
165
|
+
size="medium"
|
|
166
|
+
color="neutral"
|
|
167
|
+
></syn-icon-button>
|
|
168
|
+
</syn-tooltip>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Removing Arrows
|
|
174
|
+
|
|
175
|
+
You can control the size of tooltip arrows by overriding the --syn-tooltip-arrow-size design token. To remove them, set the value to 0 as shown below.
|
|
176
|
+
|
|
177
|
+
```html
|
|
178
|
+
<syn-tooltip
|
|
179
|
+
content="This is a tooltip"
|
|
180
|
+
style="--syn-tooltip-arrow-size: 0"
|
|
181
|
+
open=""
|
|
182
|
+
>
|
|
183
|
+
<syn-button title="" variant="outline" size="medium">No Arrow</syn-button>
|
|
184
|
+
</syn-tooltip>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## HTML In Tooltips
|
|
190
|
+
|
|
191
|
+
Use the content slot to create tooltips with HTML content. Tooltips are designed only for text and presentational elements. Avoid placing interactive content, such as buttons, links, and form controls, in a tooltip.
|
|
192
|
+
|
|
193
|
+
```html
|
|
194
|
+
<syn-tooltip open="">
|
|
195
|
+
<div slot="content">
|
|
196
|
+
I'm not <strong>just</strong> a tooltip, I'm a <em>tooltip</em> with HTML!
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
<syn-button title="" variant="outline" size="medium">Hover me</syn-button>
|
|
200
|
+
</syn-tooltip>
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Setting A Maximum Width
|
|
206
|
+
|
|
207
|
+
Use the --max-width custom property to change the width the tooltip can grow to before wrapping occurs.
|
|
208
|
+
|
|
209
|
+
```html
|
|
210
|
+
<syn-tooltip
|
|
211
|
+
style="--max-width: 80px"
|
|
212
|
+
content="This tooltip will wrap after only 80 pixels."
|
|
213
|
+
open=""
|
|
214
|
+
>
|
|
215
|
+
<syn-button title="" variant="outline" size="medium">Hover me</syn-button>
|
|
216
|
+
</syn-tooltip>
|
|
217
|
+
```
|
package/package.json
CHANGED
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"ts-jest": "^29.4.6",
|
|
30
30
|
"typescript": "^5.9.3",
|
|
31
31
|
"@synergy-design-system/docs": "0.1.0",
|
|
32
|
-
"@synergy-design-system/components": "3.4.1",
|
|
33
|
-
"@synergy-design-system/fonts": "1.0.3",
|
|
34
32
|
"@synergy-design-system/eslint-config-syn": "^0.1.0",
|
|
33
|
+
"@synergy-design-system/fonts": "1.0.3",
|
|
35
34
|
"@synergy-design-system/styles": "2.0.1",
|
|
36
|
-
"@synergy-design-system/tokens": "^3.
|
|
35
|
+
"@synergy-design-system/tokens": "^3.5.0",
|
|
36
|
+
"@synergy-design-system/components": "3.5.0"
|
|
37
37
|
},
|
|
38
38
|
"exports": {
|
|
39
39
|
".": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"directory": "packages/mcp"
|
|
68
68
|
},
|
|
69
69
|
"type": "module",
|
|
70
|
-
"version": "2.
|
|
70
|
+
"version": "2.7.0",
|
|
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",
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
|
|
3
|
-
export default css`
|
|
4
|
-
.checkbox {
|
|
5
|
-
/* #1083: This adds spacing around multi-line labels */
|
|
6
|
-
padding: var(--syn-spacing-2x-small) 0;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.checkbox--small {
|
|
10
|
-
padding: var(--syn-spacing-3x-small) 0;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.checkbox__control {
|
|
14
|
-
border-radius: var(--syn-checkbox-border-radius);
|
|
15
|
-
|
|
16
|
-
/* #1083: This adds spacing around multi-line labels */
|
|
17
|
-
margin: 0.1em 0;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* Checked/indeterminate */
|
|
21
|
-
.checkbox--checked .checkbox__control,
|
|
22
|
-
.checkbox--indeterminate .checkbox__control {
|
|
23
|
-
background-color: var(--syn-interactive-emphasis-color);
|
|
24
|
-
border-color: var(--syn-interactive-emphasis-color);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
:host([data-user-invalid]) .checkbox__control {
|
|
28
|
-
background: var(--syn-input-border-color-focus-error);
|
|
29
|
-
border-color: var(--syn-input-border-color-focus-error);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* #943: When invalid, use a transparent background if not checked or indeterminate
|
|
34
|
-
*/
|
|
35
|
-
:host([data-user-invalid]:not([checked]):not([indeterminate])) .checkbox__control {
|
|
36
|
-
background: transparent;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/** #429: Use token for opacity */
|
|
40
|
-
.checkbox--disabled {
|
|
41
|
-
opacity: var(--syn-input-disabled-opacity);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Hover
|
|
46
|
-
* Applies the hover state to the whole component
|
|
47
|
-
*/
|
|
48
|
-
.checkbox:not(.checkbox--checked):not(.checkbox--disabled):hover .checkbox__control {
|
|
49
|
-
background-color: var(--syn-input-background-color-hover);
|
|
50
|
-
border-color: var(--syn-input-border-color-hover);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Checked/indeterminate + hover
|
|
55
|
-
* Applies the hover state to the whole component
|
|
56
|
-
*/
|
|
57
|
-
.checkbox.checkbox--checked:not(.checkbox--disabled):hover .checkbox__control,
|
|
58
|
-
.checkbox.checkbox--indeterminate:not(.checkbox--disabled):hover .checkbox__control {
|
|
59
|
-
background-color: var(--syn-interactive-emphasis-color-hover);
|
|
60
|
-
border-color: var(--syn-interactive-emphasis-color-hover);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/*
|
|
64
|
-
* #443: Add active styles
|
|
65
|
-
* The checked and unchecked states have different active colors
|
|
66
|
-
* Note the fallback is defined to match the hover color.
|
|
67
|
-
* This is done to make sure no active state is shown at all if no active color is defined.
|
|
68
|
-
* Still better than showing one for the unchecked state but not for the checked state.
|
|
69
|
-
*/
|
|
70
|
-
.checkbox:not(.checkbox--checked):not(.checkbox--disabled):active .checkbox__control {
|
|
71
|
-
border-color: var(--syn-input-border-color-active);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/* Checked/indeterminate */
|
|
75
|
-
.checkbox.checkbox--checked:not(.checkbox--disabled):active .checkbox__control,
|
|
76
|
-
.checkbox.checkbox--indeterminate:not(.checkbox--disabled):active .checkbox__control {
|
|
77
|
-
background: var(--syn-interactive-emphasis-color-active);
|
|
78
|
-
border-color: var(--syn-interactive-emphasis-color-active);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.checkbox__label {
|
|
82
|
-
align-self: center;
|
|
83
|
-
line-height: var(--syn-line-height-normal);
|
|
84
|
-
margin-inline-start: var(--syn-spacing-x-small);
|
|
85
|
-
}
|
|
86
|
-
`;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
import sharedOptionSize from '../option/option-size.styles.js';
|
|
3
|
-
|
|
4
|
-
export default css`
|
|
5
|
-
|
|
6
|
-
.combobox__display-input {
|
|
7
|
-
flex: 1;
|
|
8
|
-
min-width: var(--syn-spacing-2x-large);
|
|
9
|
-
width: unset;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.combobox:not(.combobox--disabled) .combobox__display-input {
|
|
13
|
-
cursor: text;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.listbox__options ::slotted(syn-option[hidden]),
|
|
17
|
-
.listbox__options ::slotted(syn-optgroup[hidden]) {
|
|
18
|
-
display: none;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.listbox__no-results {
|
|
22
|
-
align-items: center;
|
|
23
|
-
color: var(--syn-color-neutral-950);
|
|
24
|
-
display: flex;
|
|
25
|
-
font: var(--syn-body-medium-regular);
|
|
26
|
-
padding: var(--syn-spacing-small) var(--syn-spacing-medium) var(--syn-spacing-small) 52px;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.combobox--small .listbox__no-results {
|
|
30
|
-
font-size: var(--syn-input-font-size-small);
|
|
31
|
-
min-height: var(--syn-input-height-small);
|
|
32
|
-
padding: 0 var(--syn-spacing-small) 0 40px;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.combobox--large .listbox__no-results {
|
|
36
|
-
font-size: var(--syn-input-font-size-large);
|
|
37
|
-
min-height: var(--syn-input-height-large);
|
|
38
|
-
padding: 0 var(--syn-spacing-large) 0 68px;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* Multi Select */
|
|
42
|
-
.combobox__tags {
|
|
43
|
-
align-items: center;
|
|
44
|
-
display: flex;
|
|
45
|
-
flex-wrap: wrap;
|
|
46
|
-
margin-inline-start: var(--syn-spacing-2x-small);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.combobox__tags::slotted(syn-tag) {
|
|
50
|
-
cursor: pointer !important;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.combobox--disabled .combobox__tags,
|
|
54
|
-
.combobox--disabled .combobox__tags::slotted(syn-tag) {
|
|
55
|
-
cursor: not-allowed !important;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.combobox--small .combobox__tags {
|
|
59
|
-
gap: var(--syn-spacing-2x-small);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.combobox--medium .combobox__tags {
|
|
63
|
-
gap: var(--syn-spacing-x-small);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.combobox--large .combobox__tags {
|
|
67
|
-
gap: var(--syn-spacing-small);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.combobox--tags-visible.combobox--small .combobox__tags {
|
|
71
|
-
margin-inline-end: var(--syn-spacing-x-small);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.combobox--tags-visible.combobox--medium .combobox__tags {
|
|
75
|
-
margin-inline-end: var(--syn-input-spacing-small);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.combobox--tags-visible.combobox--large .combobox__tags {
|
|
79
|
-
margin-inline-end: var(--syn-input-spacing-medium);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* #850: Allow to measure the size of the combobox.
|
|
84
|
-
* This is needed so we can automatically size and truncate the tags in the <syn-combobox multiple> component.
|
|
85
|
-
* Scoped to multiple to not break the single select per accident.
|
|
86
|
-
* Scoped to when placeholder is not visible to not break the placeholder visualization
|
|
87
|
-
*/
|
|
88
|
-
:host([multiple]) :not(.combobox--placeholder-visible).combobox--tags-visible > .combobox__inputs > .combobox__tags {
|
|
89
|
-
min-width: 85px;
|
|
90
|
-
overflow: hidden;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
:host([multiple]) .combobox__tags > div {
|
|
94
|
-
display: contents;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
:host([multiple]) .combobox__tags > div > syn-tag {
|
|
98
|
-
--syn-tag-position-adjustment: var(--syn-spacing-3x-small);
|
|
99
|
-
|
|
100
|
-
max-width: var(--syn-select-tag-max-width);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
:host([multiple]) .combobox__tags > div > syn-tag::part(content) {
|
|
104
|
-
display: initial;
|
|
105
|
-
overflow: hidden;
|
|
106
|
-
text-overflow: ellipsis;
|
|
107
|
-
white-space: nowrap;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/*
|
|
111
|
-
This class is needed to be able to hide the options as long as the popup close animation is running.
|
|
112
|
-
As otherwise the listbox would flicker because the options are shown again when the value is reset to empty string.
|
|
113
|
-
*/
|
|
114
|
-
.options__hide {
|
|
115
|
-
/* We need to set the slot to something different than display: contents to be able to hide it. Also it should not take any space so we remove the height */
|
|
116
|
-
display: block;
|
|
117
|
-
height: 0;
|
|
118
|
-
opacity: 0;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
${sharedOptionSize}
|
|
122
|
-
`;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
|
|
3
|
-
export default css`
|
|
4
|
-
:host(:focus-visible) .radio__control {
|
|
5
|
-
outline: var(--syn-focus-ring);
|
|
6
|
-
outline-offset: var(--syn-focus-ring-width);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.radio {
|
|
10
|
-
align-items: flex-start;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/** #429: Use token for opacity */
|
|
14
|
-
.radio--disabled {
|
|
15
|
-
opacity: var(--syn-input-disabled-opacity);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/* Checked */
|
|
19
|
-
/* stylelint-disable-next-line no-descending-specificity */
|
|
20
|
-
.radio--checked .radio__control {
|
|
21
|
-
background-color: var(--syn-interactive-emphasis-color);
|
|
22
|
-
border-color: var(--syn-interactive-emphasis-color);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/* Reset original hover */
|
|
26
|
-
.radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {
|
|
27
|
-
background: inherit;
|
|
28
|
-
border-color: inherit;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/* Checked + hover */
|
|
32
|
-
.radio.radio--checked:not(.radio--disabled):hover .radio__control {
|
|
33
|
-
background-color: var(--syn-interactive-emphasis-color-hover);
|
|
34
|
-
border-color: var(--syn-interactive-emphasis-color-hover);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/* Checked + active */
|
|
38
|
-
.radio.radio--checked:not(.radio--disabled):active .radio__control {
|
|
39
|
-
background-color: var(--syn-interactive-emphasis-color-active);
|
|
40
|
-
border-color: var(--syn-interactive-emphasis-color-active);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/* Not-Checked + Hover */
|
|
44
|
-
.radio:not(.radio--checked):not(.radio--disabled):hover .radio__control {
|
|
45
|
-
border-color: var(--syn-input-border-color-hover);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/* Not-Checked + active */
|
|
49
|
-
.radio:not(.radio--checked):not(.radio--disabled):active .radio__control {
|
|
50
|
-
border-color: var(--syn-input-border-color-active);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/* Fix#456: Multi line radio fixes */
|
|
54
|
-
.radio__label {
|
|
55
|
-
align-self: center;
|
|
56
|
-
margin-inline-start: var(--syn-spacing-x-small);
|
|
57
|
-
margin-top: -1px;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.radio--small .radio__label {
|
|
61
|
-
font: var(--syn-body-small-regular);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.radio--medium .radio__label {
|
|
65
|
-
font: var(--syn-body-medium-regular);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.radio--large .radio__label {
|
|
69
|
-
font: var(--syn-body-large-regular);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/* /Fix#456 */
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* #920: The new icons are instances in figma.
|
|
76
|
-
* The width of the system icon is 12px x 12px, so there is no inner padding.
|
|
77
|
-
* To accommodate for this, we need to set the width and height of the icon to 50% to get the same result as before.
|
|
78
|
-
*/
|
|
79
|
-
.radio__checked-icon {
|
|
80
|
-
scale: 0.5;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.radio--small .radio__label, .radio--large .radio__label {
|
|
84
|
-
margin-inline-start: var(--syn-spacing-x-small);
|
|
85
|
-
}
|
|
86
|
-
`;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
|
|
3
|
-
export default css`
|
|
4
|
-
:host([data-user-invalid]) {
|
|
5
|
-
--syn-input-border-color: var(--syn-input-border-color-focus-error);
|
|
6
|
-
--syn-input-border-color-hover: var(--syn-input-border-color-focus-error);
|
|
7
|
-
--syn-color-primary-600: var(--syn-input-border-color-focus-error);
|
|
8
|
-
--syn-color-primary-900: var(--syn-color-error-900);
|
|
9
|
-
--syn-color-primary-950: var(--syn-color-error-950);
|
|
10
|
-
--syn-color-neutral-1000: var(--syn-input-border-color-focus-error);
|
|
11
|
-
--syn-interactive-emphasis-color: var(--syn-input-border-color-focus-error);
|
|
12
|
-
--syn-interactive-emphasis-color-hover: var(--syn-input-border-color-focus-error);
|
|
13
|
-
--syn-interactive-emphasis-color-active: var(--syn-input-border-color-focus-error);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.form-control--has-help-text.form-control--radio-group .form-control__help-text {
|
|
17
|
-
margin-top: var(--syn-spacing-x-small);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.form-control-input {
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
gap: var(--syn-spacing-x-small);
|
|
24
|
-
}
|
|
25
|
-
`;
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
import sharedOptionSize from '../option/option-size.styles.js';
|
|
3
|
-
|
|
4
|
-
export default css`
|
|
5
|
-
/** #429: Use token for opacity */
|
|
6
|
-
.select--standard.select--disabled .select__combobox {
|
|
7
|
-
opacity: var(--syn-input-disabled-opacity);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Invalid user data
|
|
12
|
-
*/
|
|
13
|
-
:host([data-user-invalid]) .select__combobox {
|
|
14
|
-
border-color: var(--syn-input-border-color-focus-error);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
:host([data-user-invalid]) .select--standard:not(.select--disabled).select--open .select__combobox,
|
|
18
|
-
:host([data-user-invalid]) .select--standard:not(.select--disabled).select--focused .select__combobox {
|
|
19
|
-
border-color: var(--syn-input-border-color-focus-error);
|
|
20
|
-
box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/* Clear button */
|
|
24
|
-
.select__clear {
|
|
25
|
-
color: var(--syn-input-icon-icon-clearable-color);
|
|
26
|
-
font-size: var(--syn-spacing-large);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.select--small .select__clear {
|
|
30
|
-
font-size: var(--syn-spacing-medium);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.select--large .select__clear {
|
|
34
|
-
font-size: var(--syn-spacing-x-large);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.select--medium .select__clear {
|
|
38
|
-
margin-inline-start: var(--syn-spacing-small);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* Expand icon */
|
|
42
|
-
.select__expand-icon {
|
|
43
|
-
color: var(--syn-color-neutral-950);
|
|
44
|
-
margin-inline-start: var(--syn-spacing-small);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.select--small .select__expand-icon {
|
|
48
|
-
font-size: var(--syn-spacing-medium);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.select--medium .select__expand-icon {
|
|
52
|
-
font-size: var(--syn-spacing-large);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.select--large .select__expand-icon {
|
|
56
|
-
font-size: var(--syn-spacing-x-large);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/* Change select border on hover */
|
|
60
|
-
/* stylelint-disable-next-line no-descending-specificity */
|
|
61
|
-
.select:not(.select--disabled):hover .select__combobox {
|
|
62
|
-
border-color: var(--syn-input-border-color-hover);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/* Prefix and Suffix */
|
|
66
|
-
|
|
67
|
-
/* Small */
|
|
68
|
-
.select--small .select__prefix::slotted(*) {
|
|
69
|
-
margin-inline-end: var(--syn-spacing-x-small);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.select--small .select__suffix::slotted(*) {
|
|
73
|
-
margin-inline-start: var(--syn-spacing-x-small);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.select--small .select__suffix::slotted(syn-icon),
|
|
77
|
-
.select--small .select__prefix::slotted(syn-icon) {
|
|
78
|
-
font-size: var(--syn-font-size-medium);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/* Medium */
|
|
82
|
-
.select--medium .select__prefix::slotted(*) {
|
|
83
|
-
margin-inline-end: var(--syn-input-spacing-small);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.select--medium .select__suffix::slotted(*) {
|
|
87
|
-
margin-inline-start: var(--syn-input-spacing-small);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.select--medium .select__suffix::slotted(syn-icon),
|
|
91
|
-
.select--medium .select__prefix::slotted(syn-icon) {
|
|
92
|
-
font-size: var(--syn-font-size-x-large);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* Large */
|
|
96
|
-
.select--large .select__prefix::slotted(*) {
|
|
97
|
-
margin-inline-end: var(--syn-input-spacing-medium);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.select--large .select__suffix::slotted(*) {
|
|
101
|
-
margin-inline-start: var(--syn-input-spacing-medium);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.select--large .select__suffix::slotted(syn-icon),
|
|
105
|
-
.select--large .select__prefix::slotted(syn-icon) {
|
|
106
|
-
font-size: var(--syn-font-size-2x-large);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.select__prefix,
|
|
110
|
-
.select__suffix {
|
|
111
|
-
color: var(--syn-input-icon-color);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/* Multi Select */
|
|
115
|
-
.select__tags {
|
|
116
|
-
margin-inline-start: var(--syn-spacing-medium);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.select--small .select__tags {
|
|
120
|
-
gap: var(--syn-spacing-2x-small);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.select--medium .select__tags {
|
|
124
|
-
gap: var(--syn-spacing-x-small);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.select--large .select__tags {
|
|
128
|
-
gap: var(--syn-spacing-small);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/* Listbox */
|
|
132
|
-
.select__listbox {
|
|
133
|
-
border-radius: var(--syn-input-border-radius-medium);
|
|
134
|
-
box-shadow: var(--syn-shadow-medium);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Make sure to hide the syn-divider for the first syn-optgroup
|
|
139
|
-
* Note! ::slotted does currently not work with ::part, so we
|
|
140
|
-
* opted for using a css variable here.
|
|
141
|
-
*/
|
|
142
|
-
.select__listbox ::slotted(syn-optgroup:first-of-type) {
|
|
143
|
-
--display-divider: none;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* #850: Allow to measure the size of the combobox.
|
|
148
|
-
* This is needed so we can automatically size and truncate the tags in the <syn-select multiple> component.
|
|
149
|
-
* Scoped to multiple to not break the single select per accident.
|
|
150
|
-
* Scoped to when placeholder is not visible to not break the placeholder visualization
|
|
151
|
-
*/
|
|
152
|
-
:host([multiple]) :not(.select--placeholder-visible) > .select__combobox > .select__tags {
|
|
153
|
-
min-width: 100px;
|
|
154
|
-
overflow: hidden;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
:host([multiple]) .select__tags > div {
|
|
158
|
-
display: contents;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
:host([multiple]) .select__tags > div > syn-tag {
|
|
162
|
-
--syn-tag-position-adjustment: var(--syn-spacing-3x-small);
|
|
163
|
-
|
|
164
|
-
max-width: var(--syn-select-tag-max-width);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
:host([multiple]) .select__tags > div > syn-tag::part(content) {
|
|
168
|
-
display: initial;
|
|
169
|
-
overflow: hidden;
|
|
170
|
-
text-overflow: ellipsis;
|
|
171
|
-
white-space: nowrap;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
${sharedOptionSize}
|
|
175
|
-
`;
|