@synergy-design-system/metadata 3.17.0 → 3.19.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 (90) hide show
  1. package/CHANGELOG.md +20 -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 +145 -0
  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-checkbox.md +16 -2
  33. package/data/layers/examples/component/component:syn-combobox.md +10 -3
  34. package/data/layers/examples/component/component:syn-file.md +16 -10
  35. package/data/layers/examples/component/component:syn-input.md +10 -3
  36. package/data/layers/examples/component/component:syn-radio-button.md +200 -0
  37. package/data/layers/examples/component/component:syn-radio-group.md +27 -2
  38. package/data/layers/examples/component/component:syn-radio.md +12 -5
  39. package/data/layers/examples/component/component:syn-range.md +16 -14
  40. package/data/layers/examples/component/component:syn-select.md +10 -3
  41. package/data/layers/examples/component/component:syn-switch.md +10 -3
  42. package/data/layers/examples/component/component:syn-textarea.md +10 -3
  43. package/data/layers/full/component/component:syn-button/components/button-group.styles.ts +66 -0
  44. package/data/layers/full/component/component:syn-button/components/button.component.ts +40 -52
  45. package/data/layers/full/component/component:syn-button/components/button.styles.ts +162 -173
  46. package/data/layers/full/component/component:syn-button-group/components/button-group.component.ts +22 -18
  47. package/data/layers/full/component/component:syn-button-group/components/button-group.styles.ts +0 -2
  48. package/data/layers/full/component/component:syn-radio-button/angular/radio-button.component.ts +14 -14
  49. package/data/layers/full/component/component:syn-radio-button/components/radio-button.component.ts +45 -25
  50. package/data/layers/full/component/component:syn-radio-button/components/radio-button.styles.ts +87 -25
  51. package/data/layers/full/component/component:syn-radio-button/react/radio-button.ts +1 -1
  52. package/data/layers/full/component/component:syn-radio-button/vue/SynVueRadioButton.vue +6 -6
  53. package/data/layers/full/component/component:syn-radio-group/components/radio-group.component.ts +23 -11
  54. package/data/layers/full/component/component:syn-radio-group/components/radio-group.styles.ts +51 -6
  55. package/data/layers/full/setup/setup:angular-package/angular/CHANGELOG.md +18 -0
  56. package/data/layers/full/setup/setup:angular-package/angular/package.json +1 -1
  57. package/data/layers/full/setup/setup:components-package/components/CHANGELOG.md +17 -0
  58. package/data/layers/full/setup/setup:components-package/components/package.json +1 -1
  59. package/data/layers/full/setup/setup:react-package/react/CHANGELOG.md +8 -0
  60. package/data/layers/full/setup/setup:react-package/react/package.json +1 -1
  61. package/data/layers/full/setup/setup:react-package/react/syn-jsx-elements.ts +2 -2
  62. package/data/layers/full/setup/setup:tokens-package/tokens/CHANGELOG.md +12 -0
  63. package/data/layers/full/setup/setup:tokens-package/tokens/package.json +1 -1
  64. package/data/layers/full/setup/setup:vue-package/vue/CHANGELOG.md +18 -0
  65. package/data/layers/full/setup/setup:vue-package/vue/package.json +1 -1
  66. package/data/layers/full/tokens/charts/js/index.d.ts +1 -1
  67. package/data/layers/full/tokens/charts/js/index.js +1 -1
  68. package/data/layers/full/tokens/charts/scss/_tokens.scss +1 -1
  69. package/data/layers/full/tokens/charts/themes/sick2025_dark.css +1 -1
  70. package/data/layers/full/tokens/charts/themes/sick2025_light.css +1 -1
  71. package/data/layers/full/tokens/figma-variables/sick2018-dark.json +20 -0
  72. package/data/layers/full/tokens/figma-variables/sick2018-light.json +20 -0
  73. package/data/layers/full/tokens/figma-variables/sick2025-dark.json +20 -0
  74. package/data/layers/full/tokens/figma-variables/sick2025-light.json +20 -0
  75. package/data/layers/full/tokens/js/index.d.ts +21 -1
  76. package/data/layers/full/tokens/js/index.js +21 -1
  77. package/data/layers/full/tokens/scss/_tokens.scss +5 -1
  78. package/data/layers/full/tokens/themes/sick2018_dark.css +5 -1
  79. package/data/layers/full/tokens/themes/sick2018_light.css +5 -1
  80. package/data/layers/full/tokens/themes/sick2025_dark.css +5 -1
  81. package/data/layers/full/tokens/themes/sick2025_light.css +5 -1
  82. package/data/layers/interface/component/component:syn-radio-button.json +14 -12
  83. package/data/layers/interface/component/component:syn-radio-button.md +6 -4
  84. package/data/layers/rules/component/component:syn-radio-button.md +16 -11
  85. package/data/manifest.json +1 -1
  86. package/dist/intentPolicy/domains/input/capabilities.js +4 -0
  87. package/dist/intentPolicy/domains/input/patterns.js +9 -0
  88. package/package.json +5 -5
  89. package/data/layers/full/component/component:syn-button/components/button.custom.styles.ts +0 -245
  90. package/data/layers/full/component/component:syn-button-group/components/button-group.custom.styles.ts +0 -5
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  */
5
5
  $SynChartCategorical10: var(--syn-chart-categorical-10) !default;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  * Do not edit directly, this file was auto-generated.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  * Do not edit directly, this file was auto-generated.
5
5
  */
@@ -1671,6 +1671,26 @@
1671
1671
  }
1672
1672
  }
1673
1673
  },
1674
+ "radio-button": {
1675
+ "border": {
1676
+ "color": {
1677
+ "type": "color",
1678
+ "value": "{color.neutral.700}"
1679
+ },
1680
+ "radius-large": {
1681
+ "type": "sizing",
1682
+ "value": "{border-radius.none}"
1683
+ },
1684
+ "radius-medium": {
1685
+ "type": "sizing",
1686
+ "value": "{border-radius.none}"
1687
+ },
1688
+ "radius-small": {
1689
+ "type": "sizing",
1690
+ "value": "{border-radius.none}"
1691
+ }
1692
+ }
1693
+ },
1674
1694
  "range": {
1675
1695
  "color-inactive": {
1676
1696
  "type": "color",
@@ -1671,6 +1671,26 @@
1671
1671
  }
1672
1672
  }
1673
1673
  },
1674
+ "radio-button": {
1675
+ "border": {
1676
+ "color": {
1677
+ "type": "color",
1678
+ "value": "{color.neutral.700}"
1679
+ },
1680
+ "radius-large": {
1681
+ "type": "sizing",
1682
+ "value": "{border-radius.none}"
1683
+ },
1684
+ "radius-medium": {
1685
+ "type": "sizing",
1686
+ "value": "{border-radius.none}"
1687
+ },
1688
+ "radius-small": {
1689
+ "type": "sizing",
1690
+ "value": "{border-radius.none}"
1691
+ }
1692
+ }
1693
+ },
1674
1694
  "range": {
1675
1695
  "color-inactive": {
1676
1696
  "type": "color",
@@ -1671,6 +1671,26 @@
1671
1671
  }
1672
1672
  }
1673
1673
  },
1674
+ "radio-button": {
1675
+ "border": {
1676
+ "color": {
1677
+ "type": "color",
1678
+ "value": "{color.neutral.1000}"
1679
+ },
1680
+ "radius-large": {
1681
+ "type": "sizing",
1682
+ "value": "{border-radius.small}"
1683
+ },
1684
+ "radius-medium": {
1685
+ "type": "sizing",
1686
+ "value": "{border-radius.small}"
1687
+ },
1688
+ "radius-small": {
1689
+ "type": "sizing",
1690
+ "value": "{border-radius.small}"
1691
+ }
1692
+ }
1693
+ },
1674
1694
  "range": {
1675
1695
  "color-inactive": {
1676
1696
  "type": "color",
@@ -1671,6 +1671,26 @@
1671
1671
  }
1672
1672
  }
1673
1673
  },
1674
+ "radio-button": {
1675
+ "border": {
1676
+ "color": {
1677
+ "type": "color",
1678
+ "value": "{color.neutral.950}"
1679
+ },
1680
+ "radius-large": {
1681
+ "type": "sizing",
1682
+ "value": "{border-radius.small}"
1683
+ },
1684
+ "radius-medium": {
1685
+ "type": "sizing",
1686
+ "value": "{border-radius.small}"
1687
+ },
1688
+ "radius-small": {
1689
+ "type": "sizing",
1690
+ "value": "{border-radius.small}"
1691
+ }
1692
+ }
1693
+ },
1674
1694
  "range": {
1675
1695
  "color-inactive": {
1676
1696
  "type": "color",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  */
5
5
 
@@ -1768,6 +1768,26 @@ export const SynProgressIndicatorColor: string;
1768
1768
  */
1769
1769
  export const SynProgressTrackColor: string;
1770
1770
 
1771
+ /**
1772
+ * Maps to the css variable `--syn-radio-button-border-color`
1773
+ */
1774
+ export const SynRadioButtonBorderColor: string;
1775
+
1776
+ /**
1777
+ * Maps to the css variable `--syn-radio-button-border-radius-large`
1778
+ */
1779
+ export const SynRadioButtonBorderRadiusLarge: string;
1780
+
1781
+ /**
1782
+ * Maps to the css variable `--syn-radio-button-border-radius-medium`
1783
+ */
1784
+ export const SynRadioButtonBorderRadiusMedium: string;
1785
+
1786
+ /**
1787
+ * Maps to the css variable `--syn-radio-button-border-radius-small`
1788
+ */
1789
+ export const SynRadioButtonBorderRadiusSmall: string;
1790
+
1771
1791
  /**
1772
1792
  * Maps to the css variable `--syn-range-color-inactive`
1773
1793
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  */
5
5
 
@@ -1768,6 +1768,26 @@ export const SynProgressIndicatorColor = 'var(--syn-progress-indicator-color)';
1768
1768
  */
1769
1769
  export const SynProgressTrackColor = 'var(--syn-progress-track-color)';
1770
1770
 
1771
+ /**
1772
+ * @type {string}
1773
+ */
1774
+ export const SynRadioButtonBorderColor = 'var(--syn-radio-button-border-color)';
1775
+
1776
+ /**
1777
+ * @type {string}
1778
+ */
1779
+ export const SynRadioButtonBorderRadiusLarge = 'var(--syn-radio-button-border-radius-large)';
1780
+
1781
+ /**
1782
+ * @type {string}
1783
+ */
1784
+ export const SynRadioButtonBorderRadiusMedium = 'var(--syn-radio-button-border-radius-medium)';
1785
+
1786
+ /**
1787
+ * @type {string}
1788
+ */
1789
+ export const SynRadioButtonBorderRadiusSmall = 'var(--syn-radio-button-border-radius-small)';
1790
+
1771
1791
  /**
1772
1792
  * @type {string}
1773
1793
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  */
5
5
  $SynAlertErrorColorBackground: var(--syn-alert-error-color-background) !default;
@@ -355,6 +355,10 @@ $SynPanelBorderRadius: var(--syn-panel-border-radius) !default;
355
355
  $SynPanelBorderWidth: var(--syn-panel-border-width) !default;
356
356
  $SynProgressIndicatorColor: var(--syn-progress-indicator-color) !default;
357
357
  $SynProgressTrackColor: var(--syn-progress-track-color) !default;
358
+ $SynRadioButtonBorderColor: var(--syn-radio-button-border-color) !default;
359
+ $SynRadioButtonBorderRadiusLarge: var(--syn-radio-button-border-radius-large) !default;
360
+ $SynRadioButtonBorderRadiusMedium: var(--syn-radio-button-border-radius-medium) !default;
361
+ $SynRadioButtonBorderRadiusSmall: var(--syn-radio-button-border-radius-small) !default;
358
362
  $SynRangeColorInactive: var(--syn-range-color-inactive) !default;
359
363
  $SynRangeErrorColor: var(--syn-range-error-color) !default;
360
364
  $SynRangeTickColor: var(--syn-range-tick-color) !default;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  * Do not edit directly, this file was auto-generated.
5
5
  */
@@ -360,6 +360,10 @@
360
360
  --syn-panel-border-width: var(--syn-border-width-small);
361
361
  --syn-progress-indicator-color: var(--syn-color-primary-600);
362
362
  --syn-progress-track-color: var(--syn-color-neutral-200);
363
+ --syn-radio-button-border-color: var(--syn-color-neutral-700);
364
+ --syn-radio-button-border-radius-large: var(--syn-border-radius-none);
365
+ --syn-radio-button-border-radius-medium: var(--syn-border-radius-none);
366
+ --syn-radio-button-border-radius-small: var(--syn-border-radius-none);
363
367
  --syn-range-color-inactive: var(--syn-color-neutral-200);
364
368
  --syn-range-error-color: var(--syn-color-error-700);
365
369
  --syn-range-tick-color: var(--syn-color-neutral-400);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  * Do not edit directly, this file was auto-generated.
5
5
  */
@@ -360,6 +360,10 @@
360
360
  --syn-panel-border-width: var(--syn-border-width-small);
361
361
  --syn-progress-indicator-color: var(--syn-color-primary-600);
362
362
  --syn-progress-track-color: var(--syn-color-neutral-200);
363
+ --syn-radio-button-border-color: var(--syn-color-neutral-700);
364
+ --syn-radio-button-border-radius-large: var(--syn-border-radius-none);
365
+ --syn-radio-button-border-radius-medium: var(--syn-border-radius-none);
366
+ --syn-radio-button-border-radius-small: var(--syn-border-radius-none);
363
367
  --syn-range-color-inactive: var(--syn-color-neutral-200);
364
368
  --syn-range-error-color: var(--syn-color-error-700);
365
369
  --syn-range-tick-color: var(--syn-color-neutral-400);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  * Do not edit directly, this file was auto-generated.
5
5
  */
@@ -360,6 +360,10 @@
360
360
  --syn-panel-border-width: var(--syn-border-width-small);
361
361
  --syn-progress-indicator-color: var(--syn-color-primary-500);
362
362
  --syn-progress-track-color: var(--syn-color-neutral-300);
363
+ --syn-radio-button-border-color: var(--syn-color-neutral-1000);
364
+ --syn-radio-button-border-radius-large: var(--syn-border-radius-small);
365
+ --syn-radio-button-border-radius-medium: var(--syn-border-radius-small);
366
+ --syn-radio-button-border-radius-small: var(--syn-border-radius-small);
363
367
  --syn-range-color-inactive: var(--syn-color-neutral-300);
364
368
  --syn-range-error-color: var(--syn-color-error-600);
365
369
  --syn-range-tick-color: var(--syn-color-neutral-600);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @synergy-design-system/tokens version 3.16.0
2
+ * @synergy-design-system/tokens version 3.17.0
3
3
  * SICK Global UX Foundation
4
4
  * Do not edit directly, this file was auto-generated.
5
5
  */
@@ -360,6 +360,10 @@
360
360
  --syn-panel-border-width: var(--syn-border-width-small);
361
361
  --syn-progress-indicator-color: var(--syn-color-primary-700);
362
362
  --syn-progress-track-color: var(--syn-color-neutral-100);
363
+ --syn-radio-button-border-color: var(--syn-color-neutral-950);
364
+ --syn-radio-button-border-radius-large: var(--syn-border-radius-small);
365
+ --syn-radio-button-border-radius-medium: var(--syn-border-radius-small);
366
+ --syn-radio-button-border-radius-small: var(--syn-border-radius-small);
363
367
  --syn-range-color-inactive: var(--syn-color-neutral-100);
364
368
  --syn-range-error-color: var(--syn-color-error-600);
365
369
  --syn-range-tick-color: var(--syn-color-neutral-500);
@@ -10,9 +10,9 @@
10
10
  },
11
11
  {
12
12
  "default": "false",
13
- "description": "Draws a pill-style radio button with rounded edges.",
14
- "fieldName": "pill",
15
- "name": "pill",
13
+ "description": "Sets the radio button to a readonly state.",
14
+ "fieldName": "readonly",
15
+ "name": "readonly",
16
16
  "reflects": true,
17
17
  "type": "boolean"
18
18
  },
@@ -72,6 +72,8 @@
72
72
  "type": "SynFocusEvent"
73
73
  }
74
74
  ],
75
+ "figmaComponentId": "47863-30109",
76
+ "figmaDocsId": "49697-83768",
75
77
  "methods": [
76
78
  {
77
79
  "description": "Removes focus from the radio button.",
@@ -95,6 +97,12 @@
95
97
  }
96
98
  ],
97
99
  "properties": [
100
+ {
101
+ "access": "public",
102
+ "description": "",
103
+ "name": "defaultSlot",
104
+ "type": "HTMLSlotElement"
105
+ },
98
106
  {
99
107
  "access": "public",
100
108
  "default": "false",
@@ -109,12 +117,6 @@
109
117
  "name": "hasFocus",
110
118
  "type": "boolean"
111
119
  },
112
- {
113
- "access": "public",
114
- "description": "",
115
- "name": "hiddenInput",
116
- "type": "HTMLInputElement"
117
- },
118
120
  {
119
121
  "access": "public",
120
122
  "description": "",
@@ -124,8 +126,8 @@
124
126
  {
125
127
  "access": "public",
126
128
  "default": "false",
127
- "description": "Draws a pill-style radio button with rounded edges.",
128
- "name": "pill",
129
+ "description": "Sets the radio button to a readonly state.",
130
+ "name": "readonly",
129
131
  "type": "boolean"
130
132
  },
131
133
  {
@@ -142,7 +144,7 @@
142
144
  "type": "string | number"
143
145
  }
144
146
  ],
145
- "since": "1.0.0",
147
+ "since": "3.17.0",
146
148
  "slots": [
147
149
  {
148
150
  "description": "The radio button's label.",
@@ -7,6 +7,8 @@ Radios buttons allow the user to select a single option from a group using a but
7
7
  ## Documentation
8
8
 
9
9
  - [Component Documentation](https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs)
10
+ - [Figma Examples](https://www.figma.com/file/bZFqk9urD3NlghGUKrkKCR/Synergy-Digital-Design-System?type=design&node-id=49697-83768)
11
+ - [Figma Component](https://www.figma.com/design/bZFqk9urD3NlghGUKrkKCR/Synergy-Digital-Design-System?node-id=47863-30109)
10
12
 
11
13
  ## Class Information
12
14
 
@@ -16,7 +18,7 @@ Radios buttons allow the user to select a single option from a group using a but
16
18
  ## Usage Information
17
19
 
18
20
  - **Status:** stable
19
- - **Since:** 1.0.0
21
+ - **Since:** 3.17.0
20
22
 
21
23
  ## Available Slots
22
24
 
@@ -35,14 +37,14 @@ default: `false`
35
37
 
36
38
  Disables the radio button.
37
39
 
38
- ### pill
40
+ ### readonly
39
41
 
40
- attribute: `pill`
42
+ attribute: `readonly`
41
43
  reflects: yes
42
44
  type: `boolean`
43
45
  default: `false`
44
46
 
45
- Draws a pill-style radio button with rounded edges.
47
+ Sets the radio button to a readonly state.
46
48
 
47
49
  ### size
48
50
 
@@ -6,22 +6,26 @@ Radios buttons allow the user to select a single option from a group using a but
6
6
 
7
7
  ## Common Use Cases
8
8
 
9
- - Select one option from a group where one is already preselected.
10
- - Switch between groups of settings.
11
- - Filter views by a parent category.
9
+ - Filter or switch between views with button-style appearance and icon support.
10
+ - Select one option from a group where one is already preselected and no invalid state exists.
11
+ - Switch between groups of settings with visual button presentation.
12
+ - Display categorization choices with prominent, icon-enhanced options.
13
+ - Preference or mode selection in UI controls where traditional form input is not needed.
12
14
 
13
15
  ## Usage Guidelines
14
16
 
15
- ### Background
17
+ ### When to Use
16
18
 
17
- - Use with light background options such as white, neutral-100, or primary-100.
19
+ - Use syn-radio-button when you need button-style appearance for single option selection.
20
+ - Use syn-radio for traditional radio button appearance.
21
+ - Both work as form inputs when slotted inside syn-radio-group; the difference is visual presentation.
22
+ - Choose syn-radio-button for use cases like filtering, view switching, or category selection where button styling enhances UX.
23
+ - Slot inside syn-radio-group to participate in form submission and group state management.
24
+ - Use only in groups, as they are designed to allow the user to activate one of several options. For single options, use syn-checkbox instead.
18
25
 
19
26
  ### Behavior
20
27
 
21
- - Don't use as input method in forms, for they are not form elements. Use syn-radio instead.
22
- - Slot inside of an syn-radio-group.
23
- - Use only in groups, as they are designed to allow the user to activate one of several options. To work with a single option, use syn-checkbox instead.
24
- - Pre-select always a "default" value; there is no invalid state.
28
+ - Always pre-select a "default" value. There is no invalid state; one option must always be selected.
25
29
  - Limit the number of options in the group. Users should be able to retain all options available and not be overwhelmed by them.
26
30
 
27
31
  ### Content
@@ -36,8 +40,9 @@ Radios buttons allow the user to select a single option from a group using a but
36
40
 
37
41
  ## Accessibility
38
42
 
39
- - Provide meaningful alternative text for icon-only radio buttons.
40
- - Communicate the group's function-such as filtering or view switching-through clear context or labels.
43
+ - Provide meaningful alternative text for icon-only radio buttons using the label attribute.
44
+ - Communicate the group's functionsuch as filtering or view switchingthrough clear context or labels.
45
+ - Ensure each button option has a unique, non-ambiguous label to help assistive technology users understand their choices.
41
46
 
42
47
  ## Related Components
43
48
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "builtAt": "2026-06-24T10:06:47.287Z",
2
+ "builtAt": "2026-07-01T12:54:15.638Z",
3
3
  "sources": [
4
4
  {
5
5
  "entityCount": 4,
@@ -27,6 +27,10 @@ export const inputCapabilities = [
27
27
  categories: ['input'],
28
28
  target: { id: 'component:syn-radio-group', kind: 'component', name: 'syn-radio-group' },
29
29
  },
30
+ {
31
+ categories: ['input'],
32
+ target: { id: 'component:syn-radio-button', kind: 'component', name: 'syn-radio-button' },
33
+ },
30
34
  {
31
35
  categories: ['input'],
32
36
  target: { id: 'component:syn-file', kind: 'component', name: 'syn-file' },
@@ -75,6 +75,15 @@ export const inputPatterns = [
75
75
  notes: ['Provide one default selected option as recommended in component usage rules.'],
76
76
  target: { id: 'component:syn-radio-group', kind: 'component', name: 'syn-radio-group' },
77
77
  },
78
+ {
79
+ description: 'Single selectable option used within a radio-button group.',
80
+ intent: 'input.selection.single',
81
+ notes: [
82
+ 'Use inside syn-radio-group to provide one explicit selection among related options.',
83
+ 'Provide a default selected value at group level, as recommended in component usage rules.',
84
+ ],
85
+ target: { id: 'component:syn-radio-button', kind: 'component', name: 'syn-radio-button' },
86
+ },
78
87
  {
79
88
  description: 'File attachment or upload control with optional multi-file mode.',
80
89
  intent: 'input.file.upload',
package/package.json CHANGED
@@ -22,12 +22,12 @@
22
22
  "serve-handler": "^6.1.7",
23
23
  "typescript": "^5.9.3",
24
24
  "zod": "^4.4.3",
25
- "@synergy-design-system/components": "3.16.0",
26
- "@synergy-design-system/docs": "0.1.0",
25
+ "@synergy-design-system/fonts": "1.0.8",
26
+ "@synergy-design-system/components": "3.17.0",
27
27
  "@synergy-design-system/eslint-config-syn": "^0.1.0",
28
+ "@synergy-design-system/docs": "0.1.0",
28
29
  "@synergy-design-system/styles": "2.1.2",
29
- "@synergy-design-system/tokens": "^3.16.0",
30
- "@synergy-design-system/fonts": "1.0.8"
30
+ "@synergy-design-system/tokens": "^3.17.0"
31
31
  },
32
32
  "exports": {
33
33
  ".": {
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "types": "./dist/index.d.ts",
72
72
  "type": "module",
73
- "version": "3.17.0",
73
+ "version": "3.19.0",
74
74
  "scripts": {
75
75
  "build:all": "METADATA_LOG_LEVEL=info pnpm run build:ts && RUN_STORYBOOK_SCRAPER=true pnpm run build:data",
76
76
  "build": "METADATA_LOG_LEVEL=info pnpm run build:ts && pnpm run build:data",