@synergy-design-system/components 1.0.0-main.13 → 1.0.0-main.15

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 (127) hide show
  1. package/dist/chunks/{chunk.J44T4LO6.js → chunk.23HTU3YE.js} +4 -4
  2. package/dist/chunks/{chunk.MFFJYORB.js → chunk.4CBN5LPQ.js} +4 -4
  3. package/dist/chunks/chunk.4I6M5V6O.js +56 -0
  4. package/dist/chunks/chunk.4I6M5V6O.js.map +7 -0
  5. package/dist/chunks/chunk.4KYZNJSV.js +111 -0
  6. package/dist/chunks/chunk.4KYZNJSV.js.map +7 -0
  7. package/dist/chunks/chunk.4ZURABYO.js +24 -0
  8. package/dist/chunks/chunk.4ZURABYO.js.map +7 -0
  9. package/dist/chunks/chunk.55M6MOGL.js +12 -0
  10. package/dist/chunks/chunk.55M6MOGL.js.map +7 -0
  11. package/dist/chunks/chunk.BELUQJC5.js +351 -0
  12. package/dist/chunks/chunk.BELUQJC5.js.map +7 -0
  13. package/dist/chunks/{chunk.SQTGI355.js → chunk.CFW7XRYS.js} +8 -8
  14. package/dist/chunks/{chunk.KALIQJUH.js → chunk.DWYH7NHV.js} +5 -5
  15. package/dist/chunks/chunk.F4MRQLNL.js +25 -0
  16. package/dist/chunks/chunk.F4MRQLNL.js.map +7 -0
  17. package/dist/chunks/chunk.GXMS33ZL.js +12 -0
  18. package/dist/chunks/chunk.GXMS33ZL.js.map +7 -0
  19. package/dist/chunks/chunk.JBYBQ5TQ.js +132 -0
  20. package/dist/chunks/chunk.JBYBQ5TQ.js.map +7 -0
  21. package/dist/chunks/{chunk.VNC7HKGP.js → chunk.JHXCBOUD.js} +2 -2
  22. package/dist/chunks/{chunk.VNC7HKGP.js.map → chunk.JHXCBOUD.js.map} +1 -1
  23. package/dist/chunks/chunk.JNBQQ4ZA.js +12 -0
  24. package/dist/chunks/chunk.JNBQQ4ZA.js.map +7 -0
  25. package/dist/chunks/{chunk.FLF2E2W4.js → chunk.LT2I67ME.js} +7 -7
  26. package/dist/chunks/{chunk.TKXG7VM3.js → chunk.MV6FVPFD.js} +2 -2
  27. package/dist/chunks/{chunk.FKB4BI2F.js → chunk.NJIWLPFD.js} +2 -2
  28. package/dist/chunks/{chunk.7QGGFKPO.js → chunk.NUGPKV6U.js} +8 -8
  29. package/dist/chunks/{chunk.NXKZDAMQ.js → chunk.OMLJCWB2.js} +2 -2
  30. package/dist/chunks/chunk.OVVMSN4D.js +37 -0
  31. package/dist/chunks/chunk.OVVMSN4D.js.map +7 -0
  32. package/dist/chunks/{chunk.WANL6A7U.js → chunk.OXUFFH57.js} +4 -4
  33. package/dist/chunks/{chunk.WDCAHRYG.js → chunk.P2LNG2PZ.js} +4 -2
  34. package/dist/chunks/chunk.QEN5G7O3.js +127 -0
  35. package/dist/chunks/chunk.QEN5G7O3.js.map +7 -0
  36. package/dist/chunks/{chunk.UFEBKPYW.js → chunk.QPQDXEPQ.js} +2 -2
  37. package/dist/chunks/{chunk.UFEBKPYW.js.map → chunk.QPQDXEPQ.js.map} +1 -1
  38. package/dist/chunks/chunk.R37X75B5.js +86 -0
  39. package/dist/chunks/chunk.R37X75B5.js.map +7 -0
  40. package/dist/chunks/chunk.RGQOCGZ7.js +12 -0
  41. package/dist/chunks/chunk.RGQOCGZ7.js.map +7 -0
  42. package/dist/chunks/chunk.V6VND4OF.js +49 -0
  43. package/dist/chunks/chunk.V6VND4OF.js.map +7 -0
  44. package/dist/chunks/{chunk.LJVC6UEV.js → chunk.WX3MALG4.js} +7 -7
  45. package/dist/chunks/{chunk.MMNWMRST.js → chunk.XJYSBAVL.js} +2 -2
  46. package/dist/chunks/{chunk.HOGDOKQS.js → chunk.YIR7LRP3.js} +5 -5
  47. package/dist/chunks/{chunk.WTCUSH7V.js → chunk.Z3RZUTQU.js} +2 -2
  48. package/dist/chunks/{chunk.T5JJNDG6.js → chunk.ZDDJUX4C.js} +2 -2
  49. package/dist/components/button/button.component.js +9 -9
  50. package/dist/components/button/button.js +10 -10
  51. package/dist/components/button-group/button-group.component.d.ts +28 -0
  52. package/dist/components/button-group/button-group.component.js +11 -0
  53. package/dist/components/button-group/button-group.component.js.map +7 -0
  54. package/dist/components/button-group/button-group.d.ts +8 -0
  55. package/dist/components/button-group/button-group.js +12 -0
  56. package/dist/components/button-group/button-group.js.map +7 -0
  57. package/dist/components/button-group/button-group.styles.d.ts +2 -0
  58. package/dist/components/button-group/button-group.styles.js +9 -0
  59. package/dist/components/button-group/button-group.styles.js.map +7 -0
  60. package/dist/components/checkbox/checkbox.component.js +7 -7
  61. package/dist/components/checkbox/checkbox.js +8 -8
  62. package/dist/components/checkbox/checkbox.styles.js +2 -2
  63. package/dist/components/icon/icon.component.js +3 -3
  64. package/dist/components/icon/icon.js +4 -4
  65. package/dist/components/input/input.component.js +8 -8
  66. package/dist/components/input/input.js +9 -9
  67. package/dist/components/input/input.styles.js +2 -2
  68. package/dist/components/radio/radio.component.d.ts +53 -0
  69. package/dist/components/radio/radio.component.js +19 -0
  70. package/dist/components/radio/radio.component.js.map +7 -0
  71. package/dist/components/radio/radio.custom.styles.d.ts +2 -0
  72. package/dist/components/radio/radio.custom.styles.js +8 -0
  73. package/dist/components/radio/radio.custom.styles.js.map +7 -0
  74. package/dist/components/radio/radio.d.ts +8 -0
  75. package/dist/components/radio/radio.js +20 -0
  76. package/dist/components/radio/radio.js.map +7 -0
  77. package/dist/components/radio/radio.styles.d.ts +2 -0
  78. package/dist/components/radio/radio.styles.js +10 -0
  79. package/dist/components/radio/radio.styles.js.map +7 -0
  80. package/dist/components/radio-button/radio-button.component.d.ts +53 -0
  81. package/dist/components/radio-button/radio-button.component.js +15 -0
  82. package/dist/components/radio-button/radio-button.component.js.map +7 -0
  83. package/dist/components/radio-button/radio-button.d.ts +8 -0
  84. package/dist/components/radio-button/radio-button.js +16 -0
  85. package/dist/components/radio-button/radio-button.js.map +7 -0
  86. package/dist/components/radio-button/radio-button.styles.d.ts +2 -0
  87. package/dist/components/radio-button/radio-button.styles.js +11 -0
  88. package/dist/components/radio-button/radio-button.styles.js.map +7 -0
  89. package/dist/components/radio-group/radio-group.component.d.ts +89 -0
  90. package/dist/components/radio-group/radio-group.component.js +18 -0
  91. package/dist/components/radio-group/radio-group.component.js.map +7 -0
  92. package/dist/components/radio-group/radio-group.custom.styles.d.ts +2 -0
  93. package/dist/components/radio-group/radio-group.custom.styles.js +8 -0
  94. package/dist/components/radio-group/radio-group.custom.styles.js.map +7 -0
  95. package/dist/components/radio-group/radio-group.d.ts +8 -0
  96. package/dist/components/radio-group/radio-group.js +19 -0
  97. package/dist/components/radio-group/radio-group.js.map +7 -0
  98. package/dist/components/radio-group/radio-group.styles.d.ts +2 -0
  99. package/dist/components/radio-group/radio-group.styles.js +11 -0
  100. package/dist/components/radio-group/radio-group.styles.js.map +7 -0
  101. package/dist/components/spinner/spinner.component.js +3 -3
  102. package/dist/components/textarea/textarea.component.js +6 -6
  103. package/dist/components/textarea/textarea.js +7 -7
  104. package/dist/components/textarea/textarea.styles.js +2 -2
  105. package/dist/custom-elements.json +1138 -148
  106. package/dist/synergy.d.ts +4 -0
  107. package/dist/synergy.js +53 -27
  108. package/dist/utilities/form.js +2 -2
  109. package/dist/vscode.html-custom-data.json +149 -19
  110. package/dist/web-types.json +343 -52
  111. package/package.json +18 -6
  112. /package/dist/chunks/{chunk.J44T4LO6.js.map → chunk.23HTU3YE.js.map} +0 -0
  113. /package/dist/chunks/{chunk.MFFJYORB.js.map → chunk.4CBN5LPQ.js.map} +0 -0
  114. /package/dist/chunks/{chunk.SQTGI355.js.map → chunk.CFW7XRYS.js.map} +0 -0
  115. /package/dist/chunks/{chunk.KALIQJUH.js.map → chunk.DWYH7NHV.js.map} +0 -0
  116. /package/dist/chunks/{chunk.FLF2E2W4.js.map → chunk.LT2I67ME.js.map} +0 -0
  117. /package/dist/chunks/{chunk.TKXG7VM3.js.map → chunk.MV6FVPFD.js.map} +0 -0
  118. /package/dist/chunks/{chunk.FKB4BI2F.js.map → chunk.NJIWLPFD.js.map} +0 -0
  119. /package/dist/chunks/{chunk.7QGGFKPO.js.map → chunk.NUGPKV6U.js.map} +0 -0
  120. /package/dist/chunks/{chunk.NXKZDAMQ.js.map → chunk.OMLJCWB2.js.map} +0 -0
  121. /package/dist/chunks/{chunk.WANL6A7U.js.map → chunk.OXUFFH57.js.map} +0 -0
  122. /package/dist/chunks/{chunk.WDCAHRYG.js.map → chunk.P2LNG2PZ.js.map} +0 -0
  123. /package/dist/chunks/{chunk.LJVC6UEV.js.map → chunk.WX3MALG4.js.map} +0 -0
  124. /package/dist/chunks/{chunk.MMNWMRST.js.map → chunk.XJYSBAVL.js.map} +0 -0
  125. /package/dist/chunks/{chunk.HOGDOKQS.js.map → chunk.YIR7LRP3.js.map} +0 -0
  126. /package/dist/chunks/{chunk.WTCUSH7V.js.map → chunk.Z3RZUTQU.js.map} +0 -0
  127. /package/dist/chunks/{chunk.T5JJNDG6.js.map → chunk.ZDDJUX4C.js.map} +0 -0
@@ -618,85 +618,39 @@
618
618
  },
619
619
  {
620
620
  "kind": "javascript-module",
621
- "path": "components/icon/icon.js",
621
+ "path": "components/button-group/button-group.js",
622
622
  "declarations": [
623
623
  {
624
624
  "kind": "class",
625
625
  "description": "",
626
- "name": "SynIcon",
626
+ "name": "SynButtonGroup",
627
627
  "cssParts": [
628
628
  {
629
- "description": "The internal SVG element.",
630
- "name": "svg"
631
- },
629
+ "description": "The component's base wrapper.",
630
+ "name": "base"
631
+ }
632
+ ],
633
+ "slots": [
632
634
  {
633
- "description": "The <use> element generated when using `spriteSheet: true`",
634
- "name": "use"
635
+ "description": "One or more `<syn-button>` elements to display in the button group.",
636
+ "name": ""
635
637
  }
636
638
  ],
637
639
  "members": [
638
640
  {
639
641
  "kind": "field",
640
- "name": "initialRender",
641
- "type": {
642
- "text": "boolean"
643
- },
644
- "privacy": "private",
645
- "default": "false"
646
- },
647
- {
648
- "kind": "method",
649
- "name": "resolveIcon",
650
- "privacy": "private",
651
- "return": {
652
- "type": {
653
- "text": "Promise<SVGResult>"
654
- }
655
- },
656
- "parameters": [
657
- {
658
- "name": "url",
659
- "type": {
660
- "text": "string"
661
- }
662
- },
663
- {
664
- "name": "library",
665
- "optional": true,
666
- "type": {
667
- "text": "IconLibrary"
668
- }
669
- }
670
- ],
671
- "description": "Given a URL, this function returns the resulting SVG element or an appropriate error symbol."
672
- },
673
- {
674
- "kind": "field",
675
- "name": "svg",
676
- "type": {
677
- "text": "SVGElement | HTMLTemplateResult | null"
678
- },
679
- "privacy": "private",
680
- "default": "null"
681
- },
682
- {
683
- "kind": "field",
684
- "name": "name",
642
+ "name": "defaultSlot",
685
643
  "type": {
686
- "text": "string | undefined"
687
- },
688
- "description": "The name of the icon to draw. Available names depend on the icon library being used.",
689
- "attribute": "name",
690
- "reflects": true
644
+ "text": "HTMLSlotElement"
645
+ }
691
646
  },
692
647
  {
693
648
  "kind": "field",
694
- "name": "src",
649
+ "name": "disableRole",
695
650
  "type": {
696
- "text": "string | undefined"
651
+ "text": "boolean"
697
652
  },
698
- "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
699
- "attribute": "src"
653
+ "default": "false"
700
654
  },
701
655
  {
702
656
  "kind": "field",
@@ -705,99 +659,88 @@
705
659
  "text": "string"
706
660
  },
707
661
  "default": "''",
708
- "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
662
+ "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
709
663
  "attribute": "label"
710
664
  },
711
665
  {
712
- "kind": "field",
713
- "name": "library",
714
- "type": {
715
- "text": "string"
716
- },
717
- "default": "'default'",
718
- "description": "The name of a registered custom icon library.",
719
- "attribute": "library",
720
- "reflects": true
666
+ "kind": "method",
667
+ "name": "handleFocus",
668
+ "privacy": "private",
669
+ "parameters": [
670
+ {
671
+ "name": "event",
672
+ "type": {
673
+ "text": "Event"
674
+ }
675
+ }
676
+ ]
721
677
  },
722
678
  {
723
679
  "kind": "method",
724
- "name": "getIconSource",
680
+ "name": "handleBlur",
725
681
  "privacy": "private",
726
- "return": {
727
- "type": {
728
- "text": "IconSource"
682
+ "parameters": [
683
+ {
684
+ "name": "event",
685
+ "type": {
686
+ "text": "Event"
687
+ }
729
688
  }
730
- }
689
+ ]
731
690
  },
732
691
  {
733
692
  "kind": "method",
734
- "name": "handleLabelChange"
693
+ "name": "handleMouseOver",
694
+ "privacy": "private",
695
+ "parameters": [
696
+ {
697
+ "name": "event",
698
+ "type": {
699
+ "text": "Event"
700
+ }
701
+ }
702
+ ]
735
703
  },
736
704
  {
737
705
  "kind": "method",
738
- "name": "setIcon"
739
- }
740
- ],
741
- "events": [
742
- {
743
- "description": "Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.",
744
- "name": "syn-load",
745
- "reactName": "onSynLoad",
746
- "eventName": "SynLoadEvent"
706
+ "name": "handleMouseOut",
707
+ "privacy": "private",
708
+ "parameters": [
709
+ {
710
+ "name": "event",
711
+ "type": {
712
+ "text": "Event"
713
+ }
714
+ }
715
+ ]
747
716
  },
748
717
  {
749
- "description": "Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.",
750
- "name": "syn-error",
751
- "reactName": "onSynError",
752
- "eventName": "SynErrorEvent"
718
+ "kind": "method",
719
+ "name": "handleSlotChange",
720
+ "privacy": "private"
753
721
  }
754
722
  ],
755
723
  "attributes": [
756
- {
757
- "name": "name",
758
- "type": {
759
- "text": "string | undefined"
760
- },
761
- "description": "The name of the icon to draw. Available names depend on the icon library being used.",
762
- "fieldName": "name"
763
- },
764
- {
765
- "name": "src",
766
- "type": {
767
- "text": "string | undefined"
768
- },
769
- "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
770
- "fieldName": "src"
771
- },
772
724
  {
773
725
  "name": "label",
774
726
  "type": {
775
727
  "text": "string"
776
728
  },
777
729
  "default": "''",
778
- "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
730
+ "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
779
731
  "fieldName": "label"
780
- },
781
- {
782
- "name": "library",
783
- "type": {
784
- "text": "string"
785
- },
786
- "default": "'default'",
787
- "description": "The name of a registered custom icon library.",
788
- "fieldName": "library"
789
732
  }
790
733
  ],
791
734
  "superclass": {
792
735
  "name": "SynergyElement",
793
736
  "module": "/src/internal/synergy-element.js"
794
737
  },
795
- "summary": "Icons are symbols that can be used to represent various options within an application.",
796
- "tagNameWithoutPrefix": "icon",
797
- "tagName": "syn-icon",
738
+ "summary": "Button groups can be used to group related buttons into sections.",
739
+ "tagNameWithoutPrefix": "button-group",
740
+ "tagName": "syn-button-group",
798
741
  "customElement": true,
799
- "jsDoc": "/**\n * @summary Icons are symbols that can be used to represent various options within an application.\n * @documentation https://synergy.style/components/icon\n * @status stable\n * @since 2.0\n *\n * @event syn-load - Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.\n * @event syn-error - Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.\n *\n * @csspart svg - The internal SVG element.\n * @csspart use - The <use> element generated when using `spriteSheet: true`\n */",
800
- "documentation": "https://synergy.style/components/icon",
742
+ "jsDoc": "/**\n * @summary Button groups can be used to group related buttons into sections.\n * @documentation https://synergy.style/components/button-group\n * @status stable\n * @since 2.0\n *\n * @slot - One or more `<syn-button>` elements to display in the button group.\n *\n * @csspart base - The component's base wrapper.\n */",
743
+ "documentation": "https://synergy.style/components/button-group",
801
744
  "status": "stable",
802
745
  "since": "2.0"
803
746
  }
@@ -807,8 +750,8 @@
807
750
  "kind": "js",
808
751
  "name": "default",
809
752
  "declaration": {
810
- "name": "SynIcon",
811
- "module": "components/icon/icon.js"
753
+ "name": "SynButtonGroup",
754
+ "module": "components/button-group/button-group.js"
812
755
  }
813
756
  }
814
757
  ]
@@ -1247,48 +1190,245 @@
1247
1190
  },
1248
1191
  {
1249
1192
  "kind": "javascript-module",
1250
- "path": "components/input/input.js",
1193
+ "path": "components/icon/icon.js",
1251
1194
  "declarations": [
1252
1195
  {
1253
1196
  "kind": "class",
1254
1197
  "description": "",
1255
- "name": "SynInput",
1198
+ "name": "SynIcon",
1256
1199
  "cssParts": [
1257
1200
  {
1258
- "description": "The form control that wraps the label, input, and help text.",
1259
- "name": "form-control"
1260
- },
1261
- {
1262
- "description": "The label's wrapper.",
1263
- "name": "form-control-label"
1201
+ "description": "The internal SVG element.",
1202
+ "name": "svg"
1264
1203
  },
1265
1204
  {
1266
- "description": "The input's wrapper.",
1267
- "name": "form-control-input"
1268
- },
1205
+ "description": "The <use> element generated when using `spriteSheet: true`",
1206
+ "name": "use"
1207
+ }
1208
+ ],
1209
+ "members": [
1269
1210
  {
1270
- "description": "The help text's wrapper.",
1271
- "name": "form-control-help-text"
1211
+ "kind": "field",
1212
+ "name": "initialRender",
1213
+ "type": {
1214
+ "text": "boolean"
1215
+ },
1216
+ "privacy": "private",
1217
+ "default": "false"
1272
1218
  },
1273
1219
  {
1274
- "description": "The component's base wrapper.",
1275
- "name": "base"
1220
+ "kind": "method",
1221
+ "name": "resolveIcon",
1222
+ "privacy": "private",
1223
+ "return": {
1224
+ "type": {
1225
+ "text": "Promise<SVGResult>"
1226
+ }
1227
+ },
1228
+ "parameters": [
1229
+ {
1230
+ "name": "url",
1231
+ "type": {
1232
+ "text": "string"
1233
+ }
1234
+ },
1235
+ {
1236
+ "name": "library",
1237
+ "optional": true,
1238
+ "type": {
1239
+ "text": "IconLibrary"
1240
+ }
1241
+ }
1242
+ ],
1243
+ "description": "Given a URL, this function returns the resulting SVG element or an appropriate error symbol."
1276
1244
  },
1277
1245
  {
1278
- "description": "The internal `<input>` control.",
1279
- "name": "input"
1246
+ "kind": "field",
1247
+ "name": "svg",
1248
+ "type": {
1249
+ "text": "SVGElement | HTMLTemplateResult | null"
1250
+ },
1251
+ "privacy": "private",
1252
+ "default": "null"
1280
1253
  },
1281
1254
  {
1282
- "description": "The container that wraps the prefix.",
1283
- "name": "prefix"
1255
+ "kind": "field",
1256
+ "name": "name",
1257
+ "type": {
1258
+ "text": "string | undefined"
1259
+ },
1260
+ "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1261
+ "attribute": "name",
1262
+ "reflects": true
1284
1263
  },
1285
1264
  {
1286
- "description": "The clear button.",
1287
- "name": "clear-button"
1265
+ "kind": "field",
1266
+ "name": "src",
1267
+ "type": {
1268
+ "text": "string | undefined"
1269
+ },
1270
+ "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
1271
+ "attribute": "src"
1288
1272
  },
1289
1273
  {
1290
- "description": "The password toggle button.",
1291
- "name": "password-toggle-button"
1274
+ "kind": "field",
1275
+ "name": "label",
1276
+ "type": {
1277
+ "text": "string"
1278
+ },
1279
+ "default": "''",
1280
+ "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1281
+ "attribute": "label"
1282
+ },
1283
+ {
1284
+ "kind": "field",
1285
+ "name": "library",
1286
+ "type": {
1287
+ "text": "string"
1288
+ },
1289
+ "default": "'default'",
1290
+ "description": "The name of a registered custom icon library.",
1291
+ "attribute": "library",
1292
+ "reflects": true
1293
+ },
1294
+ {
1295
+ "kind": "method",
1296
+ "name": "getIconSource",
1297
+ "privacy": "private",
1298
+ "return": {
1299
+ "type": {
1300
+ "text": "IconSource"
1301
+ }
1302
+ }
1303
+ },
1304
+ {
1305
+ "kind": "method",
1306
+ "name": "handleLabelChange"
1307
+ },
1308
+ {
1309
+ "kind": "method",
1310
+ "name": "setIcon"
1311
+ }
1312
+ ],
1313
+ "events": [
1314
+ {
1315
+ "description": "Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.",
1316
+ "name": "syn-load",
1317
+ "reactName": "onSynLoad",
1318
+ "eventName": "SynLoadEvent"
1319
+ },
1320
+ {
1321
+ "description": "Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.",
1322
+ "name": "syn-error",
1323
+ "reactName": "onSynError",
1324
+ "eventName": "SynErrorEvent"
1325
+ }
1326
+ ],
1327
+ "attributes": [
1328
+ {
1329
+ "name": "name",
1330
+ "type": {
1331
+ "text": "string | undefined"
1332
+ },
1333
+ "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1334
+ "fieldName": "name"
1335
+ },
1336
+ {
1337
+ "name": "src",
1338
+ "type": {
1339
+ "text": "string | undefined"
1340
+ },
1341
+ "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
1342
+ "fieldName": "src"
1343
+ },
1344
+ {
1345
+ "name": "label",
1346
+ "type": {
1347
+ "text": "string"
1348
+ },
1349
+ "default": "''",
1350
+ "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1351
+ "fieldName": "label"
1352
+ },
1353
+ {
1354
+ "name": "library",
1355
+ "type": {
1356
+ "text": "string"
1357
+ },
1358
+ "default": "'default'",
1359
+ "description": "The name of a registered custom icon library.",
1360
+ "fieldName": "library"
1361
+ }
1362
+ ],
1363
+ "superclass": {
1364
+ "name": "SynergyElement",
1365
+ "module": "/src/internal/synergy-element.js"
1366
+ },
1367
+ "summary": "Icons are symbols that can be used to represent various options within an application.",
1368
+ "tagNameWithoutPrefix": "icon",
1369
+ "tagName": "syn-icon",
1370
+ "customElement": true,
1371
+ "jsDoc": "/**\n * @summary Icons are symbols that can be used to represent various options within an application.\n * @documentation https://synergy.style/components/icon\n * @status stable\n * @since 2.0\n *\n * @event syn-load - Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.\n * @event syn-error - Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.\n *\n * @csspart svg - The internal SVG element.\n * @csspart use - The <use> element generated when using `spriteSheet: true`\n */",
1372
+ "documentation": "https://synergy.style/components/icon",
1373
+ "status": "stable",
1374
+ "since": "2.0"
1375
+ }
1376
+ ],
1377
+ "exports": [
1378
+ {
1379
+ "kind": "js",
1380
+ "name": "default",
1381
+ "declaration": {
1382
+ "name": "SynIcon",
1383
+ "module": "components/icon/icon.js"
1384
+ }
1385
+ }
1386
+ ]
1387
+ },
1388
+ {
1389
+ "kind": "javascript-module",
1390
+ "path": "components/input/input.js",
1391
+ "declarations": [
1392
+ {
1393
+ "kind": "class",
1394
+ "description": "",
1395
+ "name": "SynInput",
1396
+ "cssParts": [
1397
+ {
1398
+ "description": "The form control that wraps the label, input, and help text.",
1399
+ "name": "form-control"
1400
+ },
1401
+ {
1402
+ "description": "The label's wrapper.",
1403
+ "name": "form-control-label"
1404
+ },
1405
+ {
1406
+ "description": "The input's wrapper.",
1407
+ "name": "form-control-input"
1408
+ },
1409
+ {
1410
+ "description": "The help text's wrapper.",
1411
+ "name": "form-control-help-text"
1412
+ },
1413
+ {
1414
+ "description": "The component's base wrapper.",
1415
+ "name": "base"
1416
+ },
1417
+ {
1418
+ "description": "The internal `<input>` control.",
1419
+ "name": "input"
1420
+ },
1421
+ {
1422
+ "description": "The container that wraps the prefix.",
1423
+ "name": "prefix"
1424
+ },
1425
+ {
1426
+ "description": "The clear button.",
1427
+ "name": "clear-button"
1428
+ },
1429
+ {
1430
+ "description": "The password toggle button.",
1431
+ "name": "password-toggle-button"
1292
1432
  },
1293
1433
  {
1294
1434
  "description": "The container that wraps the suffix.",
@@ -2221,6 +2361,856 @@
2221
2361
  }
2222
2362
  ]
2223
2363
  },
2364
+ {
2365
+ "kind": "javascript-module",
2366
+ "path": "components/radio/radio.js",
2367
+ "declarations": [
2368
+ {
2369
+ "kind": "class",
2370
+ "description": "",
2371
+ "name": "SynRadio",
2372
+ "cssParts": [
2373
+ {
2374
+ "description": "The component's base wrapper.",
2375
+ "name": "base"
2376
+ },
2377
+ {
2378
+ "description": "The circular container that wraps the radio's checked state.",
2379
+ "name": "control"
2380
+ },
2381
+ {
2382
+ "description": "The radio control when the radio is checked.",
2383
+ "name": "control--checked"
2384
+ },
2385
+ {
2386
+ "description": "The checked icon, an `<syn-icon>` element.",
2387
+ "name": "checked-icon"
2388
+ },
2389
+ {
2390
+ "description": "The container that wraps the radio's label.",
2391
+ "name": "label"
2392
+ }
2393
+ ],
2394
+ "slots": [
2395
+ {
2396
+ "description": "The radio's label.",
2397
+ "name": ""
2398
+ }
2399
+ ],
2400
+ "members": [
2401
+ {
2402
+ "kind": "field",
2403
+ "name": "dependencies",
2404
+ "type": {
2405
+ "text": "object"
2406
+ },
2407
+ "static": true,
2408
+ "default": "{ 'syn-icon': SynIcon }"
2409
+ },
2410
+ {
2411
+ "kind": "field",
2412
+ "name": "checked",
2413
+ "type": {
2414
+ "text": "boolean"
2415
+ },
2416
+ "default": "false"
2417
+ },
2418
+ {
2419
+ "kind": "field",
2420
+ "name": "hasFocus",
2421
+ "type": {
2422
+ "text": "boolean"
2423
+ },
2424
+ "privacy": "protected",
2425
+ "default": "false"
2426
+ },
2427
+ {
2428
+ "kind": "field",
2429
+ "name": "value",
2430
+ "type": {
2431
+ "text": "string"
2432
+ },
2433
+ "description": "The radio's value. When selected, the radio group will receive this value.",
2434
+ "attribute": "value"
2435
+ },
2436
+ {
2437
+ "kind": "field",
2438
+ "name": "size",
2439
+ "type": {
2440
+ "text": "'small' | 'medium' | 'large'"
2441
+ },
2442
+ "default": "'medium'",
2443
+ "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
2444
+ "attribute": "size",
2445
+ "reflects": true
2446
+ },
2447
+ {
2448
+ "kind": "field",
2449
+ "name": "disabled",
2450
+ "type": {
2451
+ "text": "boolean"
2452
+ },
2453
+ "default": "false",
2454
+ "description": "Disables the radio.",
2455
+ "attribute": "disabled",
2456
+ "reflects": true
2457
+ },
2458
+ {
2459
+ "kind": "field",
2460
+ "name": "handleBlur",
2461
+ "privacy": "private"
2462
+ },
2463
+ {
2464
+ "kind": "field",
2465
+ "name": "handleClick",
2466
+ "privacy": "private"
2467
+ },
2468
+ {
2469
+ "kind": "field",
2470
+ "name": "handleFocus",
2471
+ "privacy": "private"
2472
+ },
2473
+ {
2474
+ "kind": "method",
2475
+ "name": "setInitialAttributes",
2476
+ "privacy": "private"
2477
+ },
2478
+ {
2479
+ "kind": "method",
2480
+ "name": "handleCheckedChange"
2481
+ },
2482
+ {
2483
+ "kind": "method",
2484
+ "name": "handleDisabledChange"
2485
+ }
2486
+ ],
2487
+ "events": [
2488
+ {
2489
+ "description": "Emitted when the control loses focus.",
2490
+ "name": "syn-blur",
2491
+ "reactName": "onSynBlur",
2492
+ "eventName": "SynBlurEvent"
2493
+ },
2494
+ {
2495
+ "description": "Emitted when the control gains focus.",
2496
+ "name": "syn-focus",
2497
+ "reactName": "onSynFocus",
2498
+ "eventName": "SynFocusEvent"
2499
+ }
2500
+ ],
2501
+ "attributes": [
2502
+ {
2503
+ "name": "value",
2504
+ "type": {
2505
+ "text": "string"
2506
+ },
2507
+ "description": "The radio's value. When selected, the radio group will receive this value.",
2508
+ "fieldName": "value"
2509
+ },
2510
+ {
2511
+ "name": "size",
2512
+ "type": {
2513
+ "text": "'small' | 'medium' | 'large'"
2514
+ },
2515
+ "default": "'medium'",
2516
+ "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
2517
+ "fieldName": "size"
2518
+ },
2519
+ {
2520
+ "name": "disabled",
2521
+ "type": {
2522
+ "text": "boolean"
2523
+ },
2524
+ "default": "false",
2525
+ "description": "Disables the radio.",
2526
+ "fieldName": "disabled"
2527
+ }
2528
+ ],
2529
+ "superclass": {
2530
+ "name": "SynergyElement",
2531
+ "module": "/src/internal/synergy-element.js"
2532
+ },
2533
+ "summary": "Radios allow the user to select a single option from a group.",
2534
+ "tagNameWithoutPrefix": "radio",
2535
+ "tagName": "syn-radio",
2536
+ "customElement": true,
2537
+ "jsDoc": "/**\n * @summary Radios allow the user to select a single option from a group.\n * @documentation https://synergy.style/components/radio\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The radio's label.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-focus - Emitted when the control gains focus.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The circular container that wraps the radio's checked state.\n * @csspart control--checked - The radio control when the radio is checked.\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart label - The container that wraps the radio's label.\n */",
2538
+ "documentation": "https://synergy.style/components/radio",
2539
+ "status": "stable",
2540
+ "since": "2.0",
2541
+ "dependencies": [
2542
+ "syn-icon"
2543
+ ]
2544
+ }
2545
+ ],
2546
+ "exports": [
2547
+ {
2548
+ "kind": "js",
2549
+ "name": "default",
2550
+ "declaration": {
2551
+ "name": "SynRadio",
2552
+ "module": "components/radio/radio.js"
2553
+ }
2554
+ }
2555
+ ]
2556
+ },
2557
+ {
2558
+ "kind": "javascript-module",
2559
+ "path": "components/radio-button/radio-button.js",
2560
+ "declarations": [
2561
+ {
2562
+ "kind": "class",
2563
+ "description": "",
2564
+ "name": "SynRadioButton",
2565
+ "cssParts": [
2566
+ {
2567
+ "description": "The component's base wrapper.",
2568
+ "name": "base"
2569
+ },
2570
+ {
2571
+ "description": "The internal `<button>` element.",
2572
+ "name": "button"
2573
+ },
2574
+ {
2575
+ "description": "The internal button element when the radio button is checked.",
2576
+ "name": "button--checked"
2577
+ },
2578
+ {
2579
+ "description": "The container that wraps the prefix.",
2580
+ "name": "prefix"
2581
+ },
2582
+ {
2583
+ "description": "The container that wraps the radio button's label.",
2584
+ "name": "label"
2585
+ },
2586
+ {
2587
+ "description": "The container that wraps the suffix.",
2588
+ "name": "suffix"
2589
+ }
2590
+ ],
2591
+ "slots": [
2592
+ {
2593
+ "description": "The radio button's label.",
2594
+ "name": ""
2595
+ },
2596
+ {
2597
+ "description": "A presentational prefix icon or similar element.",
2598
+ "name": "prefix"
2599
+ },
2600
+ {
2601
+ "description": "A presentational suffix icon or similar element.",
2602
+ "name": "suffix"
2603
+ }
2604
+ ],
2605
+ "members": [
2606
+ {
2607
+ "kind": "field",
2608
+ "name": "hasSlotController",
2609
+ "privacy": "private",
2610
+ "readonly": true,
2611
+ "default": "new HasSlotController(this, '[default]', 'prefix', 'suffix')"
2612
+ },
2613
+ {
2614
+ "kind": "field",
2615
+ "name": "input",
2616
+ "type": {
2617
+ "text": "HTMLInputElement"
2618
+ }
2619
+ },
2620
+ {
2621
+ "kind": "field",
2622
+ "name": "hiddenInput",
2623
+ "type": {
2624
+ "text": "HTMLInputElement"
2625
+ }
2626
+ },
2627
+ {
2628
+ "kind": "field",
2629
+ "name": "hasFocus",
2630
+ "type": {
2631
+ "text": "boolean"
2632
+ },
2633
+ "privacy": "protected",
2634
+ "default": "false"
2635
+ },
2636
+ {
2637
+ "kind": "field",
2638
+ "name": "value",
2639
+ "type": {
2640
+ "text": "string"
2641
+ },
2642
+ "description": "The radio's value. When selected, the radio group will receive this value.",
2643
+ "attribute": "value"
2644
+ },
2645
+ {
2646
+ "kind": "field",
2647
+ "name": "disabled",
2648
+ "type": {
2649
+ "text": "boolean"
2650
+ },
2651
+ "default": "false",
2652
+ "description": "Disables the radio button.",
2653
+ "attribute": "disabled",
2654
+ "reflects": true
2655
+ },
2656
+ {
2657
+ "kind": "field",
2658
+ "name": "size",
2659
+ "type": {
2660
+ "text": "'small' | 'medium' | 'large'"
2661
+ },
2662
+ "default": "'medium'",
2663
+ "description": "The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.",
2664
+ "attribute": "size",
2665
+ "reflects": true
2666
+ },
2667
+ {
2668
+ "kind": "method",
2669
+ "name": "handleBlur",
2670
+ "privacy": "private"
2671
+ },
2672
+ {
2673
+ "kind": "method",
2674
+ "name": "handleClick",
2675
+ "privacy": "private",
2676
+ "parameters": [
2677
+ {
2678
+ "name": "e",
2679
+ "type": {
2680
+ "text": "MouseEvent"
2681
+ }
2682
+ }
2683
+ ]
2684
+ },
2685
+ {
2686
+ "kind": "method",
2687
+ "name": "handleFocus",
2688
+ "privacy": "private"
2689
+ },
2690
+ {
2691
+ "kind": "method",
2692
+ "name": "handleDisabledChange"
2693
+ },
2694
+ {
2695
+ "kind": "method",
2696
+ "name": "focus",
2697
+ "parameters": [
2698
+ {
2699
+ "name": "options",
2700
+ "optional": true,
2701
+ "type": {
2702
+ "text": "FocusOptions"
2703
+ }
2704
+ }
2705
+ ],
2706
+ "description": "Sets focus on the radio button."
2707
+ },
2708
+ {
2709
+ "kind": "method",
2710
+ "name": "blur",
2711
+ "description": "Removes focus from the radio button."
2712
+ }
2713
+ ],
2714
+ "events": [
2715
+ {
2716
+ "description": "Emitted when the button loses focus.",
2717
+ "name": "syn-blur",
2718
+ "reactName": "onSynBlur",
2719
+ "eventName": "SynBlurEvent"
2720
+ },
2721
+ {
2722
+ "description": "Emitted when the button gains focus.",
2723
+ "name": "syn-focus",
2724
+ "reactName": "onSynFocus",
2725
+ "eventName": "SynFocusEvent"
2726
+ }
2727
+ ],
2728
+ "attributes": [
2729
+ {
2730
+ "name": "value",
2731
+ "type": {
2732
+ "text": "string"
2733
+ },
2734
+ "description": "The radio's value. When selected, the radio group will receive this value.",
2735
+ "fieldName": "value"
2736
+ },
2737
+ {
2738
+ "name": "disabled",
2739
+ "type": {
2740
+ "text": "boolean"
2741
+ },
2742
+ "default": "false",
2743
+ "description": "Disables the radio button.",
2744
+ "fieldName": "disabled"
2745
+ },
2746
+ {
2747
+ "name": "size",
2748
+ "type": {
2749
+ "text": "'small' | 'medium' | 'large'"
2750
+ },
2751
+ "default": "'medium'",
2752
+ "description": "The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.",
2753
+ "fieldName": "size"
2754
+ }
2755
+ ],
2756
+ "superclass": {
2757
+ "name": "SynergyElement",
2758
+ "module": "/src/internal/synergy-element.js"
2759
+ },
2760
+ "summary": "Radios buttons allow the user to select a single option from a group using a button-like control.",
2761
+ "tagNameWithoutPrefix": "radio-button",
2762
+ "tagName": "syn-radio-button",
2763
+ "customElement": true,
2764
+ "jsDoc": "/**\n * @summary Radios buttons allow the user to select a single option from a group using a button-like control.\n * @documentation https://synergy.style/components/radio-button\n * @status stable\n * @since 2.0\n *\n * @slot - The radio button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @event syn-blur - Emitted when the button loses focus.\n * @event syn-focus - Emitted when the button gains focus.\n *\n * @csspart base - The component's base wrapper.\n * @csspart button - The internal `<button>` element.\n * @csspart button--checked - The internal button element when the radio button is checked.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The container that wraps the radio button's label.\n * @csspart suffix - The container that wraps the suffix.\n */",
2765
+ "documentation": "https://synergy.style/components/radio-button",
2766
+ "status": "stable",
2767
+ "since": "2.0"
2768
+ }
2769
+ ],
2770
+ "exports": [
2771
+ {
2772
+ "kind": "js",
2773
+ "name": "default",
2774
+ "declaration": {
2775
+ "name": "SynRadioButton",
2776
+ "module": "components/radio-button/radio-button.js"
2777
+ }
2778
+ }
2779
+ ]
2780
+ },
2781
+ {
2782
+ "kind": "javascript-module",
2783
+ "path": "components/radio-group/radio-group.js",
2784
+ "declarations": [
2785
+ {
2786
+ "kind": "class",
2787
+ "description": "",
2788
+ "name": "SynRadioGroup",
2789
+ "cssParts": [
2790
+ {
2791
+ "description": "The form control that wraps the label, input, and help text.",
2792
+ "name": "form-control"
2793
+ },
2794
+ {
2795
+ "description": "The label's wrapper.",
2796
+ "name": "form-control-label"
2797
+ },
2798
+ {
2799
+ "description": "The input's wrapper.",
2800
+ "name": "form-control-input"
2801
+ },
2802
+ {
2803
+ "description": "The help text's wrapper.",
2804
+ "name": "form-control-help-text"
2805
+ },
2806
+ {
2807
+ "description": "The button group that wraps radio buttons.",
2808
+ "name": "button-group"
2809
+ },
2810
+ {
2811
+ "description": "The button group's `base` part.",
2812
+ "name": "button-group__base"
2813
+ }
2814
+ ],
2815
+ "slots": [
2816
+ {
2817
+ "description": "The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed.",
2818
+ "name": ""
2819
+ },
2820
+ {
2821
+ "description": "The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.",
2822
+ "name": "label"
2823
+ }
2824
+ ],
2825
+ "members": [
2826
+ {
2827
+ "kind": "field",
2828
+ "name": "dependencies",
2829
+ "type": {
2830
+ "text": "object"
2831
+ },
2832
+ "static": true,
2833
+ "default": "{ 'syn-button-group': SynButtonGroup }"
2834
+ },
2835
+ {
2836
+ "kind": "field",
2837
+ "name": "formControlController",
2838
+ "privacy": "protected",
2839
+ "readonly": true,
2840
+ "default": "new FormControlController(this)"
2841
+ },
2842
+ {
2843
+ "kind": "field",
2844
+ "name": "hasSlotController",
2845
+ "privacy": "private",
2846
+ "readonly": true,
2847
+ "default": "new HasSlotController(this, 'help-text', 'label')"
2848
+ },
2849
+ {
2850
+ "kind": "field",
2851
+ "name": "customValidityMessage",
2852
+ "type": {
2853
+ "text": "string"
2854
+ },
2855
+ "privacy": "private",
2856
+ "default": "''"
2857
+ },
2858
+ {
2859
+ "kind": "field",
2860
+ "name": "validationTimeout",
2861
+ "type": {
2862
+ "text": "number"
2863
+ },
2864
+ "privacy": "private"
2865
+ },
2866
+ {
2867
+ "kind": "field",
2868
+ "name": "defaultSlot",
2869
+ "type": {
2870
+ "text": "HTMLSlotElement"
2871
+ }
2872
+ },
2873
+ {
2874
+ "kind": "field",
2875
+ "name": "validationInput",
2876
+ "type": {
2877
+ "text": "HTMLInputElement"
2878
+ }
2879
+ },
2880
+ {
2881
+ "kind": "field",
2882
+ "name": "hasButtonGroup",
2883
+ "type": {
2884
+ "text": "boolean"
2885
+ },
2886
+ "privacy": "private",
2887
+ "default": "false"
2888
+ },
2889
+ {
2890
+ "kind": "field",
2891
+ "name": "errorMessage",
2892
+ "type": {
2893
+ "text": "string"
2894
+ },
2895
+ "privacy": "private",
2896
+ "default": "''"
2897
+ },
2898
+ {
2899
+ "kind": "field",
2900
+ "name": "defaultValue",
2901
+ "type": {
2902
+ "text": "string"
2903
+ },
2904
+ "default": "''"
2905
+ },
2906
+ {
2907
+ "kind": "field",
2908
+ "name": "label",
2909
+ "type": {
2910
+ "text": "string"
2911
+ },
2912
+ "default": "''",
2913
+ "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
2914
+ "attribute": "label"
2915
+ },
2916
+ {
2917
+ "kind": "field",
2918
+ "name": "helpText",
2919
+ "type": {
2920
+ "text": "string"
2921
+ },
2922
+ "default": "''",
2923
+ "description": "The radio groups's help text. If you need to display HTML, use the `help-text` slot instead.",
2924
+ "attribute": "help-text"
2925
+ },
2926
+ {
2927
+ "kind": "field",
2928
+ "name": "name",
2929
+ "type": {
2930
+ "text": "string"
2931
+ },
2932
+ "default": "'option'",
2933
+ "description": "The name of the radio group, submitted as a name/value pair with form data.",
2934
+ "attribute": "name"
2935
+ },
2936
+ {
2937
+ "kind": "field",
2938
+ "name": "value",
2939
+ "type": {
2940
+ "text": "string"
2941
+ },
2942
+ "default": "''",
2943
+ "description": "The current value of the radio group, submitted as a name/value pair with form data.",
2944
+ "attribute": "value",
2945
+ "reflects": true
2946
+ },
2947
+ {
2948
+ "kind": "field",
2949
+ "name": "size",
2950
+ "type": {
2951
+ "text": "'small' | 'medium' | 'large'"
2952
+ },
2953
+ "default": "'medium'",
2954
+ "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
2955
+ "attribute": "size",
2956
+ "reflects": true
2957
+ },
2958
+ {
2959
+ "kind": "field",
2960
+ "name": "form",
2961
+ "type": {
2962
+ "text": "string"
2963
+ },
2964
+ "default": "''",
2965
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
2966
+ "attribute": "form",
2967
+ "reflects": true
2968
+ },
2969
+ {
2970
+ "kind": "field",
2971
+ "name": "required",
2972
+ "type": {
2973
+ "text": "boolean"
2974
+ },
2975
+ "default": "false",
2976
+ "description": "Ensures a child radio is checked before allowing the containing form to submit.",
2977
+ "attribute": "required",
2978
+ "reflects": true
2979
+ },
2980
+ {
2981
+ "kind": "field",
2982
+ "name": "validity",
2983
+ "description": "Gets the validity state object",
2984
+ "readonly": true
2985
+ },
2986
+ {
2987
+ "kind": "field",
2988
+ "name": "validationMessage",
2989
+ "description": "Gets the validation message",
2990
+ "readonly": true
2991
+ },
2992
+ {
2993
+ "kind": "method",
2994
+ "name": "getAllRadios",
2995
+ "privacy": "private"
2996
+ },
2997
+ {
2998
+ "kind": "method",
2999
+ "name": "handleRadioClick",
3000
+ "privacy": "private",
3001
+ "parameters": [
3002
+ {
3003
+ "name": "event",
3004
+ "type": {
3005
+ "text": "MouseEvent"
3006
+ }
3007
+ }
3008
+ ]
3009
+ },
3010
+ {
3011
+ "kind": "method",
3012
+ "name": "handleKeyDown",
3013
+ "privacy": "private",
3014
+ "parameters": [
3015
+ {
3016
+ "name": "event",
3017
+ "type": {
3018
+ "text": "KeyboardEvent"
3019
+ }
3020
+ }
3021
+ ]
3022
+ },
3023
+ {
3024
+ "kind": "method",
3025
+ "name": "handleLabelClick",
3026
+ "privacy": "private"
3027
+ },
3028
+ {
3029
+ "kind": "method",
3030
+ "name": "handleInvalid",
3031
+ "privacy": "private",
3032
+ "parameters": [
3033
+ {
3034
+ "name": "event",
3035
+ "type": {
3036
+ "text": "Event"
3037
+ }
3038
+ }
3039
+ ]
3040
+ },
3041
+ {
3042
+ "kind": "method",
3043
+ "name": "syncRadioElements",
3044
+ "privacy": "private"
3045
+ },
3046
+ {
3047
+ "kind": "method",
3048
+ "name": "syncRadios",
3049
+ "privacy": "private"
3050
+ },
3051
+ {
3052
+ "kind": "method",
3053
+ "name": "updateCheckedRadio",
3054
+ "privacy": "private"
3055
+ },
3056
+ {
3057
+ "kind": "method",
3058
+ "name": "handleSizeChange"
3059
+ },
3060
+ {
3061
+ "kind": "method",
3062
+ "name": "handleValueChange"
3063
+ },
3064
+ {
3065
+ "kind": "method",
3066
+ "name": "checkValidity",
3067
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
3068
+ },
3069
+ {
3070
+ "kind": "method",
3071
+ "name": "getForm",
3072
+ "return": {
3073
+ "type": {
3074
+ "text": "HTMLFormElement | null"
3075
+ }
3076
+ },
3077
+ "description": "Gets the associated form, if one exists."
3078
+ },
3079
+ {
3080
+ "kind": "method",
3081
+ "name": "reportValidity",
3082
+ "return": {
3083
+ "type": {
3084
+ "text": "boolean"
3085
+ }
3086
+ },
3087
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
3088
+ },
3089
+ {
3090
+ "kind": "method",
3091
+ "name": "setCustomValidity",
3092
+ "parameters": [
3093
+ {
3094
+ "name": "message",
3095
+ "default": "''"
3096
+ }
3097
+ ],
3098
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
3099
+ }
3100
+ ],
3101
+ "events": [
3102
+ {
3103
+ "description": "Emitted when the radio group's selected value changes.",
3104
+ "name": "syn-change",
3105
+ "reactName": "onSynChange",
3106
+ "eventName": "SynChangeEvent"
3107
+ },
3108
+ {
3109
+ "description": "Emitted when the radio group receives user input.",
3110
+ "name": "syn-input",
3111
+ "reactName": "onSynInput",
3112
+ "eventName": "SynInputEvent"
3113
+ },
3114
+ {
3115
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
3116
+ "name": "syn-invalid",
3117
+ "reactName": "onSynInvalid",
3118
+ "eventName": "SynInvalidEvent"
3119
+ }
3120
+ ],
3121
+ "attributes": [
3122
+ {
3123
+ "name": "label",
3124
+ "type": {
3125
+ "text": "string"
3126
+ },
3127
+ "default": "''",
3128
+ "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
3129
+ "fieldName": "label"
3130
+ },
3131
+ {
3132
+ "name": "help-text",
3133
+ "type": {
3134
+ "text": "string"
3135
+ },
3136
+ "default": "''",
3137
+ "description": "The radio groups's help text. If you need to display HTML, use the `help-text` slot instead.",
3138
+ "fieldName": "helpText"
3139
+ },
3140
+ {
3141
+ "name": "name",
3142
+ "type": {
3143
+ "text": "string"
3144
+ },
3145
+ "default": "'option'",
3146
+ "description": "The name of the radio group, submitted as a name/value pair with form data.",
3147
+ "fieldName": "name"
3148
+ },
3149
+ {
3150
+ "name": "value",
3151
+ "type": {
3152
+ "text": "string"
3153
+ },
3154
+ "default": "''",
3155
+ "description": "The current value of the radio group, submitted as a name/value pair with form data.",
3156
+ "fieldName": "value"
3157
+ },
3158
+ {
3159
+ "name": "size",
3160
+ "type": {
3161
+ "text": "'small' | 'medium' | 'large'"
3162
+ },
3163
+ "default": "'medium'",
3164
+ "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
3165
+ "fieldName": "size"
3166
+ },
3167
+ {
3168
+ "name": "form",
3169
+ "type": {
3170
+ "text": "string"
3171
+ },
3172
+ "default": "''",
3173
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
3174
+ "fieldName": "form"
3175
+ },
3176
+ {
3177
+ "name": "required",
3178
+ "type": {
3179
+ "text": "boolean"
3180
+ },
3181
+ "default": "false",
3182
+ "description": "Ensures a child radio is checked before allowing the containing form to submit.",
3183
+ "fieldName": "required"
3184
+ }
3185
+ ],
3186
+ "superclass": {
3187
+ "name": "SynergyElement",
3188
+ "module": "/src/internal/synergy-element.js"
3189
+ },
3190
+ "summary": "Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.",
3191
+ "tagNameWithoutPrefix": "radio-group",
3192
+ "tagName": "syn-radio-group",
3193
+ "customElement": true,
3194
+ "jsDoc": "/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n * @documentation https://synergy.style/components/radio-group\n * @status stable\n * @since 2.0\n *\n * @dependency syn-button-group\n *\n * @slot - The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event syn-change - Emitted when the radio group's selected value changes.\n * @event syn-input - Emitted when the radio group receives user input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */",
3195
+ "documentation": "https://synergy.style/components/radio-group",
3196
+ "status": "stable",
3197
+ "since": "2.0",
3198
+ "dependencies": [
3199
+ "syn-button-group"
3200
+ ]
3201
+ }
3202
+ ],
3203
+ "exports": [
3204
+ {
3205
+ "kind": "js",
3206
+ "name": "default",
3207
+ "declaration": {
3208
+ "name": "SynRadioGroup",
3209
+ "module": "components/radio-group/radio-group.js"
3210
+ }
3211
+ }
3212
+ ]
3213
+ },
2224
3214
  {
2225
3215
  "kind": "javascript-module",
2226
3216
  "path": "components/spinner/spinner.js",
@@ -3046,12 +4036,12 @@
3046
4036
  "package": {
3047
4037
  "name": "@synergy-design-system/components",
3048
4038
  "description": "",
3049
- "version": "1.0.0-main.13",
4039
+ "version": "1.0.0-main.15",
3050
4040
  "author": {
3051
4041
  "name": "SICK Global UX Foundation",
3052
4042
  "url": "https://www.sick.com"
3053
4043
  },
3054
4044
  "homepage": "https://github.com/SickDesignSystem/synergy/tree/main/packages/components",
3055
- "license": "ISC"
4045
+ "license": "MIT"
3056
4046
  }
3057
4047
  }