@synergy-design-system/components 1.6.1 → 1.8.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 (194) hide show
  1. package/README.md +8 -0
  2. package/dist/chunks/chunk.2IBWQADW.js +12 -0
  3. package/dist/chunks/chunk.2IBWQADW.js.map +7 -0
  4. package/dist/chunks/chunk.2KKPNUPU.js +110 -0
  5. package/dist/chunks/chunk.2KKPNUPU.js.map +7 -0
  6. package/dist/chunks/{chunk.FZ4XKET2.js → chunk.2XCLA4MQ.js} +2 -2
  7. package/dist/chunks/{chunk.AMTCNRDE.js → chunk.2Z2GYRLO.js} +2 -2
  8. package/dist/chunks/{chunk.7OGFJKHP.js → chunk.35PHCFSV.js} +7 -7
  9. package/dist/chunks/{chunk.PWYCVX32.js → chunk.4ZGN7AEC.js} +6 -6
  10. package/dist/chunks/{chunk.SE25XG6G.js → chunk.5TFG753C.js} +2 -2
  11. package/dist/chunks/{chunk.23XIIXFZ.js → chunk.6PWB7EUW.js} +2 -2
  12. package/dist/chunks/{chunk.NZ7AYZ7E.js → chunk.A2WGLZOL.js} +2 -2
  13. package/dist/chunks/{chunk.KQSLZDOW.js → chunk.AJWDVZRI.js} +19 -95
  14. package/dist/chunks/chunk.AJWDVZRI.js.map +7 -0
  15. package/dist/chunks/{chunk.VZ7S7YYN.js → chunk.AVTU2BGE.js} +2 -2
  16. package/dist/chunks/{chunk.HZO5IAUS.js → chunk.AWZ4FSAL.js} +7 -7
  17. package/dist/chunks/{chunk.5S3OJR6Z.js → chunk.B75SET3J.js} +4 -4
  18. package/dist/chunks/{chunk.SR2C7JNO.js → chunk.BGPAHVPK.js} +2 -2
  19. package/dist/chunks/{chunk.R5VB3GMN.js → chunk.COKV3ZN7.js} +2 -2
  20. package/dist/chunks/{chunk.IC6S5VNW.js → chunk.CUU2VBEZ.js} +2 -2
  21. package/dist/chunks/{chunk.AM34E33G.js → chunk.DAROCSFO.js} +4 -4
  22. package/dist/chunks/{chunk.FCGPI6ON.js → chunk.ERNEIORV.js} +4 -4
  23. package/dist/chunks/{chunk.BAAUH5DH.js → chunk.F3YEAZYJ.js} +2 -2
  24. package/dist/chunks/{chunk.2VJGG5SD.js → chunk.G66TSLVT.js} +7 -7
  25. package/dist/chunks/{chunk.5MD6EBSY.js → chunk.GUQN6XL4.js} +4 -4
  26. package/dist/chunks/chunk.GZVDP7WZ.js +541 -0
  27. package/dist/chunks/chunk.GZVDP7WZ.js.map +7 -0
  28. package/dist/chunks/{chunk.4OUJKHRJ.js → chunk.HNRD7DBS.js} +2 -2
  29. package/dist/chunks/{chunk.2PIMZJBX.js → chunk.HW5TASOL.js} +5 -5
  30. package/dist/chunks/{chunk.OUYVGVIY.js → chunk.JBHQJWOB.js} +5 -5
  31. package/dist/chunks/{chunk.HG5QC5EW.js → chunk.JSO3PKB4.js} +2 -2
  32. package/dist/chunks/{chunk.ZHJ6QEGW.js → chunk.K4ELZCXB.js} +2 -2
  33. package/dist/chunks/{chunk.LEVUN7II.js → chunk.KA7L2PMA.js} +5 -5
  34. package/dist/chunks/{chunk.R27TACBP.js → chunk.MB3YZTYP.js} +3 -3
  35. package/dist/chunks/{chunk.7K26RLTL.js → chunk.MRAXEK5D.js} +2 -2
  36. package/dist/chunks/{chunk.MDTK2XLX.js → chunk.NAAFLDZ3.js} +2 -2
  37. package/dist/chunks/chunk.NV7W5R6V.js +173 -0
  38. package/dist/chunks/chunk.NV7W5R6V.js.map +7 -0
  39. package/dist/chunks/{chunk.I7LFDXM4.js → chunk.NWWHBSV7.js} +2 -2
  40. package/dist/chunks/{chunk.GHCD7CUQ.js → chunk.OJUBVHIK.js} +2 -2
  41. package/dist/chunks/{chunk.BQG5LF7J.js → chunk.QAUTITK3.js} +2 -2
  42. package/dist/chunks/{chunk.DJOAQ4JU.js → chunk.QNDC5KWA.js} +43 -2
  43. package/dist/chunks/{chunk.OZF3DZSV.js → chunk.RS4Z4KDT.js} +5 -5
  44. package/dist/chunks/{chunk.SEQOINRC.js → chunk.RVFNEWM3.js} +2 -2
  45. package/dist/chunks/{chunk.HZXUXR2V.js → chunk.UG5FC6UD.js} +2 -2
  46. package/dist/chunks/{chunk.DYCZPZ6T.js → chunk.UVYPEAQZ.js} +5 -5
  47. package/dist/chunks/chunk.UYD2OVFV.js +83 -0
  48. package/dist/chunks/chunk.UYD2OVFV.js.map +7 -0
  49. package/dist/chunks/{chunk.DULBBZUA.js → chunk.WDX7XUUK.js} +3 -3
  50. package/dist/chunks/{chunk.DULBBZUA.js.map → chunk.WDX7XUUK.js.map} +1 -1
  51. package/dist/chunks/{chunk.YGZDEVFH.js → chunk.WP6T5CG2.js} +2 -2
  52. package/dist/chunks/{chunk.CFBIDJ72.js → chunk.XI6MSNHF.js} +3 -3
  53. package/dist/chunks/{chunk.I6GT4YUF.js → chunk.Y4QKFZLK.js} +6 -6
  54. package/dist/components/button/button.component.js +9 -9
  55. package/dist/components/button/button.custom.styles.js +1 -1
  56. package/dist/components/button/button.js +10 -10
  57. package/dist/components/button/button.styles.js +1 -1
  58. package/dist/components/button-group/button-group.component.js +3 -3
  59. package/dist/components/button-group/button-group.js +4 -4
  60. package/dist/components/button-group/button-group.styles.js +1 -1
  61. package/dist/components/checkbox/checkbox.component.js +8 -8
  62. package/dist/components/checkbox/checkbox.custom.styles.js +1 -1
  63. package/dist/components/checkbox/checkbox.js +9 -9
  64. package/dist/components/checkbox/checkbox.styles.js +1 -1
  65. package/dist/components/divider/divider.component.js +4 -4
  66. package/dist/components/divider/divider.custom.styles.js +1 -1
  67. package/dist/components/divider/divider.js +5 -5
  68. package/dist/components/divider/divider.styles.js +1 -1
  69. package/dist/components/drawer/drawer.component.d.ts +109 -0
  70. package/dist/components/drawer/drawer.component.js +28 -0
  71. package/dist/components/drawer/drawer.component.js.map +7 -0
  72. package/dist/components/drawer/drawer.custom.styles.d.ts +2 -0
  73. package/dist/components/drawer/drawer.custom.styles.js +8 -0
  74. package/dist/components/drawer/drawer.custom.styles.js.map +7 -0
  75. package/dist/components/drawer/drawer.d.ts +8 -0
  76. package/dist/components/drawer/drawer.js +29 -0
  77. package/dist/components/drawer/drawer.js.map +7 -0
  78. package/dist/components/drawer/drawer.styles.d.ts +2 -0
  79. package/dist/components/drawer/drawer.styles.js +10 -0
  80. package/dist/components/drawer/drawer.styles.js.map +7 -0
  81. package/dist/components/icon/icon.component.js +6 -6
  82. package/dist/components/icon/icon.custom.styles.js +1 -1
  83. package/dist/components/icon/icon.js +7 -7
  84. package/dist/components/icon/icon.styles.js +1 -1
  85. package/dist/components/icon/library.default.js +1 -1
  86. package/dist/components/icon/library.js +1 -1
  87. package/dist/components/icon/library.system.js +1 -1
  88. package/dist/components/icon-button/icon-button.component.js +7 -7
  89. package/dist/components/icon-button/icon-button.custom.styles.js +1 -1
  90. package/dist/components/icon-button/icon-button.js +8 -8
  91. package/dist/components/icon-button/icon-button.styles.js +1 -1
  92. package/dist/components/input/input.component.js +9 -9
  93. package/dist/components/input/input.custom.styles.js +1 -1
  94. package/dist/components/input/input.js +10 -10
  95. package/dist/components/input/input.styles.js +1 -1
  96. package/dist/components/optgroup/optgroup.component.js +5 -5
  97. package/dist/components/optgroup/optgroup.js +6 -6
  98. package/dist/components/optgroup/optgroup.styles.js +1 -1
  99. package/dist/components/option/option.component.js +7 -7
  100. package/dist/components/option/option.custom.styles.js +1 -1
  101. package/dist/components/option/option.js +8 -8
  102. package/dist/components/option/option.styles.js +1 -1
  103. package/dist/components/popup/popup.component.js +3 -3
  104. package/dist/components/popup/popup.styles.js +1 -1
  105. package/dist/components/radio/radio.component.js +7 -7
  106. package/dist/components/radio/radio.custom.styles.js +1 -1
  107. package/dist/components/radio/radio.js +8 -8
  108. package/dist/components/radio/radio.styles.js +1 -1
  109. package/dist/components/radio-button/radio-button.component.js +4 -4
  110. package/dist/components/radio-button/radio-button.js +5 -5
  111. package/dist/components/radio-button/radio-button.styles.js +1 -1
  112. package/dist/components/radio-group/radio-group.component.js +6 -6
  113. package/dist/components/radio-group/radio-group.custom.styles.js +1 -1
  114. package/dist/components/radio-group/radio-group.js +7 -7
  115. package/dist/components/radio-group/radio-group.styles.js +1 -1
  116. package/dist/components/select/select.component.js +14 -13
  117. package/dist/components/select/select.custom.styles.js +1 -1
  118. package/dist/components/select/select.js +15 -14
  119. package/dist/components/select/select.styles.js +1 -1
  120. package/dist/components/spinner/spinner.component.js +3 -3
  121. package/dist/components/spinner/spinner.styles.js +1 -1
  122. package/dist/components/switch/switch.component.js +5 -5
  123. package/dist/components/switch/switch.custom.styles.js +1 -1
  124. package/dist/components/switch/switch.js +6 -6
  125. package/dist/components/switch/switch.styles.js +1 -1
  126. package/dist/components/tag/tag.component.js +8 -8
  127. package/dist/components/tag/tag.custom.styles.js +1 -1
  128. package/dist/components/tag/tag.js +9 -9
  129. package/dist/components/tag/tag.styles.js +1 -1
  130. package/dist/components/textarea/textarea.component.js +5 -5
  131. package/dist/components/textarea/textarea.custom.styles.js +1 -1
  132. package/dist/components/textarea/textarea.js +6 -6
  133. package/dist/components/textarea/textarea.styles.js +1 -1
  134. package/dist/custom-elements.json +530 -120
  135. package/dist/events/events.d.ts +2 -0
  136. package/dist/events/syn-initial-focus.d.ts +6 -0
  137. package/dist/events/syn-request-close.d.ts +8 -0
  138. package/dist/internal/active-elements.d.ts +15 -0
  139. package/dist/internal/modal.d.ts +21 -0
  140. package/dist/internal/string.d.ts +2 -0
  141. package/dist/internal/tabbable.d.ts +9 -0
  142. package/dist/synergy-autoloader.js +1 -1
  143. package/dist/synergy.d.ts +1 -0
  144. package/dist/synergy.js +71 -63
  145. package/dist/themes/utility.css +29 -0
  146. package/dist/translations/de.js +1 -1
  147. package/dist/translations/en.js +1 -1
  148. package/dist/utilities/animation-registry.js +2 -2
  149. package/dist/utilities/base-path.js +1 -1
  150. package/dist/utilities/form.js +3 -3
  151. package/dist/utilities/icon-library.js +1 -1
  152. package/dist/utilities/localize.js +1 -1
  153. package/dist/vscode.html-custom-data.json +52 -10
  154. package/dist/web-types.json +154 -23
  155. package/package.json +28 -27
  156. package/dist/chunks/chunk.KQSLZDOW.js.map +0 -7
  157. /package/dist/chunks/{chunk.FZ4XKET2.js.map → chunk.2XCLA4MQ.js.map} +0 -0
  158. /package/dist/chunks/{chunk.AMTCNRDE.js.map → chunk.2Z2GYRLO.js.map} +0 -0
  159. /package/dist/chunks/{chunk.7OGFJKHP.js.map → chunk.35PHCFSV.js.map} +0 -0
  160. /package/dist/chunks/{chunk.PWYCVX32.js.map → chunk.4ZGN7AEC.js.map} +0 -0
  161. /package/dist/chunks/{chunk.SE25XG6G.js.map → chunk.5TFG753C.js.map} +0 -0
  162. /package/dist/chunks/{chunk.23XIIXFZ.js.map → chunk.6PWB7EUW.js.map} +0 -0
  163. /package/dist/chunks/{chunk.NZ7AYZ7E.js.map → chunk.A2WGLZOL.js.map} +0 -0
  164. /package/dist/chunks/{chunk.VZ7S7YYN.js.map → chunk.AVTU2BGE.js.map} +0 -0
  165. /package/dist/chunks/{chunk.HZO5IAUS.js.map → chunk.AWZ4FSAL.js.map} +0 -0
  166. /package/dist/chunks/{chunk.5S3OJR6Z.js.map → chunk.B75SET3J.js.map} +0 -0
  167. /package/dist/chunks/{chunk.SR2C7JNO.js.map → chunk.BGPAHVPK.js.map} +0 -0
  168. /package/dist/chunks/{chunk.R5VB3GMN.js.map → chunk.COKV3ZN7.js.map} +0 -0
  169. /package/dist/chunks/{chunk.IC6S5VNW.js.map → chunk.CUU2VBEZ.js.map} +0 -0
  170. /package/dist/chunks/{chunk.AM34E33G.js.map → chunk.DAROCSFO.js.map} +0 -0
  171. /package/dist/chunks/{chunk.FCGPI6ON.js.map → chunk.ERNEIORV.js.map} +0 -0
  172. /package/dist/chunks/{chunk.BAAUH5DH.js.map → chunk.F3YEAZYJ.js.map} +0 -0
  173. /package/dist/chunks/{chunk.2VJGG5SD.js.map → chunk.G66TSLVT.js.map} +0 -0
  174. /package/dist/chunks/{chunk.5MD6EBSY.js.map → chunk.GUQN6XL4.js.map} +0 -0
  175. /package/dist/chunks/{chunk.4OUJKHRJ.js.map → chunk.HNRD7DBS.js.map} +0 -0
  176. /package/dist/chunks/{chunk.2PIMZJBX.js.map → chunk.HW5TASOL.js.map} +0 -0
  177. /package/dist/chunks/{chunk.OUYVGVIY.js.map → chunk.JBHQJWOB.js.map} +0 -0
  178. /package/dist/chunks/{chunk.HG5QC5EW.js.map → chunk.JSO3PKB4.js.map} +0 -0
  179. /package/dist/chunks/{chunk.ZHJ6QEGW.js.map → chunk.K4ELZCXB.js.map} +0 -0
  180. /package/dist/chunks/{chunk.LEVUN7II.js.map → chunk.KA7L2PMA.js.map} +0 -0
  181. /package/dist/chunks/{chunk.R27TACBP.js.map → chunk.MB3YZTYP.js.map} +0 -0
  182. /package/dist/chunks/{chunk.7K26RLTL.js.map → chunk.MRAXEK5D.js.map} +0 -0
  183. /package/dist/chunks/{chunk.MDTK2XLX.js.map → chunk.NAAFLDZ3.js.map} +0 -0
  184. /package/dist/chunks/{chunk.I7LFDXM4.js.map → chunk.NWWHBSV7.js.map} +0 -0
  185. /package/dist/chunks/{chunk.GHCD7CUQ.js.map → chunk.OJUBVHIK.js.map} +0 -0
  186. /package/dist/chunks/{chunk.BQG5LF7J.js.map → chunk.QAUTITK3.js.map} +0 -0
  187. /package/dist/chunks/{chunk.DJOAQ4JU.js.map → chunk.QNDC5KWA.js.map} +0 -0
  188. /package/dist/chunks/{chunk.OZF3DZSV.js.map → chunk.RS4Z4KDT.js.map} +0 -0
  189. /package/dist/chunks/{chunk.SEQOINRC.js.map → chunk.RVFNEWM3.js.map} +0 -0
  190. /package/dist/chunks/{chunk.HZXUXR2V.js.map → chunk.UG5FC6UD.js.map} +0 -0
  191. /package/dist/chunks/{chunk.DYCZPZ6T.js.map → chunk.UVYPEAQZ.js.map} +0 -0
  192. /package/dist/chunks/{chunk.YGZDEVFH.js.map → chunk.WP6T5CG2.js.map} +0 -0
  193. /package/dist/chunks/{chunk.CFBIDJ72.js.map → chunk.XI6MSNHF.js.map} +0 -0
  194. /package/dist/chunks/{chunk.I6GT4YUF.js.map → chunk.Y4QKFZLK.js.map} +0 -0
@@ -616,6 +616,146 @@
616
616
  }
617
617
  ]
618
618
  },
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
+ },
619
759
  {
620
760
  "kind": "javascript-module",
621
761
  "path": "components/checkbox/checkbox.js",
@@ -1050,129 +1190,64 @@
1050
1190
  },
1051
1191
  {
1052
1192
  "kind": "javascript-module",
1053
- "path": "components/button-group/button-group.js",
1193
+ "path": "components/divider/divider.js",
1054
1194
  "declarations": [
1055
1195
  {
1056
1196
  "kind": "class",
1057
1197
  "description": "",
1058
- "name": "SynButtonGroup",
1059
- "cssParts": [
1198
+ "name": "SynDivider",
1199
+ "cssProperties": [
1060
1200
  {
1061
- "description": "The component's base wrapper.",
1062
- "name": "base"
1063
- }
1064
- ],
1065
- "slots": [
1201
+ "description": "The color of the divider.",
1202
+ "name": "--color"
1203
+ },
1066
1204
  {
1067
- "description": "One or more `<syn-button>` elements to display in the button group.",
1068
- "name": ""
1205
+ "description": "The width of the divider.",
1206
+ "name": "--width"
1207
+ },
1208
+ {
1209
+ "description": "The spacing of the divider.",
1210
+ "name": "--spacing"
1069
1211
  }
1070
1212
  ],
1071
1213
  "members": [
1072
1214
  {
1073
1215
  "kind": "field",
1074
- "name": "defaultSlot",
1075
- "type": {
1076
- "text": "HTMLSlotElement"
1077
- }
1078
- },
1079
- {
1080
- "kind": "field",
1081
- "name": "disableRole",
1216
+ "name": "vertical",
1082
1217
  "type": {
1083
1218
  "text": "boolean"
1084
1219
  },
1085
- "default": "false"
1086
- },
1087
- {
1088
- "kind": "field",
1089
- "name": "label",
1090
- "type": {
1091
- "text": "string"
1092
- },
1093
- "default": "''",
1094
- "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.",
1095
- "attribute": "label"
1096
- },
1097
- {
1098
- "kind": "method",
1099
- "name": "handleFocus",
1100
- "privacy": "private",
1101
- "parameters": [
1102
- {
1103
- "name": "event",
1104
- "type": {
1105
- "text": "Event"
1106
- }
1107
- }
1108
- ]
1109
- },
1110
- {
1111
- "kind": "method",
1112
- "name": "handleBlur",
1113
- "privacy": "private",
1114
- "parameters": [
1115
- {
1116
- "name": "event",
1117
- "type": {
1118
- "text": "Event"
1119
- }
1120
- }
1121
- ]
1122
- },
1123
- {
1124
- "kind": "method",
1125
- "name": "handleMouseOver",
1126
- "privacy": "private",
1127
- "parameters": [
1128
- {
1129
- "name": "event",
1130
- "type": {
1131
- "text": "Event"
1132
- }
1133
- }
1134
- ]
1135
- },
1136
- {
1137
- "kind": "method",
1138
- "name": "handleMouseOut",
1139
- "privacy": "private",
1140
- "parameters": [
1141
- {
1142
- "name": "event",
1143
- "type": {
1144
- "text": "Event"
1145
- }
1146
- }
1147
- ]
1220
+ "default": "false",
1221
+ "description": "Draws the divider in a vertical orientation.",
1222
+ "attribute": "vertical",
1223
+ "reflects": true
1148
1224
  },
1149
1225
  {
1150
1226
  "kind": "method",
1151
- "name": "handleSlotChange",
1152
- "privacy": "private"
1227
+ "name": "handleVerticalChange"
1153
1228
  }
1154
1229
  ],
1155
1230
  "attributes": [
1156
1231
  {
1157
- "name": "label",
1232
+ "name": "vertical",
1158
1233
  "type": {
1159
- "text": "string"
1234
+ "text": "boolean"
1160
1235
  },
1161
- "default": "''",
1162
- "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.",
1163
- "fieldName": "label"
1236
+ "default": "false",
1237
+ "description": "Draws the divider in a vertical orientation.",
1238
+ "fieldName": "vertical"
1164
1239
  }
1165
1240
  ],
1166
1241
  "superclass": {
1167
1242
  "name": "SynergyElement",
1168
1243
  "module": "/src/internal/synergy-element.js"
1169
1244
  },
1170
- "summary": "Button groups can be used to group related buttons into sections.",
1171
- "tagNameWithoutPrefix": "button-group",
1172
- "tagName": "syn-button-group",
1173
- "customElement": true,
1174
- "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 */",
1175
- "documentation": "https://synergy.style/components/button-group",
1245
+ "summary": "Dividers are used to visually separate or group elements.",
1246
+ "tagNameWithoutPrefix": "divider",
1247
+ "tagName": "syn-divider",
1248
+ "customElement": true,
1249
+ "jsDoc": "/**\n * @summary Dividers are used to visually separate or group elements.\n * @documentation https://synergy.style/components/divider\n * @status stable\n * @since 2.0\n *\n * @cssproperty --color - The color of the divider.\n * @cssproperty --width - The width of the divider.\n * @cssproperty --spacing - The spacing of the divider.\n */",
1250
+ "documentation": "https://synergy.style/components/divider",
1176
1251
  "status": "stable",
1177
1252
  "since": "2.0"
1178
1253
  }
@@ -1182,74 +1257,409 @@
1182
1257
  "kind": "js",
1183
1258
  "name": "default",
1184
1259
  "declaration": {
1185
- "name": "SynButtonGroup",
1186
- "module": "components/button-group/button-group.js"
1260
+ "name": "SynDivider",
1261
+ "module": "components/divider/divider.js"
1187
1262
  }
1188
1263
  }
1189
1264
  ]
1190
1265
  },
1191
1266
  {
1192
1267
  "kind": "javascript-module",
1193
- "path": "components/divider/divider.js",
1268
+ "path": "components/drawer/drawer.js",
1194
1269
  "declarations": [
1195
1270
  {
1196
1271
  "kind": "class",
1197
1272
  "description": "",
1198
- "name": "SynDivider",
1273
+ "name": "SynDrawer",
1199
1274
  "cssProperties": [
1200
1275
  {
1201
- "description": "The color of the divider.",
1202
- "name": "--color"
1276
+ "description": "The preferred size of the drawer. This will be applied to the drawer's width or height depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.",
1277
+ "name": "--size"
1203
1278
  },
1204
1279
  {
1205
- "description": "The width of the divider.",
1206
- "name": "--width"
1280
+ "description": "The amount of padding to use for the header.",
1281
+ "name": "--header-spacing"
1207
1282
  },
1208
1283
  {
1209
- "description": "The spacing of the divider.",
1210
- "name": "--spacing"
1284
+ "description": "The amount of padding to use for the body.",
1285
+ "name": "--body-spacing"
1286
+ },
1287
+ {
1288
+ "description": "The amount of padding to use for the footer.",
1289
+ "name": "--footer-spacing"
1290
+ }
1291
+ ],
1292
+ "cssParts": [
1293
+ {
1294
+ "description": "The component's base wrapper.",
1295
+ "name": "base"
1296
+ },
1297
+ {
1298
+ "description": "The overlay that covers the screen behind the drawer.",
1299
+ "name": "overlay"
1300
+ },
1301
+ {
1302
+ "description": "The drawer's panel (where the drawer and its content are rendered).",
1303
+ "name": "panel"
1304
+ },
1305
+ {
1306
+ "description": "The drawer's header. This element wraps the title and header actions.",
1307
+ "name": "header"
1308
+ },
1309
+ {
1310
+ "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
1311
+ "name": "header-actions"
1312
+ },
1313
+ {
1314
+ "description": "The drawer's title.",
1315
+ "name": "title"
1316
+ },
1317
+ {
1318
+ "description": "The close button, an `<syn-icon-button>`.",
1319
+ "name": "close-button"
1320
+ },
1321
+ {
1322
+ "description": "The close button's exported `base` part.",
1323
+ "name": "close-button__base"
1324
+ },
1325
+ {
1326
+ "description": "The drawer's body.",
1327
+ "name": "body"
1328
+ },
1329
+ {
1330
+ "description": "The drawer's footer.",
1331
+ "name": "footer"
1332
+ }
1333
+ ],
1334
+ "slots": [
1335
+ {
1336
+ "description": "The drawer's main content.",
1337
+ "name": ""
1338
+ },
1339
+ {
1340
+ "description": "The drawer's label. Alternatively, you can use the `label` attribute.",
1341
+ "name": "label"
1342
+ },
1343
+ {
1344
+ "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
1345
+ "name": "header-actions"
1346
+ },
1347
+ {
1348
+ "description": "The drawer's footer, usually one or more buttons representing various options.",
1349
+ "name": "footer"
1211
1350
  }
1212
1351
  ],
1213
1352
  "members": [
1214
1353
  {
1215
1354
  "kind": "field",
1216
- "name": "vertical",
1355
+ "name": "dependencies",
1356
+ "type": {
1357
+ "text": "object"
1358
+ },
1359
+ "static": true,
1360
+ "default": "{ 'syn-icon-button': SynIconButton }"
1361
+ },
1362
+ {
1363
+ "kind": "field",
1364
+ "name": "hasSlotController",
1365
+ "privacy": "private",
1366
+ "readonly": true,
1367
+ "default": "new HasSlotController(this, 'footer')"
1368
+ },
1369
+ {
1370
+ "kind": "field",
1371
+ "name": "localize",
1372
+ "privacy": "private",
1373
+ "readonly": true,
1374
+ "default": "new LocalizeController(this)"
1375
+ },
1376
+ {
1377
+ "kind": "field",
1378
+ "name": "originalTrigger",
1379
+ "type": {
1380
+ "text": "HTMLElement | null"
1381
+ },
1382
+ "privacy": "private"
1383
+ },
1384
+ {
1385
+ "kind": "field",
1386
+ "name": "modal",
1387
+ "privacy": "public",
1388
+ "default": "new Modal(this)",
1389
+ "description": "Exposes the internal modal utility that controls focus trapping. To temporarily disable focus trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping."
1390
+ },
1391
+ {
1392
+ "kind": "field",
1393
+ "name": "drawer",
1394
+ "type": {
1395
+ "text": "HTMLElement"
1396
+ }
1397
+ },
1398
+ {
1399
+ "kind": "field",
1400
+ "name": "panel",
1401
+ "type": {
1402
+ "text": "HTMLElement"
1403
+ }
1404
+ },
1405
+ {
1406
+ "kind": "field",
1407
+ "name": "overlay",
1408
+ "type": {
1409
+ "text": "HTMLElement"
1410
+ }
1411
+ },
1412
+ {
1413
+ "kind": "field",
1414
+ "name": "open",
1217
1415
  "type": {
1218
1416
  "text": "boolean"
1219
1417
  },
1220
1418
  "default": "false",
1221
- "description": "Draws the divider in a vertical orientation.",
1222
- "attribute": "vertical",
1419
+ "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
1420
+ "attribute": "open",
1421
+ "reflects": true
1422
+ },
1423
+ {
1424
+ "kind": "field",
1425
+ "name": "label",
1426
+ "type": {
1427
+ "text": "string"
1428
+ },
1429
+ "default": "''",
1430
+ "description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
1431
+ "attribute": "label",
1432
+ "reflects": true
1433
+ },
1434
+ {
1435
+ "kind": "field",
1436
+ "name": "placement",
1437
+ "type": {
1438
+ "text": "'top' | 'end' | 'bottom' | 'start'"
1439
+ },
1440
+ "default": "'end'",
1441
+ "description": "The direction from which the drawer will open.",
1442
+ "attribute": "placement",
1443
+ "reflects": true
1444
+ },
1445
+ {
1446
+ "kind": "field",
1447
+ "name": "contained",
1448
+ "type": {
1449
+ "text": "boolean"
1450
+ },
1451
+ "default": "false",
1452
+ "description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
1453
+ "attribute": "contained",
1454
+ "reflects": true
1455
+ },
1456
+ {
1457
+ "kind": "field",
1458
+ "name": "noHeader",
1459
+ "type": {
1460
+ "text": "boolean"
1461
+ },
1462
+ "default": "false",
1463
+ "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
1464
+ "attribute": "no-header",
1223
1465
  "reflects": true
1224
1466
  },
1225
1467
  {
1226
1468
  "kind": "method",
1227
- "name": "handleVerticalChange"
1469
+ "name": "requestClose",
1470
+ "privacy": "private",
1471
+ "parameters": [
1472
+ {
1473
+ "name": "source",
1474
+ "type": {
1475
+ "text": "'close-button' | 'keyboard' | 'overlay'"
1476
+ }
1477
+ }
1478
+ ]
1479
+ },
1480
+ {
1481
+ "kind": "method",
1482
+ "name": "addOpenListeners",
1483
+ "privacy": "private"
1484
+ },
1485
+ {
1486
+ "kind": "method",
1487
+ "name": "removeOpenListeners",
1488
+ "privacy": "private"
1489
+ },
1490
+ {
1491
+ "kind": "field",
1492
+ "name": "handleDocumentKeyDown",
1493
+ "privacy": "private"
1494
+ },
1495
+ {
1496
+ "kind": "method",
1497
+ "name": "handleOpenChange"
1498
+ },
1499
+ {
1500
+ "kind": "method",
1501
+ "name": "handleNoModalChange"
1502
+ },
1503
+ {
1504
+ "kind": "method",
1505
+ "name": "show",
1506
+ "description": "Shows the drawer."
1507
+ },
1508
+ {
1509
+ "kind": "method",
1510
+ "name": "hide",
1511
+ "description": "Hides the drawer"
1512
+ }
1513
+ ],
1514
+ "events": [
1515
+ {
1516
+ "description": "Emitted when the drawer opens.",
1517
+ "name": "syn-show",
1518
+ "reactName": "onSynShow",
1519
+ "eventName": "SynShowEvent"
1520
+ },
1521
+ {
1522
+ "description": "Emitted after the drawer opens and all animations are complete.",
1523
+ "name": "syn-after-show",
1524
+ "reactName": "onSynAfterShow",
1525
+ "eventName": "SynAfterShowEvent"
1526
+ },
1527
+ {
1528
+ "description": "Emitted when the drawer closes.",
1529
+ "name": "syn-hide",
1530
+ "reactName": "onSynHide",
1531
+ "eventName": "SynHideEvent"
1532
+ },
1533
+ {
1534
+ "description": "Emitted after the drawer closes and all animations are complete.",
1535
+ "name": "syn-after-hide",
1536
+ "reactName": "onSynAfterHide",
1537
+ "eventName": "SynAfterHideEvent"
1538
+ },
1539
+ {
1540
+ "description": "Emitted when the drawer opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.",
1541
+ "name": "syn-initial-focus",
1542
+ "reactName": "onSynInitialFocus",
1543
+ "eventName": "SynInitialFocusEvent"
1544
+ },
1545
+ {
1546
+ "type": {
1547
+ "text": "{ source: 'close-button' | 'keyboard' | 'overlay' }"
1548
+ },
1549
+ "description": "Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.",
1550
+ "name": "syn-request-close",
1551
+ "reactName": "onSynRequestClose",
1552
+ "eventName": "SynRequestCloseEvent"
1228
1553
  }
1229
1554
  ],
1230
1555
  "attributes": [
1231
1556
  {
1232
- "name": "vertical",
1557
+ "name": "open",
1233
1558
  "type": {
1234
1559
  "text": "boolean"
1235
1560
  },
1236
1561
  "default": "false",
1237
- "description": "Draws the divider in a vertical orientation.",
1238
- "fieldName": "vertical"
1562
+ "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
1563
+ "fieldName": "open"
1564
+ },
1565
+ {
1566
+ "name": "label",
1567
+ "type": {
1568
+ "text": "string"
1569
+ },
1570
+ "default": "''",
1571
+ "description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
1572
+ "fieldName": "label"
1573
+ },
1574
+ {
1575
+ "name": "placement",
1576
+ "type": {
1577
+ "text": "'top' | 'end' | 'bottom' | 'start'"
1578
+ },
1579
+ "default": "'end'",
1580
+ "description": "The direction from which the drawer will open.",
1581
+ "fieldName": "placement"
1582
+ },
1583
+ {
1584
+ "name": "contained",
1585
+ "type": {
1586
+ "text": "boolean"
1587
+ },
1588
+ "default": "false",
1589
+ "description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
1590
+ "fieldName": "contained"
1591
+ },
1592
+ {
1593
+ "name": "no-header",
1594
+ "type": {
1595
+ "text": "boolean"
1596
+ },
1597
+ "default": "false",
1598
+ "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
1599
+ "fieldName": "noHeader"
1239
1600
  }
1240
1601
  ],
1241
1602
  "superclass": {
1242
1603
  "name": "SynergyElement",
1243
1604
  "module": "/src/internal/synergy-element.js"
1244
1605
  },
1245
- "summary": "Dividers are used to visually separate or group elements.",
1246
- "tagNameWithoutPrefix": "divider",
1247
- "tagName": "syn-divider",
1606
+ "summary": "Drawers slide in from a container to expose additional options and information.",
1607
+ "tagNameWithoutPrefix": "drawer",
1608
+ "tagName": "syn-drawer",
1248
1609
  "customElement": true,
1249
- "jsDoc": "/**\n * @summary Dividers are used to visually separate or group elements.\n * @documentation https://synergy.style/components/divider\n * @status stable\n * @since 2.0\n *\n * @cssproperty --color - The color of the divider.\n * @cssproperty --width - The width of the divider.\n * @cssproperty --spacing - The spacing of the divider.\n */",
1250
- "documentation": "https://synergy.style/components/divider",
1610
+ "jsDoc": "/**\n * @summary Drawers slide in from a container to expose additional options and information.\n * @documentation https://synergy.style/components/drawer\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @event syn-show - Emitted when the drawer opens.\n * @event syn-after-show - Emitted after the drawer opens and all animations are complete.\n * @event syn-hide - Emitted when the drawer closes.\n * @event syn-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event syn-initial-focus - Emitted when the drawer opens and is ready to receive focus. Calling\n * `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} syn-request-close - Emitted when the user attempts to\n * close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in\n * destructive behavior such as data loss.\n *\n * @csspart base - The component's base wrapper.\n * @csspart overlay - The overlay that covers the screen behind the drawer.\n * @csspart panel - The drawer's panel (where the drawer and its content are rendered).\n * @csspart header - The drawer's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @csspart title - The drawer's title.\n * @csspart close-button - The close button, an `<syn-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --size - The preferred size of the drawer. This will be applied to the drawer's width or height\n * depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.\n * @cssproperty --header-spacing - The amount of padding to use for the header.\n * @cssproperty --body-spacing - The amount of padding to use for the body.\n * @cssproperty --footer-spacing - The amount of padding to use for the footer.\n *\n * @animation drawer.showTop - The animation to use when showing a drawer with `top` placement.\n * @animation drawer.showEnd - The animation to use when showing a drawer with `end` placement.\n * @animation drawer.showBottom - The animation to use when showing a drawer with `bottom` placement.\n * @animation drawer.showStart - The animation to use when showing a drawer with `start` placement.\n * @animation drawer.hideTop - The animation to use when hiding a drawer with `top` placement.\n * @animation drawer.hideEnd - The animation to use when hiding a drawer with `end` placement.\n * @animation drawer.hideBottom - The animation to use when hiding a drawer with `bottom` placement.\n * @animation drawer.hideStart - The animation to use when hiding a drawer with `start` placement.\n * @animation drawer.denyClose - The animation to use when a request to close the drawer is denied.\n * @animation drawer.overlay.show - The animation to use when showing the drawer's overlay.\n * @animation drawer.overlay.hide - The animation to use when hiding the drawer's overlay.\n *\n * @property modal - Exposes the internal modal utility that controls focus trapping. To temporarily disable focus\n * trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when\n * the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping.\n */",
1611
+ "documentation": "https://synergy.style/components/drawer",
1251
1612
  "status": "stable",
1252
- "since": "2.0"
1613
+ "since": "2.0",
1614
+ "dependencies": [
1615
+ "syn-icon-button"
1616
+ ],
1617
+ "animations": [
1618
+ {
1619
+ "name": "drawer.showTop",
1620
+ "description": "The animation to use when showing a drawer with `top` placement."
1621
+ },
1622
+ {
1623
+ "name": "drawer.showEnd",
1624
+ "description": "The animation to use when showing a drawer with `end` placement."
1625
+ },
1626
+ {
1627
+ "name": "drawer.showBottom",
1628
+ "description": "The animation to use when showing a drawer with `bottom` placement."
1629
+ },
1630
+ {
1631
+ "name": "drawer.showStart",
1632
+ "description": "The animation to use when showing a drawer with `start` placement."
1633
+ },
1634
+ {
1635
+ "name": "drawer.hideTop",
1636
+ "description": "The animation to use when hiding a drawer with `top` placement."
1637
+ },
1638
+ {
1639
+ "name": "drawer.hideEnd",
1640
+ "description": "The animation to use when hiding a drawer with `end` placement."
1641
+ },
1642
+ {
1643
+ "name": "drawer.hideBottom",
1644
+ "description": "The animation to use when hiding a drawer with `bottom` placement."
1645
+ },
1646
+ {
1647
+ "name": "drawer.hideStart",
1648
+ "description": "The animation to use when hiding a drawer with `start` placement."
1649
+ },
1650
+ {
1651
+ "name": "drawer.denyClose",
1652
+ "description": "The animation to use when a request to close the drawer is denied."
1653
+ },
1654
+ {
1655
+ "name": "drawer.overlay.show",
1656
+ "description": "The animation to use when showing the drawer's overlay."
1657
+ },
1658
+ {
1659
+ "name": "drawer.overlay.hide",
1660
+ "description": "The animation to use when hiding the drawer's overlay."
1661
+ }
1662
+ ]
1253
1663
  }
1254
1664
  ],
1255
1665
  "exports": [
@@ -1257,8 +1667,8 @@
1257
1667
  "kind": "js",
1258
1668
  "name": "default",
1259
1669
  "declaration": {
1260
- "name": "SynDivider",
1261
- "module": "components/divider/divider.js"
1670
+ "name": "SynDrawer",
1671
+ "module": "components/drawer/drawer.js"
1262
1672
  }
1263
1673
  }
1264
1674
  ]
@@ -6841,7 +7251,7 @@
6841
7251
  "package": {
6842
7252
  "name": "@synergy-design-system/components",
6843
7253
  "description": "",
6844
- "version": "1.6.1",
7254
+ "version": "1.8.0",
6845
7255
  "author": {
6846
7256
  "name": "SICK Global UX Foundation",
6847
7257
  "url": "https://www.sick.com"