@synergy-design-system/components 1.0.2 → 1.2.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 (121) hide show
  1. package/README.md +24 -16
  2. package/dist/chunks/chunk.2FN5DTS6.js +67 -0
  3. package/dist/chunks/chunk.2FN5DTS6.js.map +7 -0
  4. package/dist/chunks/{chunk.SUNIN43Y.js → chunk.2OYZUDFV.js} +2 -2
  5. package/dist/chunks/{chunk.XVJVR3MD.js → chunk.3CSVGX3J.js} +3 -3
  6. package/dist/chunks/{chunk.B7KNRAHG.js → chunk.44U5VKNJ.js} +3 -3
  7. package/dist/chunks/{chunk.JVSVQG6I.js → chunk.4EWYZIJS.js} +2 -2
  8. package/dist/chunks/{chunk.FJGYV3Y3.js → chunk.4EXY5F5M.js} +2 -2
  9. package/dist/chunks/{chunk.4XAK6MOQ.js → chunk.6PFQSQLU.js} +2 -2
  10. package/dist/chunks/chunk.7W73A57K.js +108 -0
  11. package/dist/chunks/chunk.7W73A57K.js.map +7 -0
  12. package/dist/chunks/{chunk.3NY33MCF.js → chunk.ADE7GDYK.js} +3 -3
  13. package/dist/chunks/{chunk.U2NJG6GX.js → chunk.AFVZYX7H.js} +2 -2
  14. package/dist/chunks/chunk.CAIB544F.js +12 -0
  15. package/dist/chunks/chunk.CAIB544F.js.map +7 -0
  16. package/dist/chunks/{chunk.MB5S3IM7.js → chunk.CB2M3AVU.js} +2 -2
  17. package/dist/chunks/{chunk.W5GPJ6ZR.js → chunk.D5YL3H6T.js} +2 -2
  18. package/dist/chunks/{chunk.D7KU5L75.js → chunk.E2TU3YYJ.js} +2 -2
  19. package/dist/chunks/{chunk.GNAJOKCJ.js → chunk.EJXWL3JM.js} +4 -2
  20. package/dist/chunks/{chunk.GNAJOKCJ.js.map → chunk.EJXWL3JM.js.map} +2 -2
  21. package/dist/chunks/chunk.ESQOUQV3.js +75 -0
  22. package/dist/chunks/chunk.ESQOUQV3.js.map +7 -0
  23. package/dist/chunks/{chunk.IFPM2NRM.js → chunk.FHYBGERU.js} +2 -2
  24. package/dist/chunks/{chunk.M5DMOLZK.js → chunk.JRAW7QJL.js} +2 -2
  25. package/dist/chunks/chunk.L6I5ZLBO.js +137 -0
  26. package/dist/chunks/chunk.L6I5ZLBO.js.map +7 -0
  27. package/dist/chunks/{chunk.WVYTLFNV.js → chunk.MJC7VLA2.js} +2 -2
  28. package/dist/chunks/{chunk.P3O63FHH.js → chunk.MUP4GIQL.js} +2 -2
  29. package/dist/chunks/{chunk.HZERAHZP.js → chunk.NRA7I7QC.js} +7 -7
  30. package/dist/chunks/chunk.OJF7KL44.js +67 -0
  31. package/dist/chunks/chunk.OJF7KL44.js.map +7 -0
  32. package/dist/chunks/{chunk.5SKPG6DM.js → chunk.Q7NHWXSL.js} +2 -2
  33. package/dist/chunks/chunk.QHFGD6WW.js +73 -0
  34. package/dist/chunks/chunk.QHFGD6WW.js.map +7 -0
  35. package/dist/chunks/{chunk.U7R4EV7C.js → chunk.RG4Z2I6D.js} +6 -6
  36. package/dist/chunks/{chunk.PHG2CETE.js → chunk.RKQHPBKM.js} +3 -3
  37. package/dist/chunks/{chunk.DUAFHNTR.js → chunk.SEHRSICV.js} +2 -2
  38. package/dist/chunks/{chunk.MUOAKBT3.js → chunk.SPPBO7QV.js} +2 -2
  39. package/dist/chunks/{chunk.MUOAKBT3.js.map → chunk.SPPBO7QV.js.map} +1 -1
  40. package/dist/chunks/{chunk.7MTLFTYG.js → chunk.TACOOH3N.js} +2 -2
  41. package/dist/chunks/chunk.VTYPMAXM.js +12 -0
  42. package/dist/chunks/chunk.VTYPMAXM.js.map +7 -0
  43. package/dist/chunks/{chunk.G3EPLUES.js → chunk.ZGZ7W6BC.js} +2 -2
  44. package/dist/components/button/button.component.js +7 -7
  45. package/dist/components/button/button.js +8 -8
  46. package/dist/components/button-group/button-group.component.js +2 -2
  47. package/dist/components/button-group/button-group.js +3 -3
  48. package/dist/components/checkbox/checkbox.component.js +5 -5
  49. package/dist/components/checkbox/checkbox.js +6 -6
  50. package/dist/components/icon/icon.component.js +4 -4
  51. package/dist/components/icon/icon.js +5 -5
  52. package/dist/components/icon/library.js +2 -2
  53. package/dist/components/icon/library.system.js +1 -1
  54. package/dist/components/icon-button/icon-button.component.d.ts +63 -0
  55. package/dist/components/icon-button/icon-button.component.js +20 -0
  56. package/dist/components/icon-button/icon-button.component.js.map +7 -0
  57. package/dist/components/icon-button/icon-button.custom.styles.d.ts +2 -0
  58. package/dist/components/icon-button/icon-button.custom.styles.js +8 -0
  59. package/dist/components/icon-button/icon-button.custom.styles.js.map +7 -0
  60. package/dist/components/icon-button/icon-button.d.ts +8 -0
  61. package/dist/components/icon-button/icon-button.js +21 -0
  62. package/dist/components/icon-button/icon-button.js.map +7 -0
  63. package/dist/components/icon-button/icon-button.styles.d.ts +2 -0
  64. package/dist/components/icon-button/icon-button.styles.js +10 -0
  65. package/dist/components/icon-button/icon-button.styles.js.map +7 -0
  66. package/dist/components/input/input.component.js +6 -6
  67. package/dist/components/input/input.js +7 -7
  68. package/dist/components/radio/radio.component.js +5 -5
  69. package/dist/components/radio/radio.js +6 -6
  70. package/dist/components/radio-button/radio-button.component.js +2 -2
  71. package/dist/components/radio-button/radio-button.js +3 -3
  72. package/dist/components/radio-group/radio-group.component.js +3 -3
  73. package/dist/components/radio-group/radio-group.js +4 -4
  74. package/dist/components/spinner/spinner.component.js +2 -2
  75. package/dist/components/switch/switch.component.js +2 -2
  76. package/dist/components/switch/switch.js +3 -3
  77. package/dist/components/tag/tag.component.d.ts +33 -0
  78. package/dist/components/tag/tag.component.js +25 -0
  79. package/dist/components/tag/tag.component.js.map +7 -0
  80. package/dist/components/tag/tag.custom.styles.d.ts +2 -0
  81. package/dist/components/tag/tag.custom.styles.js +8 -0
  82. package/dist/components/tag/tag.custom.styles.js.map +7 -0
  83. package/dist/components/tag/tag.d.ts +8 -0
  84. package/dist/components/tag/tag.js +26 -0
  85. package/dist/components/tag/tag.js.map +7 -0
  86. package/dist/components/tag/tag.styles.d.ts +2 -0
  87. package/dist/components/tag/tag.styles.js +10 -0
  88. package/dist/components/tag/tag.styles.js.map +7 -0
  89. package/dist/components/textarea/textarea.component.js +2 -2
  90. package/dist/components/textarea/textarea.js +3 -3
  91. package/dist/custom-elements.json +629 -184
  92. package/dist/events/events.d.ts +1 -0
  93. package/dist/events/syn-remove.d.ts +6 -0
  94. package/dist/synergy.d.ts +2 -0
  95. package/dist/synergy.js +47 -33
  96. package/dist/utilities/icon-library.js +2 -2
  97. package/dist/vscode.html-custom-data.json +119 -17
  98. package/dist/web-types.json +218 -30
  99. package/package.json +14 -13
  100. /package/dist/chunks/{chunk.SUNIN43Y.js.map → chunk.2OYZUDFV.js.map} +0 -0
  101. /package/dist/chunks/{chunk.XVJVR3MD.js.map → chunk.3CSVGX3J.js.map} +0 -0
  102. /package/dist/chunks/{chunk.B7KNRAHG.js.map → chunk.44U5VKNJ.js.map} +0 -0
  103. /package/dist/chunks/{chunk.JVSVQG6I.js.map → chunk.4EWYZIJS.js.map} +0 -0
  104. /package/dist/chunks/{chunk.FJGYV3Y3.js.map → chunk.4EXY5F5M.js.map} +0 -0
  105. /package/dist/chunks/{chunk.4XAK6MOQ.js.map → chunk.6PFQSQLU.js.map} +0 -0
  106. /package/dist/chunks/{chunk.3NY33MCF.js.map → chunk.ADE7GDYK.js.map} +0 -0
  107. /package/dist/chunks/{chunk.U2NJG6GX.js.map → chunk.AFVZYX7H.js.map} +0 -0
  108. /package/dist/chunks/{chunk.MB5S3IM7.js.map → chunk.CB2M3AVU.js.map} +0 -0
  109. /package/dist/chunks/{chunk.W5GPJ6ZR.js.map → chunk.D5YL3H6T.js.map} +0 -0
  110. /package/dist/chunks/{chunk.D7KU5L75.js.map → chunk.E2TU3YYJ.js.map} +0 -0
  111. /package/dist/chunks/{chunk.IFPM2NRM.js.map → chunk.FHYBGERU.js.map} +0 -0
  112. /package/dist/chunks/{chunk.M5DMOLZK.js.map → chunk.JRAW7QJL.js.map} +0 -0
  113. /package/dist/chunks/{chunk.WVYTLFNV.js.map → chunk.MJC7VLA2.js.map} +0 -0
  114. /package/dist/chunks/{chunk.P3O63FHH.js.map → chunk.MUP4GIQL.js.map} +0 -0
  115. /package/dist/chunks/{chunk.HZERAHZP.js.map → chunk.NRA7I7QC.js.map} +0 -0
  116. /package/dist/chunks/{chunk.5SKPG6DM.js.map → chunk.Q7NHWXSL.js.map} +0 -0
  117. /package/dist/chunks/{chunk.U7R4EV7C.js.map → chunk.RG4Z2I6D.js.map} +0 -0
  118. /package/dist/chunks/{chunk.PHG2CETE.js.map → chunk.RKQHPBKM.js.map} +0 -0
  119. /package/dist/chunks/{chunk.DUAFHNTR.js.map → chunk.SEHRSICV.js.map} +0 -0
  120. /package/dist/chunks/{chunk.7MTLFTYG.js.map → chunk.TACOOH3N.js.map} +0 -0
  121. /package/dist/chunks/{chunk.G3EPLUES.js.map → chunk.ZGZ7W6BC.js.map} +0 -0
@@ -2,6 +2,146 @@
2
2
  "schemaVersion": "1.0.0",
3
3
  "readme": "",
4
4
  "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "components/button-group/button-group.js",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "",
12
+ "name": "SynButtonGroup",
13
+ "cssParts": [
14
+ {
15
+ "description": "The component's base wrapper.",
16
+ "name": "base"
17
+ }
18
+ ],
19
+ "slots": [
20
+ {
21
+ "description": "One or more `<syn-button>` elements to display in the button group.",
22
+ "name": ""
23
+ }
24
+ ],
25
+ "members": [
26
+ {
27
+ "kind": "field",
28
+ "name": "defaultSlot",
29
+ "type": {
30
+ "text": "HTMLSlotElement"
31
+ }
32
+ },
33
+ {
34
+ "kind": "field",
35
+ "name": "disableRole",
36
+ "type": {
37
+ "text": "boolean"
38
+ },
39
+ "default": "false"
40
+ },
41
+ {
42
+ "kind": "field",
43
+ "name": "label",
44
+ "type": {
45
+ "text": "string"
46
+ },
47
+ "default": "''",
48
+ "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.",
49
+ "attribute": "label"
50
+ },
51
+ {
52
+ "kind": "method",
53
+ "name": "handleFocus",
54
+ "privacy": "private",
55
+ "parameters": [
56
+ {
57
+ "name": "event",
58
+ "type": {
59
+ "text": "Event"
60
+ }
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "kind": "method",
66
+ "name": "handleBlur",
67
+ "privacy": "private",
68
+ "parameters": [
69
+ {
70
+ "name": "event",
71
+ "type": {
72
+ "text": "Event"
73
+ }
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "kind": "method",
79
+ "name": "handleMouseOver",
80
+ "privacy": "private",
81
+ "parameters": [
82
+ {
83
+ "name": "event",
84
+ "type": {
85
+ "text": "Event"
86
+ }
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "kind": "method",
92
+ "name": "handleMouseOut",
93
+ "privacy": "private",
94
+ "parameters": [
95
+ {
96
+ "name": "event",
97
+ "type": {
98
+ "text": "Event"
99
+ }
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ "kind": "method",
105
+ "name": "handleSlotChange",
106
+ "privacy": "private"
107
+ }
108
+ ],
109
+ "attributes": [
110
+ {
111
+ "name": "label",
112
+ "type": {
113
+ "text": "string"
114
+ },
115
+ "default": "''",
116
+ "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.",
117
+ "fieldName": "label"
118
+ }
119
+ ],
120
+ "superclass": {
121
+ "name": "SynergyElement",
122
+ "module": "/src/internal/synergy-element.js"
123
+ },
124
+ "summary": "Button groups can be used to group related buttons into sections.",
125
+ "tagNameWithoutPrefix": "button-group",
126
+ "tagName": "syn-button-group",
127
+ "customElement": true,
128
+ "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 */",
129
+ "documentation": "https://synergy.style/components/button-group",
130
+ "status": "stable",
131
+ "since": "2.0"
132
+ }
133
+ ],
134
+ "exports": [
135
+ {
136
+ "kind": "js",
137
+ "name": "default",
138
+ "declaration": {
139
+ "name": "SynButtonGroup",
140
+ "module": "components/button-group/button-group.js"
141
+ }
142
+ }
143
+ ]
144
+ },
5
145
  {
6
146
  "kind": "javascript-module",
7
147
  "path": "components/button/button.js",
@@ -616,146 +756,6 @@
616
756
  }
617
757
  ]
618
758
  },
619
- {
620
- "kind": "javascript-module",
621
- "path": "components/button-group/button-group.js",
622
- "declarations": [
623
- {
624
- "kind": "class",
625
- "description": "",
626
- "name": "SynButtonGroup",
627
- "cssParts": [
628
- {
629
- "description": "The component's base wrapper.",
630
- "name": "base"
631
- }
632
- ],
633
- "slots": [
634
- {
635
- "description": "One or more `<syn-button>` elements to display in the button group.",
636
- "name": ""
637
- }
638
- ],
639
- "members": [
640
- {
641
- "kind": "field",
642
- "name": "defaultSlot",
643
- "type": {
644
- "text": "HTMLSlotElement"
645
- }
646
- },
647
- {
648
- "kind": "field",
649
- "name": "disableRole",
650
- "type": {
651
- "text": "boolean"
652
- },
653
- "default": "false"
654
- },
655
- {
656
- "kind": "field",
657
- "name": "label",
658
- "type": {
659
- "text": "string"
660
- },
661
- "default": "''",
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.",
663
- "attribute": "label"
664
- },
665
- {
666
- "kind": "method",
667
- "name": "handleFocus",
668
- "privacy": "private",
669
- "parameters": [
670
- {
671
- "name": "event",
672
- "type": {
673
- "text": "Event"
674
- }
675
- }
676
- ]
677
- },
678
- {
679
- "kind": "method",
680
- "name": "handleBlur",
681
- "privacy": "private",
682
- "parameters": [
683
- {
684
- "name": "event",
685
- "type": {
686
- "text": "Event"
687
- }
688
- }
689
- ]
690
- },
691
- {
692
- "kind": "method",
693
- "name": "handleMouseOver",
694
- "privacy": "private",
695
- "parameters": [
696
- {
697
- "name": "event",
698
- "type": {
699
- "text": "Event"
700
- }
701
- }
702
- ]
703
- },
704
- {
705
- "kind": "method",
706
- "name": "handleMouseOut",
707
- "privacy": "private",
708
- "parameters": [
709
- {
710
- "name": "event",
711
- "type": {
712
- "text": "Event"
713
- }
714
- }
715
- ]
716
- },
717
- {
718
- "kind": "method",
719
- "name": "handleSlotChange",
720
- "privacy": "private"
721
- }
722
- ],
723
- "attributes": [
724
- {
725
- "name": "label",
726
- "type": {
727
- "text": "string"
728
- },
729
- "default": "''",
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.",
731
- "fieldName": "label"
732
- }
733
- ],
734
- "superclass": {
735
- "name": "SynergyElement",
736
- "module": "/src/internal/synergy-element.js"
737
- },
738
- "summary": "Button groups can be used to group related buttons into sections.",
739
- "tagNameWithoutPrefix": "button-group",
740
- "tagName": "syn-button-group",
741
- "customElement": true,
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",
744
- "status": "stable",
745
- "since": "2.0"
746
- }
747
- ],
748
- "exports": [
749
- {
750
- "kind": "js",
751
- "name": "default",
752
- "declaration": {
753
- "name": "SynButtonGroup",
754
- "module": "components/button-group/button-group.js"
755
- }
756
- }
757
- ]
758
- },
759
759
  {
760
760
  "kind": "javascript-module",
761
761
  "path": "components/checkbox/checkbox.js",
@@ -1253,22 +1253,231 @@
1253
1253
  },
1254
1254
  {
1255
1255
  "kind": "field",
1256
- "name": "name",
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
1263
+ },
1264
+ {
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"
1272
+ },
1273
+ {
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/icon-button/icon-button.js",
1391
+ "declarations": [
1392
+ {
1393
+ "kind": "class",
1394
+ "description": "",
1395
+ "name": "SynIconButton",
1396
+ "cssParts": [
1397
+ {
1398
+ "description": "The component's base wrapper.",
1399
+ "name": "base"
1400
+ }
1401
+ ],
1402
+ "members": [
1403
+ {
1404
+ "kind": "field",
1405
+ "name": "dependencies",
1406
+ "type": {
1407
+ "text": "object"
1408
+ },
1409
+ "static": true,
1410
+ "default": "{ 'syn-icon': SynIcon }"
1411
+ },
1412
+ {
1413
+ "kind": "field",
1414
+ "name": "button",
1415
+ "type": {
1416
+ "text": "HTMLButtonElement | HTMLLinkElement"
1417
+ }
1418
+ },
1419
+ {
1420
+ "kind": "field",
1421
+ "name": "hasFocus",
1422
+ "type": {
1423
+ "text": "boolean"
1424
+ },
1425
+ "privacy": "private",
1426
+ "default": "false"
1427
+ },
1428
+ {
1429
+ "kind": "field",
1430
+ "name": "name",
1431
+ "type": {
1432
+ "text": "string | undefined"
1433
+ },
1434
+ "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1435
+ "attribute": "name"
1436
+ },
1437
+ {
1438
+ "kind": "field",
1439
+ "name": "library",
1440
+ "type": {
1441
+ "text": "string | undefined"
1442
+ },
1443
+ "description": "The name of a registered custom icon library.",
1444
+ "attribute": "library"
1445
+ },
1446
+ {
1447
+ "kind": "field",
1448
+ "name": "src",
1449
+ "type": {
1450
+ "text": "string | undefined"
1451
+ },
1452
+ "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.",
1453
+ "attribute": "src"
1454
+ },
1455
+ {
1456
+ "kind": "field",
1457
+ "name": "href",
1458
+ "type": {
1459
+ "text": "string | undefined"
1460
+ },
1461
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
1462
+ "attribute": "href"
1463
+ },
1464
+ {
1465
+ "kind": "field",
1466
+ "name": "target",
1257
1467
  "type": {
1258
- "text": "string | undefined"
1468
+ "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
1259
1469
  },
1260
- "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1261
- "attribute": "name",
1262
- "reflects": true
1470
+ "description": "Tells the browser where to open the link. Only used when `href` is set.",
1471
+ "attribute": "target"
1263
1472
  },
1264
1473
  {
1265
1474
  "kind": "field",
1266
- "name": "src",
1475
+ "name": "download",
1267
1476
  "type": {
1268
1477
  "text": "string | undefined"
1269
1478
  },
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"
1479
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is set.",
1480
+ "attribute": "download"
1272
1481
  },
1273
1482
  {
1274
1483
  "kind": "field",
@@ -1277,51 +1486,102 @@
1277
1486
  "text": "string"
1278
1487
  },
1279
1488
  "default": "''",
1280
- "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1489
+ "description": "A description that gets read by assistive devices. For optimal accessibility, you should always include a label\nthat describes what the icon button does.",
1281
1490
  "attribute": "label"
1282
1491
  },
1283
1492
  {
1284
1493
  "kind": "field",
1285
- "name": "library",
1494
+ "name": "size",
1286
1495
  "type": {
1287
- "text": "string"
1496
+ "text": "'small' | 'medium' | 'large' | 'inherit'"
1288
1497
  },
1289
- "default": "'default'",
1290
- "description": "The name of a registered custom icon library.",
1291
- "attribute": "library",
1498
+ "default": "'inherit'",
1499
+ "description": "The icon button's size.",
1500
+ "attribute": "size",
1501
+ "reflects": true
1502
+ },
1503
+ {
1504
+ "kind": "field",
1505
+ "name": "color",
1506
+ "type": {
1507
+ "text": "'currentColor' | 'primary' | 'neutral'"
1508
+ },
1509
+ "default": "'currentColor'",
1510
+ "description": "The color of the icon button.\nThe default \"currentColor\" makes it possible to easily style the icon button from outside without any CSS variables.",
1511
+ "attribute": "color",
1512
+ "reflects": true
1513
+ },
1514
+ {
1515
+ "kind": "field",
1516
+ "name": "disabled",
1517
+ "type": {
1518
+ "text": "boolean"
1519
+ },
1520
+ "default": "false",
1521
+ "description": "Disables the button.",
1522
+ "attribute": "disabled",
1292
1523
  "reflects": true
1293
1524
  },
1294
1525
  {
1295
1526
  "kind": "method",
1296
- "name": "getIconSource",
1527
+ "name": "handleBlur",
1528
+ "privacy": "private"
1529
+ },
1530
+ {
1531
+ "kind": "method",
1532
+ "name": "handleFocus",
1533
+ "privacy": "private"
1534
+ },
1535
+ {
1536
+ "kind": "method",
1537
+ "name": "handleClick",
1297
1538
  "privacy": "private",
1298
- "return": {
1299
- "type": {
1300
- "text": "IconSource"
1539
+ "parameters": [
1540
+ {
1541
+ "name": "event",
1542
+ "type": {
1543
+ "text": "MouseEvent"
1544
+ }
1301
1545
  }
1302
- }
1546
+ ]
1303
1547
  },
1304
1548
  {
1305
1549
  "kind": "method",
1306
- "name": "handleLabelChange"
1550
+ "name": "click",
1551
+ "description": "Simulates a click on the icon button."
1307
1552
  },
1308
1553
  {
1309
1554
  "kind": "method",
1310
- "name": "setIcon"
1555
+ "name": "focus",
1556
+ "parameters": [
1557
+ {
1558
+ "name": "options",
1559
+ "optional": true,
1560
+ "type": {
1561
+ "text": "FocusOptions"
1562
+ }
1563
+ }
1564
+ ],
1565
+ "description": "Sets focus on the icon button."
1566
+ },
1567
+ {
1568
+ "kind": "method",
1569
+ "name": "blur",
1570
+ "description": "Removes focus from the icon button."
1311
1571
  }
1312
1572
  ],
1313
1573
  "events": [
1314
1574
  {
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"
1575
+ "description": "Emitted when the icon button loses focus.",
1576
+ "name": "syn-blur",
1577
+ "reactName": "onSynBlur",
1578
+ "eventName": "SynBlurEvent"
1319
1579
  },
1320
1580
  {
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"
1581
+ "description": "Emitted when the icon button gains focus.",
1582
+ "name": "syn-focus",
1583
+ "reactName": "onSynFocus",
1584
+ "eventName": "SynFocusEvent"
1325
1585
  }
1326
1586
  ],
1327
1587
  "attributes": [
@@ -1333,6 +1593,14 @@
1333
1593
  "description": "The name of the icon to draw. Available names depend on the icon library being used.",
1334
1594
  "fieldName": "name"
1335
1595
  },
1596
+ {
1597
+ "name": "library",
1598
+ "type": {
1599
+ "text": "string | undefined"
1600
+ },
1601
+ "description": "The name of a registered custom icon library.",
1602
+ "fieldName": "library"
1603
+ },
1336
1604
  {
1337
1605
  "name": "src",
1338
1606
  "type": {
@@ -1341,37 +1609,82 @@
1341
1609
  "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
1610
  "fieldName": "src"
1343
1611
  },
1612
+ {
1613
+ "name": "href",
1614
+ "type": {
1615
+ "text": "string | undefined"
1616
+ },
1617
+ "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
1618
+ "fieldName": "href"
1619
+ },
1620
+ {
1621
+ "name": "target",
1622
+ "type": {
1623
+ "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
1624
+ },
1625
+ "description": "Tells the browser where to open the link. Only used when `href` is set.",
1626
+ "fieldName": "target"
1627
+ },
1628
+ {
1629
+ "name": "download",
1630
+ "type": {
1631
+ "text": "string | undefined"
1632
+ },
1633
+ "description": "Tells the browser to download the linked file as this filename. Only used when `href` is set.",
1634
+ "fieldName": "download"
1635
+ },
1344
1636
  {
1345
1637
  "name": "label",
1346
1638
  "type": {
1347
1639
  "text": "string"
1348
1640
  },
1349
1641
  "default": "''",
1350
- "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
1642
+ "description": "A description that gets read by assistive devices. For optimal accessibility, you should always include a label\nthat describes what the icon button does.",
1351
1643
  "fieldName": "label"
1352
1644
  },
1353
1645
  {
1354
- "name": "library",
1646
+ "name": "size",
1355
1647
  "type": {
1356
- "text": "string"
1648
+ "text": "'small' | 'medium' | 'large' | 'inherit'"
1357
1649
  },
1358
- "default": "'default'",
1359
- "description": "The name of a registered custom icon library.",
1360
- "fieldName": "library"
1650
+ "default": "'inherit'",
1651
+ "description": "The icon button's size.",
1652
+ "fieldName": "size"
1653
+ },
1654
+ {
1655
+ "name": "color",
1656
+ "type": {
1657
+ "text": "'currentColor' | 'primary' | 'neutral'"
1658
+ },
1659
+ "default": "'currentColor'",
1660
+ "description": "The color of the icon button.\nThe default \"currentColor\" makes it possible to easily style the icon button from outside without any CSS variables.",
1661
+ "fieldName": "color"
1662
+ },
1663
+ {
1664
+ "name": "disabled",
1665
+ "type": {
1666
+ "text": "boolean"
1667
+ },
1668
+ "default": "false",
1669
+ "description": "Disables the button.",
1670
+ "fieldName": "disabled"
1361
1671
  }
1362
1672
  ],
1363
1673
  "superclass": {
1364
1674
  "name": "SynergyElement",
1365
1675
  "module": "/src/internal/synergy-element.js"
1366
1676
  },
1367
- "summary": "Icons are symbols that can be used to represent various options within an application.",
1368
- "tagNameWithoutPrefix": "icon",
1369
- "tagName": "syn-icon",
1677
+ "summary": "Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.",
1678
+ "tagNameWithoutPrefix": "icon-button",
1679
+ "tagName": "syn-icon-button",
1370
1680
  "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",
1681
+ "jsDoc": "/**\n * @summary Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.\n * @documentation https://synergy.style/components/icon-button\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @event syn-blur - Emitted when the icon button loses focus.\n * @event syn-focus - Emitted when the icon button gains focus.\n *\n * @csspart base - The component's base wrapper.\n */",
1682
+ "documentation": "https://synergy.style/components/icon-button",
1373
1683
  "status": "stable",
1374
- "since": "2.0"
1684
+ "since": "2.0",
1685
+ "dependencies": [
1686
+ "syn-icon"
1687
+ ]
1375
1688
  }
1376
1689
  ],
1377
1690
  "exports": [
@@ -1379,8 +1692,8 @@
1379
1692
  "kind": "js",
1380
1693
  "name": "default",
1381
1694
  "declaration": {
1382
- "name": "SynIcon",
1383
- "module": "components/icon/icon.js"
1695
+ "name": "SynIconButton",
1696
+ "module": "components/icon-button/icon-button.js"
1384
1697
  }
1385
1698
  }
1386
1699
  ]
@@ -3692,6 +4005,138 @@
3692
4005
  }
3693
4006
  ]
3694
4007
  },
4008
+ {
4009
+ "kind": "javascript-module",
4010
+ "path": "components/tag/tag.js",
4011
+ "declarations": [
4012
+ {
4013
+ "kind": "class",
4014
+ "description": "",
4015
+ "name": "SynTag",
4016
+ "cssParts": [
4017
+ {
4018
+ "description": "The component's base wrapper.",
4019
+ "name": "base"
4020
+ },
4021
+ {
4022
+ "description": "The tag's content.",
4023
+ "name": "content"
4024
+ },
4025
+ {
4026
+ "description": "The tag's remove button, an `<syn-icon-button>`.",
4027
+ "name": "remove-button"
4028
+ },
4029
+ {
4030
+ "description": "The remove button's exported `base` part.",
4031
+ "name": "remove-button__base"
4032
+ }
4033
+ ],
4034
+ "slots": [
4035
+ {
4036
+ "description": "The tag's content.",
4037
+ "name": ""
4038
+ }
4039
+ ],
4040
+ "members": [
4041
+ {
4042
+ "kind": "field",
4043
+ "name": "dependencies",
4044
+ "type": {
4045
+ "text": "object"
4046
+ },
4047
+ "static": true,
4048
+ "default": "{ 'syn-icon-button': SynIconButton }"
4049
+ },
4050
+ {
4051
+ "kind": "field",
4052
+ "name": "localize",
4053
+ "privacy": "private",
4054
+ "readonly": true,
4055
+ "default": "new LocalizeController(this)"
4056
+ },
4057
+ {
4058
+ "kind": "field",
4059
+ "name": "size",
4060
+ "type": {
4061
+ "text": "'small' | 'medium' | 'large'"
4062
+ },
4063
+ "default": "'medium'",
4064
+ "description": "The tag's size.",
4065
+ "attribute": "size",
4066
+ "reflects": true
4067
+ },
4068
+ {
4069
+ "kind": "field",
4070
+ "name": "removable",
4071
+ "type": {
4072
+ "text": "boolean"
4073
+ },
4074
+ "default": "false",
4075
+ "description": "Makes the tag removable and shows a remove button.",
4076
+ "attribute": "removable"
4077
+ },
4078
+ {
4079
+ "kind": "method",
4080
+ "name": "handleRemoveClick",
4081
+ "privacy": "private"
4082
+ }
4083
+ ],
4084
+ "events": [
4085
+ {
4086
+ "description": "Emitted when the remove button is activated.",
4087
+ "name": "syn-remove",
4088
+ "reactName": "onSynRemove",
4089
+ "eventName": "SynRemoveEvent"
4090
+ }
4091
+ ],
4092
+ "attributes": [
4093
+ {
4094
+ "name": "size",
4095
+ "type": {
4096
+ "text": "'small' | 'medium' | 'large'"
4097
+ },
4098
+ "default": "'medium'",
4099
+ "description": "The tag's size.",
4100
+ "fieldName": "size"
4101
+ },
4102
+ {
4103
+ "name": "removable",
4104
+ "type": {
4105
+ "text": "boolean"
4106
+ },
4107
+ "default": "false",
4108
+ "description": "Makes the tag removable and shows a remove button.",
4109
+ "fieldName": "removable"
4110
+ }
4111
+ ],
4112
+ "superclass": {
4113
+ "name": "SynergyElement",
4114
+ "module": "/src/internal/synergy-element.js"
4115
+ },
4116
+ "summary": "Tags are used as labels to organize things or to indicate a selection.",
4117
+ "tagNameWithoutPrefix": "tag",
4118
+ "tagName": "syn-tag",
4119
+ "customElement": true,
4120
+ "jsDoc": "/**\n * @summary Tags are used as labels to organize things or to indicate a selection.\n * @documentation https://synergy.style/components/tag\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The tag's content.\n *\n * @event syn-remove - Emitted when the remove button is activated.\n *\n * @csspart base - The component's base wrapper.\n * @csspart content - The tag's content.\n * @csspart remove-button - The tag's remove button, an `<syn-icon-button>`.\n * @csspart remove-button__base - The remove button's exported `base` part.\n */",
4121
+ "documentation": "https://synergy.style/components/tag",
4122
+ "status": "stable",
4123
+ "since": "2.0",
4124
+ "dependencies": [
4125
+ "syn-icon-button"
4126
+ ]
4127
+ }
4128
+ ],
4129
+ "exports": [
4130
+ {
4131
+ "kind": "js",
4132
+ "name": "default",
4133
+ "declaration": {
4134
+ "name": "SynTag",
4135
+ "module": "components/tag/tag.js"
4136
+ }
4137
+ }
4138
+ ]
4139
+ },
3695
4140
  {
3696
4141
  "kind": "javascript-module",
3697
4142
  "path": "components/textarea/textarea.js",
@@ -4451,7 +4896,7 @@
4451
4896
  "package": {
4452
4897
  "name": "@synergy-design-system/components",
4453
4898
  "description": "",
4454
- "version": "1.0.2",
4899
+ "version": "1.2.0",
4455
4900
  "author": {
4456
4901
  "name": "SICK Global UX Foundation",
4457
4902
  "url": "https://www.sick.com"