@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.
Files changed (78) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/utilities/storybook/scraper.js +14 -3
  3. package/metadata/checksum.txt +1 -1
  4. package/metadata/packages/components/components/syn-alert/component.styles.ts +126 -26
  5. package/metadata/packages/components/components/syn-alert/component.ts +1 -2
  6. package/metadata/packages/components/components/syn-checkbox/component.angular.ts +13 -0
  7. package/metadata/packages/components/components/syn-checkbox/component.styles.ts +99 -39
  8. package/metadata/packages/components/components/syn-checkbox/component.ts +13 -10
  9. package/metadata/packages/components/components/syn-checkbox/component.vue +5 -0
  10. package/metadata/packages/components/components/syn-combobox/component.angular.ts +13 -0
  11. package/metadata/packages/components/components/syn-combobox/component.styles.ts +216 -193
  12. package/metadata/packages/components/components/syn-combobox/component.ts +68 -39
  13. package/metadata/packages/components/components/syn-combobox/component.vue +5 -0
  14. package/metadata/packages/components/components/syn-file/component.angular.ts +13 -0
  15. package/metadata/packages/components/components/syn-file/component.styles.ts +20 -3
  16. package/metadata/packages/components/components/syn-file/component.ts +19 -5
  17. package/metadata/packages/components/components/syn-file/component.vue +5 -0
  18. package/metadata/packages/components/components/syn-input/component.ts +1 -2
  19. package/metadata/packages/components/components/syn-popup/component.styles.ts +24 -17
  20. package/metadata/packages/components/components/syn-popup/component.ts +1 -2
  21. package/metadata/packages/components/components/syn-radio/component.angular.ts +13 -0
  22. package/metadata/packages/components/components/syn-radio/component.styles.ts +91 -29
  23. package/metadata/packages/components/components/syn-radio/component.ts +19 -10
  24. package/metadata/packages/components/components/syn-radio/component.vue +5 -0
  25. package/metadata/packages/components/components/syn-radio-group/component.styles.ts +30 -9
  26. package/metadata/packages/components/components/syn-radio-group/component.ts +61 -32
  27. package/metadata/packages/components/components/syn-range/component.angular.ts +13 -0
  28. package/metadata/packages/components/components/syn-range/component.styles.ts +27 -3
  29. package/metadata/packages/components/components/syn-range/component.ts +17 -5
  30. package/metadata/packages/components/components/syn-range/component.vue +5 -0
  31. package/metadata/packages/components/components/syn-select/component.angular.ts +13 -0
  32. package/metadata/packages/components/components/syn-select/component.styles.ts +222 -151
  33. package/metadata/packages/components/components/syn-select/component.ts +30 -15
  34. package/metadata/packages/components/components/syn-select/component.vue +5 -0
  35. package/metadata/packages/components/components/syn-switch/component.angular.ts +13 -0
  36. package/metadata/packages/components/components/syn-switch/component.styles.ts +145 -63
  37. package/metadata/packages/components/components/syn-switch/component.ts +16 -4
  38. package/metadata/packages/components/components/syn-switch/component.vue +5 -0
  39. package/metadata/packages/components/components/syn-textarea/component.styles.ts +55 -27
  40. package/metadata/packages/components/components/syn-textarea/component.ts +1 -3
  41. package/metadata/packages/components/components/syn-tooltip/component.styles.ts +15 -10
  42. package/metadata/packages/components/components/syn-tooltip/component.ts +13 -5
  43. package/metadata/packages/components/components/syn-validate/component.angular.ts +9 -0
  44. package/metadata/packages/components/components/syn-validate/component.react.ts +8 -0
  45. package/metadata/packages/components/components/syn-validate/component.ts +106 -8
  46. package/metadata/packages/components/components/syn-validate/component.vue +9 -0
  47. package/metadata/packages/components/static/CHANGELOG.md +43 -0
  48. package/metadata/packages/tokens/CHANGELOG.md +33 -0
  49. package/metadata/packages/tokens/dark.css +7 -1
  50. package/metadata/packages/tokens/index.js +31 -1
  51. package/metadata/packages/tokens/light.css +7 -1
  52. package/metadata/packages/tokens/sick2018_dark.css +7 -1
  53. package/metadata/packages/tokens/sick2018_light.css +7 -1
  54. package/metadata/packages/tokens/sick2025_dark.css +7 -1
  55. package/metadata/packages/tokens/sick2025_light.css +7 -1
  56. package/metadata/static/components/syn-checkbox/docs.md +36 -0
  57. package/metadata/static/components/syn-combobox/docs.md +138 -0
  58. package/metadata/static/components/syn-file/docs.md +24 -0
  59. package/metadata/static/components/syn-input/docs.md +1 -1
  60. package/metadata/static/components/syn-radio/docs.md +21 -0
  61. package/metadata/static/components/syn-radio-group/docs.md +46 -0
  62. package/metadata/static/components/syn-range/docs.md +19 -0
  63. package/metadata/static/components/syn-select/docs.md +81 -0
  64. package/metadata/static/components/syn-switch/docs.md +22 -0
  65. package/metadata/static/components/syn-textarea/docs.md +1 -1
  66. package/metadata/static/components/syn-tooltip/docs.md +73 -0
  67. package/metadata/static/components/syn-validate/docs.md +33 -6
  68. package/package.json +4 -4
  69. package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +0 -136
  70. package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +0 -86
  71. package/metadata/packages/components/components/syn-combobox/component.custom.styles.ts +0 -122
  72. package/metadata/packages/components/components/syn-popup/component.custom.styles.ts +0 -18
  73. package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +0 -86
  74. package/metadata/packages/components/components/syn-radio-group/component.custom.styles.ts +0 -25
  75. package/metadata/packages/components/components/syn-select/component.custom.styles.ts +0 -175
  76. package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +0 -141
  77. package/metadata/packages/components/components/syn-textarea/component.custom.styles.ts +0 -48
  78. 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.
@@ -93,7 +93,7 @@ Use the placeholder attribute to add a placeholder.
93
93
 
94
94
  ## Readonly Textareas
95
95
 
96
- Add the read-only attribute to draw a read-only textarea.
96
+ Add the readonly attribute to draw a read-only textarea.
97
97
 
98
98
  ```html
99
99
  <syn-textarea
@@ -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 Validation"
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="Inline Validation"
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.6.1",
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
- `;