@synergy-design-system/mcp 2.6.1 → 2.8.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 +33 -0
- package/dist/utilities/storybook/scraper.js +14 -3
- package/metadata/checksum.txt +1 -1
- package/metadata/packages/components/components/syn-alert/component.styles.ts +126 -26
- package/metadata/packages/components/components/syn-alert/component.ts +1 -2
- 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-popup/component.styles.ts +24 -17
- package/metadata/packages/components/components/syn-popup/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/components/syn-tooltip/component.styles.ts +15 -10
- package/metadata/packages/components/components/syn-tooltip/component.ts +13 -5
- package/metadata/packages/components/components/syn-validate/component.angular.ts +9 -0
- package/metadata/packages/components/components/syn-validate/component.react.ts +8 -0
- package/metadata/packages/components/components/syn-validate/component.ts +106 -8
- package/metadata/packages/components/components/syn-validate/component.vue +9 -0
- package/metadata/packages/components/static/CHANGELOG.md +43 -0
- package/metadata/packages/tokens/CHANGELOG.md +33 -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/metadata/static/components/syn-validate/docs.md +33 -6
- package/package.json +4 -4
- package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +0 -136
- 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-popup/component.custom.styles.ts +0 -18
- 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
- package/metadata/packages/components/components/syn-tooltip/component.custom.styles.ts +0 -13
|
@@ -38,6 +38,28 @@ Use the disabled attribute to disable the switch.
|
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
41
|
+
## Readonly
|
|
42
|
+
|
|
43
|
+
Add the readonly attribute to draw a read-only switch.
|
|
44
|
+
|
|
45
|
+
```html
|
|
46
|
+
<div
|
|
47
|
+
style="
|
|
48
|
+
display: flex;
|
|
49
|
+
gap: var(--syn-spacing-large);
|
|
50
|
+
flex-direction: column;
|
|
51
|
+
align-items: flex-start;
|
|
52
|
+
"
|
|
53
|
+
>
|
|
54
|
+
<syn-switch readonly="" title="" size="medium" form="">Unchecked</syn-switch>
|
|
55
|
+
<syn-switch checked="" readonly="" title="" size="medium" form=""
|
|
56
|
+
>Checked</syn-switch
|
|
57
|
+
>
|
|
58
|
+
</div>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
41
63
|
## Sizes
|
|
42
64
|
|
|
43
65
|
Use the size attribute to change a switch’s size.
|
|
@@ -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
|
+
```
|
|
@@ -25,6 +25,33 @@ Validate offers options for convenient error handling in form elements.
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
## Tooltip Variant
|
|
29
|
+
|
|
30
|
+
When the tooltip variant is chosen, validation errors are displayed in a <syn-tooltip> component that has its center at the invalid element. The native tooltip is suppressed.
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<form id="components-syn-validate--tooltip-variant-validate-demo-form">
|
|
34
|
+
<syn-validate class="validation-tooltip" variant="tooltip" on="live">
|
|
35
|
+
<syn-input
|
|
36
|
+
label="Invalid input"
|
|
37
|
+
type="email"
|
|
38
|
+
value="team(at)synergy.com"
|
|
39
|
+
required=""
|
|
40
|
+
title=""
|
|
41
|
+
size="medium"
|
|
42
|
+
form=""
|
|
43
|
+
></syn-input>
|
|
44
|
+
</syn-validate>
|
|
45
|
+
<p>
|
|
46
|
+
<syn-button type="submit" title="" variant="outline" size="medium"
|
|
47
|
+
>Submit</syn-button
|
|
48
|
+
>
|
|
49
|
+
</p>
|
|
50
|
+
</form>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
28
55
|
## Inline Variant
|
|
29
56
|
|
|
30
57
|
Set the variant attribute to inline to show the invalid message below the selected element.👨💻 Additional developer Information:Per default, syn-validate uses the browser’s built-in validation. This shows only one error at a time and is optimized for accessbility.When using the inline variant, you have to ensure accessibility on your side and have to have in mind it most likely will lead to layout shifts.
|
|
@@ -33,7 +60,7 @@ Set the variant attribute to inline to show the invalid message below the select
|
|
|
33
60
|
<form id="components-syn-validate--inline-variant-validate-demo-form">
|
|
34
61
|
<syn-validate class="validation-inline" variant="inline" on="">
|
|
35
62
|
<syn-input
|
|
36
|
-
label="Inline
|
|
63
|
+
label="Inline validation"
|
|
37
64
|
type="email"
|
|
38
65
|
value="team(at)synergy.com"
|
|
39
66
|
title=""
|
|
@@ -65,7 +92,7 @@ Use hide-icon to hide the icon in inline style. This is especially useful when s
|
|
|
65
92
|
on=""
|
|
66
93
|
>
|
|
67
94
|
<syn-input
|
|
68
|
-
label="
|
|
95
|
+
label="Hide icon"
|
|
69
96
|
type="email"
|
|
70
97
|
value="team(at)synergy.com"
|
|
71
98
|
title=""
|
|
@@ -95,9 +122,9 @@ In development use the size attribute of the form element e.g. syn-input to set
|
|
|
95
122
|
>
|
|
96
123
|
<syn-validate eager="" variant="inline" on="">
|
|
97
124
|
<syn-input
|
|
98
|
-
label="Inline Validation"
|
|
99
125
|
type="email"
|
|
100
126
|
value="team(at)synergy.com"
|
|
127
|
+
label="Size small"
|
|
101
128
|
size="small"
|
|
102
129
|
title=""
|
|
103
130
|
form=""
|
|
@@ -106,9 +133,9 @@ In development use the size attribute of the form element e.g. syn-input to set
|
|
|
106
133
|
|
|
107
134
|
<syn-validate eager="" variant="inline" on="">
|
|
108
135
|
<syn-input
|
|
109
|
-
label="Inline Validation"
|
|
110
136
|
type="email"
|
|
111
137
|
value="team(at)synergy.com"
|
|
138
|
+
label="Size medium"
|
|
112
139
|
size="medium"
|
|
113
140
|
title=""
|
|
114
141
|
form=""
|
|
@@ -117,9 +144,9 @@ In development use the size attribute of the form element e.g. syn-input to set
|
|
|
117
144
|
|
|
118
145
|
<syn-validate eager="" variant="inline" on="">
|
|
119
146
|
<syn-input
|
|
120
|
-
label="Inline Validation"
|
|
121
147
|
type="email"
|
|
122
148
|
value="team(at)synergy.com"
|
|
149
|
+
label="Size large"
|
|
123
150
|
size="large"
|
|
124
151
|
title=""
|
|
125
152
|
form=""
|
|
@@ -206,7 +233,7 @@ Wrap the element around any other form field, that follows browser standards to
|
|
|
206
233
|
<form id="components-syn-validate--custom-form-field-validate-demo-form">
|
|
207
234
|
<h3 style="margin: 0; padding: 0">Choose SICK´s brand color</h3>
|
|
208
235
|
<syn-validate class="validation-custom-form-field" on="live" variant="inline">
|
|
209
|
-
<validate-demo-radio name="color"></validate-demo-radio>
|
|
236
|
+
<validate-demo-radio name="color" required=""></validate-demo-radio>
|
|
210
237
|
</syn-validate>
|
|
211
238
|
|
|
212
239
|
<p>
|
package/package.json
CHANGED
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
"serve-handler": "^6.1.6",
|
|
29
29
|
"ts-jest": "^29.4.6",
|
|
30
30
|
"typescript": "^5.9.3",
|
|
31
|
+
"@synergy-design-system/components": "3.6.0",
|
|
31
32
|
"@synergy-design-system/docs": "0.1.0",
|
|
32
|
-
"@synergy-design-system/components": "3.4.1",
|
|
33
33
|
"@synergy-design-system/fonts": "1.0.3",
|
|
34
|
+
"@synergy-design-system/tokens": "^3.6.0",
|
|
34
35
|
"@synergy-design-system/eslint-config-syn": "^0.1.0",
|
|
35
|
-
"@synergy-design-system/styles": "2.0.1"
|
|
36
|
-
"@synergy-design-system/tokens": "^3.4.1"
|
|
36
|
+
"@synergy-design-system/styles": "2.0.1"
|
|
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.8.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,136 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
|
|
3
|
-
export default css`
|
|
4
|
-
.alert {
|
|
5
|
-
/* Defines the used border and icon color for variants */
|
|
6
|
-
--variant-color-border: var(--syn-alert-informative-color-border);
|
|
7
|
-
--variant-color-background: var(--syn-alert-informative-color-background);
|
|
8
|
-
--variant-color-icon: var(--syn-alert-informative-color-icon);
|
|
9
|
-
--variant-color-indicator: var(--syn-alert-informative-color-indicator);
|
|
10
|
-
|
|
11
|
-
/* Defines special settings for sizes */
|
|
12
|
-
--size-font-size: var(--syn-font-size-medium);
|
|
13
|
-
--size-icon-size: var(--syn-font-size-x-large);
|
|
14
|
-
--size-min-height: 54px;
|
|
15
|
-
--size-message-padding: var(--syn-spacing-medium) var(--syn-spacing-large) var(--syn-spacing-medium) var(--syn-spacing-medium);
|
|
16
|
-
--size-icon-padding-block: var(--syn-spacing-medium);
|
|
17
|
-
--size-icon-padding-inline: var(--syn-spacing-medium);
|
|
18
|
-
|
|
19
|
-
background-color: var(--variant-color-background);
|
|
20
|
-
border: var(--syn-panel-border-width) solid var(--variant-color-border);
|
|
21
|
-
border-left: 0;
|
|
22
|
-
border-radius: var(--syn-border-radius-none);
|
|
23
|
-
box-sizing: content-box;
|
|
24
|
-
color: var(--syn-typography-color-text);
|
|
25
|
-
font-size: var(--size-font-size);
|
|
26
|
-
line-height: var(--syn-line-height-normal);
|
|
27
|
-
min-height: var(--size-min-height);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Add back the items left borders
|
|
32
|
-
* This is done to prevent border clipping with the large border-left needed on .alert
|
|
33
|
-
* Note we also need to adjust our paddings to add the border width here
|
|
34
|
-
*/
|
|
35
|
-
.alert::before {
|
|
36
|
-
background: var(--variant-color-indicator);
|
|
37
|
-
bottom: -1px;
|
|
38
|
-
content: "";
|
|
39
|
-
left: 0;
|
|
40
|
-
position: absolute;
|
|
41
|
-
top: -1px;
|
|
42
|
-
width: var(--syn-spacing-2x-small);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.alert :first-child {
|
|
46
|
-
margin-inline-start: var(--syn-spacing-2x-small);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Make sure everything is aligned to top
|
|
51
|
-
*/
|
|
52
|
-
.alert__icon,
|
|
53
|
-
.alert__close-button {
|
|
54
|
-
align-items: flex-start;
|
|
55
|
-
font-size: var(--size-icon-size);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.alert__message {
|
|
59
|
-
align-self: center;
|
|
60
|
-
padding: var(--size-message-padding);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Alert Icon
|
|
65
|
-
*/
|
|
66
|
-
.alert__icon {
|
|
67
|
-
color: var(--variant-color-icon);
|
|
68
|
-
padding-block-start: var(--size-icon-padding-block);
|
|
69
|
-
padding-inline-start: var(--size-icon-padding-inline);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Close Icon
|
|
74
|
-
*/
|
|
75
|
-
.alert__close-button {
|
|
76
|
-
align-self: start; /* #1135: Fix alignment for the close icon */
|
|
77
|
-
color: var(--syn-typography-color-text);
|
|
78
|
-
margin-block: calc(var(--syn-spacing-x-small) - var(--syn-panel-border-width));
|
|
79
|
-
margin-inline-end: var(--syn-spacing-x-small);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Variant colors
|
|
84
|
-
*/
|
|
85
|
-
.alert--success {
|
|
86
|
-
--variant-color-border: var(--syn-alert-success-color-border);
|
|
87
|
-
--variant-color-background: var(--syn-alert-success-color-background);
|
|
88
|
-
--variant-color-icon: var(--syn-alert-success-color-icon);
|
|
89
|
-
--variant-color-indicator: var(--syn-alert-success-color-indicator);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.alert--neutral {
|
|
93
|
-
--variant-color-border: var(--syn-alert-neutral-color-border);
|
|
94
|
-
--variant-color-background: var(--syn-alert-neutral-color-background);
|
|
95
|
-
--variant-color-icon: var(--syn-alert-neutral-color-icon);
|
|
96
|
-
--variant-color-indicator: var(--syn-alert-neutral-color-indicator);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.alert--warning {
|
|
100
|
-
--variant-color-border: var(--syn-alert-warning-color-border);
|
|
101
|
-
--variant-color-background: var(--syn-alert-warning-color-background);
|
|
102
|
-
--variant-color-icon: var(--syn-alert-warning-color-icon);
|
|
103
|
-
--variant-color-indicator: var(--syn-alert-warning-color-indicator);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.alert--danger {
|
|
107
|
-
--variant-color-border: var(--syn-alert-error-color-border);
|
|
108
|
-
--variant-color-background: var(--syn-alert-error-color-background);
|
|
109
|
-
--variant-color-icon: var(--syn-alert-error-color-icon);
|
|
110
|
-
--variant-color-indicator: var(--syn-alert-error-color-indicator);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/* #1119: Alert Sizes */
|
|
114
|
-
.alert--small {
|
|
115
|
-
--size-font-size: var(--syn-font-size-small);
|
|
116
|
-
--size-icon-size: var(--syn-font-size-large);
|
|
117
|
-
--size-min-height: 44px;
|
|
118
|
-
--size-message-padding: var(--syn-spacing-small) var(--syn-spacing-large) var(--syn-spacing-small) var(--syn-spacing-small);
|
|
119
|
-
--size-icon-padding-block: var(--syn-spacing-small);
|
|
120
|
-
--size-icon-padding-inline: var(--syn-spacing-small);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/* Adjust close button size for small alerts */
|
|
124
|
-
.alert--small .alert__close-button {
|
|
125
|
-
font-size: var(--syn-font-size-medium);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.alert--large {
|
|
129
|
-
--size-font-size: var(--syn-font-size-large);
|
|
130
|
-
--size-icon-size: var(--syn-font-size-2x-large);
|
|
131
|
-
--size-min-height: 68px;
|
|
132
|
-
--size-message-padding: var(--syn-spacing-medium-large) var(--syn-spacing-large) var(--syn-spacing-medium-large) var(--syn-spacing-medium-large);
|
|
133
|
-
--size-icon-padding-block: var(--syn-spacing-medium-large);
|
|
134
|
-
--size-icon-padding-inline: var(--syn-spacing-medium-large);
|
|
135
|
-
}
|
|
136
|
-
`;
|
|
@@ -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,18 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
|
|
3
|
-
export default css`
|
|
4
|
-
.popup {
|
|
5
|
-
/* Clear UA styles for [popover] */
|
|
6
|
-
:where(&) {
|
|
7
|
-
background: unset;
|
|
8
|
-
border: unset;
|
|
9
|
-
color: unset;
|
|
10
|
-
height: unset;
|
|
11
|
-
inset: unset;
|
|
12
|
-
margin: unset;
|
|
13
|
-
overflow: unset;
|
|
14
|
-
padding: unset;
|
|
15
|
-
width: unset;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
`;
|
|
@@ -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
|
-
`;
|