@synergy-design-system/components 1.0.0-main.9 → 1.0.1

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 (209) hide show
  1. package/LICENSE +5 -24
  2. package/README.md +1 -1
  3. package/dist/chunks/chunk.23HTU3YE.js +189 -0
  4. package/dist/chunks/chunk.23HTU3YE.js.map +7 -0
  5. package/dist/chunks/{chunk.SGZ5ADPY.js → chunk.2AFAC4WC.js} +2 -2
  6. package/dist/chunks/chunk.2KZQRT3X.js +12 -0
  7. package/dist/chunks/chunk.2KZQRT3X.js.map +7 -0
  8. package/dist/chunks/chunk.2XZKXVMR.js +44 -0
  9. package/dist/chunks/chunk.2XZKXVMR.js.map +7 -0
  10. package/dist/chunks/{chunk.H6VZTJD6.js → chunk.44XDJIKU.js} +2 -2
  11. package/dist/chunks/chunk.45EJNI43.js +12 -0
  12. package/dist/chunks/chunk.45EJNI43.js.map +7 -0
  13. package/dist/chunks/chunk.4CBN5LPQ.js +137 -0
  14. package/dist/chunks/chunk.4CBN5LPQ.js.map +7 -0
  15. package/dist/chunks/chunk.4I6M5V6O.js +56 -0
  16. package/dist/chunks/chunk.4I6M5V6O.js.map +7 -0
  17. package/dist/chunks/{chunk.5OIEI73E.js → chunk.4XAK6MOQ.js} +2 -2
  18. package/dist/chunks/chunk.4ZURABYO.js +24 -0
  19. package/dist/chunks/{chunk.BREU4ILT.js.map → chunk.4ZURABYO.js.map} +3 -3
  20. package/dist/chunks/chunk.AFEABUNX.js +107 -0
  21. package/dist/chunks/chunk.AFEABUNX.js.map +7 -0
  22. package/dist/chunks/chunk.CJRAYQIQ.js +360 -0
  23. package/dist/chunks/chunk.CJRAYQIQ.js.map +7 -0
  24. package/dist/chunks/chunk.D6VKS2T5.js +12 -0
  25. package/dist/chunks/chunk.D6VKS2T5.js.map +7 -0
  26. package/dist/chunks/chunk.F4MRQLNL.js +25 -0
  27. package/dist/chunks/chunk.F4MRQLNL.js.map +7 -0
  28. package/dist/chunks/chunk.FHA67NLP.js +12 -0
  29. package/dist/chunks/chunk.FHA67NLP.js.map +7 -0
  30. package/dist/chunks/{chunk.MQ3KYTNU.js → chunk.FVSP4LXX.js} +4 -4
  31. package/dist/chunks/chunk.FVSP4LXX.js.map +7 -0
  32. package/dist/chunks/chunk.GNAJOKCJ.js +32 -0
  33. package/dist/chunks/chunk.GNAJOKCJ.js.map +7 -0
  34. package/dist/chunks/chunk.ILEPKAEH.js +224 -0
  35. package/dist/chunks/chunk.ILEPKAEH.js.map +7 -0
  36. package/dist/chunks/chunk.JBYBQ5TQ.js +132 -0
  37. package/dist/chunks/chunk.JBYBQ5TQ.js.map +7 -0
  38. package/dist/chunks/chunk.JHXCBOUD.js +123 -0
  39. package/dist/chunks/chunk.JHXCBOUD.js.map +7 -0
  40. package/dist/chunks/chunk.K24GB7WK.js +86 -0
  41. package/dist/chunks/chunk.K24GB7WK.js.map +7 -0
  42. package/dist/chunks/chunk.KP6DSDGX.js +212 -0
  43. package/dist/chunks/chunk.KP6DSDGX.js.map +7 -0
  44. package/dist/chunks/{chunk.GRZ3TSGB.js → chunk.LDUXZQMQ.js} +2 -2
  45. package/dist/chunks/chunk.LGQOKLYP.js +12 -0
  46. package/dist/chunks/chunk.LGQOKLYP.js.map +7 -0
  47. package/dist/chunks/chunk.MNMITYTH.js +184 -0
  48. package/dist/chunks/chunk.MNMITYTH.js.map +7 -0
  49. package/dist/chunks/chunk.MNNPG5GD.js +12 -0
  50. package/dist/chunks/chunk.MNNPG5GD.js.map +7 -0
  51. package/dist/chunks/{chunk.6CFDQNJT.js → chunk.N2EPATPO.js} +14 -12
  52. package/dist/chunks/chunk.N2EPATPO.js.map +7 -0
  53. package/dist/chunks/chunk.NKIYFJN2.js +1 -0
  54. package/dist/chunks/chunk.NKIYFJN2.js.map +7 -0
  55. package/dist/chunks/chunk.OVVMSN4D.js +37 -0
  56. package/dist/chunks/chunk.OVVMSN4D.js.map +7 -0
  57. package/dist/chunks/{chunk.Q77OTWF2.js → chunk.OXUFFH57.js} +6 -66
  58. package/dist/chunks/{chunk.Q77OTWF2.js.map → chunk.OXUFFH57.js.map} +4 -4
  59. package/dist/chunks/{chunk.WDCAHRYG.js → chunk.P2LNG2PZ.js} +4 -2
  60. package/dist/chunks/chunk.PJO6TM3T.js +10 -0
  61. package/dist/chunks/{chunk.ILONRPL4.js.map → chunk.PJO6TM3T.js.map} +2 -2
  62. package/dist/chunks/chunk.QMK3O44E.js +351 -0
  63. package/dist/chunks/chunk.QMK3O44E.js.map +7 -0
  64. package/dist/chunks/{chunk.DYPYZ53B.js → chunk.QUUM6GP4.js} +13 -31
  65. package/dist/chunks/{chunk.DYPYZ53B.js.map → chunk.QUUM6GP4.js.map} +3 -3
  66. package/dist/chunks/{chunk.BREU4ILT.js → chunk.RSONAU45.js} +6 -1
  67. package/dist/chunks/chunk.RSONAU45.js.map +7 -0
  68. package/dist/chunks/{chunk.IZS6SARK.js → chunk.SUJGOV4C.js} +11 -38
  69. package/dist/chunks/{chunk.IZS6SARK.js.map → chunk.SUJGOV4C.js.map} +4 -4
  70. package/dist/chunks/chunk.V26UAJIM.js +111 -0
  71. package/dist/chunks/chunk.V26UAJIM.js.map +7 -0
  72. package/dist/chunks/chunk.V6VND4OF.js +49 -0
  73. package/dist/chunks/chunk.V6VND4OF.js.map +7 -0
  74. package/dist/chunks/chunk.VUW6CZ2F.js +12 -0
  75. package/dist/chunks/chunk.VUW6CZ2F.js.map +7 -0
  76. package/dist/chunks/chunk.VZ7S7YYN.js +34 -0
  77. package/dist/chunks/chunk.VZ7S7YYN.js.map +7 -0
  78. package/dist/chunks/chunk.W46CFM2R.js +90 -0
  79. package/dist/chunks/chunk.W46CFM2R.js.map +7 -0
  80. package/dist/chunks/chunk.WFAJR3FN.js +25 -0
  81. package/dist/chunks/chunk.WFAJR3FN.js.map +7 -0
  82. package/dist/chunks/chunk.X234HJNO.js +12 -0
  83. package/dist/chunks/chunk.X234HJNO.js.map +7 -0
  84. package/dist/chunks/chunk.YBIBWRKC.js +19 -0
  85. package/dist/chunks/chunk.YBIBWRKC.js.map +7 -0
  86. package/dist/chunks/chunk.YQQJ6ELJ.js +127 -0
  87. package/dist/chunks/chunk.YQQJ6ELJ.js.map +7 -0
  88. package/dist/chunks/{chunk.OZSASB66.js → chunk.YTS5TRJZ.js} +2 -2
  89. package/dist/chunks/{chunk.OZSASB66.js.map → chunk.YTS5TRJZ.js.map} +1 -1
  90. package/dist/chunks/{chunk.WTCUSH7V.js → chunk.Z3RZUTQU.js} +2 -2
  91. package/dist/chunks/{chunk.YOW3IJVJ.js → chunk.ZUNBGZ5R.js} +2 -2
  92. package/dist/chunks/{chunk.YOW3IJVJ.js.map → chunk.ZUNBGZ5R.js.map} +1 -1
  93. package/dist/components/button/button.component.js +13 -11
  94. package/dist/components/button/button.custom.styles.js +1 -1
  95. package/dist/components/button/button.js +14 -12
  96. package/dist/components/button/button.styles.js +2 -2
  97. package/dist/components/button-group/button-group.component.d.ts +28 -0
  98. package/dist/components/button-group/button-group.component.js +11 -0
  99. package/dist/components/button-group/button-group.component.js.map +7 -0
  100. package/dist/components/button-group/button-group.d.ts +8 -0
  101. package/dist/components/button-group/button-group.js +12 -0
  102. package/dist/components/button-group/button-group.js.map +7 -0
  103. package/dist/components/button-group/button-group.styles.d.ts +2 -0
  104. package/dist/components/button-group/button-group.styles.js +9 -0
  105. package/dist/components/button-group/button-group.styles.js.map +7 -0
  106. package/dist/components/checkbox/checkbox.component.d.ts +93 -0
  107. package/dist/components/checkbox/checkbox.component.js +22 -0
  108. package/dist/components/checkbox/checkbox.component.js.map +7 -0
  109. package/dist/components/checkbox/checkbox.custom.styles.js +3 -6
  110. package/dist/components/checkbox/checkbox.custom.styles.js.map +3 -3
  111. package/dist/components/checkbox/checkbox.d.ts +8 -0
  112. package/dist/components/checkbox/checkbox.js +23 -0
  113. package/dist/components/checkbox/checkbox.js.map +7 -0
  114. package/dist/components/checkbox/checkbox.styles.d.ts +2 -0
  115. package/dist/components/checkbox/checkbox.styles.js +10 -0
  116. package/dist/components/checkbox/checkbox.styles.js.map +7 -0
  117. package/dist/components/icon/icon.component.js +7 -5
  118. package/dist/components/icon/icon.custom.styles.d.ts +2 -0
  119. package/dist/components/icon/icon.custom.styles.js +8 -0
  120. package/dist/components/icon/icon.custom.styles.js.map +7 -0
  121. package/dist/components/icon/icon.js +9 -10
  122. package/dist/components/icon/icon.js.map +3 -3
  123. package/dist/components/icon/icon.styles.js +2 -1
  124. package/dist/components/icon/library.js +2 -2
  125. package/dist/components/icon/library.system.js +1 -1
  126. package/dist/components/input/input.component.js +14 -10
  127. package/dist/components/input/input.custom.styles.js +1 -1
  128. package/dist/components/input/input.js +15 -11
  129. package/dist/components/input/input.styles.js +3 -2
  130. package/dist/components/radio/radio.component.d.ts +53 -0
  131. package/dist/components/radio/radio.component.js +20 -0
  132. package/dist/components/radio/radio.component.js.map +7 -0
  133. package/dist/components/radio/radio.custom.styles.d.ts +2 -0
  134. package/dist/components/radio/radio.custom.styles.js +8 -0
  135. package/dist/components/radio/radio.custom.styles.js.map +7 -0
  136. package/dist/components/radio/radio.d.ts +8 -0
  137. package/dist/components/radio/radio.js +21 -0
  138. package/dist/components/radio/radio.js.map +7 -0
  139. package/dist/components/radio/radio.styles.d.ts +2 -0
  140. package/dist/components/radio/radio.styles.js +10 -0
  141. package/dist/components/radio/radio.styles.js.map +7 -0
  142. package/dist/components/radio-button/radio-button.component.d.ts +53 -0
  143. package/dist/components/radio-button/radio-button.component.js +15 -0
  144. package/dist/components/radio-button/radio-button.component.js.map +7 -0
  145. package/dist/components/radio-button/radio-button.d.ts +8 -0
  146. package/dist/components/radio-button/radio-button.js +16 -0
  147. package/dist/components/radio-button/radio-button.js.map +7 -0
  148. package/dist/components/radio-button/radio-button.styles.d.ts +2 -0
  149. package/dist/components/radio-button/radio-button.styles.js +11 -0
  150. package/dist/components/radio-button/radio-button.styles.js.map +7 -0
  151. package/dist/components/radio-group/radio-group.component.d.ts +89 -0
  152. package/dist/components/radio-group/radio-group.component.js +18 -0
  153. package/dist/components/radio-group/radio-group.component.js.map +7 -0
  154. package/dist/components/radio-group/radio-group.custom.styles.d.ts +2 -0
  155. package/dist/components/radio-group/radio-group.custom.styles.js +8 -0
  156. package/dist/components/radio-group/radio-group.custom.styles.js.map +7 -0
  157. package/dist/components/radio-group/radio-group.d.ts +8 -0
  158. package/dist/components/radio-group/radio-group.js +19 -0
  159. package/dist/components/radio-group/radio-group.js.map +7 -0
  160. package/dist/components/radio-group/radio-group.styles.d.ts +2 -0
  161. package/dist/components/radio-group/radio-group.styles.js +11 -0
  162. package/dist/components/radio-group/radio-group.styles.js.map +7 -0
  163. package/dist/components/spinner/spinner.component.js +2 -2
  164. package/dist/components/switch/switch.component.d.ts +86 -0
  165. package/dist/components/switch/switch.component.js +15 -0
  166. package/dist/components/switch/switch.component.js.map +7 -0
  167. package/dist/components/switch/switch.custom.styles.d.ts +2 -0
  168. package/dist/components/switch/switch.custom.styles.js +8 -0
  169. package/dist/components/switch/switch.custom.styles.js.map +7 -0
  170. package/dist/components/switch/switch.d.ts +8 -0
  171. package/dist/components/switch/switch.js +16 -0
  172. package/dist/components/switch/switch.js.map +7 -0
  173. package/dist/components/switch/switch.styles.d.ts +2 -0
  174. package/dist/components/switch/switch.styles.js +10 -0
  175. package/dist/components/switch/switch.styles.js.map +7 -0
  176. package/dist/components/textarea/textarea.component.d.ts +131 -0
  177. package/dist/components/textarea/textarea.component.js +17 -0
  178. package/dist/components/textarea/textarea.component.js.map +7 -0
  179. package/dist/components/textarea/textarea.custom.styles.js +3 -6
  180. package/dist/components/textarea/textarea.custom.styles.js.map +3 -3
  181. package/dist/components/textarea/textarea.d.ts +8 -0
  182. package/dist/components/textarea/textarea.js +18 -0
  183. package/dist/components/textarea/textarea.js.map +7 -0
  184. package/dist/components/textarea/textarea.styles.d.ts +2 -0
  185. package/dist/components/textarea/textarea.styles.js +11 -0
  186. package/dist/components/textarea/textarea.styles.js.map +7 -0
  187. package/dist/custom-elements.json +3072 -480
  188. package/dist/internal/test.d.ts +28 -0
  189. package/dist/styles/form-control.custom.styles.d.ts +2 -0
  190. package/dist/synergy.d.ts +11 -1
  191. package/dist/synergy.js +87 -21
  192. package/dist/utilities/form.js +2 -2
  193. package/dist/utilities/icon-library.d.ts +1 -0
  194. package/dist/utilities/icon-library.js +14 -0
  195. package/dist/utilities/icon-library.js.map +7 -0
  196. package/dist/vscode.html-custom-data.json +389 -0
  197. package/dist/web-types.json +866 -8
  198. package/package.json +23 -16
  199. package/dist/chunks/chunk.6CFDQNJT.js.map +0 -7
  200. package/dist/chunks/chunk.ILONRPL4.js +0 -10
  201. package/dist/chunks/chunk.MQ3KYTNU.js.map +0 -7
  202. package/dist/chunks/chunk.U7ZJ22QM.js +0 -128
  203. package/dist/chunks/chunk.U7ZJ22QM.js.map +0 -7
  204. /package/dist/chunks/{chunk.SGZ5ADPY.js.map → chunk.2AFAC4WC.js.map} +0 -0
  205. /package/dist/chunks/{chunk.H6VZTJD6.js.map → chunk.44XDJIKU.js.map} +0 -0
  206. /package/dist/chunks/{chunk.5OIEI73E.js.map → chunk.4XAK6MOQ.js.map} +0 -0
  207. /package/dist/chunks/{chunk.GRZ3TSGB.js.map → chunk.LDUXZQMQ.js.map} +0 -0
  208. /package/dist/chunks/{chunk.WDCAHRYG.js.map → chunk.P2LNG2PZ.js.map} +0 -0
  209. /package/dist/chunks/{chunk.WTCUSH7V.js.map → chunk.Z3RZUTQU.js.map} +0 -0
@@ -0,0 +1,86 @@
1
+ import {
2
+ SynergyElement
3
+ } from "./chunk.ZUNBGZ5R.js";
4
+ import {
5
+ button_group_styles_default
6
+ } from "./chunk.4ZURABYO.js";
7
+ import {
8
+ __decorateClass
9
+ } from "./chunk.DJOAQ4JU.js";
10
+
11
+ // src/components/button-group/button-group.component.ts
12
+ import { html } from "lit";
13
+ import { property, query, state } from "lit/decorators.js";
14
+ var SynButtonGroup = class extends SynergyElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.disableRole = false;
18
+ this.label = "";
19
+ }
20
+ handleFocus(event) {
21
+ const button = findButton(event.target);
22
+ button == null ? void 0 : button.classList.add("syn-button-group__button--focus");
23
+ }
24
+ handleBlur(event) {
25
+ const button = findButton(event.target);
26
+ button == null ? void 0 : button.classList.remove("syn-button-group__button--focus");
27
+ }
28
+ handleMouseOver(event) {
29
+ const button = findButton(event.target);
30
+ button == null ? void 0 : button.classList.add("syn-button-group__button--hover");
31
+ }
32
+ handleMouseOut(event) {
33
+ const button = findButton(event.target);
34
+ button == null ? void 0 : button.classList.remove("syn-button-group__button--hover");
35
+ }
36
+ handleSlotChange() {
37
+ const slottedElements = [...this.defaultSlot.assignedElements({ flatten: true })];
38
+ slottedElements.forEach((el) => {
39
+ const index = slottedElements.indexOf(el);
40
+ const button = findButton(el);
41
+ if (button) {
42
+ button.classList.add("syn-button-group__button");
43
+ button.classList.toggle("syn-button-group__button--first", index === 0);
44
+ button.classList.toggle("syn-button-group__button--inner", index > 0 && index < slottedElements.length - 1);
45
+ button.classList.toggle("syn-button-group__button--last", index === slottedElements.length - 1);
46
+ button.classList.toggle("syn-button-group__button--radio", button.tagName.toLowerCase() === "syn-radio-button");
47
+ }
48
+ });
49
+ }
50
+ render() {
51
+ return html`
52
+ <div
53
+ part="base"
54
+ class="button-group"
55
+ role="${this.disableRole ? "presentation" : "group"}"
56
+ aria-label=${this.label}
57
+ @focusout=${this.handleBlur}
58
+ @focusin=${this.handleFocus}
59
+ @mouseover=${this.handleMouseOver}
60
+ @mouseout=${this.handleMouseOut}
61
+ >
62
+ <slot @slotchange=${this.handleSlotChange}></slot>
63
+ </div>
64
+ `;
65
+ }
66
+ };
67
+ SynButtonGroup.styles = button_group_styles_default;
68
+ __decorateClass([
69
+ query("slot")
70
+ ], SynButtonGroup.prototype, "defaultSlot", 2);
71
+ __decorateClass([
72
+ state()
73
+ ], SynButtonGroup.prototype, "disableRole", 2);
74
+ __decorateClass([
75
+ property()
76
+ ], SynButtonGroup.prototype, "label", 2);
77
+ function findButton(el) {
78
+ var _a;
79
+ const selector = "syn-button, syn-radio-button";
80
+ return (_a = el.closest(selector)) != null ? _a : el.querySelector(selector);
81
+ }
82
+
83
+ export {
84
+ SynButtonGroup
85
+ };
86
+ //# sourceMappingURL=chunk.K24GB7WK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/button-group/button-group.component.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './button-group.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\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 */\nexport default class SynButtonGroup extends SynergyElement {\n static styles: CSSResultGroup = styles;\n\n @query('slot') defaultSlot: HTMLSlotElement;\n\n @state() disableRole = false;\n\n /**\n * A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\n * devices when interacting with the control and is strongly recommended.\n */\n @property() label = '';\n\n private handleFocus(event: Event) {\n const button = findButton(event.target as HTMLElement);\n button?.classList.add('syn-button-group__button--focus');\n }\n\n private handleBlur(event: Event) {\n const button = findButton(event.target as HTMLElement);\n button?.classList.remove('syn-button-group__button--focus');\n }\n\n private handleMouseOver(event: Event) {\n const button = findButton(event.target as HTMLElement);\n button?.classList.add('syn-button-group__button--hover');\n }\n\n private handleMouseOut(event: Event) {\n const button = findButton(event.target as HTMLElement);\n button?.classList.remove('syn-button-group__button--hover');\n }\n\n private handleSlotChange() {\n const slottedElements = [...this.defaultSlot.assignedElements({ flatten: true })] as HTMLElement[];\n\n slottedElements.forEach(el => {\n const index = slottedElements.indexOf(el);\n const button = findButton(el);\n\n if (button) {\n button.classList.add('syn-button-group__button');\n button.classList.toggle('syn-button-group__button--first', index === 0);\n button.classList.toggle('syn-button-group__button--inner', index > 0 && index < slottedElements.length - 1);\n button.classList.toggle('syn-button-group__button--last', index === slottedElements.length - 1);\n button.classList.toggle('syn-button-group__button--radio', button.tagName.toLowerCase() === 'syn-radio-button');\n }\n });\n }\n\n render() {\n // eslint-disable-next-line lit-a11y/mouse-events-have-key-events\n return html`\n <div\n part=\"base\"\n class=\"button-group\"\n role=\"${this.disableRole ? 'presentation' : 'group'}\"\n aria-label=${this.label}\n @focusout=${this.handleBlur}\n @focusin=${this.handleFocus}\n @mouseover=${this.handleMouseOver}\n @mouseout=${this.handleMouseOut}\n >\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n `;\n }\n}\n\nfunction findButton(el: HTMLElement) {\n const selector = 'syn-button, syn-radio-button';\n\n // The button could be the target element or a child of it (e.g. a dropdown or tooltip anchor)\n return el.closest(selector) ?? el.querySelector(selector);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;AAMA,SAAS,YAAY;AACrB,SAAS,UAAU,OAAO,aAAa;AAevC,IAAqB,iBAArB,cAA4C,eAAe;AAAA,EAA3D;AAAA;AAKW,uBAAc;AAMX,iBAAQ;AAAA;AAAA,EAEZ,YAAY,OAAc;AAChC,UAAM,SAAS,WAAW,MAAM,MAAqB;AACrD,qCAAQ,UAAU,IAAI;AAAA,EACxB;AAAA,EAEQ,WAAW,OAAc;AAC/B,UAAM,SAAS,WAAW,MAAM,MAAqB;AACrD,qCAAQ,UAAU,OAAO;AAAA,EAC3B;AAAA,EAEQ,gBAAgB,OAAc;AACpC,UAAM,SAAS,WAAW,MAAM,MAAqB;AACrD,qCAAQ,UAAU,IAAI;AAAA,EACxB;AAAA,EAEQ,eAAe,OAAc;AACnC,UAAM,SAAS,WAAW,MAAM,MAAqB;AACrD,qCAAQ,UAAU,OAAO;AAAA,EAC3B;AAAA,EAEQ,mBAAmB;AACzB,UAAM,kBAAkB,CAAC,GAAG,KAAK,YAAY,iBAAiB,EAAE,SAAS,KAAK,CAAC,CAAC;AAEhF,oBAAgB,QAAQ,QAAM;AAC5B,YAAM,QAAQ,gBAAgB,QAAQ,EAAE;AACxC,YAAM,SAAS,WAAW,EAAE;AAE5B,UAAI,QAAQ;AACV,eAAO,UAAU,IAAI,0BAA0B;AAC/C,eAAO,UAAU,OAAO,mCAAmC,UAAU,CAAC;AACtE,eAAO,UAAU,OAAO,mCAAmC,QAAQ,KAAK,QAAQ,gBAAgB,SAAS,CAAC;AAC1G,eAAO,UAAU,OAAO,kCAAkC,UAAU,gBAAgB,SAAS,CAAC;AAC9F,eAAO,UAAU,OAAO,mCAAmC,OAAO,QAAQ,YAAY,MAAM,kBAAkB;AAAA,MAChH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,SAAS;AAEP,WAAO;AAAA;AAAA;AAAA;AAAA,gBAIK,KAAK,cAAc,iBAAiB,OAAO;AAAA,qBACtC,KAAK,KAAK;AAAA,oBACX,KAAK,UAAU;AAAA,mBAChB,KAAK,WAAW;AAAA,qBACd,KAAK,eAAe;AAAA,oBACrB,KAAK,cAAc;AAAA;AAAA,4BAEX,KAAK,gBAAgB;AAAA;AAAA;AAAA,EAG/C;AACF;AAnEqB,eACZ,SAAyB;AAEjB;AAAA,EAAd,MAAM,MAAM;AAAA,GAHM,eAGJ;AAEN;AAAA,EAAR,MAAM;AAAA,GALY,eAKV;AAMG;AAAA,EAAX,SAAS;AAAA,GAXS,eAWP;AA0Dd,SAAS,WAAW,IAAiB;AA3FrC;AA4FE,QAAM,WAAW;AAGjB,UAAO,QAAG,QAAQ,QAAQ,MAAnB,YAAwB,GAAG,cAAc,QAAQ;AAC1D;",
6
+ "names": []
7
+ }
@@ -0,0 +1,212 @@
1
+ import {
2
+ switch_styles_default
3
+ } from "./chunk.MNMITYTH.js";
4
+ import {
5
+ defaultValue
6
+ } from "./chunk.WFAJR3FN.js";
7
+ import {
8
+ FormControlController
9
+ } from "./chunk.P2LNG2PZ.js";
10
+ import {
11
+ watch
12
+ } from "./chunk.VZ7S7YYN.js";
13
+ import {
14
+ SynergyElement
15
+ } from "./chunk.ZUNBGZ5R.js";
16
+ import {
17
+ __decorateClass
18
+ } from "./chunk.DJOAQ4JU.js";
19
+
20
+ // src/components/switch/switch.component.ts
21
+ import { classMap } from "lit/directives/class-map.js";
22
+ import { html } from "lit";
23
+ import { ifDefined } from "lit/directives/if-defined.js";
24
+ import { live } from "lit/directives/live.js";
25
+ import { property, query, state } from "lit/decorators.js";
26
+ var SynSwitch = class extends SynergyElement {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.formControlController = new FormControlController(this, {
30
+ value: (control) => control.checked ? control.value || "on" : void 0,
31
+ defaultValue: (control) => control.defaultChecked,
32
+ setValue: (control, checked) => control.checked = checked
33
+ });
34
+ this.hasFocus = false;
35
+ this.title = "";
36
+ this.name = "";
37
+ this.size = "medium";
38
+ this.disabled = false;
39
+ this.checked = false;
40
+ this.defaultChecked = false;
41
+ this.form = "";
42
+ this.required = false;
43
+ }
44
+ /** Gets the validity state object */
45
+ get validity() {
46
+ return this.input.validity;
47
+ }
48
+ /** Gets the validation message */
49
+ get validationMessage() {
50
+ return this.input.validationMessage;
51
+ }
52
+ firstUpdated() {
53
+ this.formControlController.updateValidity();
54
+ }
55
+ handleBlur() {
56
+ this.hasFocus = false;
57
+ this.emit("syn-blur");
58
+ }
59
+ handleInput() {
60
+ this.emit("syn-input");
61
+ }
62
+ handleInvalid(event) {
63
+ this.formControlController.setValidity(false);
64
+ this.formControlController.emitInvalidEvent(event);
65
+ }
66
+ handleClick() {
67
+ this.checked = !this.checked;
68
+ this.emit("syn-change");
69
+ }
70
+ handleFocus() {
71
+ this.hasFocus = true;
72
+ this.emit("syn-focus");
73
+ }
74
+ handleKeyDown(event) {
75
+ if (event.key === "ArrowLeft") {
76
+ event.preventDefault();
77
+ this.checked = false;
78
+ this.emit("syn-change");
79
+ this.emit("syn-input");
80
+ }
81
+ if (event.key === "ArrowRight") {
82
+ event.preventDefault();
83
+ this.checked = true;
84
+ this.emit("syn-change");
85
+ this.emit("syn-input");
86
+ }
87
+ }
88
+ handleCheckedChange() {
89
+ this.input.checked = this.checked;
90
+ this.formControlController.updateValidity();
91
+ }
92
+ handleDisabledChange() {
93
+ this.formControlController.setValidity(true);
94
+ }
95
+ /** Simulates a click on the switch. */
96
+ click() {
97
+ this.input.click();
98
+ }
99
+ /** Sets focus on the switch. */
100
+ focus(options) {
101
+ this.input.focus(options);
102
+ }
103
+ /** Removes focus from the switch. */
104
+ blur() {
105
+ this.input.blur();
106
+ }
107
+ /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */
108
+ checkValidity() {
109
+ return this.input.checkValidity();
110
+ }
111
+ /** Gets the associated form, if one exists. */
112
+ getForm() {
113
+ return this.formControlController.getForm();
114
+ }
115
+ /** Checks for validity and shows the browser's validation message if the control is invalid. */
116
+ reportValidity() {
117
+ return this.input.reportValidity();
118
+ }
119
+ /** Sets a custom validation message. Pass an empty string to restore validity. */
120
+ setCustomValidity(message) {
121
+ this.input.setCustomValidity(message);
122
+ this.formControlController.updateValidity();
123
+ }
124
+ render() {
125
+ return html`
126
+ <label
127
+ part="base"
128
+ class=${classMap({
129
+ switch: true,
130
+ "switch--checked": this.checked,
131
+ "switch--disabled": this.disabled,
132
+ "switch--focused": this.hasFocus,
133
+ "switch--small": this.size === "small",
134
+ "switch--medium": this.size === "medium",
135
+ "switch--large": this.size === "large"
136
+ })}
137
+ >
138
+ <input
139
+ class="switch__input"
140
+ type="checkbox"
141
+ title=${this.title}
142
+ name=${this.name}
143
+ value=${ifDefined(this.value)}
144
+ .checked=${live(this.checked)}
145
+ .disabled=${this.disabled}
146
+ .required=${this.required}
147
+ role="switch"
148
+ aria-checked=${this.checked ? "true" : "false"}
149
+ @click=${this.handleClick}
150
+ @input=${this.handleInput}
151
+ @invalid=${this.handleInvalid}
152
+ @blur=${this.handleBlur}
153
+ @focus=${this.handleFocus}
154
+ @keydown=${this.handleKeyDown}
155
+ />
156
+
157
+ <span part="control" class="switch__control">
158
+ <span part="thumb" class="switch__thumb"></span>
159
+ </span>
160
+
161
+ <div part="label" class="switch__label">
162
+ <slot></slot>
163
+ </div>
164
+ </label>
165
+ `;
166
+ }
167
+ };
168
+ SynSwitch.styles = switch_styles_default;
169
+ __decorateClass([
170
+ query('input[type="checkbox"]')
171
+ ], SynSwitch.prototype, "input", 2);
172
+ __decorateClass([
173
+ state()
174
+ ], SynSwitch.prototype, "hasFocus", 2);
175
+ __decorateClass([
176
+ property()
177
+ ], SynSwitch.prototype, "title", 2);
178
+ __decorateClass([
179
+ property()
180
+ ], SynSwitch.prototype, "name", 2);
181
+ __decorateClass([
182
+ property()
183
+ ], SynSwitch.prototype, "value", 2);
184
+ __decorateClass([
185
+ property({ reflect: true })
186
+ ], SynSwitch.prototype, "size", 2);
187
+ __decorateClass([
188
+ property({ type: Boolean, reflect: true })
189
+ ], SynSwitch.prototype, "disabled", 2);
190
+ __decorateClass([
191
+ property({ type: Boolean, reflect: true })
192
+ ], SynSwitch.prototype, "checked", 2);
193
+ __decorateClass([
194
+ defaultValue("checked")
195
+ ], SynSwitch.prototype, "defaultChecked", 2);
196
+ __decorateClass([
197
+ property({ reflect: true })
198
+ ], SynSwitch.prototype, "form", 2);
199
+ __decorateClass([
200
+ property({ type: Boolean, reflect: true })
201
+ ], SynSwitch.prototype, "required", 2);
202
+ __decorateClass([
203
+ watch("checked", { waitUntilFirstUpdate: true })
204
+ ], SynSwitch.prototype, "handleCheckedChange", 1);
205
+ __decorateClass([
206
+ watch("disabled", { waitUntilFirstUpdate: true })
207
+ ], SynSwitch.prototype, "handleDisabledChange", 1);
208
+
209
+ export {
210
+ SynSwitch
211
+ };
212
+ //# sourceMappingURL=chunk.KP6DSDGX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/switch/switch.component.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { defaultValue } from '../../internal/default-value.js';\nimport { FormControlController } from '../../internal/form.js';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { watch } from '../../internal/watch.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './switch.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type { SynergyFormControl } from '../../internal/synergy-element.js';\n\n/**\n * @summary Switches allow the user to toggle an option on or off.\n * @documentation https://synergy.style/components/switch\n * @status stable\n * @since 2.0\n *\n * @slot - The switch's label.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when the control's checked state changes.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The control that houses the switch's thumb.\n * @csspart thumb - The switch's thumb.\n * @csspart label - The switch's label.\n *\n * @cssproperty --width - The width of the switch.\n * @cssproperty --height - The height of the switch.\n * @cssproperty --thumb-size - The size of the thumb.\n */\nexport default class SynSwitch extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n value: (control: SynSwitch) => (control.checked ? control.value || 'on' : undefined),\n defaultValue: (control: SynSwitch) => control.defaultChecked,\n setValue: (control: SynSwitch, checked: boolean) => (control.checked = checked)\n });\n\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n\n @state() private hasFocus = false;\n @property() title = ''; // make reactive to pass through\n\n /** The name of the switch, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the switch, submitted as a name/value pair with form data. */\n @property() value: string;\n\n /** The switch's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Disables the switch. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the switch in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue('checked') defaultChecked = false;\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Makes the switch a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Gets the validity state object */\n get validity() {\n return this.input.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.input.validationMessage;\n }\n\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleInput() {\n this.emit('syn-input');\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private handleClick() {\n this.checked = !this.checked;\n this.emit('syn-change');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n this.checked = false;\n this.emit('syn-change');\n this.emit('syn-input');\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n this.checked = true;\n this.emit('syn-change');\n this.emit('syn-input');\n }\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n handleCheckedChange() {\n this.input.checked = this.checked; // force a sync update\n this.formControlController.updateValidity();\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid\n this.formControlController.setValidity(true);\n }\n\n /** Simulates a click on the switch. */\n click() {\n this.input.click();\n }\n\n /** Sets focus on the switch. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the switch. */\n blur() {\n this.input.blur();\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.input.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n render() {\n return html`\n <label\n part=\"base\"\n class=${classMap({\n switch: true,\n 'switch--checked': this.checked,\n 'switch--disabled': this.disabled,\n 'switch--focused': this.hasFocus,\n 'switch--small': this.size === 'small',\n 'switch--medium': this.size === 'medium',\n 'switch--large': this.size === 'large'\n })}\n >\n <input\n class=\"switch__input\"\n type=\"checkbox\"\n title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}\n name=${this.name}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n role=\"switch\"\n aria-checked=${this.checked ? 'true' : 'false'}\n @click=${this.handleClick}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @keydown=${this.handleKeyDown}\n />\n\n <span part=\"control\" class=\"switch__control\">\n <span part=\"thumb\" class=\"switch__thumb\"></span>\n </span>\n\n <div part=\"label\" class=\"switch__label\">\n <slot></slot>\n </div>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-switch': SynSwitch;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynButton
3
- } from "./chunk.6CFDQNJT.js";
3
+ } from "./chunk.N2EPATPO.js";
4
4
 
5
5
  // src/components/button/button.ts
6
6
  var button_default = SynButton;
@@ -9,4 +9,4 @@ SynButton.define("syn-button");
9
9
  export {
10
10
  button_default
11
11
  };
12
- //# sourceMappingURL=chunk.GRZ3TSGB.js.map
12
+ //# sourceMappingURL=chunk.LDUXZQMQ.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ SynSwitch
3
+ } from "./chunk.KP6DSDGX.js";
4
+
5
+ // src/components/switch/switch.ts
6
+ var switch_default = SynSwitch;
7
+ SynSwitch.define("syn-switch");
8
+
9
+ export {
10
+ switch_default
11
+ };
12
+ //# sourceMappingURL=chunk.LGQOKLYP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/switch/switch.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport SynSwitch from './switch.component.js';\n\nexport * from './switch.component.js';\nexport default SynSwitch;\n\nSynSwitch.define('syn-switch');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-switch': SynSwitch;\n }\n}\n"],
5
+ "mappings": ";;;;;AASA,IAAO,iBAAQ;AAEf,UAAU,OAAO,YAAY;",
6
+ "names": []
7
+ }
@@ -0,0 +1,184 @@
1
+ import {
2
+ switch_custom_styles_default
3
+ } from "./chunk.AFEABUNX.js";
4
+ import {
5
+ component_styles_default
6
+ } from "./chunk.O7USYXBT.js";
7
+
8
+ // src/components/switch/switch.styles.ts
9
+ import { css } from "lit";
10
+ var switch_styles_default = css`
11
+ /* stylelint-disable */
12
+ ${component_styles_default}
13
+
14
+ :host {
15
+ display: inline-block;
16
+ }
17
+
18
+ :host([size='small']) {
19
+ --height: var(--syn-toggle-size-small);
20
+ --thumb-size: calc(var(--syn-toggle-size-small) + 4px);
21
+ --width: calc(var(--height) * 2);
22
+
23
+ font-size: var(--syn-input-font-size-small);
24
+ }
25
+
26
+ :host([size='medium']) {
27
+ --height: var(--syn-toggle-size-medium);
28
+ --thumb-size: calc(var(--syn-toggle-size-medium) + 4px);
29
+ --width: calc(var(--height) * 2);
30
+
31
+ font-size: var(--syn-input-font-size-medium);
32
+ }
33
+
34
+ :host([size='large']) {
35
+ --height: var(--syn-toggle-size-large);
36
+ --thumb-size: calc(var(--syn-toggle-size-large) + 4px);
37
+ --width: calc(var(--height) * 2);
38
+
39
+ font-size: var(--syn-input-font-size-large);
40
+ }
41
+
42
+ .switch {
43
+ position: relative;
44
+ display: inline-flex;
45
+ align-items: center;
46
+ font-family: var(--syn-input-font-family);
47
+ font-size: inherit;
48
+ font-weight: var(--syn-input-font-weight);
49
+ color: var(--syn-input-label-color);
50
+ vertical-align: middle;
51
+ cursor: pointer;
52
+ }
53
+
54
+ .switch__control {
55
+ flex: 0 0 auto;
56
+ position: relative;
57
+ display: inline-flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ width: var(--width);
61
+ height: var(--height);
62
+ background-color: var(--syn-color-neutral-400);
63
+ border: solid var(--syn-input-border-width) var(--syn-color-neutral-400);
64
+ border-radius: var(--height);
65
+ transition:
66
+ var(--syn-transition-fast) border-color,
67
+ var(--syn-transition-fast) background-color;
68
+ }
69
+
70
+ .switch__control .switch__thumb {
71
+ width: var(--thumb-size);
72
+ height: var(--thumb-size);
73
+ background-color: var(--syn-color-neutral-0);
74
+ border-radius: 50%;
75
+ border: solid var(--syn-input-border-width) var(--syn-color-neutral-400);
76
+ translate: calc((var(--width) - var(--height)) / -2);
77
+ transition:
78
+ var(--syn-transition-fast) translate ease,
79
+ var(--syn-transition-fast) background-color,
80
+ var(--syn-transition-fast) border-color,
81
+ var(--syn-transition-fast) box-shadow;
82
+ }
83
+
84
+ .switch__input {
85
+ position: absolute;
86
+ opacity: 0;
87
+ padding: 0;
88
+ margin: 0;
89
+ pointer-events: none;
90
+ }
91
+
92
+ /* Hover */
93
+ .switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover {
94
+ background-color: var(--syn-color-neutral-400);
95
+ border-color: var(--syn-color-neutral-400);
96
+ }
97
+
98
+ .switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover .switch__thumb {
99
+ background-color: var(--syn-color-neutral-0);
100
+ border-color: var(--syn-color-neutral-400);
101
+ }
102
+
103
+ /* Focus */
104
+ .switch:not(.switch--checked):not(.switch--disabled) .switch__input:focus-visible ~ .switch__control {
105
+ background-color: var(--syn-color-neutral-400);
106
+ border-color: var(--syn-color-neutral-400);
107
+ }
108
+
109
+ .switch:not(.switch--checked):not(.switch--disabled) .switch__input:focus-visible ~ .switch__control .switch__thumb {
110
+ background-color: var(--syn-color-neutral-0);
111
+ border-color: var(--syn-color-primary-600);
112
+ outline: var(--syn-focus-ring);
113
+ outline-offset: var(--syn-focus-ring-offset);
114
+ }
115
+
116
+ /* Checked */
117
+ .switch--checked .switch__control {
118
+ background-color: var(--syn-color-primary-600);
119
+ border-color: var(--syn-color-primary-600);
120
+ }
121
+
122
+ .switch--checked .switch__control .switch__thumb {
123
+ background-color: var(--syn-color-neutral-0);
124
+ border-color: var(--syn-color-primary-600);
125
+ translate: calc((var(--width) - var(--height)) / 2);
126
+ }
127
+
128
+ /* Checked + hover */
129
+ .switch.switch--checked:not(.switch--disabled) .switch__control:hover {
130
+ background-color: var(--syn-color-primary-600);
131
+ border-color: var(--syn-color-primary-600);
132
+ }
133
+
134
+ .switch.switch--checked:not(.switch--disabled) .switch__control:hover .switch__thumb {
135
+ background-color: var(--syn-color-neutral-0);
136
+ border-color: var(--syn-color-primary-600);
137
+ }
138
+
139
+ /* Checked + focus */
140
+ .switch.switch--checked:not(.switch--disabled) .switch__input:focus-visible ~ .switch__control {
141
+ background-color: var(--syn-color-primary-600);
142
+ border-color: var(--syn-color-primary-600);
143
+ }
144
+
145
+ .switch.switch--checked:not(.switch--disabled) .switch__input:focus-visible ~ .switch__control .switch__thumb {
146
+ background-color: var(--syn-color-neutral-0);
147
+ border-color: var(--syn-color-primary-600);
148
+ outline: var(--syn-focus-ring);
149
+ outline-offset: var(--syn-focus-ring-offset);
150
+ }
151
+
152
+ /* Disabled */
153
+ .switch--disabled {
154
+ opacity: 0.5;
155
+ cursor: not-allowed;
156
+ }
157
+
158
+ .switch__label {
159
+ display: inline-block;
160
+ line-height: var(--height);
161
+ margin-inline-start: 0.5em;
162
+ user-select: none;
163
+ -webkit-user-select: none;
164
+ }
165
+
166
+ :host([required]) .switch__label::after {
167
+ content: var(--syn-input-required-content);
168
+ margin-inline-start: var(--syn-input-required-content-offset);
169
+ }
170
+
171
+ @media (forced-colors: active) {
172
+ .switch.switch--checked:not(.switch--disabled) .switch__control:hover .switch__thumb,
173
+ .switch--checked .switch__control .switch__thumb {
174
+ background-color: ButtonText;
175
+ }
176
+ }
177
+
178
+ ${switch_custom_styles_default}
179
+ `;
180
+
181
+ export {
182
+ switch_styles_default
183
+ };
184
+ //# sourceMappingURL=chunk.MNMITYTH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/switch/switch.styles.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\nimport customStyles from './switch.custom.styles.js';\nimport componentStyles from '../../styles/component.styles.js';\n\nexport default css`\n\t/* stylelint-disable */\n ${componentStyles}\n\n :host {\n display: inline-block;\n }\n\n :host([size='small']) {\n --height: var(--syn-toggle-size-small);\n --thumb-size: calc(var(--syn-toggle-size-small) + 4px);\n --width: calc(var(--height) * 2);\n\n font-size: var(--syn-input-font-size-small);\n }\n\n :host([size='medium']) {\n --height: var(--syn-toggle-size-medium);\n --thumb-size: calc(var(--syn-toggle-size-medium) + 4px);\n --width: calc(var(--height) * 2);\n\n font-size: var(--syn-input-font-size-medium);\n }\n\n :host([size='large']) {\n --height: var(--syn-toggle-size-large);\n --thumb-size: calc(var(--syn-toggle-size-large) + 4px);\n --width: calc(var(--height) * 2);\n\n font-size: var(--syn-input-font-size-large);\n }\n\n .switch {\n position: relative;\n display: inline-flex;\n align-items: center;\n font-family: var(--syn-input-font-family);\n font-size: inherit;\n font-weight: var(--syn-input-font-weight);\n color: var(--syn-input-label-color);\n vertical-align: middle;\n cursor: pointer;\n }\n\n .switch__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--width);\n height: var(--height);\n background-color: var(--syn-color-neutral-400);\n border: solid var(--syn-input-border-width) var(--syn-color-neutral-400);\n border-radius: var(--height);\n transition:\n var(--syn-transition-fast) border-color,\n var(--syn-transition-fast) background-color;\n }\n\n .switch__control .switch__thumb {\n width: var(--thumb-size);\n height: var(--thumb-size);\n background-color: var(--syn-color-neutral-0);\n border-radius: 50%;\n border: solid var(--syn-input-border-width) var(--syn-color-neutral-400);\n translate: calc((var(--width) - var(--height)) / -2);\n transition:\n var(--syn-transition-fast) translate ease,\n var(--syn-transition-fast) background-color,\n var(--syn-transition-fast) border-color,\n var(--syn-transition-fast) box-shadow;\n }\n\n .switch__input {\n position: absolute;\n opacity: 0;\n padding: 0;\n margin: 0;\n pointer-events: none;\n }\n\n /* Hover */\n .switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover {\n background-color: var(--syn-color-neutral-400);\n border-color: var(--syn-color-neutral-400);\n }\n\n .switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover .switch__thumb {\n background-color: var(--syn-color-neutral-0);\n border-color: var(--syn-color-neutral-400);\n }\n\n /* Focus */\n .switch:not(.switch--checked):not(.switch--disabled) .switch__input:focus-visible ~ .switch__control {\n background-color: var(--syn-color-neutral-400);\n border-color: var(--syn-color-neutral-400);\n }\n\n .switch:not(.switch--checked):not(.switch--disabled) .switch__input:focus-visible ~ .switch__control .switch__thumb {\n background-color: var(--syn-color-neutral-0);\n border-color: var(--syn-color-primary-600);\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n /* Checked */\n .switch--checked .switch__control {\n background-color: var(--syn-color-primary-600);\n border-color: var(--syn-color-primary-600);\n }\n\n .switch--checked .switch__control .switch__thumb {\n background-color: var(--syn-color-neutral-0);\n border-color: var(--syn-color-primary-600);\n translate: calc((var(--width) - var(--height)) / 2);\n }\n\n /* Checked + hover */\n .switch.switch--checked:not(.switch--disabled) .switch__control:hover {\n background-color: var(--syn-color-primary-600);\n border-color: var(--syn-color-primary-600);\n }\n\n .switch.switch--checked:not(.switch--disabled) .switch__control:hover .switch__thumb {\n background-color: var(--syn-color-neutral-0);\n border-color: var(--syn-color-primary-600);\n }\n\n /* Checked + focus */\n .switch.switch--checked:not(.switch--disabled) .switch__input:focus-visible ~ .switch__control {\n background-color: var(--syn-color-primary-600);\n border-color: var(--syn-color-primary-600);\n }\n\n .switch.switch--checked:not(.switch--disabled) .switch__input:focus-visible ~ .switch__control .switch__thumb {\n background-color: var(--syn-color-neutral-0);\n border-color: var(--syn-color-primary-600);\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n /* Disabled */\n .switch--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .switch__label {\n display: inline-block;\n line-height: var(--height);\n margin-inline-start: 0.5em;\n user-select: none;\n -webkit-user-select: none;\n }\n\n :host([required]) .switch__label::after {\n content: var(--syn-input-required-content);\n margin-inline-start: var(--syn-input-required-content-offset);\n }\n\n @media (forced-colors: active) {\n .switch.switch--checked:not(.switch--disabled) .switch__control:hover .switch__thumb,\n .switch--checked .switch__control .switch__thumb {\n background-color: ButtonText;\n }\n }\n\n ${customStyles}\n`;\n\n"],
5
+ "mappings": ";;;;;;;;AAMA,SAAS,WAAW;AAIpB,IAAO,wBAAQ;AAAA;AAAA,IAEX,wBAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsKf,4BAAY;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ SynTextarea
3
+ } from "./chunk.CJRAYQIQ.js";
4
+
5
+ // src/components/textarea/textarea.ts
6
+ var textarea_default = SynTextarea;
7
+ SynTextarea.define("syn-textarea");
8
+
9
+ export {
10
+ textarea_default
11
+ };
12
+ //# sourceMappingURL=chunk.MNNPG5GD.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/textarea/textarea.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport SynTextarea from './textarea.component.js';\n\nexport * from './textarea.component.js';\nexport default SynTextarea;\n\nSynTextarea.define('syn-textarea');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-textarea': SynTextarea;\n }\n}\n"],
5
+ "mappings": ";;;;;AASA,IAAO,mBAAQ;AAEf,YAAY,OAAO,cAAc;",
6
+ "names": []
7
+ }
@@ -1,26 +1,28 @@
1
1
  import {
2
2
  SynSpinner
3
- } from "./chunk.SGZ5ADPY.js";
4
- import {
5
- HasSlotController
6
- } from "./chunk.XGXFE6IF.js";
3
+ } from "./chunk.2AFAC4WC.js";
7
4
  import {
8
5
  LocalizeController
9
6
  } from "./chunk.R6VNLE6N.js";
7
+ import {
8
+ HasSlotController
9
+ } from "./chunk.XGXFE6IF.js";
10
10
  import {
11
11
  FormControlController,
12
12
  validValidityState
13
- } from "./chunk.WDCAHRYG.js";
13
+ } from "./chunk.P2LNG2PZ.js";
14
14
  import {
15
- button_styles_default
16
- } from "./chunk.OZSASB66.js";
15
+ SynIcon
16
+ } from "./chunk.SUJGOV4C.js";
17
17
  import {
18
- SynIcon,
19
18
  watch
20
- } from "./chunk.IZS6SARK.js";
19
+ } from "./chunk.VZ7S7YYN.js";
20
+ import {
21
+ button_styles_default
22
+ } from "./chunk.YTS5TRJZ.js";
21
23
  import {
22
24
  SynergyElement
23
- } from "./chunk.YOW3IJVJ.js";
25
+ } from "./chunk.ZUNBGZ5R.js";
24
26
  import {
25
27
  __decorateClass
26
28
  } from "./chunk.DJOAQ4JU.js";
@@ -49,7 +51,7 @@ var SynButton = class extends SynergyElement {
49
51
  this.hasFocus = false;
50
52
  this.invalid = false;
51
53
  this.title = "";
52
- this.variant = "filled";
54
+ this.variant = "outline";
53
55
  this.size = "medium";
54
56
  this.caret = false;
55
57
  this.disabled = false;
@@ -275,4 +277,4 @@ __decorateClass([
275
277
  export {
276
278
  SynButton
277
279
  };
278
- //# sourceMappingURL=chunk.6CFDQNJT.js.map
280
+ //# sourceMappingURL=chunk.N2EPATPO.js.map