@synergy-design-system/mcp 1.41.2 → 2.1.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 (101) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +43 -8
  3. package/dist/build/assets.js +1 -0
  4. package/dist/build/static.js +15 -7
  5. package/dist/build/styles.js +1 -0
  6. package/dist/build/tokens.js +1 -0
  7. package/dist/tools/asset-info.js +4 -4
  8. package/dist/tools/index.d.ts +1 -0
  9. package/dist/tools/index.js +1 -0
  10. package/dist/tools/migration-info.d.ts +10 -1
  11. package/dist/tools/migration-info.js +74 -12
  12. package/dist/tools/migration-list.d.ts +10 -0
  13. package/dist/tools/migration-list.js +122 -0
  14. package/dist/utilities/migration.d.ts +3 -1
  15. package/dist/utilities/migration.js +25 -2
  16. package/metadata/checksum.txt +1 -1
  17. package/metadata/packages/angular/README.md +1 -1
  18. package/metadata/packages/assets/BREAKING_CHANGES.md +305 -0
  19. package/metadata/packages/assets/CHANGELOG.md +18 -0
  20. package/metadata/packages/assets/README.md +39 -22
  21. package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +20 -20
  22. package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +10 -10
  23. package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +1 -1
  24. package/metadata/packages/components/components/syn-button/component.custom.styles.ts +38 -24
  25. package/metadata/packages/components/components/syn-button-group/component.angular.ts +24 -0
  26. package/metadata/packages/components/components/syn-button-group/component.custom.styles.ts +5 -0
  27. package/metadata/packages/components/components/syn-button-group/component.ts +77 -2
  28. package/metadata/packages/components/components/syn-button-group/component.vue +12 -0
  29. package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +7 -7
  30. package/metadata/packages/components/components/syn-combobox/component.angular.ts +0 -17
  31. package/metadata/packages/components/components/syn-combobox/component.ts +0 -9
  32. package/metadata/packages/components/components/syn-combobox/component.vue +0 -9
  33. package/metadata/packages/components/components/syn-details/component.custom.styles.ts +1 -1
  34. package/metadata/packages/components/components/syn-dialog/component.custom.styles.ts +1 -1
  35. package/metadata/packages/components/components/syn-dropdown/component.angular.ts +0 -17
  36. package/metadata/packages/components/components/syn-dropdown/component.ts +0 -8
  37. package/metadata/packages/components/components/syn-dropdown/component.vue +0 -9
  38. package/metadata/packages/components/components/syn-file/component.styles.ts +6 -6
  39. package/metadata/packages/components/components/syn-header/component.styles.ts +7 -7
  40. package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +8 -8
  41. package/metadata/packages/components/components/syn-input/component.custom.styles.ts +3 -3
  42. package/metadata/packages/components/components/syn-input/component.ts +2 -3
  43. package/metadata/packages/components/components/syn-menu-item/component.custom.styles.ts +11 -11
  44. package/metadata/packages/components/components/syn-nav-item/component.styles.ts +3 -3
  45. package/metadata/packages/components/components/syn-optgroup/component.styles.ts +1 -1
  46. package/metadata/packages/components/components/syn-option/component.custom.styles.ts +13 -13
  47. package/metadata/packages/components/components/syn-popup/component.angular.ts +0 -16
  48. package/metadata/packages/components/components/syn-popup/component.ts +3 -10
  49. package/metadata/packages/components/components/syn-popup/component.vue +0 -10
  50. package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +2 -2
  51. package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +2 -2
  52. package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +7 -7
  53. package/metadata/packages/components/components/syn-range/component.styles.ts +9 -9
  54. package/metadata/packages/components/components/syn-range/component.ts +0 -1
  55. package/metadata/packages/components/components/syn-range-tick/component.styles.ts +1 -1
  56. package/metadata/packages/components/components/syn-select/component.angular.ts +0 -17
  57. package/metadata/packages/components/components/syn-select/component.ts +0 -8
  58. package/metadata/packages/components/components/syn-select/component.vue +0 -9
  59. package/metadata/packages/components/components/syn-side-nav/component.angular.ts +0 -21
  60. package/metadata/packages/components/components/syn-side-nav/component.ts +1 -36
  61. package/metadata/packages/components/components/syn-side-nav/component.vue +0 -13
  62. package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +2 -2
  63. package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +16 -16
  64. package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +3 -3
  65. package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +2 -2
  66. package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +1 -1
  67. package/metadata/packages/components/components/syn-tooltip/component.angular.ts +0 -18
  68. package/metadata/packages/components/components/syn-tooltip/component.ts +1 -10
  69. package/metadata/packages/components/components/syn-tooltip/component.vue +0 -10
  70. package/metadata/packages/components/migration/BREAKING_CHANGES.md +433 -14
  71. package/metadata/packages/components/static/CHANGELOG.md +61 -0
  72. package/metadata/packages/components/static/LIMITATIONS.md +141 -35
  73. package/metadata/packages/styles/BREAKING_CHANGES.md +105 -0
  74. package/metadata/packages/styles/CHANGELOG.md +26 -0
  75. package/metadata/packages/styles/index.css +9 -9
  76. package/metadata/packages/styles/link-list.css +1 -1
  77. package/metadata/packages/styles/link.css +2 -2
  78. package/metadata/packages/styles/tables.css +8 -8
  79. package/metadata/packages/styles/typography.css +1 -1
  80. package/metadata/packages/tokens/BREAKING_CHANGES.md +180 -0
  81. package/metadata/packages/tokens/CHANGELOG.md +30 -0
  82. package/metadata/packages/tokens/README.md +2 -0
  83. package/metadata/packages/tokens/dark.css +237 -236
  84. package/metadata/packages/tokens/index.js +6 -1
  85. package/metadata/packages/tokens/light.css +221 -220
  86. package/metadata/packages/tokens/sick2018_dark.css +4 -3
  87. package/metadata/packages/tokens/sick2018_light.css +4 -3
  88. package/metadata/packages/tokens/sick2025_dark.css +4 -3
  89. package/metadata/packages/tokens/sick2025_light.css +4 -3
  90. package/metadata/static/components/syn-badge/docs.md +2 -14
  91. package/metadata/static/components/syn-button-group/docs.md +259 -0
  92. package/metadata/static/components/syn-popup/docs.md +10 -29
  93. package/metadata/static/components/syn-range/docs.md +1 -1
  94. package/metadata/static/migration/index.md +51 -11
  95. package/metadata/{packages/components/migration/migration-synergy-v3.md → static/migration/v2-2018-to-v2-2025.md} +1 -1
  96. package/metadata/static/migration/v2-2018-to-v3-2018.md +147 -0
  97. package/metadata/static/migration/v2-2018-to-v3-2025.md +150 -0
  98. package/metadata/static/migration/v2-2025-to-v3-2025.md +133 -0
  99. package/metadata/static/templates/appshell.md +8 -8
  100. package/metadata/static/templates/footer.md +1 -1
  101. package/package.json +5 -5
@@ -0,0 +1,305 @@
1
+ # Handling breaking changes between major versions
2
+
3
+ This guide holds the required information for migrating from one major version of `@synergy-design-system/assets` to the next.
4
+
5
+ > ⚠️ Migrations **must** always be done from one major version to the next to prevent issues (e.g. with types and property changes)
6
+ > This means when moving from `@synergy-design-system/assets` v1.x to v3.x,
7
+ > you will **have to apply** the changes from v1.x to v2.x first!
8
+
9
+ ---
10
+
11
+ ## Version 2.0
12
+
13
+ <h3 id="fs-layout-v2">BREAKING! Changes to the filesystem layout</h3>
14
+
15
+ #### ⚠️ Introducing a new filesystem structure
16
+
17
+ **Associated Ticket(s)**:
18
+
19
+ - [#1149](https://github.com/synergy-design-system/synergy-design-system/issues/1149)
20
+
21
+ **Reason**:
22
+
23
+ During the migration process it became clear that the layout of the filesystem had to be cleaned up for easier usage and extendability.
24
+ The old flat separation on the top level of the `src` folder was poorly structured and hard to reason about. Are the icons the user needs located in `src/icons` or `src/icons-2025`? Does he need `system-icons` or `system-icons-2025`? It even got worse with the packages export map: Where should `icons` be pointed with the new default icon set of `SICK 2025`?
25
+
26
+ Because of those problems, the filesystem structure was restructured like shown below:
27
+
28
+ **SICK 2018 Assets:**
29
+
30
+ | Content | Location (1.x) | Location (2.x) |
31
+ | ------------------ | -------------------- | ------------------------- |
32
+ | Logos (svg) | src/logos | src/sick2018/logos |
33
+ | System Icons (svg) | src/system-icons | src/sick2018/system-icons |
34
+ | Icons (svg) | src/icons | src/sick2018/icons |
35
+ | Default Icons (js) | src/default-icons.ts | src/sick2018/js/index.js |
36
+
37
+ **SICK 2025 Assets:**
38
+
39
+ | Content | Location (1.x) | Location (2.x) |
40
+ | ------------------- | ----------------------------- | -------------------------- |
41
+ | Logos (svg) | src/logos | src/sick2025/logos |
42
+ | System Icons (svg) | src/system-icons-sick2025 | src/sick2025/system-icons |
43
+ | Icons fill (svg) | src/sick2025/fill | src/sick2025/icons/fill |
44
+ | Icons fill (js) | src/sick2025-filled-icons.ts | src/sick2025/js/filled.js |
45
+ | Icons outline (svg) | src/sick2025/outline | src/sick2025/icons/outline |
46
+ | Icons outline (js) | src/sick2025-outline-icons.ts | src/sick2025/js/outline.js |
47
+ | Icons all (js) | src/default-icons-2025.ts | src/sick2025/js/index.js |
48
+
49
+ **Migration Steps**:
50
+
51
+ When using a copy script to copy the assets to your build destination, use the following map for the new paths. Note that the **name of the svgs have not changed** and should work regardless.
52
+
53
+ **Example (before)**:
54
+
55
+ ```javascript
56
+ // Default configuration for SICK 2018 icons and @synergy-design-system/assets@1.x.
57
+ export default defineConfig({
58
+ plugins: [
59
+ viteStaticCopy({
60
+ targets: [
61
+ // Old path for SICK logos (all)
62
+ {
63
+ src: "node_modules/@synergy-design-system/assets/src/logos/*",
64
+ dest: "./assets/logos",
65
+ },
66
+ // Old path for 2018 icons
67
+ {
68
+ src: "node_modules/@synergy-design-system/assets/src/icons/*",
69
+ dest: "./assets/icons/sick2018",
70
+ },
71
+ // Old path for 2025 icons
72
+ {
73
+ src: "node_modules/@synergy-design-system/assets/src/sick2025/outline/*",
74
+ dest: "./assets/icons/sick2025",
75
+ },
76
+ ],
77
+ }),
78
+ ],
79
+ });
80
+ ```
81
+
82
+ **Example (after)**:
83
+
84
+ ```javascript
85
+ // Default configuration for SICK 2018 icons and @synergy-design-system/assets@2.x.
86
+ export default defineConfig({
87
+ plugins: [
88
+ viteStaticCopy({
89
+ targets: [
90
+ // New path for SICK logos (2018)
91
+ {
92
+ src: "node_modules/@synergy-design-system/assets/src/sick2018/logos/*",
93
+ dest: "./assets/logos",
94
+ },
95
+ // New path for SICK logos (2025)
96
+ {
97
+ src: "node_modules/@synergy-design-system/assets/src/sick2025/logos/*",
98
+ dest: "./assets/logos",
99
+ },
100
+ // New path for 2018 icons
101
+ {
102
+ src: "node_modules/@synergy-design-system/assets/src/sick2018/icons/*",
103
+ dest: "./assets/icons/sick2018",
104
+ },
105
+ // New path for 2025 icons
106
+ {
107
+ src: "node_modules/@synergy-design-system/assets/src/sick2025/icons/outline/*",
108
+ dest: "./assets/icons/sick2025",
109
+ },
110
+ ],
111
+ }),
112
+ ],
113
+ });
114
+ ```
115
+
116
+ ---
117
+
118
+ <h3 id="deprecate-sick2018-v2">SICK 2018 icons</h3>
119
+
120
+ #### ⚠️ Future deprecation of the SICK 2018 icons
121
+
122
+ **Associated Ticket(s)**:
123
+
124
+ - [#1149](https://github.com/synergy-design-system/synergy-design-system/issues/1149)
125
+
126
+ **Reason**:
127
+
128
+ With the release of `@synergy-design-system/assets` v2.0 (part of Synergy 3), the SICK 2025 icons are now the default iconset for new applications. This is reflected in all of our documentation and demos. Still providing the SICK 2018 icons in the future leads to a very large package payload (approx. 55mb). We therefore marked all utilities and types using the SICK 2018 icons as deprecated in code and will remove the SICK 2018 icons and their types in a future major release.
129
+
130
+ > We plan to keep the SICK 2018 icons available until at least the beginning of 2027.
131
+ > They will likely be removed in the first major release after 2027.
132
+
133
+ **Migration Steps**:
134
+
135
+ - Upgrade your application to use the new SICK 2025 iconset.
136
+ - Optionally use the `createMigrationLibrary` or `migrateIconName` helpers to migrate from 2018 icon names to the new ones seamlessly.
137
+
138
+ **Example (before)**:
139
+
140
+ ```html
141
+ <syn-icon name="access_alarm"></syn-icon>
142
+ ```
143
+
144
+ **Example (after)**:
145
+
146
+ ```html
147
+ <!-- Keep using SICK 2018 icons without migration -->
148
+ <script type="module">
149
+ import { setupIcons } from "@synergy-design-system/components";
150
+ // Use 'sick2018' to keep old icon names working with old icon files
151
+ setupIcons("sick2018");
152
+ </script>
153
+
154
+ <!-- Continues to work as before, no name mapping needed -->
155
+ <syn-icon name="access_alarm"></syn-icon>
156
+ ```
157
+
158
+ **Example (after)**:
159
+
160
+ ```html
161
+ <!-- Migrate to SICK 2025 icons while keeping old icon names in markup -->
162
+ <script type="module">
163
+ import { setupIcons } from "@synergy-design-system/components";
164
+ // Use 'sick2025' to enable automatic name migration
165
+ setupIcons("sick2025");
166
+ </script>
167
+
168
+ <!-- Old name automatically maps to 'alarm' and loads alarm.svg from SICK 2025 -->
169
+ <syn-icon name="access_alarm"></syn-icon>
170
+ ```
171
+
172
+ **Example (after)**:
173
+
174
+ ```html
175
+ <!-- Manual migration: Update icon names directly in markup -->
176
+ <script type="module">
177
+ import { migrateIconName } from "@synergy-design-system/components";
178
+
179
+ // Helper function shows what the new name is
180
+ const newIconName = migrateIconName("access_alarm"); // Returns 'alarm'
181
+ console.log(newIconName);
182
+ </script>
183
+
184
+ <!-- Update to new icon name directly -->
185
+ <syn-icon name="alarm"></syn-icon>
186
+ ```
187
+
188
+ ---
189
+
190
+ <h3 id="cli-defaults-v2">`createSpriteSheet`</h3>
191
+
192
+ #### ⚠️ Changed defaults from SICK 2018 to SICK 2025 theme
193
+
194
+ **Associated Ticket(s)**:
195
+
196
+ - [#1149](https://github.com/synergy-design-system/synergy-design-system/issues/1149)
197
+
198
+ **Reason**:
199
+
200
+ With the migration from SICK 2018 to SICK 2025, all default parameters using a theme were updated from SICK 2018 to SICK 2025.
201
+
202
+ **Migration Steps**:
203
+
204
+ Check if you are using `createSpriteSheet` (js) or `syn-create-spritesheet` (command line). Both use SICK 2025 icons now by default.
205
+
206
+ **Example (before)**:
207
+
208
+ ```bash
209
+ # Returns images from sick 2018 in version 1
210
+ npx @synergy-design-system/assets/syn-create-spritesheet --list=wallpaper
211
+ ```
212
+
213
+ **Example (after)**:
214
+
215
+ ```bash
216
+ # Returns images from sick 2025 in version 2
217
+ npx @synergy-design-system/assets/syn-create-spritesheet --list=wallpaper
218
+
219
+ # Returns images from sick 2018 in version 2
220
+ npx @synergy-design-system/assets/syn-create-spritesheet --list=wallpaper --iconset=sick2018
221
+ ```
222
+
223
+ ---
224
+
225
+ <h3 id="exports-change-v2">Exports</h3>
226
+
227
+ #### ⚠️ Updated mappings of exported scripts
228
+
229
+ **Associated Ticket(s)**:
230
+
231
+ - [#1149](https://github.com/synergy-design-system/synergy-design-system/issues/1149)
232
+
233
+ **Reason**:
234
+
235
+ This was needed because of the filesystem reorganization that was necessary.
236
+
237
+ **Migration Steps**:
238
+
239
+ Make sure to adapt your imports for the main export to use `sick2018.js` when you still have to use the SICK 2018 icons. The default export now serves the SICK 2025 icons, and specific icon sets can be imported via their respective endpoints.
240
+
241
+ **Example (before)**:
242
+
243
+ ```javascript
244
+ // Load SICK 2018 icons (default in v1)
245
+ import sick2018Icons from "@synergy-design-system/assets";
246
+
247
+ // Load SICK 2025 icons (explicit in v1)
248
+ import sick2025Icons from "@synergy-design-system/assets/default-icons-2025.js";
249
+
250
+ // Default icon import loads SICK 2018 icons in v2
251
+ import defaultIcons from "@synergy-design-system/assets";
252
+
253
+ console.log(sick2018Icons, sick2025Icons, defaultIcons);
254
+ ```
255
+
256
+ **Example (after)**:
257
+
258
+ ```javascript
259
+ // Load SICK 2018 icons
260
+ import sick2018Icons from "@synergy-design-system/assets/sick2018.js";
261
+
262
+ // Load SICK 2025 icons
263
+ import sick2025Icons from "@synergy-design-system/assets/sick2025.js";
264
+
265
+ // Default icon import loads SICK 2025 icons in v2
266
+ import defaultIcons from "@synergy-design-system/assets";
267
+
268
+ console.log(sick2018Icons, sick2025Icons, defaultIcons);
269
+ ```
270
+
271
+ ---
272
+
273
+ <!-- USE THIS AS A TEMPLATE FOR ADDITIONAL MIGRATION STEPS
274
+
275
+ <h3 id="change-VERSION">`Change`</h3>
276
+
277
+ #### ⚠️ DESCRIBE THE CHANGE HERE
278
+
279
+ **Associated Ticket(s)**:
280
+
281
+ - [#1](https://github.com/synergy-design-system/synergy-design-system/issues/1)
282
+
283
+ **Reason**:
284
+
285
+ DESCRIBE THE REASON FOR THIS CHANGE
286
+
287
+ **Migration Steps**:
288
+
289
+ MIGRATION IN TEXT FORM
290
+
291
+ **Example (before)**:
292
+
293
+ ```javascript
294
+ EXAMPLE BEFORE THE CHANGE
295
+ ```
296
+
297
+ **Example (after)**:
298
+
299
+ ```javascript
300
+ EXAMPLE AFTER THE CHANGE
301
+ ```
302
+
303
+ ---
304
+
305
+ -->
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#1160](https://github.com/synergy-design-system/synergy-design-system/pull/1160) [`669cbcb`](https://github.com/synergy-design-system/synergy-design-system/commit/669cbcb9cccce72134beac99ac12a2591f3e3c74) Thanks [@schilchSICKAG](https://github.com/schilchSICKAG)! - Released on: 2026-02-02
8
+
9
+ feat: 💥 New default iconset SICK 2025
10
+
11
+ This release introduces SICK 2025 as the new default iconset and restructures the filesystem layout for better organization and maintainability.
12
+
13
+ **Key Changes:**
14
+ - **Breaking:** Filesystem structure reorganized - icons, logos, and system-icons are now organized under `src/sick2018/` and `src/sick2025/` directories
15
+ - **Breaking:** Default iconset changed to SICK 2025 - `createSpriteSheet` and CLI commands now use SICK 2025 icons by default
16
+ - **Breaking:** Export mappings updated - the main package export now serves SICK 2025 icons; use `@synergy-design-system/assets/sick2018.js` for SICK 2018 icons
17
+ - **Deprecation Notice:** SICK 2018 icons will be removed in a future major release (expected 2027+)
18
+
19
+ For detailed migration instructions, please refer to the [breaking changes documentation](https://synergy-design-system.github.io/?path=/docs/packages-assets-breaking-changes--docs).
20
+
3
21
  ## 1.25.1
4
22
 
5
23
  ### Patch Changes
@@ -5,47 +5,68 @@ This package provides assets like:
5
5
  - **logos:** a collection of various logos (such as the variants of the SICK brand logo)
6
6
  - **icons:** the standard icons based on [Material Icons](https://fonts.google.com/icons)
7
7
  - **system-icons:** a small subset of icons, that are internally used by the Synergy components
8
+ - **component-thumbnails:** preview icons of components, used in the Synergy documentation page
8
9
 
9
10
  The source of the assets can be found at [Figma](https://www.figma.com/file/bZFqk9urD3NlghGUKrkKCR/Synergy-Digital-Design-System?type=design&node-id=104-233&mode=design&t=GPu4VVd9yffLLAaS-0)
10
11
 
11
12
  ### Installation
12
13
 
13
- Please make sure to install the assets package as a dependency:
14
+ Please make sure to install the assets package as `devDependency` or `dependency`:
14
15
 
15
16
  ```bash
17
+ # If you are only interested in the filesystem based icons,
18
+ # install as a devDependency
19
+ npm install --save-dev @synergy-design-system/assets
20
+
21
+ # If you are using javascript imports in your code directly,
22
+ # install as a dependency
16
23
  npm install --save @synergy-design-system/assets
17
24
  ```
18
25
 
19
26
  ### Usage
20
27
 
21
- #### Images
28
+ #### Icons
22
29
 
23
- All images are provided as svg's.
30
+ All icons are provided as SVG files. The assets package is organized with brand-specific namespaces to ensure clear separation between different icon sets.
24
31
 
25
- The recommended way of using the icons is using the [<syn-icon> Synergy component](https://synergy-design-system.github.io/?path=/docs/components-syn-icon--docs). Here you will also get more information about how setting up the assets package on bundlers like vite.
32
+ The recommended way of using the icons is with the [<syn-icon> Synergy component](https://synergy-design-system.github.io/?path=/docs/components-syn-icon--docs). Here you will also get more information about setting up the assets package on bundlers like vite.
26
33
 
27
34
  ```html
28
35
  <syn-icon name="warning"></syn-icon>
29
36
  ```
30
37
 
31
- Images could also be used directly:
38
+ #### Programmatic Access
32
39
 
33
- ```html
34
- <img src="assets/icons/warning.svg" />
40
+ You can also import icon sets programmatically:
41
+
42
+ ```javascript
43
+ import { sick2025Icons, sick2018Icons } from "@synergy-design-system/assets";
44
+ // or import the default icon set (currently sick2025Icons)
45
+ import { defaultIcons } from "@synergy-design-system/assets";
46
+
47
+ // Access specific icons
48
+ const warningIcon = sick2025Icons.warning;
35
49
  ```
36
50
 
37
51
  ---
38
52
 
39
53
  ## Development
40
54
 
41
- This package is taking care about getting assets (like logos, system icons and default icons) from Figma.
42
- The folder structure of the assets corresponds to the structure of the Figma page.
43
-
44
- - **src/component-thumbnails** contains thumbnails from figma components used in Storybook
45
- - **src/icons:** contains the standard icons based on [Material Icons](https://fonts.google.com/icons) for SICK 2018 brand revision. Use those icons when using Synergy V2
46
- - **src/logos:** contains the variants of the SICK brand logo
47
- - **src/system-icons:** contains a small subset of icons, that are internally used by the Synergy components. Default for Synergy V2.
48
- - **src/system-icons-sick2025:** contains a small subset of icons, that are internally used by the Synergy components. Used from Synergy V3 onward.
55
+ This package provides assets from Figma organized in a clear brand-based hierarchy.
56
+ The folder structure corresponds to the brand revisions and their respective usage.
57
+
58
+ - **src/component-thumbnails:** Contains thumbnails from Figma components used in Storybook
59
+ - **src/sick2025:** Contains the SICK 2025 brand revision assets
60
+ - **icons/outline:** Outline variant icons based on [Material Icons](https://fonts.google.com/icons). These are the preferred icons for applications.
61
+ - **icons/fill:** Filled variant icons based on [Material Icons](https://fonts.google.com/icons). Should be used where alternatives are needed only.
62
+ - **js:** Javascript export of the sick2025 icons
63
+ - **logos:** Contains variants of the SICK brand logo for the SICK 2025 brand revision
64
+ - **system-icons:** Internal icons used by Synergy components (v3+)
65
+ - **src/sick2018:** Contains the SICK 2018 brand revision assets (legacy)
66
+ - **icons:** Standard icons based on [Material Icons](https://fonts.google.com/icons) (v2)
67
+ - **js:** Javascript export of the sick2018 icons
68
+ - **logos:** Contains variants of the SICK brand logo for the SICK 2018 brand revision
69
+ - **system-icons:** Internal icons used by Synergy components (v2)
49
70
 
50
71
  > **Note:** All assets from figma, which should not appear in this package (e.g. documentation), will start with an underscore (e.g. \_my-doc-for-an-asset). This assets are getting filtered and ignored by this package.
51
72
 
@@ -74,13 +95,9 @@ pnpm build:all
74
95
  This will:
75
96
 
76
97
  - Clean up the `src` directory
77
- - download all icons from figma
78
- - Recreate all default icons
98
+ - Download all assets from Figma into brand-specific namespaces
99
+ - Build TypeScript exports for programmatic access
79
100
  - Create the migration iconsets for Synergy 2018 to 2025 via `pnpm create-migration-iconset`
80
101
  - Recreate the license files in the different folders
81
102
  - Create [code connect files](https://www.figma.com/code-connect-docs/html) for all icons. Please be aware you have to call `pnpm figma-export:icons` in the components package to publish the icons!
82
-
83
- ### Updating thumbnails
84
-
85
- Updating thumbnails is quite intense and may lead to 429 rate limit request issues with the Figma API.
86
- Therefore, this is not done automatically. You may use `pnpm build:with-thumbnails` for a full build including the thumbnails or `pnpm fetch-components-thumbnails` directly.
103
+ - Create the default export for the SICK 2025 icons located in `src/sick2025/js/index.ts`
@@ -3,10 +3,10 @@ import { css } from 'lit';
3
3
  export default css`
4
4
  .alert {
5
5
  /* Defines the used border and icon color for variants */
6
- --variant-color-border: var(--syn-alert-informative-color-border, var(--syn-panel-border-color));
7
- --variant-color-background: var(--syn-alert-informative-color-background, var(--syn-panel-background-color));
8
- --variant-color-icon: var(--syn-alert-informative-color-icon, var(--syn-color-primary-600));
9
- --variant-color-indicator: var(--syn-alert-informative-color-indicator, var(--syn-color-primary-600));
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
10
 
11
11
  /* Defines special settings for sizes */
12
12
  --size-font-size: var(--syn-font-size-medium);
@@ -83,31 +83,31 @@ export default css`
83
83
  * Variant colors
84
84
  */
85
85
  .alert--success {
86
- --variant-color-border: var(--syn-alert-success-color-border, var(--syn-panel-border-color));
87
- --variant-color-background: var(--syn-alert-success-color-background, var(--syn-panel-background-color));
88
- --variant-color-icon: var(--syn-alert-success-color-icon, var(--syn-color-success-500));
89
- --variant-color-indicator: var(--syn-alert-success-color-indicator, var(--syn-color-success-500));
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
90
  }
91
91
 
92
92
  .alert--neutral {
93
- --variant-color-border: var(--syn-alert-neutral-color-border, var(--syn-panel-border-color));
94
- --variant-color-background: var(--syn-alert-neutral-color-background, var(--syn-panel-background-color));
95
- --variant-color-icon: var(--syn-alert-neutral-color-icon, var(--syn-color-neutral-800));
96
- --variant-color-indicator: var(--syn-alert-neutral-color-indicator, var(--syn-color-neutral-800));
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
97
  }
98
98
 
99
99
  .alert--warning {
100
- --variant-color-border: var(--syn-alert-warning-color-border, var(--syn-panel-border-color));
101
- --variant-color-background: var(--syn-alert-warning-color-background, var(--syn-panel-background-color));
102
- --variant-color-icon: var(--syn-alert-warning-color-icon, var(--syn-color-warning-400));
103
- --variant-color-indicator: var(--syn-alert-warning-color-indicator, var(--syn-color-warning-400));
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
104
  }
105
105
 
106
106
  .alert--danger {
107
- --variant-color-border: var(--syn-alert-error-color-border, var(--syn-panel-border-color));
108
- --variant-color-background: var(--syn-alert-error-color-background, var(--syn-panel-background-color));
109
- --variant-color-icon: var(--syn-alert-error-color-icon, var(--syn-color-error-600));
110
- --variant-color-indicator: var(--syn-alert-error-color-indicator, var(--syn-color-error-600));
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
111
  }
112
112
 
113
113
  /* #1119: Alert Sizes */
@@ -13,28 +13,28 @@ export default css`
13
13
 
14
14
  /* Variant modifiers */
15
15
  .badge--primary {
16
- background-color: var(--syn-badge-informative-color-background, var(--syn-color-primary-600));
17
- color: var(--syn-badge-informative-color-text, var(--syn-typography-color-text-inverted));
16
+ background-color: var(--syn-badge-informative-color-background);
17
+ color: var(--syn-badge-informative-color-text);
18
18
  }
19
19
 
20
20
  .badge--success {
21
- background-color: var(--syn-badge-success-color-background, var(--syn-color-success-500));
22
- color: var(--syn-badge-success-color-text, var(--syn-typography-color-text));
21
+ background-color: var(--syn-badge-success-color-background);
22
+ color: var(--syn-badge-success-color-text);
23
23
  }
24
24
 
25
25
  .badge--neutral {
26
- background-color: var(--syn-badge-neutral-color-background, var(--syn-color-neutral-800));
27
- color: var(--syn-badge-neutral-color-text, var(--syn-typography-color-text-inverted));
26
+ background-color: var(--syn-badge-neutral-color-background);
27
+ color: var(--syn-badge-neutral-color-text);
28
28
  }
29
29
 
30
30
  .badge--warning {
31
- background-color: var(--syn-badge-warning-color-background, var(--syn-color-warning-400));
32
- color: var(--syn-badge-warning-color-text, var(--syn-typography-color-text));
31
+ background-color: var(--syn-badge-warning-color-background);
32
+ color: var(--syn-badge-warning-color-text);
33
33
  }
34
34
 
35
35
  .badge--danger {
36
- background-color: var(--syn-badge-error-color-background, var(--syn-color-error-600));
37
- color: var(--syn-badge-error-color-text, var(--syn-typography-color-text-inverted));
36
+ background-color: var(--syn-badge-error-color-background);
37
+ color: var(--syn-badge-error-color-text);
38
38
  }
39
39
 
40
40
  /**
@@ -2,7 +2,7 @@ import { css } from 'lit';
2
2
 
3
3
  export default css`
4
4
  .breadcrumb-item {
5
- color: var(--syn-breadcrumb-color, var(--syn-color-neutral-500));
5
+ color: var(--syn-breadcrumb-color);
6
6
  font-size: var(--syn-font-size-x-small);
7
7
  font-weight: var(--syn-font-weight-semibold);
8
8
  }
@@ -71,24 +71,24 @@ export default css`
71
71
  * Size modifiers
72
72
  */
73
73
  .button--small {
74
- border-radius: var(--syn-button-border-radius-small, var(--syn-input-border-radius-small));
74
+ border-radius: var(--syn-button-border-radius-small);
75
75
  }
76
76
 
77
77
  .button--medium {
78
- border-radius: var(--syn-button-border-radius-medium, var(--syn-input-border-radius-medium));
78
+ border-radius: var(--syn-button-border-radius-medium);
79
79
  }
80
80
 
81
81
  .button--large {
82
- border-radius: var(--syn-button-border-radius-large, var(--syn-input-border-radius-large));
82
+ border-radius: var(--syn-button-border-radius-large);
83
83
  }
84
84
 
85
85
  /*
86
86
  * Standard buttons
87
87
  */
88
88
  .button--filled.button--primary {
89
- background: var(--syn-button-color, var(--syn-color-primary-600));
90
- border-color: var(--syn-button-color, var(--syn-color-primary-600));
91
- color: var(--syn-button-filled-color-text, var(--syn-color-neutral-0));
89
+ background: var(--syn-button-color);
90
+ border-color: var(--syn-button-color);
91
+ color: var(--syn-button-filled-color-text);
92
92
  }
93
93
 
94
94
  .button--filled.button--primary.button--disabled {
@@ -98,15 +98,15 @@ export default css`
98
98
  }
99
99
 
100
100
  .button--filled.button--primary:hover:not(.button--disabled) {
101
- background-color: var(--syn-button-color-hover, var(--syn-color-primary-900));
102
- border-color: var(--syn-button-color-hover, var(--syn-color-primary-900));
103
- color: var(--syn-button-filled-color-text-hover, var(--syn-color-neutral-0));
101
+ background-color: var(--syn-button-color-hover);
102
+ border-color: var(--syn-button-color-hover);
103
+ color: var(--syn-button-filled-color-text-hover);
104
104
  }
105
105
 
106
106
  .button--filled.button--primary:active:not(.button--disabled) {
107
- background-color: var(--syn-button-color-active, var(--syn-color-primary-900));
108
- border-color: var(--syn-button-color-active, var(--syn-color-primary-900));
109
- color: var(--syn-button-filled-color-text-active, var(--syn-color-neutral-0));
107
+ background-color: var(--syn-button-color-active);
108
+ border-color: var(--syn-button-color-active);
109
+ color: var(--syn-button-filled-color-text-active);
110
110
  }
111
111
 
112
112
  /*
@@ -118,8 +118,8 @@ export default css`
118
118
  }
119
119
 
120
120
  .button--outline.button--primary {
121
- border-color: var(--syn-button-color, var(--syn-color-primary-600));
122
- color: var(--syn-button-outline-color-text, var(--syn-color-primary-600));
121
+ border-color: var(--syn-button-color);
122
+ color: var(--syn-button-outline-color-text);
123
123
  }
124
124
 
125
125
  .button--outline.button--primary.button--disabled {
@@ -130,34 +130,34 @@ export default css`
130
130
 
131
131
  .button--outline.button--primary:hover:not(.button--disabled),
132
132
  .button--outline.button--primary.button--checked:not(.button--disabled) {
133
- background-color: var(--syn-button-outline-color-hover, var(--syn-color-primary-900));
134
- border-color: var(--syn-button-outline-color-hover, var(--syn-color-primary-900));
135
- color: var(--syn-button-outline-color-text-hover, var(--syn-color-neutral-0));
133
+ background-color: var(--syn-button-outline-color-hover);
134
+ border-color: var(--syn-button-outline-color-hover);
135
+ color: var(--syn-button-outline-color-text-hover);
136
136
  }
137
137
 
138
138
  .button--outline.button--primary:active:not(.button--disabled) {
139
- background-color: var(--syn-button-outline-color-active, var(--syn-color-primary-950));
140
- border-color: var(--syn-button-outline-color-active, var(--syn-color-primary-950));
141
- color: var(--syn-button-outline-color-text-active, var(--syn-color-neutral-0));
139
+ background-color: var(--syn-button-outline-color-active);
140
+ border-color: var(--syn-button-outline-color-active);
141
+ color: var(--syn-button-outline-color-text-active);
142
142
  }
143
143
 
144
144
  /*
145
145
  * Text buttons
146
146
  */
147
147
  .button--text {
148
- color: var(--syn-button-text-color-text, var(--syn-color-primary-600));
148
+ color: var(--syn-button-text-color-text);
149
149
  }
150
150
 
151
151
  .button--text:hover:not(.button--disabled) {
152
- color: var(--syn-button-text-color-text-hover, var(--syn-color-primary-900));
152
+ color: var(--syn-button-text-color-text-hover);
153
153
  }
154
154
 
155
155
  .button--text:focus-visible:not(.button--disabled) {
156
- color: var(--syn-button-color, var(--syn-color-primary-500));
156
+ color: var(--syn-button-color);
157
157
  }
158
158
 
159
159
  .button--text.button--primary:active:not(.button--disabled) {
160
- color: var(--syn-button-text-color-text-active, var(--syn-color-primary-950));
160
+ color: var(--syn-button-text-color-text-active);
161
161
  }
162
162
 
163
163
  .button--text.button--primary.button--disabled {
@@ -228,4 +228,18 @@ export default css`
228
228
  .button--caret.button--large .button__caret{
229
229
  font-size: var(--syn-font-size-2x-large);
230
230
  }
231
+
232
+ /* #392: Button Groups */
233
+ :host([data-syn-button-group__button--inner]) .button--filled.button {
234
+ border-left-color: var(--syn-panel-background-color);
235
+ border-right-color: var(--syn-panel-background-color);
236
+ }
237
+
238
+ :host([data-syn-button-group__button--first]:not([data-syn-button-group__button--last])) .button--filled.button {
239
+ border-right-color: var(--syn-panel-background-color);
240
+ }
241
+
242
+ :host([data-syn-button-group__button--last]:not([data-syn-button-group__button--first])) .button--filled.button {
243
+ border-left-color: var(--syn-panel-background-color);
244
+ }
231
245
  `;