@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,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/radio/radio.custom.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n\n .radio {\n padding: var(--syn-spacing-2x-small) 0;\n }\n\n :host(:focus-visible) .radio__control {\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-width);\n }\n\n /* Checked + hover */\n .radio.radio--checked:not(.radio--disabled):hover .radio__control {\n background-color: var(--syn-color-primary-950);\n border-color: var(--syn-color-primary-950);\n }\n\n /* Hover */\n .radio:not(.radio--checked):not(.radio--disabled):hover .radio__control {\n border-color: var(--syn-color-primary-900);\n }\n\n /*\n * Size modifiers\n */\n\n .radio--small {\n --toggle-size: var(--syn-input-font-size-small);\n }\n\n .radio--medium {\n --toggle-size: var(--syn-font-size-medium);\n }\n\n .radio--large {\n --toggle-size: var(--syn-spacing-large);\n }\n\n .radio--small .radio__label, .radio--large .radio__label {\n margin-inline-start: var(--syn-spacing-x-small);\n }\n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,8BAAQ;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;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ SynIcon
3
+ } from "./chunk.SUJGOV4C.js";
4
+
5
+ // src/components/icon/icon.ts
6
+ var icon_default = SynIcon;
7
+ SynIcon.define("syn-icon");
8
+
9
+ export {
10
+ icon_default
11
+ };
12
+ //# sourceMappingURL=chunk.VUW6CZ2F.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/icon/icon.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 SynIcon from './icon.component.js';\n\nexport * from './icon.component.js';\nexport default SynIcon;\n\nSynIcon.define('syn-icon');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-icon': SynIcon;\n }\n}\n"],
5
+ "mappings": ";;;;;AASA,IAAO,eAAQ;AAEf,QAAQ,OAAO,UAAU;",
6
+ "names": []
7
+ }
@@ -0,0 +1,34 @@
1
+ import {
2
+ __spreadValues
3
+ } from "./chunk.DJOAQ4JU.js";
4
+
5
+ // src/internal/watch.ts
6
+ function watch(propertyName, options) {
7
+ const resolvedOptions = __spreadValues({
8
+ waitUntilFirstUpdate: false
9
+ }, options);
10
+ return (proto, decoratedFnName) => {
11
+ const { update } = proto;
12
+ const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];
13
+ proto.update = function(changedProps) {
14
+ watchedProperties.forEach((property) => {
15
+ const key = property;
16
+ if (changedProps.has(key)) {
17
+ const oldValue = changedProps.get(key);
18
+ const newValue = this[key];
19
+ if (oldValue !== newValue) {
20
+ if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {
21
+ this[decoratedFnName](oldValue, newValue);
22
+ }
23
+ }
24
+ }
25
+ });
26
+ update.call(this, changedProps);
27
+ };
28
+ };
29
+ }
30
+
31
+ export {
32
+ watch
33
+ };
34
+ //# sourceMappingURL=chunk.VZ7S7YYN.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/watch.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 type { LitElement } from 'lit';\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\n/**\n * Runs when observed properties change, e.g. @property or @state, but before the component updates. To wait for an\n * update to complete after a change occurs, use `await this.updateComplete` in the handler. To start watching after the\n * initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n *\n * Usage:\n *\n * @watch('propName')\n * handlePropChange(oldValue, newValue) {\n * ...\n * }\n */\nexport function watch(propertyName: string | string[], options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(proto: ElemClass, decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>) => {\n // @ts-expect-error - update is a protected property\n const { update } = proto;\n const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];\n\n // @ts-expect-error - update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n watchedProperties.forEach(property => {\n const key = property as keyof ElemClass;\n if (changedProps.has(key)) {\n const oldValue = changedProps.get(key);\n const newValue = this[key];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n });\n\n update.call(this, changedProps);\n };\n };\n}\n"],
5
+ "mappings": ";;;;;AAmCO,SAAS,MAAM,cAAiC,SAAwB;AAC7E,QAAM,kBAA0C;AAAA,IAC9C,sBAAsB;AAAA,KACnB;AAEL,SAAO,CAA+B,OAAkB,oBAA0D;AAEhH,UAAM,EAAE,OAAO,IAAI;AACnB,UAAM,oBAAoB,MAAM,QAAQ,YAAY,IAAI,eAAe,CAAC,YAAY;AAGpF,UAAM,SAAS,SAA2B,cAAgE;AACxG,wBAAkB,QAAQ,cAAY;AACpC,cAAM,MAAM;AACZ,YAAI,aAAa,IAAI,GAAG,GAAG;AACzB,gBAAM,WAAW,aAAa,IAAI,GAAG;AACrC,gBAAM,WAAW,KAAK,GAAG;AAEzB,cAAI,aAAa,UAAU;AACzB,gBAAI,CAAC,gBAAgB,wBAAwB,KAAK,YAAY;AAC5D,cAAC,KAAK,eAAe,EAA+B,UAAU,QAAQ;AAAA,YACxE;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,KAAK,MAAM,YAAY;AAAA,IAChC;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,90 @@
1
+ // src/components/input/input.custom.styles.ts
2
+ import { css } from "lit";
3
+ var input_custom_styles_default = css`
4
+ /* PADDINGS */
5
+ .input--medium .input__control {
6
+ padding: var(--syn-spacing-x-small) var(--syn-input-spacing-medium);
7
+ }
8
+
9
+ .input--small .input__control {
10
+ padding: var(--syn-spacing-3x-small) var(--syn-input-spacing-small);
11
+ }
12
+
13
+ .input--large .input__control {
14
+ padding: var(--syn-input-spacing-small) var(--syn-input-spacing-large);
15
+ }
16
+
17
+ .input--small .input__prefix ::slotted(*) {
18
+ margin-inline-end: var(--syn-spacing-x-small);
19
+ margin-inline-start: var(--syn-input-spacing-small);
20
+ }
21
+
22
+ .input--medium .input__prefix ::slotted(*) {
23
+ margin-inline-end: var(--syn-input-spacing-small);
24
+ margin-inline-start: var(--syn-input-spacing-medium);
25
+ }
26
+
27
+ .input--large .input__prefix ::slotted(*) {
28
+ margin-inline-end: var(--syn-input-spacing-medium);
29
+ margin-inline-start: var(--syn-input-spacing-large);
30
+ }
31
+
32
+ .input--small .input__suffix ::slotted(*) {
33
+ margin-inline-end: var(--syn-input-spacing-small);
34
+ margin-inline-start: var(--syn-spacing-x-small);
35
+ }
36
+
37
+ .input--medium .input__suffix ::slotted(*) {
38
+ margin-inline-end: var(--syn-input-spacing-medium);
39
+ margin-inline-start: var(--syn-input-spacing-small);
40
+ }
41
+
42
+ .input--large .input__suffix ::slotted(*) {
43
+ margin-inline-end: var(--syn-input-spacing-large);
44
+ margin-inline-start: var(--syn-input-spacing-medium);
45
+ }
46
+
47
+ /* ICONS SIZE */
48
+ .input--small .input__prefix ::slotted(syn-icon) {
49
+ font-size: var(--syn-input-spacing-medium);
50
+ }
51
+
52
+ .input--medium .input__prefix ::slotted(syn-icon) {
53
+ font-size: var(--syn-input-spacing-large);
54
+ }
55
+
56
+ .input--large .input__prefix ::slotted(syn-icon) {
57
+ font-size: var(--syn-font-size-2x-large);
58
+ }
59
+
60
+ .input--small .input__suffix ::slotted(syn-icon) {
61
+ font-size: var(--syn-input-spacing-medium);
62
+ }
63
+
64
+ .input--medium .input__suffix ::slotted(syn-icon) {
65
+ font-size: var(--syn-input-spacing-large);
66
+ }
67
+
68
+ .input--large .input__suffix ::slotted(syn-icon) {
69
+ font-size: var(--syn-font-size-2x-large);
70
+ }
71
+
72
+ :host([data-user-invalid]) .input--standard {
73
+ border-color: var(--syn-input-border-color-focus-error);
74
+ }
75
+
76
+ :host([data-user-invalid]) .input--standard.input--focused:not(.input--disabled) {
77
+ border-color: var(--syn-input-border-color-focus-error);
78
+ box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error);
79
+ }
80
+
81
+ .input--standard.input--disabled .input__suffix,
82
+ .input--standard.input--disabled .input__prefix {
83
+ cursor: not-allowed;
84
+ }
85
+ `;
86
+
87
+ export {
88
+ input_custom_styles_default
89
+ };
90
+ //# sourceMappingURL=chunk.W46CFM2R.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/input/input.custom.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n /* PADDINGS */\n .input--medium .input__control {\n padding: var(--syn-spacing-x-small) var(--syn-input-spacing-medium);\n }\n\n .input--small .input__control {\n padding: var(--syn-spacing-3x-small) var(--syn-input-spacing-small);\n }\n\n .input--large .input__control {\n padding: var(--syn-input-spacing-small) var(--syn-input-spacing-large);\n }\n\n .input--small .input__prefix ::slotted(*) {\n margin-inline-end: var(--syn-spacing-x-small);\n margin-inline-start: var(--syn-input-spacing-small);\n }\n\n .input--medium .input__prefix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-small);\n margin-inline-start: var(--syn-input-spacing-medium);\n }\n\n .input--large .input__prefix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-medium);\n margin-inline-start: var(--syn-input-spacing-large);\n }\n\n .input--small .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-small);\n margin-inline-start: var(--syn-spacing-x-small);\n }\n\n .input--medium .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-medium);\n margin-inline-start: var(--syn-input-spacing-small);\n }\n\n .input--large .input__suffix ::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-large);\n margin-inline-start: var(--syn-input-spacing-medium);\n }\n\n /* ICONS SIZE */\n .input--small .input__prefix ::slotted(syn-icon) {\n font-size: var(--syn-input-spacing-medium);\n }\n\n .input--medium .input__prefix ::slotted(syn-icon) {\n font-size: var(--syn-input-spacing-large);\n }\n\n .input--large .input__prefix ::slotted(syn-icon) {\n font-size: var(--syn-font-size-2x-large);\n }\n\n .input--small .input__suffix ::slotted(syn-icon) {\n font-size: var(--syn-input-spacing-medium);\n }\n\n .input--medium .input__suffix ::slotted(syn-icon) {\n font-size: var(--syn-input-spacing-large);\n }\n\n .input--large .input__suffix ::slotted(syn-icon) {\n font-size: var(--syn-font-size-2x-large);\n }\n \n :host([data-user-invalid]) .input--standard {\n border-color: var(--syn-input-border-color-focus-error);\n }\n\n :host([data-user-invalid]) .input--standard.input--focused:not(.input--disabled) {\n border-color: var(--syn-input-border-color-focus-error);\n box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error);\n }\n\n .input--standard.input--disabled .input__suffix, \n .input--standard.input--disabled .input__prefix {\n cursor: not-allowed;\n } \n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,8BAAQ;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;",
6
+ "names": []
7
+ }
@@ -0,0 +1,25 @@
1
+ // src/internal/default-value.ts
2
+ import { defaultConverter } from "lit";
3
+ var defaultValue = (propertyName = "value") => (proto, key) => {
4
+ const ctor = proto.constructor;
5
+ const attributeChangedCallback = ctor.prototype.attributeChangedCallback;
6
+ ctor.prototype.attributeChangedCallback = function(name, old, value) {
7
+ var _a;
8
+ const options = ctor.getPropertyOptions(propertyName);
9
+ const attributeName = typeof options.attribute === "string" ? options.attribute : propertyName;
10
+ if (name === attributeName) {
11
+ const converter = options.converter || defaultConverter;
12
+ const fromAttribute = typeof converter === "function" ? converter : (_a = converter == null ? void 0 : converter.fromAttribute) != null ? _a : defaultConverter.fromAttribute;
13
+ const newValue = fromAttribute(value, options.type);
14
+ if (this[propertyName] !== newValue) {
15
+ this[key] = newValue;
16
+ }
17
+ }
18
+ attributeChangedCallback.call(this, name, old, value);
19
+ };
20
+ };
21
+
22
+ export {
23
+ defaultValue
24
+ };
25
+ //# sourceMappingURL=chunk.WFAJR3FN.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/default-value.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 */\n// @defaultValue decorator\n//\n// Runs when the corresponding attribute of the observed property changes, e.g. after calling Element.setAttribute or after updating\n// the observed property.\n//\n// The decorator checks whether the value of the attribute is different from the value of the property and in that case\n// it saves the new value.\n//\n//\n// Usage:\n//\n// @property({ type: Boolean, reflect: true }) checked = false;\n//\n// @defaultValue('checked') defaultChecked = false;\n//\n\nimport { defaultConverter } from 'lit';\nimport type { ReactiveElement } from 'lit';\n\nexport const defaultValue =\n (propertyName = 'value') =>\n (proto: ReactiveElement, key: string) => {\n const ctor = proto.constructor as typeof ReactiveElement;\n\n const attributeChangedCallback = ctor.prototype.attributeChangedCallback;\n ctor.prototype.attributeChangedCallback = function (\n this: ReactiveElement & { [name: string]: unknown },\n name,\n old,\n value\n ) {\n const options = ctor.getPropertyOptions(propertyName);\n const attributeName = typeof options.attribute === 'string' ? options.attribute : propertyName;\n\n if (name === attributeName) {\n const converter = options.converter || defaultConverter;\n const fromAttribute =\n typeof converter === 'function' ? converter : converter?.fromAttribute ?? defaultConverter.fromAttribute;\n\n const newValue: unknown = fromAttribute!(value, options.type);\n\n if (this[propertyName] !== newValue) {\n this[key] = newValue;\n }\n }\n\n attributeChangedCallback.call(this, name, old, value);\n };\n };\n"],
5
+ "mappings": ";AAsBA,SAAS,wBAAwB;AAG1B,IAAM,eACX,CAAC,eAAe,YAChB,CAAC,OAAwB,QAAgB;AACvC,QAAM,OAAO,MAAM;AAEnB,QAAM,2BAA2B,KAAK,UAAU;AAChD,OAAK,UAAU,2BAA2B,SAExC,MACA,KACA,OACA;AApCN;AAqCM,UAAM,UAAU,KAAK,mBAAmB,YAAY;AACpD,UAAM,gBAAgB,OAAO,QAAQ,cAAc,WAAW,QAAQ,YAAY;AAElF,QAAI,SAAS,eAAe;AAC1B,YAAM,YAAY,QAAQ,aAAa;AACvC,YAAM,gBACJ,OAAO,cAAc,aAAa,aAAY,4CAAW,kBAAX,YAA4B,iBAAiB;AAE7F,YAAM,WAAoB,cAAe,OAAO,QAAQ,IAAI;AAE5D,UAAI,KAAK,YAAY,MAAM,UAAU;AACnC,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAEA,6BAAyB,KAAK,MAAM,MAAM,KAAK,KAAK;AAAA,EACtD;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ SynRadio
3
+ } from "./chunk.V26UAJIM.js";
4
+
5
+ // src/components/radio/radio.ts
6
+ var radio_default = SynRadio;
7
+ SynRadio.define("syn-radio");
8
+
9
+ export {
10
+ radio_default
11
+ };
12
+ //# sourceMappingURL=chunk.X234HJNO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/radio/radio.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 SynRadio from './radio.component.js';\n\nexport * from './radio.component.js';\nexport default SynRadio;\n\nSynRadio.define('syn-radio');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-radio': SynRadio;\n }\n}\n"],
5
+ "mappings": ";;;;;AASA,IAAO,gBAAQ;AAEf,SAAS,OAAO,WAAW;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ // src/components/textarea/textarea.custom.styles.ts
2
+ import { css } from "lit";
3
+ var textarea_custom_styles_default = css`
4
+
5
+ :host([data-user-invalid]) .textarea--standard {
6
+ border-color: var(--syn-input-border-color-focus-error);
7
+ }
8
+
9
+ :host([data-user-invalid]) .textarea--standard.textarea--focused:not(.textarea--disabled) {
10
+ border-color: var(--syn-input-border-color-focus-error);
11
+ box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error);
12
+ }
13
+
14
+ `;
15
+
16
+ export {
17
+ textarea_custom_styles_default
18
+ };
19
+ //# sourceMappingURL=chunk.YBIBWRKC.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/textarea/textarea.custom.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n\n :host([data-user-invalid]) .textarea--standard {\n border-color: var(--syn-input-border-color-focus-error);\n }\n\n :host([data-user-invalid]) .textarea--standard.textarea--focused:not(.textarea--disabled) {\n border-color: var(--syn-input-border-color-focus-error);\n box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error);\n }\n\n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,iCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,127 @@
1
+ import {
2
+ radio_button_styles_default
3
+ } from "./chunk.OVVMSN4D.js";
4
+ import {
5
+ HasSlotController
6
+ } from "./chunk.XGXFE6IF.js";
7
+ import {
8
+ watch
9
+ } from "./chunk.VZ7S7YYN.js";
10
+ import {
11
+ SynergyElement
12
+ } from "./chunk.ZUNBGZ5R.js";
13
+ import {
14
+ __decorateClass
15
+ } from "./chunk.DJOAQ4JU.js";
16
+
17
+ // src/components/radio-button/radio-button.component.ts
18
+ import { classMap } from "lit/directives/class-map.js";
19
+ import { html } from "lit/static-html.js";
20
+ import { ifDefined } from "lit/directives/if-defined.js";
21
+ import { property, query, state } from "lit/decorators.js";
22
+ var SynRadioButton = class extends SynergyElement {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.hasSlotController = new HasSlotController(this, "[default]", "prefix", "suffix");
26
+ this.hasFocus = false;
27
+ this.checked = false;
28
+ this.disabled = false;
29
+ this.size = "medium";
30
+ }
31
+ connectedCallback() {
32
+ super.connectedCallback();
33
+ this.setAttribute("role", "presentation");
34
+ }
35
+ handleBlur() {
36
+ this.hasFocus = false;
37
+ this.emit("syn-blur");
38
+ }
39
+ handleClick(e) {
40
+ if (this.disabled) {
41
+ e.preventDefault();
42
+ e.stopPropagation();
43
+ return;
44
+ }
45
+ this.checked = true;
46
+ }
47
+ handleFocus() {
48
+ this.hasFocus = true;
49
+ this.emit("syn-focus");
50
+ }
51
+ handleDisabledChange() {
52
+ this.setAttribute("aria-disabled", this.disabled ? "true" : "false");
53
+ }
54
+ /** Sets focus on the radio button. */
55
+ focus(options) {
56
+ this.input.focus(options);
57
+ }
58
+ /** Removes focus from the radio button. */
59
+ blur() {
60
+ this.input.blur();
61
+ }
62
+ render() {
63
+ return html`
64
+ <div part="base" role="presentation">
65
+ <button
66
+ part="${`button${this.checked ? " button--checked" : ""}`}"
67
+ role="radio"
68
+ aria-checked="${this.checked}"
69
+ class=${classMap({
70
+ button: true,
71
+ "button--small": this.size === "small",
72
+ "button--medium": this.size === "medium",
73
+ "button--large": this.size === "large",
74
+ "button--checked": this.checked,
75
+ "button--disabled": this.disabled,
76
+ "button--focused": this.hasFocus,
77
+ "button--outline": true,
78
+ "button--has-label": this.hasSlotController.test("[default]"),
79
+ "button--has-prefix": this.hasSlotController.test("prefix"),
80
+ "button--has-suffix": this.hasSlotController.test("suffix")
81
+ })}
82
+ aria-disabled=${this.disabled}
83
+ type="button"
84
+ value=${ifDefined(this.value)}
85
+ tabindex="${this.checked ? "0" : "-1"}"
86
+ @blur=${this.handleBlur}
87
+ @focus=${this.handleFocus}
88
+ @click=${this.handleClick}
89
+ >
90
+ <slot name="prefix" part="prefix" class="button__prefix"></slot>
91
+ <slot part="label" class="button__label"></slot>
92
+ <slot name="suffix" part="suffix" class="button__suffix"></slot>
93
+ </button>
94
+ </div>
95
+ `;
96
+ }
97
+ };
98
+ SynRadioButton.styles = radio_button_styles_default;
99
+ __decorateClass([
100
+ query(".button")
101
+ ], SynRadioButton.prototype, "input", 2);
102
+ __decorateClass([
103
+ query(".hidden-input")
104
+ ], SynRadioButton.prototype, "hiddenInput", 2);
105
+ __decorateClass([
106
+ state()
107
+ ], SynRadioButton.prototype, "hasFocus", 2);
108
+ __decorateClass([
109
+ property({ type: Boolean, reflect: true })
110
+ ], SynRadioButton.prototype, "checked", 2);
111
+ __decorateClass([
112
+ property()
113
+ ], SynRadioButton.prototype, "value", 2);
114
+ __decorateClass([
115
+ property({ type: Boolean, reflect: true })
116
+ ], SynRadioButton.prototype, "disabled", 2);
117
+ __decorateClass([
118
+ property({ reflect: true })
119
+ ], SynRadioButton.prototype, "size", 2);
120
+ __decorateClass([
121
+ watch("disabled", { waitUntilFirstUpdate: true })
122
+ ], SynRadioButton.prototype, "handleDisabledChange", 1);
123
+
124
+ export {
125
+ SynRadioButton
126
+ };
127
+ //# sourceMappingURL=chunk.YQQJ6ELJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/radio-button/radio-button.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 { HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit/static-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.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 './radio-button.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Radios buttons allow the user to select a single option from a group using a button-like control.\n * @documentation https://synergy.style/components/radio-button\n * @status stable\n * @since 2.0\n *\n * @slot - The radio button's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @event syn-blur - Emitted when the button loses focus.\n * @event syn-focus - Emitted when the button gains focus.\n *\n * @csspart base - The component's base wrapper.\n * @csspart button - The internal `<button>` element.\n * @csspart button--checked - The internal button element when the radio button is checked.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart label - The container that wraps the radio button's label.\n * @csspart suffix - The container that wraps the suffix.\n */\nexport default class SynRadioButton extends SynergyElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, '[default]', 'prefix', 'suffix');\n\n @query('.button') input: HTMLInputElement;\n @query('.hidden-input') hiddenInput: HTMLInputElement;\n\n @state() protected hasFocus = false;\n\n /**\n * @internal The radio button's checked state. This is exposed as an \"internal\" attribute so we can reflect it, making\n * it easier to style in button groups.\n */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The radio's value. When selected, the radio group will receive this value. */\n @property() value: string;\n\n /** Disables the radio button. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\n * this attribute can typically be omitted.\n */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'presentation');\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n this.checked = true;\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n /** Sets focus on the radio button. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the radio button. */\n blur() {\n this.input.blur();\n }\n\n render() {\n return html`\n <div part=\"base\" role=\"presentation\">\n <button\n part=\"${`button${this.checked ? ' button--checked' : ''}`}\"\n role=\"radio\"\n aria-checked=\"${this.checked}\"\n class=${classMap({\n button: true,\n 'button--small': this.size === 'small',\n 'button--medium': this.size === 'medium',\n 'button--large': this.size === 'large',\n 'button--checked': this.checked,\n 'button--disabled': this.disabled,\n 'button--focused': this.hasFocus,\n 'button--outline': true,\n 'button--has-label': this.hasSlotController.test('[default]'),\n 'button--has-prefix': this.hasSlotController.test('prefix'),\n 'button--has-suffix': this.hasSlotController.test('suffix')\n })}\n aria-disabled=${this.disabled}\n type=\"button\"\n value=${ifDefined(this.value)}\n tabindex=\"${this.checked ? '0' : '-1'}\"\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @click=${this.handleClick}\n >\n <slot name=\"prefix\" part=\"prefix\" class=\"button__prefix\"></slot>\n <slot part=\"label\" class=\"button__label\"></slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"button__suffix\"></slot>\n </button>\n </div>\n `;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAMA,SAAS,gBAAgB;AAEzB,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAC1B,SAAS,UAAU,OAAO,aAAa;AA0BvC,IAAqB,iBAArB,cAA4C,eAAe;AAAA,EAA3D;AAAA;AAGE,SAAiB,oBAAoB,IAAI,kBAAkB,MAAM,aAAa,UAAU,QAAQ;AAKvF,SAAU,WAAW;AAMc,mBAAU;AAMV,oBAAW;AAM1B,gBAAqC;AAAA;AAAA,EAElE,oBAAoB;AAClB,UAAM,kBAAkB;AACxB,SAAK,aAAa,QAAQ,cAAc;AAAA,EAC1C;AAAA,EAEQ,aAAa;AACnB,SAAK,WAAW;AAChB,SAAK,KAAK,UAAU;AAAA,EACtB;AAAA,EAEQ,YAAY,GAAe;AACjC,QAAI,KAAK,UAAU;AACjB,QAAE,eAAe;AACjB,QAAE,gBAAgB;AAClB;AAAA,IACF;AAEA,SAAK,UAAU;AAAA,EACjB;AAAA,EAEQ,cAAc;AACpB,SAAK,WAAW;AAChB,SAAK,KAAK,WAAW;AAAA,EACvB;AAAA,EAGA,uBAAuB;AACrB,SAAK,aAAa,iBAAiB,KAAK,WAAW,SAAS,OAAO;AAAA,EACrE;AAAA;AAAA,EAGA,MAAM,SAAwB;AAC5B,SAAK,MAAM,MAAM,OAAO;AAAA,EAC1B;AAAA;AAAA,EAGA,OAAO;AACL,SAAK,MAAM,KAAK;AAAA,EAClB;AAAA,EAEA,SAAS;AACP,WAAO;AAAA;AAAA;AAAA,kBAGO,SAAS,KAAK,UAAU,qBAAqB,EAAE,EAAE;AAAA;AAAA,0BAEzC,KAAK,OAAO;AAAA,kBACpB,SAAS;AAAA,MACf,QAAQ;AAAA,MACR,iBAAiB,KAAK,SAAS;AAAA,MAC/B,kBAAkB,KAAK,SAAS;AAAA,MAChC,iBAAiB,KAAK,SAAS;AAAA,MAC/B,mBAAmB,KAAK;AAAA,MACxB,oBAAoB,KAAK;AAAA,MACzB,mBAAmB,KAAK;AAAA,MACxB,mBAAmB;AAAA,MACnB,qBAAqB,KAAK,kBAAkB,KAAK,WAAW;AAAA,MAC5D,sBAAsB,KAAK,kBAAkB,KAAK,QAAQ;AAAA,MAC1D,sBAAsB,KAAK,kBAAkB,KAAK,QAAQ;AAAA,IAC5D,CAAC,CAAC;AAAA,0BACc,KAAK,QAAQ;AAAA;AAAA,kBAErB,UAAU,KAAK,KAAK,CAAC;AAAA,sBACjB,KAAK,UAAU,MAAM,IAAI;AAAA,kBAC7B,KAAK,UAAU;AAAA,mBACd,KAAK,WAAW;AAAA,mBAChB,KAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjC;AACF;AAvGqB,eACZ,SAAyB;AAId;AAAA,EAAjB,MAAM,SAAS;AAAA,GALG,eAKD;AACM;AAAA,EAAvB,MAAM,eAAe;AAAA,GANH,eAMK;AAEL;AAAA,EAAlB,MAAM;AAAA,GARY,eAQA;AAMyB;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAdvB,eAcyB;AAGhC;AAAA,EAAX,SAAS;AAAA,GAjBS,eAiBP;AAGgC;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GApBvB,eAoByB;AAMf;AAAA,EAA5B,SAAS,EAAE,SAAS,KAAK,CAAC;AAAA,GA1BR,eA0BU;AA4B7B;AAAA,EADC,MAAM,YAAY,EAAE,sBAAsB,KAAK,CAAC;AAAA,GArD9B,eAsDnB;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  button_custom_styles_default
3
- } from "./chunk.MQ3KYTNU.js";
3
+ } from "./chunk.FVSP4LXX.js";
4
4
  import {
5
5
  component_styles_default
6
6
  } from "./chunk.O7USYXBT.js";
@@ -373,4 +373,4 @@ var button_styles_default = css`
373
373
  export {
374
374
  button_styles_default
375
375
  };
376
- //# sourceMappingURL=chunk.OZSASB66.js.map
376
+ //# sourceMappingURL=chunk.YTS5TRJZ.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/button/button.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 componentStyles from '../../styles/component.styles.js';\nimport customStyles from './button.custom.styles.js';\n\nexport default css`\n\t/* stylelint-disable */\n ${componentStyles}\n\n :host {\n display: inline-block;\n position: relative;\n width: auto;\n cursor: pointer;\n }\n\n .button {\n display: inline-flex;\n align-items: stretch;\n justify-content: center;\n width: 100%;\n border-style: solid;\n border-width: var(--syn-input-border-width);\n font-family: var(--syn-input-font-family);\n font-weight: var(--syn-font-weight-semibold);\n text-decoration: none;\n user-select: none;\n -webkit-user-select: none;\n white-space: nowrap;\n vertical-align: middle;\n padding: 0;\n transition:\n var(--syn-transition-x-fast) background-color,\n var(--syn-transition-x-fast) color,\n var(--syn-transition-x-fast) border,\n var(--syn-transition-x-fast) box-shadow;\n cursor: inherit;\n }\n\n .button::-moz-focus-inner {\n border: 0;\n }\n\n .button:focus {\n outline: none;\n }\n\n .button:focus-visible {\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n .button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* When disabled, prevent mouse events from bubbling up from children */\n .button--disabled * {\n pointer-events: none;\n }\n\n .button__prefix,\n .button__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n pointer-events: none;\n }\n\n .button__label {\n display: inline-block;\n }\n\n .button__label::slotted(syn-icon) {\n vertical-align: -2px;\n }\n\n /*\n * Standard buttons\n */\n\n /* Primary */\n .button--filled.button--primary {\n background-color: var(--syn-color-primary-600);\n border-color: var(--syn-color-primary-600);\n color: var(--syn-color-neutral-0);\n }\n\n .button--filled.button--primary:hover:not(.button--disabled) {\n background-color: var(--syn-color-primary-500);\n border-color: var(--syn-color-primary-500);\n color: var(--syn-color-neutral-0);\n }\n\n .button--filled.button--primary:active:not(.button--disabled) {\n background-color: var(--syn-color-primary-600);\n border-color: var(--syn-color-primary-600);\n color: var(--syn-color-neutral-0);\n }\n\n /*\n * Outline buttons\n */\n\n .button--outline {\n background: none;\n border: solid 1px;\n }\n\n /* Primary */\n .button--outline.button--primary {\n border-color: var(--syn-color-primary-600);\n color: var(--syn-color-primary-600);\n }\n\n .button--outline.button--primary:hover:not(.button--disabled),\n .button--outline.button--primary.button--checked:not(.button--disabled) {\n background-color: var(--syn-color-primary-600);\n color: var(--syn-color-neutral-0);\n }\n\n .button--outline.button--primary:active:not(.button--disabled) {\n border-color: var(--syn-color-primary-700);\n background-color: var(--syn-color-primary-700);\n color: var(--syn-color-neutral-0);\n }\n\n /*\n * Text buttons\n */\n\n .button--text {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-600);\n }\n\n .button--text:hover:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-500);\n }\n\n .button--text:focus-visible:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-500);\n }\n\n .button--text:active:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-700);\n }\n\n /*\n * Size modifiers\n */\n\n .button--small {\n height: auto;\n min-height: var(--syn-input-height-small);\n font-size: var(--syn-button-font-size-small);\n line-height: calc(var(--syn-input-height-small) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-small);\n }\n\n .button--medium {\n height: auto;\n min-height: var(--syn-input-height-medium);\n font-size: var(--syn-button-font-size-medium);\n line-height: calc(var(--syn-input-height-medium) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-medium);\n }\n\n .button--large {\n height: auto;\n min-height: var(--syn-input-height-large);\n font-size: var(--syn-button-font-size-large);\n line-height: calc(var(--syn-input-height-large) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-large);\n }\n\n /*\n * Caret modifier\n */\n\n .button--caret .button__suffix {\n display: none;\n }\n\n .button--caret .button__caret {\n height: auto;\n }\n\n /*\n * Loading modifier\n */\n\n .button--loading {\n position: relative;\n cursor: wait;\n }\n\n .button--loading .button__prefix,\n .button--loading .button__label,\n .button--loading .button__suffix,\n .button--loading .button__caret {\n visibility: hidden;\n }\n\n .button--loading syn-spinner {\n --indicator-color: currentColor;\n position: absolute;\n font-size: 1em;\n height: 1em;\n width: 1em;\n top: calc(50% - 0.5em);\n left: calc(50% - 0.5em);\n }\n\n /*\n * Badges\n */\n\n .button ::slotted(syn-badge) {\n position: absolute;\n top: 0;\n right: 0;\n translate: 50% -50%;\n pointer-events: none;\n }\n\n .button--rtl ::slotted(syn-badge) {\n right: auto;\n left: 0;\n translate: -50% -50%;\n }\n\n /*\n * Button spacing\n */\n\n .button--has-label.button--small .button__label {\n padding: 0 var(--syn-spacing-small);\n }\n\n .button--has-label.button--medium .button__label {\n padding: 0 var(--syn-spacing-medium);\n }\n\n .button--has-label.button--large .button__label {\n padding: 0 var(--syn-spacing-large);\n }\n\n .button--has-prefix.button--small {\n padding-inline-start: var(--syn-spacing-x-small);\n }\n\n .button--has-prefix.button--small .button__label {\n padding-inline-start: var(--syn-spacing-x-small);\n }\n\n .button--has-prefix.button--medium {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-prefix.button--medium .button__label {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-prefix.button--large {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-prefix.button--large .button__label {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--small,\n .button--caret.button--small {\n padding-inline-end: var(--syn-spacing-x-small);\n }\n\n .button--has-suffix.button--small .button__label,\n .button--caret.button--small .button__label {\n padding-inline-end: var(--syn-spacing-x-small);\n }\n\n .button--has-suffix.button--medium,\n .button--caret.button--medium {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--medium .button__label,\n .button--caret.button--medium .button__label {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--large,\n .button--caret.button--large {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--large .button__label,\n .button--caret.button--large .button__label {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n /*\n * Button groups support a variety of button types (e.g. buttons with tooltips, buttons as dropdown triggers, etc.).\n * This means buttons aren't always direct descendants of the button group, thus we can't target them with the\n * ::slotted selector. To work around this, the button group component does some magic to add these special classes to\n * buttons and we style them here instead.\n */\n\n :host(.syn-button-group__button--first:not(.syn-button-group__button--last)) .button {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n :host(.syn-button-group__button--inner) .button {\n border-radius: 0;\n }\n\n :host(.syn-button-group__button--last:not(.syn-button-group__button--first)) .button {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n\n /* All except the first */\n :host(.syn-button-group__button:not(.syn-button-group__button--first)) {\n margin-inline-start: calc(-1 * var(--syn-input-border-width));\n }\n\n /* Add a visual separator between solid buttons */\n :host(\n .syn-button-group__button:not(\n .syn-button-group__button--first,\n .syn-button-group__button--radio,\n [variant='filled']\n ):not(:hover)\n )\n .button:after {\n content: '';\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n border-left: solid 1px rgb(128 128 128 / 33%);\n mix-blend-mode: multiply;\n }\n\n /* Bump hovered, focused, and checked buttons up so their focus ring isn't clipped */\n :host(.syn-button-group__button--hover) {\n z-index: 1;\n }\n\n /* Focus and checked are always on top */\n :host(.syn-button-group__button--focus),\n :host(.syn-button-group__button[checked]) {\n z-index: 2;\n }\n\n ${customStyles}\n`;\n\n"],
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 './button.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 position: relative;\n width: auto;\n cursor: pointer;\n }\n\n .button {\n display: inline-flex;\n align-items: stretch;\n justify-content: center;\n width: 100%;\n border-style: solid;\n border-width: var(--syn-input-border-width);\n font-family: var(--syn-input-font-family);\n font-weight: var(--syn-font-weight-semibold);\n text-decoration: none;\n user-select: none;\n -webkit-user-select: none;\n white-space: nowrap;\n vertical-align: middle;\n padding: 0;\n transition:\n var(--syn-transition-x-fast) background-color,\n var(--syn-transition-x-fast) color,\n var(--syn-transition-x-fast) border,\n var(--syn-transition-x-fast) box-shadow;\n cursor: inherit;\n }\n\n .button::-moz-focus-inner {\n border: 0;\n }\n\n .button:focus {\n outline: none;\n }\n\n .button:focus-visible {\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n .button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* When disabled, prevent mouse events from bubbling up from children */\n .button--disabled * {\n pointer-events: none;\n }\n\n .button__prefix,\n .button__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n pointer-events: none;\n }\n\n .button__label {\n display: inline-block;\n }\n\n .button__label::slotted(syn-icon) {\n vertical-align: -2px;\n }\n\n /*\n * Standard buttons\n */\n\n /* Primary */\n .button--filled.button--primary {\n background-color: var(--syn-color-primary-600);\n border-color: var(--syn-color-primary-600);\n color: var(--syn-color-neutral-0);\n }\n\n .button--filled.button--primary:hover:not(.button--disabled) {\n background-color: var(--syn-color-primary-500);\n border-color: var(--syn-color-primary-500);\n color: var(--syn-color-neutral-0);\n }\n\n .button--filled.button--primary:active:not(.button--disabled) {\n background-color: var(--syn-color-primary-600);\n border-color: var(--syn-color-primary-600);\n color: var(--syn-color-neutral-0);\n }\n\n /*\n * Outline buttons\n */\n\n .button--outline {\n background: none;\n border: solid 1px;\n }\n\n /* Primary */\n .button--outline.button--primary {\n border-color: var(--syn-color-primary-600);\n color: var(--syn-color-primary-600);\n }\n\n .button--outline.button--primary:hover:not(.button--disabled),\n .button--outline.button--primary.button--checked:not(.button--disabled) {\n background-color: var(--syn-color-primary-600);\n color: var(--syn-color-neutral-0);\n }\n\n .button--outline.button--primary:active:not(.button--disabled) {\n border-color: var(--syn-color-primary-700);\n background-color: var(--syn-color-primary-700);\n color: var(--syn-color-neutral-0);\n }\n\n /*\n * Text buttons\n */\n\n .button--text {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-600);\n }\n\n .button--text:hover:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-500);\n }\n\n .button--text:focus-visible:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-500);\n }\n\n .button--text:active:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n color: var(--syn-color-primary-700);\n }\n\n /*\n * Size modifiers\n */\n\n .button--small {\n height: auto;\n min-height: var(--syn-input-height-small);\n font-size: var(--syn-button-font-size-small);\n line-height: calc(var(--syn-input-height-small) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-small);\n }\n\n .button--medium {\n height: auto;\n min-height: var(--syn-input-height-medium);\n font-size: var(--syn-button-font-size-medium);\n line-height: calc(var(--syn-input-height-medium) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-medium);\n }\n\n .button--large {\n height: auto;\n min-height: var(--syn-input-height-large);\n font-size: var(--syn-button-font-size-large);\n line-height: calc(var(--syn-input-height-large) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-large);\n }\n\n /*\n * Caret modifier\n */\n\n .button--caret .button__suffix {\n display: none;\n }\n\n .button--caret .button__caret {\n height: auto;\n }\n\n /*\n * Loading modifier\n */\n\n .button--loading {\n position: relative;\n cursor: wait;\n }\n\n .button--loading .button__prefix,\n .button--loading .button__label,\n .button--loading .button__suffix,\n .button--loading .button__caret {\n visibility: hidden;\n }\n\n .button--loading syn-spinner {\n --indicator-color: currentColor;\n position: absolute;\n font-size: 1em;\n height: 1em;\n width: 1em;\n top: calc(50% - 0.5em);\n left: calc(50% - 0.5em);\n }\n\n /*\n * Badges\n */\n\n .button ::slotted(syn-badge) {\n position: absolute;\n top: 0;\n right: 0;\n translate: 50% -50%;\n pointer-events: none;\n }\n\n .button--rtl ::slotted(syn-badge) {\n right: auto;\n left: 0;\n translate: -50% -50%;\n }\n\n /*\n * Button spacing\n */\n\n .button--has-label.button--small .button__label {\n padding: 0 var(--syn-spacing-small);\n }\n\n .button--has-label.button--medium .button__label {\n padding: 0 var(--syn-spacing-medium);\n }\n\n .button--has-label.button--large .button__label {\n padding: 0 var(--syn-spacing-large);\n }\n\n .button--has-prefix.button--small {\n padding-inline-start: var(--syn-spacing-x-small);\n }\n\n .button--has-prefix.button--small .button__label {\n padding-inline-start: var(--syn-spacing-x-small);\n }\n\n .button--has-prefix.button--medium {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-prefix.button--medium .button__label {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-prefix.button--large {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-prefix.button--large .button__label {\n padding-inline-start: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--small,\n .button--caret.button--small {\n padding-inline-end: var(--syn-spacing-x-small);\n }\n\n .button--has-suffix.button--small .button__label,\n .button--caret.button--small .button__label {\n padding-inline-end: var(--syn-spacing-x-small);\n }\n\n .button--has-suffix.button--medium,\n .button--caret.button--medium {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--medium .button__label,\n .button--caret.button--medium .button__label {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--large,\n .button--caret.button--large {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n .button--has-suffix.button--large .button__label,\n .button--caret.button--large .button__label {\n padding-inline-end: var(--syn-spacing-small);\n }\n\n /*\n * Button groups support a variety of button types (e.g. buttons with tooltips, buttons as dropdown triggers, etc.).\n * This means buttons aren't always direct descendants of the button group, thus we can't target them with the\n * ::slotted selector. To work around this, the button group component does some magic to add these special classes to\n * buttons and we style them here instead.\n */\n\n :host(.syn-button-group__button--first:not(.syn-button-group__button--last)) .button {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n }\n\n :host(.syn-button-group__button--inner) .button {\n border-radius: 0;\n }\n\n :host(.syn-button-group__button--last:not(.syn-button-group__button--first)) .button {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n\n /* All except the first */\n :host(.syn-button-group__button:not(.syn-button-group__button--first)) {\n margin-inline-start: calc(-1 * var(--syn-input-border-width));\n }\n\n /* Add a visual separator between solid buttons */\n :host(\n .syn-button-group__button:not(\n .syn-button-group__button--first,\n .syn-button-group__button--radio,\n [variant='filled']\n ):not(:hover)\n )\n .button:after {\n content: '';\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n border-left: solid 1px rgb(128 128 128 / 33%);\n mix-blend-mode: multiply;\n }\n\n /* Bump hovered, focused, and checked buttons up so their focus ring isn't clipped */\n :host(.syn-button-group__button--hover) {\n z-index: 1;\n }\n\n /* Focus and checked are always on top */\n :host(.syn-button-group__button--focus),\n :host(.syn-button-group__button[checked]) {\n z-index: 2;\n }\n\n ${customStyles}\n`;\n\n"],
5
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;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;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,IAsWf,4BAAY;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  formCollections
3
- } from "./chunk.WDCAHRYG.js";
3
+ } from "./chunk.P2LNG2PZ.js";
4
4
 
5
5
  // src/utilities/form.ts
6
6
  function serialize(form) {
@@ -39,4 +39,4 @@ export {
39
39
  serialize,
40
40
  getFormControls
41
41
  };
42
- //# sourceMappingURL=chunk.WTCUSH7V.js.map
42
+ //# sourceMappingURL=chunk.Z3RZUTQU.js.map
@@ -48,7 +48,7 @@ var SynergyElement = class extends LitElement {
48
48
  };
49
49
  /* eslint-disable */
50
50
  // @ts-expect-error This is auto-injected at build time.
51
- SynergyElement.version = "1.0.0-main.9";
51
+ SynergyElement.version = "1.0.1";
52
52
  SynergyElement.dependencies = {};
53
53
  __decorateClass([
54
54
  property()
@@ -60,4 +60,4 @@ __decorateClass([
60
60
  export {
61
61
  SynergyElement
62
62
  };
63
- //# sourceMappingURL=chunk.YOW3IJVJ.js.map
63
+ //# sourceMappingURL=chunk.ZUNBGZ5R.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/internal/synergy-element.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 { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"1.0.0-main.9\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n customElements.define(name, class extends elementConstructor {} as unknown as CustomElementConstructor, options);\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
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 { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"1.0.1\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n customElements.define(name, class extends elementConstructor {} as unknown as CustomElementConstructor, options);\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
5
5
  "mappings": ";;;;;;AAMA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AA+DzB,IAAqB,iBAArB,cAA4C,WAAW;AAAA,EAsErD,cAAc;AACZ,UAAM;AACN,WAAO,QAAS,KAAK,YAAsC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACtG,MAAC,KAAK,YAAsC,OAAO,MAAM,SAAS;AAAA,IACpE,CAAC;AAAA,EACH;AAAA,EA7DA,KACE,MACA,SACuB;AACvB,UAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,MAClC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ,CAAC;AAAA,OACN,QACJ;AAED,SAAK,cAAc,KAAK;AAExB,WAAO;AAAA,EACT;AAAA,EAOA,OAAO,OAAO,MAAc,qBAAqB,MAAM,UAAoC,CAAC,GAAG;AAC7F,UAAM,iCAAiC,eAAe,IAAI,IAAI;AAI9D,QAAI,CAAC,gCAAgC;AACnC,qBAAe,OAAO,MAAM,cAAc,mBAAmB;AAAA,MAAC,GAA0C,OAAO;AAC/G;AAAA,IACF;AAEA,QAAI,aAAa;AACjB,QAAI,kBAAkB;AAEtB,QAAI,aAAa,sBAAsB,mBAAmB,SAAS;AACjE,mBAAa,OAAO,mBAAmB;AAAA,IACzC;AAEA,QAAI,aAAa,kCAAkC,+BAA+B,SAAS;AACzF,wBAAkB,OAAO,+BAA+B;AAAA,IAC1D;AAGA,QAAI,cAAc,mBAAmB,eAAe,iBAAiB;AAEnE;AAAA,IACF;AAEA,YAAQ;AAAA,MACN,0BAA0B,IAAI,IAAI,UAAU,UAAU,IAAI,IAAI,eAAe;AAAA,IAC/E;AAAA,EACF;AAUF;AAAA;AAAA;AA5EqB,eAiCZ,UAAU;AAjCE,eAoEZ,eAAsD,CAAC;AAlElD;AAAA,EAAX,SAAS;AAAA,GAFS,eAEP;AACA;AAAA,EAAX,SAAS;AAAA,GAHS,eAGP;",
6
6
  "names": []
7
7
  }
@@ -1,21 +1,23 @@
1
1
  import {
2
2
  SynButton
3
- } from "../../chunks/chunk.6CFDQNJT.js";
4
- import "../../chunks/chunk.SGZ5ADPY.js";
3
+ } from "../../chunks/chunk.N2EPATPO.js";
4
+ import "../../chunks/chunk.2AFAC4WC.js";
5
5
  import "../../chunks/chunk.N2I6HVX3.js";
6
- import "../../chunks/chunk.XGXFE6IF.js";
7
6
  import "../../chunks/chunk.R6VNLE6N.js";
8
7
  import "../../chunks/chunk.A3SKDWCT.js";
9
- import "../../chunks/chunk.WDCAHRYG.js";
10
- import "../../chunks/chunk.OZSASB66.js";
11
- import "../../chunks/chunk.MQ3KYTNU.js";
12
- import "../../chunks/chunk.IZS6SARK.js";
13
- import "../../chunks/chunk.YOW3IJVJ.js";
14
- import "../../chunks/chunk.BREU4ILT.js";
15
- import "../../chunks/chunk.5OIEI73E.js";
8
+ import "../../chunks/chunk.XGXFE6IF.js";
9
+ import "../../chunks/chunk.P2LNG2PZ.js";
10
+ import "../../chunks/chunk.SUJGOV4C.js";
11
+ import "../../chunks/chunk.VZ7S7YYN.js";
12
+ import "../../chunks/chunk.4XAK6MOQ.js";
16
13
  import "../../chunks/chunk.6C4JXZZN.js";
17
- import "../../chunks/chunk.U7ZJ22QM.js";
14
+ import "../../chunks/chunk.GNAJOKCJ.js";
15
+ import "../../chunks/chunk.RSONAU45.js";
16
+ import "../../chunks/chunk.PJO6TM3T.js";
18
17
  import "../../chunks/chunk.C7624ITA.js";
18
+ import "../../chunks/chunk.YTS5TRJZ.js";
19
+ import "../../chunks/chunk.FVSP4LXX.js";
20
+ import "../../chunks/chunk.ZUNBGZ5R.js";
19
21
  import "../../chunks/chunk.O7USYXBT.js";
20
22
  import "../../chunks/chunk.DJOAQ4JU.js";
21
23
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  button_custom_styles_default
3
- } from "../../chunks/chunk.MQ3KYTNU.js";
3
+ } from "../../chunks/chunk.FVSP4LXX.js";
4
4
  import "../../chunks/chunk.DJOAQ4JU.js";
5
5
  export {
6
6
  button_custom_styles_default as default