@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.
- package/CHANGELOG.md +26 -0
- package/data/core/component/component:syn-button-group.json +0 -5
- package/data/core/component/component:syn-button.json +3 -3
- package/data/core/component/component:syn-chart.json +147 -2
- package/data/core/component/component:syn-radio-button.json +123 -14
- package/data/core/component/component:syn-radio-group.json +11 -0
- package/data/core/setup/setup:angular-components-module.json +1 -1
- package/data/core/setup/setup:angular-forms-module.json +1 -1
- package/data/core/setup/setup:angular-package.json +2 -2
- package/data/core/setup/setup:angular-validators-module.json +1 -1
- package/data/core/setup/setup:components-package.json +2 -2
- package/data/core/setup/setup:react-package.json +2 -2
- package/data/core/setup/setup:tokens-package.json +2 -2
- package/data/core/setup/setup:vue-package.json +2 -2
- package/data/core/token/token:tokens-charts-js-index-d-ts.json +1 -1
- package/data/core/token/token:tokens-charts-js-index-js.json +1 -1
- package/data/core/token/token:tokens-charts-scss-tokens-scss.json +1 -1
- package/data/core/token/token:tokens-charts-themes-sick2025-dark-css.json +1 -1
- package/data/core/token/token:tokens-charts-themes-sick2025-light-css.json +1 -1
- package/data/core/token/token:tokens-figma-variables-sick2018-dark-json.json +1 -1
- package/data/core/token/token:tokens-figma-variables-sick2018-light-json.json +1 -1
- package/data/core/token/token:tokens-figma-variables-sick2025-dark-json.json +1 -1
- package/data/core/token/token:tokens-figma-variables-sick2025-light-json.json +1 -1
- package/data/core/token/token:tokens-js-index-d-ts.json +1 -1
- package/data/core/token/token:tokens-js-index-js.json +1 -1
- package/data/core/token/token:tokens-scss-tokens-scss.json +1 -1
- package/data/core/token/token:tokens-themes-sick2018-dark-css.json +1 -1
- package/data/core/token/token:tokens-themes-sick2018-light-css.json +1 -1
- package/data/core/token/token:tokens-themes-sick2025-dark-css.json +1 -1
- package/data/core/token/token:tokens-themes-sick2025-light-css.json +1 -1
- package/data/index.json +3 -2
- package/data/layers/examples/component/component:syn-chart.md +115 -106
- package/data/layers/examples/component/component:syn-checkbox.md +16 -2
- package/data/layers/examples/component/component:syn-combobox.md +10 -21
- package/data/layers/examples/component/component:syn-file.md +16 -10
- package/data/layers/examples/component/component:syn-input.md +10 -3
- package/data/layers/examples/component/component:syn-radio-button.md +200 -0
- package/data/layers/examples/component/component:syn-radio-group.md +27 -2
- package/data/layers/examples/component/component:syn-radio.md +12 -5
- package/data/layers/examples/component/component:syn-range.md +16 -14
- package/data/layers/examples/component/component:syn-select.md +10 -3
- package/data/layers/examples/component/component:syn-switch.md +10 -3
- package/data/layers/examples/component/component:syn-textarea.md +10 -3
- package/data/layers/full/component/component:syn-button/components/button-group.styles.ts +66 -0
- package/data/layers/full/component/component:syn-button/components/button.component.ts +40 -52
- package/data/layers/full/component/component:syn-button/components/button.styles.ts +162 -173
- package/data/layers/full/component/component:syn-button-group/components/button-group.component.ts +22 -18
- package/data/layers/full/component/component:syn-button-group/components/button-group.styles.ts +0 -2
- package/data/layers/full/component/component:syn-chart/angular/chart.component.ts +11 -5
- package/data/layers/full/component/component:syn-chart/components/chart.component.ts +67 -20
- package/data/layers/full/component/component:syn-chart/components/chart.palettes.ts +59 -59
- package/data/layers/full/component/component:syn-chart/components/types.ts +47 -4
- package/data/layers/full/component/component:syn-chart/react/chart.ts +1 -1
- package/data/layers/full/component/component:syn-chart/vue/SynVueChart.vue +11 -5
- package/data/layers/full/component/component:syn-radio-button/angular/radio-button.component.ts +14 -14
- package/data/layers/full/component/component:syn-radio-button/components/radio-button.component.ts +45 -25
- package/data/layers/full/component/component:syn-radio-button/components/radio-button.styles.ts +87 -25
- package/data/layers/full/component/component:syn-radio-button/react/radio-button.ts +1 -1
- package/data/layers/full/component/component:syn-radio-button/vue/SynVueRadioButton.vue +6 -6
- package/data/layers/full/component/component:syn-radio-group/components/radio-group.component.ts +23 -11
- package/data/layers/full/component/component:syn-radio-group/components/radio-group.styles.ts +51 -6
- package/data/layers/full/setup/setup:angular-package/angular/CHANGELOG.md +38 -0
- package/data/layers/full/setup/setup:angular-package/angular/package.json +1 -1
- package/data/layers/full/setup/setup:components-package/components/CHANGELOG.md +36 -0
- package/data/layers/full/setup/setup:components-package/components/package.json +1 -1
- package/data/layers/full/setup/setup:react-package/react/CHANGELOG.md +28 -0
- package/data/layers/full/setup/setup:react-package/react/package.json +1 -1
- package/data/layers/full/setup/setup:react-package/react/syn-jsx-elements.ts +4 -4
- package/data/layers/full/setup/setup:tokens-package/tokens/CHANGELOG.md +31 -0
- package/data/layers/full/setup/setup:tokens-package/tokens/package.json +1 -1
- package/data/layers/full/setup/setup:vue-package/vue/CHANGELOG.md +38 -0
- package/data/layers/full/setup/setup:vue-package/vue/package.json +1 -1
- package/data/layers/full/tokens/charts/js/index.d.ts +275 -265
- package/data/layers/full/tokens/charts/js/index.js +143 -133
- package/data/layers/full/tokens/charts/scss/_tokens.scss +135 -133
- package/data/layers/full/tokens/charts/themes/sick2025_dark.css +135 -133
- package/data/layers/full/tokens/charts/themes/sick2025_light.css +135 -133
- package/data/layers/full/tokens/figma-variables/sick2018-dark.json +20 -0
- package/data/layers/full/tokens/figma-variables/sick2018-light.json +20 -0
- package/data/layers/full/tokens/figma-variables/sick2025-dark.json +20 -0
- package/data/layers/full/tokens/figma-variables/sick2025-light.json +20 -0
- package/data/layers/full/tokens/js/index.d.ts +31 -1
- package/data/layers/full/tokens/js/index.js +31 -1
- package/data/layers/full/tokens/scss/_tokens.scss +7 -1
- package/data/layers/full/tokens/themes/sick2018_dark.css +7 -1
- package/data/layers/full/tokens/themes/sick2018_light.css +7 -1
- package/data/layers/full/tokens/themes/sick2025_dark.css +7 -1
- package/data/layers/full/tokens/themes/sick2025_light.css +7 -1
- package/data/layers/interface/component/component:syn-chart.json +5 -5
- package/data/layers/interface/component/component:syn-chart.md +4 -4
- package/data/layers/interface/component/component:syn-radio-button.json +14 -12
- package/data/layers/interface/component/component:syn-radio-button.md +6 -4
- package/data/layers/rules/component/component:syn-radio-button.md +16 -11
- package/data/manifest.json +1 -1
- package/dist/intentPolicy/domains/input/capabilities.js +4 -0
- package/dist/intentPolicy/domains/input/patterns.js +9 -0
- package/package.json +5 -5
- package/data/layers/full/component/component:syn-button/components/button.custom.styles.ts +0 -245
- package/data/layers/full/component/component:syn-button-group/components/button-group.custom.styles.ts +0 -5
package/data/index.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"builtAt": "2026-06-
|
|
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":
|
|
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
|
|
33
|
-
chart
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
|
51
|
-
chart
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
90
|
-
|
|
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
|
|
118
|
-
chart
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
|
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
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
-
|
|
185
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
322
|
+
#components-syn-combobox--invalid {
|
|
316
323
|
display: flex;
|
|
317
324
|
flex-direction: column;
|
|
318
|
-
gap:
|
|
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
|
|
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
|
-
|
|
137
|
+
#components-syn-file--invalid {
|
|
131
138
|
display: flex;
|
|
132
139
|
flex-direction: column;
|
|
133
|
-
gap:
|
|
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
|
|
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
|
-
|
|
148
|
+
#components-syn-input--invalid {
|
|
142
149
|
display: flex;
|
|
143
150
|
flex-direction: column;
|
|
144
|
-
gap:
|
|
151
|
+
gap: var(--syn-spacing-large);
|
|
145
152
|
}
|
|
146
153
|
syn-button {
|
|
147
154
|
align-self: flex-start;
|