@synergy-design-system/metadata 3.16.1 → 3.18.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 (99) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/data/core/component/component:syn-button-group.json +0 -5
  3. package/data/core/component/component:syn-button.json +3 -3
  4. package/data/core/component/component:syn-chart.json +147 -2
  5. package/data/core/component/component:syn-radio-button.json +123 -14
  6. package/data/core/component/component:syn-radio-group.json +11 -0
  7. package/data/core/setup/setup:angular-components-module.json +1 -1
  8. package/data/core/setup/setup:angular-forms-module.json +1 -1
  9. package/data/core/setup/setup:angular-package.json +2 -2
  10. package/data/core/setup/setup:angular-validators-module.json +1 -1
  11. package/data/core/setup/setup:components-package.json +2 -2
  12. package/data/core/setup/setup:react-package.json +2 -2
  13. package/data/core/setup/setup:tokens-package.json +2 -2
  14. package/data/core/setup/setup:vue-package.json +2 -2
  15. package/data/core/token/token:tokens-charts-js-index-d-ts.json +1 -1
  16. package/data/core/token/token:tokens-charts-js-index-js.json +1 -1
  17. package/data/core/token/token:tokens-charts-scss-tokens-scss.json +1 -1
  18. package/data/core/token/token:tokens-charts-themes-sick2025-dark-css.json +1 -1
  19. package/data/core/token/token:tokens-charts-themes-sick2025-light-css.json +1 -1
  20. package/data/core/token/token:tokens-figma-variables-sick2018-dark-json.json +1 -1
  21. package/data/core/token/token:tokens-figma-variables-sick2018-light-json.json +1 -1
  22. package/data/core/token/token:tokens-figma-variables-sick2025-dark-json.json +1 -1
  23. package/data/core/token/token:tokens-figma-variables-sick2025-light-json.json +1 -1
  24. package/data/core/token/token:tokens-js-index-d-ts.json +1 -1
  25. package/data/core/token/token:tokens-js-index-js.json +1 -1
  26. package/data/core/token/token:tokens-scss-tokens-scss.json +1 -1
  27. package/data/core/token/token:tokens-themes-sick2018-dark-css.json +1 -1
  28. package/data/core/token/token:tokens-themes-sick2018-light-css.json +1 -1
  29. package/data/core/token/token:tokens-themes-sick2025-dark-css.json +1 -1
  30. package/data/core/token/token:tokens-themes-sick2025-light-css.json +1 -1
  31. package/data/index.json +3 -2
  32. package/data/layers/examples/component/component:syn-chart.md +115 -106
  33. package/data/layers/examples/component/component:syn-checkbox.md +16 -2
  34. package/data/layers/examples/component/component:syn-combobox.md +10 -21
  35. package/data/layers/examples/component/component:syn-file.md +16 -10
  36. package/data/layers/examples/component/component:syn-input.md +10 -3
  37. package/data/layers/examples/component/component:syn-radio-button.md +200 -0
  38. package/data/layers/examples/component/component:syn-radio-group.md +27 -2
  39. package/data/layers/examples/component/component:syn-radio.md +12 -5
  40. package/data/layers/examples/component/component:syn-range.md +16 -14
  41. package/data/layers/examples/component/component:syn-select.md +10 -3
  42. package/data/layers/examples/component/component:syn-switch.md +10 -3
  43. package/data/layers/examples/component/component:syn-textarea.md +10 -3
  44. package/data/layers/full/component/component:syn-button/components/button-group.styles.ts +66 -0
  45. package/data/layers/full/component/component:syn-button/components/button.component.ts +40 -52
  46. package/data/layers/full/component/component:syn-button/components/button.styles.ts +162 -173
  47. package/data/layers/full/component/component:syn-button-group/components/button-group.component.ts +22 -18
  48. package/data/layers/full/component/component:syn-button-group/components/button-group.styles.ts +0 -2
  49. package/data/layers/full/component/component:syn-chart/angular/chart.component.ts +11 -5
  50. package/data/layers/full/component/component:syn-chart/components/chart.component.ts +67 -20
  51. package/data/layers/full/component/component:syn-chart/components/chart.palettes.ts +59 -59
  52. package/data/layers/full/component/component:syn-chart/components/types.ts +47 -4
  53. package/data/layers/full/component/component:syn-chart/react/chart.ts +1 -1
  54. package/data/layers/full/component/component:syn-chart/vue/SynVueChart.vue +11 -5
  55. package/data/layers/full/component/component:syn-radio-button/angular/radio-button.component.ts +14 -14
  56. package/data/layers/full/component/component:syn-radio-button/components/radio-button.component.ts +45 -25
  57. package/data/layers/full/component/component:syn-radio-button/components/radio-button.styles.ts +87 -25
  58. package/data/layers/full/component/component:syn-radio-button/react/radio-button.ts +1 -1
  59. package/data/layers/full/component/component:syn-radio-button/vue/SynVueRadioButton.vue +6 -6
  60. package/data/layers/full/component/component:syn-radio-group/components/radio-group.component.ts +23 -11
  61. package/data/layers/full/component/component:syn-radio-group/components/radio-group.styles.ts +51 -6
  62. package/data/layers/full/setup/setup:angular-package/angular/CHANGELOG.md +38 -0
  63. package/data/layers/full/setup/setup:angular-package/angular/package.json +1 -1
  64. package/data/layers/full/setup/setup:components-package/components/CHANGELOG.md +36 -0
  65. package/data/layers/full/setup/setup:components-package/components/package.json +1 -1
  66. package/data/layers/full/setup/setup:react-package/react/CHANGELOG.md +28 -0
  67. package/data/layers/full/setup/setup:react-package/react/package.json +1 -1
  68. package/data/layers/full/setup/setup:react-package/react/syn-jsx-elements.ts +4 -4
  69. package/data/layers/full/setup/setup:tokens-package/tokens/CHANGELOG.md +31 -0
  70. package/data/layers/full/setup/setup:tokens-package/tokens/package.json +1 -1
  71. package/data/layers/full/setup/setup:vue-package/vue/CHANGELOG.md +38 -0
  72. package/data/layers/full/setup/setup:vue-package/vue/package.json +1 -1
  73. package/data/layers/full/tokens/charts/js/index.d.ts +275 -265
  74. package/data/layers/full/tokens/charts/js/index.js +143 -133
  75. package/data/layers/full/tokens/charts/scss/_tokens.scss +135 -133
  76. package/data/layers/full/tokens/charts/themes/sick2025_dark.css +135 -133
  77. package/data/layers/full/tokens/charts/themes/sick2025_light.css +135 -133
  78. package/data/layers/full/tokens/figma-variables/sick2018-dark.json +20 -0
  79. package/data/layers/full/tokens/figma-variables/sick2018-light.json +20 -0
  80. package/data/layers/full/tokens/figma-variables/sick2025-dark.json +20 -0
  81. package/data/layers/full/tokens/figma-variables/sick2025-light.json +20 -0
  82. package/data/layers/full/tokens/js/index.d.ts +31 -1
  83. package/data/layers/full/tokens/js/index.js +31 -1
  84. package/data/layers/full/tokens/scss/_tokens.scss +7 -1
  85. package/data/layers/full/tokens/themes/sick2018_dark.css +7 -1
  86. package/data/layers/full/tokens/themes/sick2018_light.css +7 -1
  87. package/data/layers/full/tokens/themes/sick2025_dark.css +7 -1
  88. package/data/layers/full/tokens/themes/sick2025_light.css +7 -1
  89. package/data/layers/interface/component/component:syn-chart.json +5 -5
  90. package/data/layers/interface/component/component:syn-chart.md +4 -4
  91. package/data/layers/interface/component/component:syn-radio-button.json +14 -12
  92. package/data/layers/interface/component/component:syn-radio-button.md +6 -4
  93. package/data/layers/rules/component/component:syn-radio-button.md +16 -11
  94. package/data/manifest.json +1 -1
  95. package/dist/intentPolicy/domains/input/capabilities.js +4 -0
  96. package/dist/intentPolicy/domains/input/patterns.js +9 -0
  97. package/package.json +5 -5
  98. package/data/layers/full/component/component:syn-button/components/button.custom.styles.ts +0 -245
  99. package/data/layers/full/component/component:syn-button-group/components/button-group.custom.styles.ts +0 -5
@@ -18,7 +18,7 @@
18
18
  "name": "sick2025-light.json",
19
19
  "package": "tokens",
20
20
  "relations": [],
21
- "since": "3.15.7",
21
+ "since": "3.17.0",
22
22
  "sources": [
23
23
  "packages/tokens/src/figma-variables/output/sick2025-light.json"
24
24
  ],
@@ -17,7 +17,7 @@
17
17
  "name": "index.d.ts",
18
18
  "package": "tokens",
19
19
  "relations": [],
20
- "since": "3.15.7",
20
+ "since": "3.17.0",
21
21
  "sources": [
22
22
  "packages/tokens/dist/js/index.d.ts"
23
23
  ],
@@ -17,7 +17,7 @@
17
17
  "name": "index.js",
18
18
  "package": "tokens",
19
19
  "relations": [],
20
- "since": "3.15.7",
20
+ "since": "3.17.0",
21
21
  "sources": [
22
22
  "packages/tokens/dist/js/index.js"
23
23
  ],
@@ -17,7 +17,7 @@
17
17
  "name": "_tokens.scss",
18
18
  "package": "tokens",
19
19
  "relations": [],
20
- "since": "3.15.7",
20
+ "since": "3.17.0",
21
21
  "sources": [
22
22
  "packages/tokens/dist/scss/_tokens.scss"
23
23
  ],
@@ -18,7 +18,7 @@
18
18
  "name": "sick2018_dark.css",
19
19
  "package": "tokens",
20
20
  "relations": [],
21
- "since": "3.15.7",
21
+ "since": "3.17.0",
22
22
  "sources": [
23
23
  "packages/tokens/dist/themes/sick2018_dark.css"
24
24
  ],
@@ -18,7 +18,7 @@
18
18
  "name": "sick2018_light.css",
19
19
  "package": "tokens",
20
20
  "relations": [],
21
- "since": "3.15.7",
21
+ "since": "3.17.0",
22
22
  "sources": [
23
23
  "packages/tokens/dist/themes/sick2018_light.css"
24
24
  ],
@@ -18,7 +18,7 @@
18
18
  "name": "sick2025_dark.css",
19
19
  "package": "tokens",
20
20
  "relations": [],
21
- "since": "3.15.7",
21
+ "since": "3.17.0",
22
22
  "sources": [
23
23
  "packages/tokens/dist/themes/sick2025_dark.css"
24
24
  ],
@@ -18,7 +18,7 @@
18
18
  "name": "sick2025_light.css",
19
19
  "package": "tokens",
20
20
  "relations": [],
21
- "since": "3.15.7",
21
+ "since": "3.17.0",
22
22
  "sources": [
23
23
  "packages/tokens/dist/themes/sick2025_light.css"
24
24
  ],
package/data/index.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "builtAt": "2026-06-24T08:51:18.864Z",
2
+ "builtAt": "2026-06-30T12:09:05.533Z",
3
3
  "entities": [
4
4
  {
5
5
  "corePath": "data/core/asset/asset:sick2018-icons.json",
@@ -245,7 +245,7 @@
245
245
  "kind": "component",
246
246
  "layers": {
247
247
  "examples": 1,
248
- "full": 8,
248
+ "full": 7,
249
249
  "interface": 2,
250
250
  "rules": 1
251
251
  },
@@ -838,6 +838,7 @@
838
838
  "id": "component:syn-radio-button",
839
839
  "kind": "component",
840
840
  "layers": {
841
+ "examples": 1,
841
842
  "full": 7,
842
843
  "interface": 2,
843
844
  "rules": 1
@@ -13,6 +13,7 @@ The default story demonstrates a basic line chart configuration. The chart is co
13
13
  xAxis: {
14
14
  data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
15
15
  type: "category",
16
+ name: "Days",
16
17
  },
17
18
  yAxis: { type: "value" },
18
19
  };
@@ -29,12 +30,14 @@ The config property is the main way to configure the chart. It accepts an object
29
30
  ```html
30
31
  <syn-chart id="chart-config"></syn-chart>
31
32
  <script type="module">
32
- const chart = document.querySelector("#chart-config");
33
- chart.config = {
34
- series: [{ data: [150, 230, 224], type: "line" }],
35
- xAxis: { data: ["Mon", "Tue", "Wed"], type: "category" },
36
- yAxis: { type: "value" },
37
- };
33
+ const charts = document.querySelectorAll("#chart-config");
34
+ charts.forEach((chart) => {
35
+ chart.config = {
36
+ series: [{ data: [150, 230, 224], type: "line" }],
37
+ xAxis: { data: ["Mon", "Tue", "Wed"], type: "category" },
38
+ yAxis: { type: "value" },
39
+ };
40
+ });
38
41
  </script>
39
42
  ```
40
43
 
@@ -47,51 +50,53 @@ Use the palette attribute to apply a Synergy design token color palette to chart
47
50
  ```html
48
51
  <syn-chart id="chart-palette" palette="sequential-01"></syn-chart>
49
52
  <script type="module">
50
- const chart = document.querySelector("#chart-palette");
51
- chart.config = {
52
- series: [
53
- {
54
- data: [150, 230, 224, 218, 135, 147, 260],
55
- name: "Series A",
56
- type: "line",
57
- },
58
- {
59
- data: [80, 130, 180, 100, 90, 120, 200],
60
- name: "Series B",
61
- type: "line",
62
- },
63
- {
64
- data: [200, 160, 140, 170, 210, 180, 150],
65
- name: "Series C",
66
- type: "line",
67
- },
68
- {
69
- data: [100, 120, 150, 80, 70, 110, 130],
70
- name: "Series D",
71
- type: "line",
72
- },
73
- {
74
- data: [180, 200, 170, 190, 220, 210, 240],
75
- name: "Series E",
76
- type: "line",
77
- },
78
- {
79
- data: [90, 110, 130, 70, 60, 100, 120],
80
- name: "Series F",
81
- type: "line",
82
- },
83
- {
84
- data: [160, 190, 150, 200, 230, 220, 250],
85
- name: "Series G",
86
- type: "line",
53
+ const charts = document.querySelectorAll("#chart-palette");
54
+ charts.forEach((chart) => {
55
+ chart.config = {
56
+ series: [
57
+ {
58
+ data: [150, 230, 224, 218, 135, 147, 260],
59
+ name: "Series A",
60
+ type: "line",
61
+ },
62
+ {
63
+ data: [80, 130, 180, 100, 90, 120, 200],
64
+ name: "Series B",
65
+ type: "line",
66
+ },
67
+ {
68
+ data: [200, 160, 140, 170, 210, 180, 150],
69
+ name: "Series C",
70
+ type: "line",
71
+ },
72
+ {
73
+ data: [100, 120, 150, 80, 70, 110, 130],
74
+ name: "Series D",
75
+ type: "line",
76
+ },
77
+ {
78
+ data: [180, 200, 170, 190, 220, 210, 240],
79
+ name: "Series E",
80
+ type: "line",
81
+ },
82
+ {
83
+ data: [90, 110, 130, 70, 60, 100, 120],
84
+ name: "Series F",
85
+ type: "line",
86
+ },
87
+ {
88
+ data: [160, 190, 150, 200, 230, 220, 250],
89
+ name: "Series G",
90
+ type: "line",
91
+ },
92
+ ],
93
+ xAxis: {
94
+ data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
95
+ type: "category",
87
96
  },
88
- ],
89
- xAxis: {
90
- data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
91
- type: "category",
92
- },
93
- yAxis: { type: "value" },
94
- };
97
+ yAxis: { type: "value" },
98
+ };
99
+ });
95
100
  </script>
96
101
  ```
97
102
 
@@ -114,20 +119,22 @@ Use getInstance() to access the underlying ECharts instance directly and work wi
114
119
  event payload.
115
120
  </p>
116
121
  <script type="module">
117
- const chart = document.querySelector("#chart-get-instance");
118
- chart.config = {
119
- series: [{ data: [150, 230, 224, 218, 135, 147, 260], type: "line" }],
120
- tooltip: { trigger: "item" },
121
- xAxis: {
122
- data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
123
- type: "category",
124
- },
125
- yAxis: { type: "value" },
126
- };
127
- const chartInstance = chart.getInstance();
128
- chartInstance.on("click", (params) =>
129
- console.log("ECharts click event:", params),
130
- );
122
+ const charts = document.querySelectorAll("#chart-get-instance");
123
+ charts.forEach((chart) => {
124
+ chart.config = {
125
+ series: [{ data: [150, 230, 224, 218, 135, 147, 260], type: "line" }],
126
+ tooltip: { trigger: "item" },
127
+ xAxis: {
128
+ data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
129
+ type: "category",
130
+ },
131
+ yAxis: { type: "value" },
132
+ };
133
+ const chartInstance = chart.getInstance();
134
+ chartInstance.on("click", (params) =>
135
+ console.log("ECharts click event:", params),
136
+ );
137
+ });
131
138
  </script>
132
139
  ```
133
140
 
@@ -140,52 +147,54 @@ You can use multiple charts in one <syn-chart> instance, each with its own confi
140
147
  ```html
141
148
  <syn-chart id="chart-multiple-charts" palette="categorical"></syn-chart>
142
149
  <script type="module">
143
- const chart = document.querySelector("#chart-multiple-charts");
150
+ const charts = document.querySelectorAll("#chart-multiple-charts");
144
151
 
145
152
  const getHexValueFromVariable = (val) =>
146
153
  getComputedStyle(document.documentElement).getPropertyValue(val).trim();
147
154
 
148
- chart.config = {
149
- series: [
150
- {
151
- data: [160, 185, 180, 175, 150, 160, 190],
152
- name: "Series A",
153
- type: "line",
154
- },
155
- {
156
- data: [170, 165, 155, 168, 180, 170, 158],
157
- name: "Series B",
158
- type: "line",
159
- },
160
- {
161
- data: [165, 175, 158, 172, 182, 175, 185],
162
- name: "Series C",
163
- type: "line",
164
- },
165
- {
166
- color: [getHexValueFromVariable("--syn-sequential-05-80")],
167
- data: [80, 60, 90, 50, 70, 55, 85],
168
- name: "Series D",
169
- type: "line",
170
- },
171
- {
172
- color: [getHexValueFromVariable("--syn-sequential-05-60")],
173
- data: [65, 75, 55, 80, 45, 70, 60],
174
- name: "Series E",
175
- type: "line",
176
- },
177
- {
178
- color: [getHexValueFromVariable("--syn-sequential-05-40")],
179
- data: [50, 70, 60, 45, 55, 65, 75],
180
- name: "Series F",
181
- type: "line",
155
+ charts.forEach((chart) => {
156
+ chart.config = {
157
+ series: [
158
+ {
159
+ data: [160, 185, 180, 175, 150, 160, 190],
160
+ name: "Series A",
161
+ type: "line",
162
+ },
163
+ {
164
+ data: [170, 165, 155, 168, 180, 170, 158],
165
+ name: "Series B",
166
+ type: "line",
167
+ },
168
+ {
169
+ data: [165, 175, 158, 172, 182, 175, 185],
170
+ name: "Series C",
171
+ type: "line",
172
+ },
173
+ {
174
+ color: [getHexValueFromVariable("--syn-sequential-05-80")],
175
+ data: [80, 60, 90, 50, 70, 55, 85],
176
+ name: "Series D",
177
+ type: "line",
178
+ },
179
+ {
180
+ color: [getHexValueFromVariable("--syn-sequential-05-60")],
181
+ data: [65, 75, 55, 80, 45, 70, 60],
182
+ name: "Series E",
183
+ type: "line",
184
+ },
185
+ {
186
+ color: [getHexValueFromVariable("--syn-sequential-05-40")],
187
+ data: [50, 70, 60, 45, 55, 65, 75],
188
+ name: "Series F",
189
+ type: "line",
190
+ },
191
+ ],
192
+ xAxis: {
193
+ data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
194
+ type: "category",
182
195
  },
183
- ],
184
- xAxis: {
185
- data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
186
- type: "category",
187
- },
188
- yAxis: { type: "value" },
189
- };
196
+ yAxis: { type: "value" },
197
+ };
198
+ });
190
199
  </script>
191
200
  ```
@@ -101,16 +101,30 @@ Use the size attribute to change a checkbox’s size.
101
101
  The invalid status is used to warn the user that the Checkbox is invalid. For example, if the check is mandatory and nothing has been checked.
102
102
 
103
103
  ```html
104
- <form class="custom-validity">
104
+ <form
105
+ onsubmit="
106
+ event.preventDefault();
107
+ event.stopPropagation();
108
+ "
109
+ id="components-syn-checkbox--invalid"
110
+ >
105
111
  <div class="custom-validity">
106
112
  <syn-checkbox required="">Invalid</syn-checkbox>
107
113
  <syn-checkbox required="" indeterminate="">Invalid</syn-checkbox>
108
114
  <syn-checkbox required="" checked="">Invalid</syn-checkbox>
109
115
  </div>
116
+ <style>
117
+ .custom-validity {
118
+ display: flex;
119
+ flex-direction: column;
120
+ gap: var(--syn-spacing-large);
121
+ }
122
+ </style>
123
+
110
124
  <syn-button type="submit" variant="filled">Submit</syn-button>
111
125
  </form>
112
126
  <style>
113
- .custom-validity {
127
+ #components-syn-checkbox--invalid {
114
128
  display: flex;
115
129
  flex-direction: column;
116
130
  gap: var(--syn-spacing-large);
@@ -289,7 +289,13 @@ Use the size attribute to change a combobox size.
289
289
  The invalid status is used to warn the user that the combobox is invalid. For example, if the entry is mandatory.
290
290
 
291
291
  ```html
292
- <form class="custom-validity">
292
+ <form
293
+ onsubmit="
294
+ event.preventDefault();
295
+ event.stopPropagation();
296
+ "
297
+ id="components-syn-combobox--invalid"
298
+ >
293
299
  <syn-combobox
294
300
  required=""
295
301
  placeholder="Type something"
@@ -309,13 +315,14 @@ The invalid status is used to warn the user that the combobox is invalid. For ex
309
315
  <syn-option value="White">White</syn-option>
310
316
  <syn-option value="Yellow">Yellow</syn-option>
311
317
  </syn-combobox>
318
+
312
319
  <syn-button type="submit" variant="filled">Submit</syn-button>
313
320
  </form>
314
321
  <style>
315
- .custom-validity {
322
+ #components-syn-combobox--invalid {
316
323
  display: flex;
317
324
  flex-direction: column;
318
- gap: 1rem;
325
+ gap: var(--syn-spacing-large);
319
326
  }
320
327
  syn-button {
321
328
  align-self: flex-start;
@@ -491,24 +498,6 @@ The filtered options shown in the list can be customized by passing a function t
491
498
  // the highlight option renderer utility function can be imported via:
492
499
  // import { highlightOptionRenderer } from '@synergy-design-system/components';
493
500
 
494
- // preview-ignore:start
495
- const highlightOptionRenderer = (e, t) => {
496
- if (!t) return e;
497
- let n = e.cloneNode(!0),
498
- r = n.getTextLabel();
499
- n.selected = e.selected;
500
- let i = r.toLowerCase().indexOf(t.toLowerCase()),
501
- a = n.innerHTML.indexOf(r),
502
- o = document.createElement(`mark`);
503
- ((o.textContent = r.slice(i, i + t.length)),
504
- o.classList.add(`syn-highlight-style`));
505
- let s = r.replace(new RegExp(t, `i`), o.outerHTML),
506
- c = n.innerHTML.slice(0, a),
507
- l = n.innerHTML.slice(a + r.length);
508
- return ((n.innerHTML = c.concat(s, l)), n);
509
- };
510
- // preview-ignore:end
511
-
512
501
  const comboboxes = document.querySelectorAll(".highlight-combobox");
513
502
  comboboxes.forEach((combobox) => {
514
503
  combobox.getOption = highlightOptionRenderer;
@@ -111,28 +111,34 @@ Use the size attribute to change the component's size.
111
111
  The invalid status is used to warn the user that the syn-file is invalid. For example, if the entry of text is mandatory and nothing has been entered or if a text has been entered that does not have the correct format.
112
112
 
113
113
  ```html
114
- <form class="custom-validity">
114
+ <form
115
+ onsubmit="
116
+ event.preventDefault();
117
+ event.stopPropagation();
118
+ "
119
+ id="components-syn-file--invalid"
120
+ >
115
121
  <syn-file
116
122
  class="syn-file-invalid"
117
123
  droparea=""
118
124
  help-text="This is an error text."
119
125
  label="This is a label"
120
126
  ></syn-file>
127
+ <script type="module">
128
+ const files = document.querySelectorAll(".syn-file-invalid");
129
+ files.forEach((file) => {
130
+ file.setCustomValidity("This is an error text");
131
+ });
132
+ </script>
133
+
121
134
  <syn-button type="submit" variant="filled">Submit</syn-button>
122
135
  </form>
123
- <script type="module">
124
- const files = document.querySelectorAll(".syn-file-invalid");
125
- files.forEach((file) => {
126
- file.setCustomValidity("This is an error text");
127
- });
128
- </script>
129
136
  <style>
130
- .custom-validity {
137
+ #components-syn-file--invalid {
131
138
  display: flex;
132
139
  flex-direction: column;
133
- gap: 1rem;
140
+ gap: var(--syn-spacing-large);
134
141
  }
135
-
136
142
  syn-button {
137
143
  align-self: flex-start;
138
144
  }
@@ -128,20 +128,27 @@ Use the size attribute to change an input's size.
128
128
  The invalid status is used to warn the user that the input is invalid. For example, if the entry of text is mandatory and nothing has been entered or if a text has been entered that does not have the correct format.
129
129
 
130
130
  ```html
131
- <form class="custom-validity">
131
+ <form
132
+ onsubmit="
133
+ event.preventDefault();
134
+ event.stopPropagation();
135
+ "
136
+ id="components-syn-input--invalid"
137
+ >
132
138
  <syn-input
133
139
  help-text="This input is required."
134
140
  label="Label"
135
141
  placeholder="Insert text here..."
136
142
  required=""
137
143
  ></syn-input>
144
+
138
145
  <syn-button type="submit" variant="filled">Submit</syn-button>
139
146
  </form>
140
147
  <style>
141
- .custom-validity {
148
+ #components-syn-input--invalid {
142
149
  display: flex;
143
150
  flex-direction: column;
144
- gap: 1rem;
151
+ gap: var(--syn-spacing-large);
145
152
  }
146
153
  syn-button {
147
154
  align-self: flex-start;