@mozaic-ds/web-components 1.0.0-alpha.4 → 1.0.0-alpha.5

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 (203) hide show
  1. package/dist/{components/badge → badge}/Badge.js +1 -1
  2. package/dist/badge/Badge.js.map +1 -0
  3. package/dist/badge/Badge.svelte +66 -0
  4. package/dist/badge/Badge.svelte.d.ts +10 -0
  5. package/dist/badge/Badge.svelte.d.ts.map +1 -0
  6. package/dist/badge/badge.types.d.ts +3 -0
  7. package/dist/badge/badge.types.d.ts.map +1 -0
  8. package/dist/badge/badge.types.js +1 -0
  9. package/dist/bundle.js +31 -0
  10. package/dist/{components/button → button}/Button.js +1 -1
  11. package/dist/button/Button.js.map +1 -0
  12. package/dist/button/Button.svelte +466 -0
  13. package/dist/button/Button.svelte.d.ts +43 -0
  14. package/dist/button/Button.svelte.d.ts.map +1 -0
  15. package/dist/{components/button → button}/IconButton.js +1 -1
  16. package/dist/button/IconButton.js.map +1 -0
  17. package/dist/button/IconButton.svelte +395 -0
  18. package/dist/button/IconButton.svelte.d.ts +15 -0
  19. package/dist/button/IconButton.svelte.d.ts.map +1 -0
  20. package/dist/button/button.types.d.ts +13 -0
  21. package/dist/button/button.types.d.ts.map +1 -0
  22. package/dist/button/button.types.js +1 -0
  23. package/dist/{components/checkbox → checkbox}/Checkbox.js +1 -1
  24. package/dist/checkbox/Checkbox.js.map +1 -0
  25. package/dist/checkbox/Checkbox.svelte +199 -0
  26. package/dist/checkbox/Checkbox.svelte.d.ts +14 -0
  27. package/dist/checkbox/Checkbox.svelte.d.ts.map +1 -0
  28. package/dist/{components/checkboxgroup → checkboxgroup}/checkboxGroup.js +1 -1
  29. package/dist/checkboxgroup/checkboxGroup.js.map +1 -0
  30. package/dist/checkboxgroup/checkboxGroup.svelte +208 -0
  31. package/dist/checkboxgroup/checkboxGroup.svelte.d.ts +11 -0
  32. package/dist/checkboxgroup/checkboxGroup.svelte.d.ts.map +1 -0
  33. package/dist/checkboxgroup/checkboxgroup.types.d.ts +11 -0
  34. package/dist/checkboxgroup/checkboxgroup.types.d.ts.map +1 -0
  35. package/dist/checkboxgroup/checkboxgroup.types.js +1 -0
  36. package/dist/{components/field → field}/Field.js +1 -1
  37. package/dist/field/Field.js.map +1 -0
  38. package/dist/field/Field.svelte +141 -0
  39. package/dist/field/Field.svelte.d.ts +40 -0
  40. package/dist/field/Field.svelte.d.ts.map +1 -0
  41. package/dist/{components/link → link}/Link.js +1 -1
  42. package/dist/link/Link.js.map +1 -0
  43. package/dist/link/Link.svelte +132 -0
  44. package/dist/link/Link.svelte.d.ts +42 -0
  45. package/dist/link/Link.svelte.d.ts.map +1 -0
  46. package/dist/link/link.types.d.ts +4 -0
  47. package/dist/link/link.types.d.ts.map +1 -0
  48. package/dist/link/link.types.js +1 -0
  49. package/dist/{components/loader → loader}/Loader.js +1 -1
  50. package/dist/loader/Loader.js.map +1 -0
  51. package/dist/loader/Loader.svelte +182 -0
  52. package/dist/loader/Loader.svelte.d.ts +11 -0
  53. package/dist/loader/Loader.svelte.d.ts.map +1 -0
  54. package/dist/loader/loader.types.d.ts +3 -0
  55. package/dist/loader/loader.types.d.ts.map +1 -0
  56. package/dist/loader/loader.types.js +1 -0
  57. package/dist/{components/overlay → overlay}/Overlay.js +1 -1
  58. package/dist/overlay/Overlay.js.map +1 -0
  59. package/dist/overlay/Overlay.svelte +106 -0
  60. package/dist/overlay/Overlay.svelte.d.ts +32 -0
  61. package/dist/overlay/Overlay.svelte.d.ts.map +1 -0
  62. package/dist/{components/overlay → overlay}/OverlayLoader.js +1 -1
  63. package/dist/overlay/OverlayLoader.js.map +1 -0
  64. package/dist/overlay/OverlayLoader.svelte +200 -0
  65. package/dist/overlay/OverlayLoader.svelte.d.ts +9 -0
  66. package/dist/overlay/OverlayLoader.svelte.d.ts.map +1 -0
  67. package/dist/{components/quantityselector → quantityselector}/QuantitySelector.js +1 -1
  68. package/dist/quantityselector/QuantitySelector.js.map +1 -0
  69. package/dist/quantityselector/QuantitySelector.svelte +260 -0
  70. package/dist/quantityselector/QuantitySelector.svelte.d.ts +18 -0
  71. package/dist/quantityselector/QuantitySelector.svelte.d.ts.map +1 -0
  72. package/dist/{components/radio → radio}/Radio.js +1 -1
  73. package/dist/radio/Radio.js.map +1 -0
  74. package/dist/radio/Radio.svelte +109 -0
  75. package/dist/radio/Radio.svelte.d.ts +11 -0
  76. package/dist/radio/Radio.svelte.d.ts.map +1 -0
  77. package/dist/{components/radiogroup → radiogroup}/RadioGroup.js +1 -1
  78. package/dist/radiogroup/RadioGroup.js.map +1 -0
  79. package/dist/radiogroup/RadioGroup.svelte +219 -0
  80. package/dist/radiogroup/RadioGroup.svelte.d.ts +13 -0
  81. package/dist/radiogroup/RadioGroup.svelte.d.ts.map +1 -0
  82. package/dist/radiogroup/radioGroup.types.d.ts +9 -0
  83. package/dist/radiogroup/radioGroup.types.d.ts.map +1 -0
  84. package/dist/radiogroup/radioGroup.types.js +1 -0
  85. package/dist/{components/select → select}/Select.js +1 -1
  86. package/dist/select/Select.js.map +1 -0
  87. package/dist/select/Select.svelte +134 -0
  88. package/dist/select/Select.svelte.d.ts +16 -0
  89. package/dist/select/Select.svelte.d.ts.map +1 -0
  90. package/dist/select/select.types.d.ts +9 -0
  91. package/dist/select/select.types.d.ts.map +1 -0
  92. package/dist/select/select.types.js +1 -0
  93. package/dist/{components/statusbadge → statusbadge}/StatusBadge.js +1 -1
  94. package/dist/statusbadge/StatusBadge.js.map +1 -0
  95. package/dist/statusbadge/StatusBadge.svelte +81 -0
  96. package/dist/statusbadge/StatusBadge.svelte.d.ts +32 -0
  97. package/dist/statusbadge/StatusBadge.svelte.d.ts.map +1 -0
  98. package/dist/{components/statusbadge → statusbadge}/StatusDot.js +1 -1
  99. package/dist/statusbadge/StatusDot.js.map +1 -0
  100. package/dist/statusbadge/StatusDot.svelte +49 -0
  101. package/dist/statusbadge/StatusDot.svelte.d.ts +9 -0
  102. package/dist/statusbadge/StatusDot.svelte.d.ts.map +1 -0
  103. package/dist/statusbadge/badge.types.d.ts +3 -0
  104. package/dist/statusbadge/badge.types.d.ts.map +1 -0
  105. package/dist/statusbadge/badge.types.js +1 -0
  106. package/dist/{components/textarea → textarea}/Textarea.js +1 -1
  107. package/dist/textarea/Textarea.js.map +1 -0
  108. package/dist/textarea/Textarea.svelte +178 -0
  109. package/dist/textarea/Textarea.svelte.d.ts +32 -0
  110. package/dist/textarea/Textarea.svelte.d.ts.map +1 -0
  111. package/dist/{components/textinput → textinput}/Textinput.js +1 -1
  112. package/dist/textinput/Textinput.js.map +1 -0
  113. package/dist/textinput/Textinput.svelte +288 -0
  114. package/dist/textinput/Textinput.svelte.d.ts +41 -0
  115. package/dist/textinput/Textinput.svelte.d.ts.map +1 -0
  116. package/dist/textinput/textinput.types.d.ts +3 -0
  117. package/dist/textinput/textinput.types.d.ts.map +1 -0
  118. package/dist/textinput/textinput.types.js +1 -0
  119. package/dist/{components/toggle → toggle}/Toggle.js +1 -1
  120. package/dist/toggle/Toggle.js.map +1 -0
  121. package/dist/toggle/Toggle.svelte +161 -0
  122. package/dist/toggle/Toggle.svelte.d.ts +29 -0
  123. package/dist/toggle/Toggle.svelte.d.ts.map +1 -0
  124. package/dist/toggle/toggle.types.d.ts +2 -0
  125. package/dist/toggle/toggle.types.d.ts.map +1 -0
  126. package/dist/toggle/toggle.types.js +1 -0
  127. package/package.json +13 -13
  128. package/dist/Badge.d.ts +0 -5
  129. package/dist/Button.d.ts +0 -5
  130. package/dist/Checkbox.d.ts +0 -5
  131. package/dist/Field.d.ts +0 -5
  132. package/dist/IconButton.d.ts +0 -5
  133. package/dist/Link.d.ts +0 -5
  134. package/dist/Loader.d.ts +0 -5
  135. package/dist/Overlay.d.ts +0 -5
  136. package/dist/OverlayLoader.d.ts +0 -5
  137. package/dist/QuantitySelector.d.ts +0 -5
  138. package/dist/Radio.d.ts +0 -5
  139. package/dist/RadioGroup.d.ts +0 -5
  140. package/dist/Select.d.ts +0 -5
  141. package/dist/StatusBadge.d.ts +0 -5
  142. package/dist/StatusDot.d.ts +0 -5
  143. package/dist/Textarea.d.ts +0 -5
  144. package/dist/Textinput.d.ts +0 -5
  145. package/dist/Toggle.d.ts +0 -5
  146. package/dist/checkboxGroup.d.ts +0 -5
  147. package/dist/components/badge/Badge.d.ts +0 -4
  148. package/dist/components/badge/Badge.js.map +0 -1
  149. package/dist/components/badge/Badge.svelte +0 -34
  150. package/dist/components/button/Button.d.ts +0 -4
  151. package/dist/components/button/Button.js.map +0 -1
  152. package/dist/components/button/Button.svelte +0 -133
  153. package/dist/components/button/IconButton.d.ts +0 -4
  154. package/dist/components/button/IconButton.js.map +0 -1
  155. package/dist/components/checkbox/Checkbox.d.ts +0 -4
  156. package/dist/components/checkbox/Checkbox.js.map +0 -1
  157. package/dist/components/checkbox/Checkbox.svelte +0 -54
  158. package/dist/components/checkboxgroup/checkboxGroup.d.ts +0 -4
  159. package/dist/components/checkboxgroup/checkboxGroup.js.map +0 -1
  160. package/dist/components/checkboxgroup/checkboxGroup.svelte +0 -63
  161. package/dist/components/field/Field.d.ts +0 -4
  162. package/dist/components/field/Field.js.map +0 -1
  163. package/dist/components/field/Field.svelte +0 -66
  164. package/dist/components/iconbutton/IconButton.svelte +0 -62
  165. package/dist/components/link/Link.d.ts +0 -4
  166. package/dist/components/link/Link.js.map +0 -1
  167. package/dist/components/link/Link.svelte +0 -65
  168. package/dist/components/loader/Loader.d.ts +0 -4
  169. package/dist/components/loader/Loader.js.map +0 -1
  170. package/dist/components/loader/Loader.svelte +0 -89
  171. package/dist/components/overlay/Overlay.d.ts +0 -4
  172. package/dist/components/overlay/Overlay.js.map +0 -1
  173. package/dist/components/overlay/Overlay.svelte +0 -21
  174. package/dist/components/overlay/OverlayLoader.d.ts +0 -4
  175. package/dist/components/overlay/OverlayLoader.js.map +0 -1
  176. package/dist/components/overlayloader/OverlayLoader.svelte +0 -23
  177. package/dist/components/quantityselector/QuantitySelector.d.ts +0 -4
  178. package/dist/components/quantityselector/QuantitySelector.js.map +0 -1
  179. package/dist/components/quantityselector/QuantitySelector.svelte +0 -111
  180. package/dist/components/radio/Radio.d.ts +0 -4
  181. package/dist/components/radio/Radio.js.map +0 -1
  182. package/dist/components/radio/Radio.svelte +0 -37
  183. package/dist/components/radiogroup/RadioGroup.d.ts +0 -4
  184. package/dist/components/radiogroup/RadioGroup.js.map +0 -1
  185. package/dist/components/radiogroup/RadioGroup.svelte +0 -72
  186. package/dist/components/select/Select.d.ts +0 -4
  187. package/dist/components/select/Select.js.map +0 -1
  188. package/dist/components/select/Select.svelte +0 -75
  189. package/dist/components/statusbadge/StatusBadge.d.ts +0 -4
  190. package/dist/components/statusbadge/StatusBadge.js.map +0 -1
  191. package/dist/components/statusbadge/StatusBadge.svelte +0 -22
  192. package/dist/components/statusbadge/StatusDot.d.ts +0 -4
  193. package/dist/components/statusbadge/StatusDot.js.map +0 -1
  194. package/dist/components/statusdot/StatusDot.svelte +0 -22
  195. package/dist/components/textarea/Textarea.d.ts +0 -4
  196. package/dist/components/textarea/Textarea.js.map +0 -1
  197. package/dist/components/textarea/Textarea.svelte +0 -58
  198. package/dist/components/textinput/Textinput.d.ts +0 -4
  199. package/dist/components/textinput/Textinput.js.map +0 -1
  200. package/dist/components/textinput/Textinput.svelte +0 -143
  201. package/dist/components/toggle/Toggle.d.ts +0 -4
  202. package/dist/components/toggle/Toggle.js.map +0 -1
  203. package/dist/components/toggle/Toggle.svelte +0 -54
@@ -1,4 +1,4 @@
1
- import{c as g,p as b,a as u,b as d,t as m,f as v,k as h,B as p,j as w,e as x,g as k,h as y,i as n,r as z}from"../../custom-element.js";var _=m("<div> </div>");const j={hash:"svelte-1hwtfua",code:`/**
1
+ import{c as g,p as b,a as u,b as d,t as m,f as v,k as h,B as p,j as w,e as x,g as k,h as y,i as n,r as z}from"../custom-element.js";var _=m("<div> </div>");const j={hash:"svelte-1hwtfua",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-badge.svelte-1hwtfua {color:var(--badge-color-text-standard, #ffffff);background-color:var(--badge-color-background-standard, #464e63);height:1rem;min-width:1rem;padding:0 0.125rem;font-size:0.625rem;border-radius:1rem;font-weight:600;display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;}.mc-badge--m.svelte-1hwtfua {height:1.5rem;min-width:1.5rem;padding:0 0.25rem;font-size:0.75rem;}.mc-badge--accent.svelte-1hwtfua {color:var(--badge-color-text-accent, #ffffff);background-color:var(--badge-color-background-accent, #117f03);}.mc-badge--danger.svelte-1hwtfua {color:var(--badge-color-text-danger, #ffffff);background-color:var(--badge-color-background-danger, #c61112);}.mc-badge--inverse.svelte-1hwtfua {color:var(--badge-color-text-inverse, #464e63);background-color:var(--badge-color-background-inverse, #ffffff);}`};function B(l,a){b(a,!0),u(l,j);let s=d(a,"label",7,""),o=d(a,"style",7,"standard"),t=d(a,"size",7,"s");function f(e){const c=["mc-badge"];return e&&c.push(`mc-badge--${e}`),t()&&c.push(`mc-badge--${t()}`),c.join(" ")}var r=_(),i=x(r,!0);return z(r),v(e=>{h(r,1,p(e),"svelte-1hwtfua"),w(i,s())},[()=>f(o())]),k(l,r),y({get label(){return s()},set label(e=""){s(e),n()},get style(){return o()},set style(e="standard"){o(e),n()},get size(){return t()},set size(e="s"){t(e),n()}})}customElements.define("m-badge",g(B,{label:{},style:{},size:{}},[],[],!1));
4
4
  //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","sources":["../../src/components/badge/Badge.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-badge', shadow: 'none' }} />\n\n<script lang=\"ts\">\n import type { BadgeStyle, BadgeSize } from './badge.types';\n interface Props {\n label: string;\n style: BadgeStyle;\n size: BadgeSize;\n }\n\n let { label = '', style = 'standard', size = 's' }: Props = $props();\n\n function setClasses(style: BadgeStyle) {\n const classes = ['mc-badge'];\n\n if (style) {\n classes.push(`mc-badge--${style}`);\n }\n\n if (size) {\n classes.push(`mc-badge--${size}`);\n }\n\n return classes.join(' ');\n }\n</script>\n\n<div class={setClasses(style)}>\n {label}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/badge';\n</style>\n"],"names":["label","style","size","setClasses","classes"],"mappings":";;63BAUQ,IAAAA,gBAAQ,EAAE,EAAEC,gBAAQ,UAAU,EAAEC,eAAO,GAAG,WAEvCC,EAAWF,EAAmB,CAC/B,MAAAG,GAAW,UAAU,EAEvB,OAAAH,GACFG,EAAQ,KAAI,aAAcH,CAAK,EAAA,EAG7BC,EAAI,GACNE,EAAQ,KAAI,aAAcF,EAAI,CAAA,EAAA,EAGzBE,EAAQ,KAAK,GAAG,CACzB,wEAICJ,GAAK,GADI,CAAA,IAAAG,EAAWF,GAAK,CAAA,iDAjBZ,GAAE,+CAAU,WAAU,6CAAS,IAAG"}
@@ -0,0 +1,66 @@
1
+ <svelte:options customElement={{ tag: 'm-badge', shadow: 'none' }} />
2
+
3
+ <script lang="ts">
4
+ import type { BadgeStyle, BadgeSize } from './badge.types';
5
+ interface Props {
6
+ label: string;
7
+ style: BadgeStyle;
8
+ size: BadgeSize;
9
+ }
10
+
11
+ let { label = '', style = 'standard', size = 's' }: Props = $props();
12
+
13
+ function setClasses(style: BadgeStyle) {
14
+ const classes = ['mc-badge'];
15
+
16
+ if (style) {
17
+ classes.push(`mc-badge--${style}`);
18
+ }
19
+
20
+ if (size) {
21
+ classes.push(`mc-badge--${size}`);
22
+ }
23
+
24
+ return classes.join(' ');
25
+ }
26
+ </script>
27
+
28
+ <div class={setClasses(style)}>
29
+ {label}
30
+ </div>
31
+
32
+ <style>/**
33
+ * Do not edit directly, this file was auto-generated.
34
+ */
35
+ .mc-badge {
36
+ color: var(--badge-color-text-standard, #ffffff);
37
+ background-color: var(--badge-color-background-standard, #464e63);
38
+ height: 1rem;
39
+ min-width: 1rem;
40
+ padding: 0 0.125rem;
41
+ font-size: 0.625rem;
42
+ border-radius: 1rem;
43
+ font-weight: 600;
44
+ display: inline-flex;
45
+ align-items: center;
46
+ box-sizing: border-box;
47
+ justify-content: center;
48
+ }
49
+ .mc-badge--m {
50
+ height: 1.5rem;
51
+ min-width: 1.5rem;
52
+ padding: 0 0.25rem;
53
+ font-size: 0.75rem;
54
+ }
55
+ .mc-badge--accent {
56
+ color: var(--badge-color-text-accent, #ffffff);
57
+ background-color: var(--badge-color-background-accent, #117f03);
58
+ }
59
+ .mc-badge--danger {
60
+ color: var(--badge-color-text-danger, #ffffff);
61
+ background-color: var(--badge-color-background-danger, #c61112);
62
+ }
63
+ .mc-badge--inverse {
64
+ color: var(--badge-color-text-inverse, #464e63);
65
+ background-color: var(--badge-color-background-inverse, #ffffff);
66
+ }</style>
@@ -0,0 +1,10 @@
1
+ import type { BadgeStyle, BadgeSize } from './badge.types';
2
+ interface Props {
3
+ label: string;
4
+ style: BadgeStyle;
5
+ size: BadgeSize;
6
+ }
7
+ declare const Badge: import("svelte").Component<Props, {}, "">;
8
+ type Badge = ReturnType<typeof Badge>;
9
+ export default Badge;
10
+ //# sourceMappingURL=Badge.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.svelte.d.ts","sourceRoot":"","sources":["../../src/components/badge/Badge.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAgCH,QAAA,MAAM,KAAK,2CAAsC,CAAC;AAClD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type BadgeStyle = 'danger' | 'accent' | 'inverse' | 'standard';
2
+ export type BadgeSize = 's' | 'm';
3
+ //# sourceMappingURL=badge.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.types.d.ts","sourceRoot":"","sources":["../../src/components/badge/badge.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/bundle.js ADDED
@@ -0,0 +1,31 @@
1
+
2
+ import Button from './components/button/Button.js';
3
+ import IconButton from './components/button/IconButton.js';
4
+
5
+ import Checkbox from './components/checkbox/Checkbox.js';
6
+ import CheckboxGroup from './components/checkboxgroup/checkboxGroup.js';
7
+ import Textarea from './components/textarea/Textarea.js';
8
+ import Select from './components/select/Select.js';
9
+
10
+ import Toggle from './components/toggle/Toggle.js';
11
+
12
+ import Field from './components/field/Field.js';
13
+
14
+ import Link from './components/link/Link.js';
15
+
16
+ import Loader from './components/loader/Loader.js';
17
+
18
+ import Textinput from './components/textinput/Textinput.js';
19
+
20
+ import Overlay from './components/overlay/Overlay.js';
21
+ import OverlayLoader from './components/overlay/OverlayLoader.js';
22
+
23
+ import Radio from './components/radio/Radio.js';
24
+ import RadioGroup from './components/radiogroup/RadioGroup.js';
25
+
26
+ import QuantitySelector from './components/quantityselector/QuantitySelector.js';
27
+
28
+ import Badge from './components/badge/Badge.js';
29
+ import StatusBadge from './components/statusbadge/StatusBadge.js';
30
+ import StatusDot from './components/statusbadge/StatusDot.js';
31
+
@@ -1,4 +1,4 @@
1
- import{c as W,p as X,a as Y,b as g,t as x,s as N,e as y,f as K,g as d,h as Z,i as m,r as z,k as $,o as oo,al as h,am as _}from"../../custom-element.js";import{i}from"../../if.js";import{h as O}from"../../html.js";import{s as to,a as L}from"../../slot.js";import{b as eo,C as ro}from"../../attributes.js";import{L as no}from"../loader/Loader.js";var ao=x('<span class="mc-button__icon svelte-jolktj"><!></span>'),lo=x('<span class="mc-button__icon svelte-jolktj"><!></span>'),co=x("<span><!></span>"),so=x('<span class="mc-button__icon svelte-jolktj"><!></span>'),bo=x("<button><!> <!> <!> <!></button>");const uo={hash:"svelte-jolktj",code:`/**
1
+ import{c as W,p as X,a as Y,b as g,t as x,s as N,e as y,f as K,g as d,h as Z,i as m,r as z,k as $,o as oo,al as h,am as _}from"../custom-element.js";import{i}from"../if.js";import{h as O}from"../html.js";import{s as to,a as L}from"../slot.js";import{b as eo,C as ro}from"../attributes.js";import{L as no}from"../loader/Loader.js";var ao=x('<span class="mc-button__icon svelte-jolktj"><!></span>'),lo=x('<span class="mc-button__icon svelte-jolktj"><!></span>'),co=x("<span><!></span>"),so=x('<span class="mc-button__icon svelte-jolktj"><!></span>'),bo=x("<button><!> <!> <!> <!></button>");const uo={hash:"svelte-jolktj",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-button.svelte-jolktj {color:var(--button-color-filled-standard-font, #ffffff);background-color:var(--button-color-filled-standard-background, #464e63);font-weight:600;padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;display:inline-flex;justify-content:center;vertical-align:middle;text-align:center;border:2px solid transparent;border-radius:0.25rem;transition:all ease 200ms;transition:box-shadow 200ms ease;align-items:center;box-sizing:border-box;fill:currentcolor;gap:0.25rem;cursor:pointer;}.mc-button.svelte-jolktj:hover {background-color:var(--button-color-filled-standard-hover-background, #343b4c);}.mc-button.svelte-jolktj:active {background-color:var(--button-color-filled-standard-active-background, #242938);}.mc-button.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button.svelte-jolktj .mc-button__label:where(.svelte-jolktj) {font-size:1rem;}.mc-button--s.svelte-jolktj {padding:0 calc(0.75rem - 0.125rem);min-height:2rem;min-width:2rem;}.mc-button--s.svelte-jolktj .mc-button__label:where(.svelte-jolktj) {font-size:0.875rem;}.mc-button--s.svelte-jolktj .mc-button__icon:where(.svelte-jolktj) {width:1.25rem;height:1.25rem;}.mc-button--s.svelte-jolktj .mc-button__icon:where(.svelte-jolktj):only-child {width:1.25rem;height:1.25rem;}.mc-button--m.svelte-jolktj {padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button--m.svelte-jolktj .mc-button__label:where(.svelte-jolktj) {font-size:1rem;}.mc-button--m.svelte-jolktj .mc-button__icon:where(.svelte-jolktj) {width:1.5rem;height:1.5rem;}.mc-button--m.svelte-jolktj .mc-button__icon:where(.svelte-jolktj):only-child {width:1.5rem;height:1.5rem;}.mc-button--l.svelte-jolktj {padding:0 calc(1.25rem - 0.125rem);min-height:4rem;min-width:4rem;}.mc-button--l.svelte-jolktj .mc-button__label:where(.svelte-jolktj) {font-size:1.125rem;}.mc-button--l.svelte-jolktj .mc-button__icon:where(.svelte-jolktj) {width:2rem;height:2rem;}.mc-button--l.svelte-jolktj .mc-button__icon:where(.svelte-jolktj):only-child {width:2rem;height:2rem;}.mc-button__label.svelte-jolktj {font-size:1rem;}.mc-button__icon.svelte-jolktj {flex-shrink:0;width:1.5rem;height:1.5rem;}.mc-button.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button.svelte-jolktj:focus-visible {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-button--icon-only.svelte-jolktj {padding:0.25rem;}.mc-button--outlined.svelte-jolktj {color:var(--button-color-outlined-standard-font, #242938);border-color:var(--button-color-outlined-standard-border, #8891aa);background-color:var(--button-color-outlined-standard-background, #ffffff);}.mc-button--outlined.svelte-jolktj:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.svelte-jolktj:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.svelte-jolktj {color:var(--button-color-ghost-standard-font, #242938);background-color:var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.svelte-jolktj:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.svelte-jolktj:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--accent.svelte-jolktj {color:var(--button-color-filled-accent-font, #ffffff);background-color:var(--button-color-filled-accent-background, #117f03);}.mc-button--accent.svelte-jolktj:hover {background-color:var(--button-color-filled-accent-hover-background, #006902);}.mc-button--accent.svelte-jolktj:active {background-color:var(--button-color-filled-accent-active-background, #035010);}.mc-button--accent.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--danger.svelte-jolktj {color:var(--button-color-filled-danger-font, #ffffff);background-color:var(--button-color-filled-danger-background, #c61112);}.mc-button--danger.svelte-jolktj:hover {background-color:var(--button-color-filled-danger-hover-background, #8c0003);}.mc-button--danger.svelte-jolktj:active {background-color:var(--button-color-filled-danger-active-background, #530000);}.mc-button--danger.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--inverse.svelte-jolktj {--focus-color-mid: var(--focus-color-outline-outer, #000000);--focus-color-outer: var(--focus-color-outline-mid, #ffffff);color:var(--button-color-filled-inverse-font, #242938);background-color:var(--button-color-filled-inverse-background, #ffffff);}.mc-button--inverse.svelte-jolktj:hover {background-color:var(--button-color-filled-inverse-hover-background, #e6e6e6);}.mc-button--inverse.svelte-jolktj:active {background-color:var(--button-color-filled-inverse-active-background, #cccccc);}.mc-button--inverse.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--icon-button.svelte-jolktj {border-radius:100%;padding:0;}.mc-button--loading.svelte-jolktj .mc-button__label:where(.svelte-jolktj),
4
4
  .mc-button--loading.svelte-jolktj .mc-button__icon:where(.svelte-jolktj) {visibility:hidden;}.mc-button--outlined.mc-button--standard.svelte-jolktj {color:var(--button-color-outlined-standard-font, #242938);border-color:var(--button-color-outlined-standard-border, #8891aa);background-color:var(--button-color-outlined-standard-background, #ffffff);}.mc-button--outlined.mc-button--standard.svelte-jolktj:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.mc-button--standard.svelte-jolktj:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.mc-button--standard.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--accent.svelte-jolktj {color:var(--button-color-outlined-accent-font, #117f03);border-color:var(--button-color-outlined-accent-border, #78be20);background-color:var(--button-color-outlined-accent-background, #ffffff);}.mc-button--outlined.mc-button--accent.svelte-jolktj:hover {background-color:var(--button-color-outlined-accent-hover-background, #ebf5de);}.mc-button--outlined.mc-button--accent.svelte-jolktj:active {background-color:var(--button-color-outlined-accent-active-background, #c5e39e);}.mc-button--outlined.mc-button--accent.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--danger.svelte-jolktj {color:var(--button-color-outlined-danger-font, #c61112);border-color:var(--button-color-outlined-danger-border, #ef5f5c);background-color:var(--button-color-outlined-danger-background, #ffffff);}.mc-button--outlined.mc-button--danger.svelte-jolktj:hover {background-color:var(--button-color-outlined-danger-hover-background, #fdeaea);}.mc-button--outlined.mc-button--danger.svelte-jolktj:active {background-color:var(--button-color-outlined-danger-active-background, #f8bcbb);}.mc-button--outlined.mc-button--danger.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--inverse.svelte-jolktj {color:var(--button-color-outlined-inverse-font, #ffffff);border-color:var(--button-color-outlined-inverse-border, #ffffff);background-color:var(--button-color-outlined-inverse-background, rgba(255, 255, 255, 0.01));}.mc-button--outlined.mc-button--inverse.svelte-jolktj:hover {background-color:var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--outlined.mc-button--inverse.svelte-jolktj:active {background-color:var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--outlined.mc-button--inverse.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--standard.svelte-jolktj {color:var(--button-color-ghost-standard-font, #242938);background-color:var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--standard.svelte-jolktj:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.mc-button--standard.svelte-jolktj:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.mc-button--standard.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--accent.svelte-jolktj {color:var(--button-color-ghost-accent-font, #117f03);background-color:var(--button-color-ghost-accent-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--accent.svelte-jolktj:hover {background-color:var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));}.mc-button--ghost.mc-button--accent.svelte-jolktj:active {background-color:var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));}.mc-button--ghost.mc-button--accent.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--danger.svelte-jolktj {color:var(--button-color-ghost-danger-font, #c61112);background-color:var(--button-color-ghost-danger-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--danger.svelte-jolktj:hover {background-color:var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));}.mc-button--ghost.mc-button--danger.svelte-jolktj:active {background-color:var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));}.mc-button--ghost.mc-button--danger.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--inverse.svelte-jolktj {color:var(--button-color-ghost-inverse-font, #ffffff);background-color:var(--button-color-ghost-inverse-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--inverse.svelte-jolktj:hover {background-color:var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--ghost.mc-button--inverse.svelte-jolktj:active {background-color:var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--ghost.mc-button--inverse.svelte-jolktj:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button__icon.svelte-jolktj {pointer-events:none;}.hidden.svelte-jolktj {visibility:hidden;}.loader-style.svelte-jolktj {color:currentColor;position:absolute;}`};function io(q,r){const f=to(r);X(r,!0),Y(q,uo);let C=g(r,"appearance",7,"standard"),j=g(r,"size",7,"m"),I=g(r,"ghost",7,!1),A=g(r,"outlined",7,!1),a=g(r,"iconname",7),v=g(r,"iconmode",7),B=g(r,"disabled",7,!1),D=g(r,"type",7,"button"),p=g(r,"isloading",7,!1),M=oo(r,["$$slots","$$events","$$legacy","$$host","appearance","size","ghost","outlined","iconname","iconmode","disabled","type","isloading"]);function E(o,e,s){const b=e==="only";let u;switch(o){case"s":u="24px";break;case"m":u=b?"32px":"24px";break;case"l":u=b?"100%":"32px";break}return`${s} size="${u}" `}var S=bo();let F;var G=y(S);{var P=o=>{no(o,{theme:"standard",style:"color: currentColor; position: absolute;",size:"m",text:""})};i(G,o=>{p()&&o(P)})}var H=N(G,2);{var Q=o=>{var e=ao(),s=y(e);{var b=t=>{var n=h(),l=_(n);L(l,r,"icon",{}),d(t,n)},u=(t,n)=>{{var l=c=>{var k=h(),w=_(k);O(w,()=>`<${E(j(),v(),a())} />`),d(c,k)};i(t,c=>{a()&&c(l)},n)}};i(s,t=>{f.icon?t(b):t(u,!1)})}z(e),d(o,e)};i(H,o=>{(a()||f.icon)&&v()==="left"&&o(Q)})}var J=N(H,2);{var R=o=>{var e=lo(),s=y(e);{var b=t=>{var n=h(),l=_(n);L(l,r,"icon",{}),d(t,n)},u=(t,n)=>{{var l=c=>{var k=h(),w=_(k);O(w,()=>`<${E(j(),v(),a())} />`),d(c,k)};i(t,c=>{a()&&c(l)},n)}};i(s,t=>{f.icon?t(b):t(u,!1)})}z(e),d(o,e)},T=o=>{var e=co();let s;var b=y(e);L(b,r,"default",{}),z(e),K(()=>s=$(e,1,"mc-button__label svelte-jolktj",null,s,{hidden:p()})),d(o,e)};i(J,o=>{(a()||f.icon)&&v()==="only"?o(R):o(T,!1)})}var U=N(J,2);{var V=o=>{var e=so(),s=y(e);{var b=t=>{var n=h(),l=_(n);L(l,r,"icon",{}),d(t,n)},u=(t,n)=>{{var l=c=>{var k=h(),w=_(k);O(w,()=>`<${E(j(),v(),a())} />`),d(c,k)};i(t,c=>{a()&&c(l)},n)}};i(s,t=>{f.icon?t(b):t(u,!1)})}z(e),d(o,e)};i(U,o=>{(a()||f.icon)&&v()==="right"&&o(V)})}return z(S),K(()=>F=eo(S,F,{class:`mc-button ${(j()?`mc-button--${j()}`:"")??""} ${(C()?`mc-button--${C()}`:"")??""}`,disabled:B(),type:D(),...M,[ro]:{"mc-button--ghost":I(),"mc-button--outlined":A(),"mc-button--icon-only":v()=="only","mc-button--loading":p()}},"svelte-jolktj")),d(q,S),Z({get appearance(){return C()},set appearance(o="standard"){C(o),m()},get size(){return j()},set size(o="m"){j(o),m()},get ghost(){return I()},set ghost(o=!1){I(o),m()},get outlined(){return A()},set outlined(o=!1){A(o),m()},get iconname(){return a()},set iconname(o){a(o),m()},get iconmode(){return v()},set iconmode(o){v(o),m()},get disabled(){return B()},set disabled(o=!1){B(o),m()},get type(){return D()},set type(o="button"){D(o),m()},get isloading(){return p()},set isloading(o=!1){p(o),m()}})}customElements.define("m-button",W(io,{appearance:{},size:{},ghost:{},outlined:{},iconname:{},iconmode:{},disabled:{},type:{},isloading:{}},["icon","default"],[],!0));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":["../../src/components/button/Button.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-button' }} />\n\n<script lang=\"ts\">\n import type {\n ButtonIconMode,\n ButtonSize,\n ButtonStyle,\n ButtonType,\n } from './button.types';\n\n import Loader from '../loader/Loader.svelte';\n\n interface Props {\n appearance?: ButtonStyle | undefined;\n size?: ButtonSize;\n ghost?: boolean;\n outlined?: boolean;\n iconname: string | undefined;\n iconmode: ButtonIconMode | undefined;\n disabled?: boolean;\n type?: ButtonType;\n isloading?: boolean;\n [key: string]: any;\n }\n\n let {\n appearance = 'standard',\n size = 'm',\n ghost = false,\n outlined = false,\n iconname,\n iconmode,\n disabled = false,\n type = 'button',\n isloading = false,\n ...events\n }: Props = $props();\n\n function generateIconName(\n size: ButtonSize,\n iconMode: ButtonIconMode,\n iconName: string,\n ): string {\n const isIconOnly = iconMode === 'only';\n let iconSize: string;\n\n switch (size) {\n case 's':\n iconSize = '24px';\n break;\n case 'm':\n iconSize = isIconOnly ? '32px' : '24px';\n break;\n case 'l':\n iconSize = isIconOnly ? '100%' : '32px';\n break;\n }\n\n return `${iconName} size=\"${iconSize}\" `;\n }\n</script>\n\n<button\n class=\"mc-button {size ? `mc-button--${size}` : ''} {appearance\n ? `mc-button--${appearance}`\n : ''}\"\n class:mc-button--ghost={ghost}\n class:mc-button--outlined={outlined}\n class:mc-button--icon-only={iconmode == 'only'}\n class:mc-button--loading={isloading}\n {disabled}\n {type}\n {...events}\n>\n {#if isloading}\n <Loader\n theme=\"standard\"\n style=\"color: currentColor; position: absolute;\"\n size=\"m\"\n text=\"\"\n />\n {/if}\n {#if (iconname || $$slots.icon) && iconmode === 'left'}\n <span class=\"mc-button__icon\">\n {#if $$slots.icon}\n <slot name=\"icon\" />\n {:else if iconname}\n {@html `<${generateIconName(size, iconmode, iconname)} />`}\n {/if}\n </span>\n {/if}\n\n {#if (iconname || $$slots.icon) && iconmode === 'only'}\n <span class=\"mc-button__icon\">\n {#if $$slots.icon}\n <slot name=\"icon\" />\n {:else if iconname}\n {@html `<${generateIconName(size, iconmode, iconname)} />`}\n {/if}\n </span>\n {:else}\n <span class=\"mc-button__label\" class:hidden={isloading}>\n <slot />\n </span>\n {/if}\n\n {#if (iconname || $$slots.icon) && iconmode === 'right'}\n <span class=\"mc-button__icon\">\n {#if $$slots.icon}\n <slot name=\"icon\" />\n {:else if iconname}\n {@html `<${generateIconName(size, iconmode, iconname)} />`}\n {/if}\n </span>\n {/if}\n</button>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/button';\n\n .mc-button__icon {\n pointer-events: none;\n }\n\n .hidden {\n visibility: hidden;\n }\n\n .loader-style {\n color: currentColor;\n position: absolute;\n }\n</style>\n"],"names":["appearance","size","ghost","outlined","iconname","$.prop","$$props","iconmode","disabled","type","isloading","events","$.rest_props","generateIconName","iconMode","iconName","isIconOnly","iconSize","$$render","consequent","$.html","node_4","consequent_2","$$slots","consequent_1","alternate","consequent_3","node_8","consequent_5","consequent_4","alternate_1","consequent_6","alternate_2","node_13","consequent_8","consequent_7","alternate_3","consequent_9"],"mappings":";;;4oMA0BI,IAAAA,qBAAa,UAAU,EACvBC,eAAO,GAAG,EACVC,gBAAQ,EAAK,EACbC,mBAAW,EAAK,EAChBC,EAAQC,EAAAC,EAAA,WAAA,CAAA,EACRC,EAAQF,EAAAC,EAAA,WAAA,CAAA,EACRE,mBAAW,EAAK,EAChBC,eAAO,QAAQ,EACfC,oBAAY,EAAK,EACdC,EAAAC,GAAAN,EAAA,uIAGI,SAAAO,EACPZ,EACAa,EACAC,EACQ,OACFC,EAAaF,IAAa,WAC5BG,SAEIhB,EAAI,KACL,IACHgB,EAAW,iBAER,IACHA,EAAWD,EAAa,OAAS,iBAE9B,IACHC,EAAWD,EAAa,OAAS,aAI3B,MAAA,GAAAD,CAAQ,UAAUE,CAAQ,IACtC,4IAeKP,EAAS,GAAAQ,EAAAC,CAAA,yIAaGC,EAAAC,EAAA,IAAA,IAAAR,EAAiBZ,IAAMM,IAAUH,GAAQ,CAAA,KAAA,kBAD5CA,EAAQ,GAAAc,EAAAI,CAAA,gBAFbC,EAAQ,KAAIL,EAAAM,CAAA,EAAAN,EAAAO,EAAA,EAAA,0BAFfrB,KAAYmB,EAAQ,OAAShB,MAAa,QAAMW,EAAAQ,CAAA,yIAerCN,EAAAO,EAAA,IAAA,IAAAd,EAAiBZ,IAAMM,IAAUH,GAAQ,CAAA,KAAA,kBAD5CA,EAAQ,GAAAc,EAAAU,CAAA,gBAFbL,EAAQ,KAAIL,EAAAW,CAAA,EAAAX,EAAAY,EAAA,EAAA,0IAO0BpB,EAAS,CAAA,CAAA,CAAA,mBATlDN,KAAYmB,EAAQ,OAAShB,MAAa,OAAMW,EAAAa,CAAA,EAAAb,EAAAc,EAAA,EAAA,yIAmBrCZ,EAAAa,EAAA,IAAA,IAAApB,EAAiBZ,IAAMM,IAAUH,GAAQ,CAAA,KAAA,kBAD5CA,EAAQ,GAAAc,EAAAgB,CAAA,gBAFbX,EAAQ,KAAIL,EAAAiB,CAAA,EAAAjB,EAAAkB,EAAA,EAAA,0BAFfhC,KAAYmB,EAAQ,OAAShB,MAAa,SAAOW,EAAAmB,CAAA,oDA3CrCpC,EAAI,EAAA,cAAiBA,GAAS,GAAA,YAAKD,EACnC,EAAA,cAAAA,EAAU,IACxB,KAAE,EAAA,4BAOFW,2BANoBT,EAAK,wBACFC,EAAQ,EACP,uBAAAI,EAAQ,GAAI,4BACdG,EAAS,8EA3CpB,WAAU,6CAChB,IAAG,+CACF,GAAK,qDACF,GAAK,+JAGL,GAAK,6CACT,SAAQ,uDACH,GAAK"}
@@ -0,0 +1,466 @@
1
+ <svelte:options customElement={{ tag: 'm-button' }} />
2
+
3
+ <script lang="ts">
4
+ import type {
5
+ ButtonIconMode,
6
+ ButtonSize,
7
+ ButtonStyle,
8
+ ButtonType,
9
+ } from './button.types';
10
+
11
+ import Loader from '../loader/Loader.svelte';
12
+
13
+ interface Props {
14
+ appearance?: ButtonStyle | undefined;
15
+ size?: ButtonSize;
16
+ ghost?: boolean;
17
+ outlined?: boolean;
18
+ iconname: string | undefined;
19
+ iconmode: ButtonIconMode | undefined;
20
+ disabled?: boolean;
21
+ type?: ButtonType;
22
+ isloading?: boolean;
23
+ [key: string]: any;
24
+ }
25
+
26
+ let {
27
+ appearance = 'standard',
28
+ size = 'm',
29
+ ghost = false,
30
+ outlined = false,
31
+ iconname,
32
+ iconmode,
33
+ disabled = false,
34
+ type = 'button',
35
+ isloading = false,
36
+ ...events
37
+ }: Props = $props();
38
+
39
+ function generateIconName(
40
+ size: ButtonSize,
41
+ iconMode: ButtonIconMode,
42
+ iconName: string,
43
+ ): string {
44
+ const isIconOnly = iconMode === 'only';
45
+ let iconSize: string;
46
+
47
+ switch (size) {
48
+ case 's':
49
+ iconSize = '24px';
50
+ break;
51
+ case 'm':
52
+ iconSize = isIconOnly ? '32px' : '24px';
53
+ break;
54
+ case 'l':
55
+ iconSize = isIconOnly ? '100%' : '32px';
56
+ break;
57
+ }
58
+
59
+ return `${iconName} size="${iconSize}" `;
60
+ }
61
+ </script>
62
+
63
+ <button
64
+ class="mc-button {size ? `mc-button--${size}` : ''} {appearance
65
+ ? `mc-button--${appearance}`
66
+ : ''}"
67
+ class:mc-button--ghost={ghost}
68
+ class:mc-button--outlined={outlined}
69
+ class:mc-button--icon-only={iconmode == 'only'}
70
+ class:mc-button--loading={isloading}
71
+ {disabled}
72
+ {type}
73
+ {...events}
74
+ >
75
+ {#if isloading}
76
+ <Loader
77
+ theme="standard"
78
+ style="color: currentColor; position: absolute;"
79
+ size="m"
80
+ text=""
81
+ />
82
+ {/if}
83
+ {#if (iconname || $$slots.icon) && iconmode === 'left'}
84
+ <span class="mc-button__icon">
85
+ {#if $$slots.icon}
86
+ <slot name="icon" />
87
+ {:else if iconname}
88
+ {@html `<${generateIconName(size, iconmode, iconname)} />`}
89
+ {/if}
90
+ </span>
91
+ {/if}
92
+
93
+ {#if (iconname || $$slots.icon) && iconmode === 'only'}
94
+ <span class="mc-button__icon">
95
+ {#if $$slots.icon}
96
+ <slot name="icon" />
97
+ {:else if iconname}
98
+ {@html `<${generateIconName(size, iconmode, iconname)} />`}
99
+ {/if}
100
+ </span>
101
+ {:else}
102
+ <span class="mc-button__label" class:hidden={isloading}>
103
+ <slot />
104
+ </span>
105
+ {/if}
106
+
107
+ {#if (iconname || $$slots.icon) && iconmode === 'right'}
108
+ <span class="mc-button__icon">
109
+ {#if $$slots.icon}
110
+ <slot name="icon" />
111
+ {:else if iconname}
112
+ {@html `<${generateIconName(size, iconmode, iconname)} />`}
113
+ {/if}
114
+ </span>
115
+ {/if}
116
+ </button>
117
+
118
+ <style>/**
119
+ * Do not edit directly, this file was auto-generated.
120
+ */
121
+ .mc-button {
122
+ color: var(--button-color-filled-standard-font, #ffffff);
123
+ background-color: var(--button-color-filled-standard-background, #464e63);
124
+ font-weight: 600;
125
+ padding: 0 calc(1rem - 0.125rem);
126
+ min-height: 3rem;
127
+ min-width: 3rem;
128
+ display: inline-flex;
129
+ justify-content: center;
130
+ vertical-align: middle;
131
+ text-align: center;
132
+ border: 2px solid transparent;
133
+ border-radius: 0.25rem;
134
+ transition: all ease 200ms;
135
+ transition: box-shadow 200ms ease;
136
+ align-items: center;
137
+ box-sizing: border-box;
138
+ fill: currentcolor;
139
+ gap: 0.25rem;
140
+ cursor: pointer;
141
+ }
142
+ .mc-button:hover {
143
+ background-color: var(--button-color-filled-standard-hover-background, #343b4c);
144
+ }
145
+ .mc-button:active {
146
+ background-color: var(--button-color-filled-standard-active-background, #242938);
147
+ }
148
+ .mc-button:disabled {
149
+ background-color: var(--button-state-disabled-background, #d9d9d9);
150
+ border-color: transparent;
151
+ color: var(--button-state-disabled-color, #737373);
152
+ cursor: not-allowed;
153
+ }
154
+ .mc-button .mc-button__label {
155
+ font-size: 1rem;
156
+ }
157
+ .mc-button--s {
158
+ padding: 0 calc(0.75rem - 0.125rem);
159
+ min-height: 2rem;
160
+ min-width: 2rem;
161
+ }
162
+ .mc-button--s .mc-button__label {
163
+ font-size: 0.875rem;
164
+ }
165
+ .mc-button--s .mc-button__icon {
166
+ width: 1.25rem;
167
+ height: 1.25rem;
168
+ }
169
+ .mc-button--s .mc-button__icon:only-child {
170
+ width: 1.25rem;
171
+ height: 1.25rem;
172
+ }
173
+ .mc-button--m {
174
+ padding: 0 calc(1rem - 0.125rem);
175
+ min-height: 3rem;
176
+ min-width: 3rem;
177
+ }
178
+ .mc-button--m .mc-button__label {
179
+ font-size: 1rem;
180
+ }
181
+ .mc-button--m .mc-button__icon {
182
+ width: 1.5rem;
183
+ height: 1.5rem;
184
+ }
185
+ .mc-button--m .mc-button__icon:only-child {
186
+ width: 1.5rem;
187
+ height: 1.5rem;
188
+ }
189
+ .mc-button--l {
190
+ padding: 0 calc(1.25rem - 0.125rem);
191
+ min-height: 4rem;
192
+ min-width: 4rem;
193
+ }
194
+ .mc-button--l .mc-button__label {
195
+ font-size: 1.125rem;
196
+ }
197
+ .mc-button--l .mc-button__icon {
198
+ width: 2rem;
199
+ height: 2rem;
200
+ }
201
+ .mc-button--l .mc-button__icon:only-child {
202
+ width: 2rem;
203
+ height: 2rem;
204
+ }
205
+ .mc-button__label {
206
+ font-size: 1rem;
207
+ }
208
+ .mc-button__icon {
209
+ flex-shrink: 0;
210
+ width: 1.5rem;
211
+ height: 1.5rem;
212
+ }
213
+ .mc-button:disabled {
214
+ background-color: var(--button-state-disabled-background, #d9d9d9);
215
+ border-color: transparent;
216
+ color: var(--button-state-disabled-color, #737373);
217
+ cursor: not-allowed;
218
+ }
219
+ .mc-button:focus-visible {
220
+ box-shadow: 0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));
221
+ outline: 0.125rem solid transparent;
222
+ outline-offset: 0.125rem;
223
+ }
224
+ .mc-button--icon-only {
225
+ padding: 0.25rem;
226
+ }
227
+ .mc-button--outlined {
228
+ color: var(--button-color-outlined-standard-font, #242938);
229
+ border-color: var(--button-color-outlined-standard-border, #8891aa);
230
+ background-color: var(--button-color-outlined-standard-background, #ffffff);
231
+ }
232
+ .mc-button--outlined:hover {
233
+ background-color: var(--button-color-outlined-standard-hover-background, #eff1f6);
234
+ }
235
+ .mc-button--outlined:active {
236
+ background-color: var(--button-color-outlined-standard-active-background, #c9d0de);
237
+ }
238
+ .mc-button--outlined:disabled {
239
+ background-color: var(--button-state-disabled-background, #d9d9d9);
240
+ border-color: transparent;
241
+ color: var(--button-state-disabled-color, #737373);
242
+ cursor: not-allowed;
243
+ }
244
+ .mc-button--ghost {
245
+ color: var(--button-color-ghost-standard-font, #242938);
246
+ background-color: var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));
247
+ }
248
+ .mc-button--ghost:hover {
249
+ background-color: var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));
250
+ }
251
+ .mc-button--ghost:active {
252
+ background-color: var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));
253
+ }
254
+ .mc-button--ghost:disabled {
255
+ background-color: var(--button-state-disabled-background, #d9d9d9);
256
+ border-color: transparent;
257
+ color: var(--button-state-disabled-color, #737373);
258
+ cursor: not-allowed;
259
+ }
260
+ .mc-button--accent {
261
+ color: var(--button-color-filled-accent-font, #ffffff);
262
+ background-color: var(--button-color-filled-accent-background, #117f03);
263
+ }
264
+ .mc-button--accent:hover {
265
+ background-color: var(--button-color-filled-accent-hover-background, #006902);
266
+ }
267
+ .mc-button--accent:active {
268
+ background-color: var(--button-color-filled-accent-active-background, #035010);
269
+ }
270
+ .mc-button--accent:disabled {
271
+ background-color: var(--button-state-disabled-background, #d9d9d9);
272
+ border-color: transparent;
273
+ color: var(--button-state-disabled-color, #737373);
274
+ cursor: not-allowed;
275
+ }
276
+ .mc-button--danger {
277
+ color: var(--button-color-filled-danger-font, #ffffff);
278
+ background-color: var(--button-color-filled-danger-background, #c61112);
279
+ }
280
+ .mc-button--danger:hover {
281
+ background-color: var(--button-color-filled-danger-hover-background, #8c0003);
282
+ }
283
+ .mc-button--danger:active {
284
+ background-color: var(--button-color-filled-danger-active-background, #530000);
285
+ }
286
+ .mc-button--danger:disabled {
287
+ background-color: var(--button-state-disabled-background, #d9d9d9);
288
+ border-color: transparent;
289
+ color: var(--button-state-disabled-color, #737373);
290
+ cursor: not-allowed;
291
+ }
292
+ .mc-button--inverse {
293
+ --focus-color-mid: var(--focus-color-outline-outer, #000000);
294
+ --focus-color-outer: var(--focus-color-outline-mid, #ffffff);
295
+ color: var(--button-color-filled-inverse-font, #242938);
296
+ background-color: var(--button-color-filled-inverse-background, #ffffff);
297
+ }
298
+ .mc-button--inverse:hover {
299
+ background-color: var(--button-color-filled-inverse-hover-background, #e6e6e6);
300
+ }
301
+ .mc-button--inverse:active {
302
+ background-color: var(--button-color-filled-inverse-active-background, #cccccc);
303
+ }
304
+ .mc-button--inverse:disabled {
305
+ background-color: var(--button-state-disabled-background, #d9d9d9);
306
+ border-color: transparent;
307
+ color: var(--button-state-disabled-color, #737373);
308
+ cursor: not-allowed;
309
+ }
310
+ .mc-button--icon-button {
311
+ border-radius: 100%;
312
+ padding: 0;
313
+ }
314
+ .mc-button--loading .mc-button__loader {
315
+ position: absolute;
316
+ color: currentcolor;
317
+ }
318
+ .mc-button--loading .mc-button__label,
319
+ .mc-button--loading .mc-button__icon {
320
+ visibility: hidden;
321
+ }
322
+ .mc-button--outlined.mc-button--standard {
323
+ color: var(--button-color-outlined-standard-font, #242938);
324
+ border-color: var(--button-color-outlined-standard-border, #8891aa);
325
+ background-color: var(--button-color-outlined-standard-background, #ffffff);
326
+ }
327
+ .mc-button--outlined.mc-button--standard:hover {
328
+ background-color: var(--button-color-outlined-standard-hover-background, #eff1f6);
329
+ }
330
+ .mc-button--outlined.mc-button--standard:active {
331
+ background-color: var(--button-color-outlined-standard-active-background, #c9d0de);
332
+ }
333
+ .mc-button--outlined.mc-button--standard:disabled {
334
+ background-color: var(--button-state-disabled-background, #d9d9d9);
335
+ border-color: transparent;
336
+ color: var(--button-state-disabled-color, #737373);
337
+ cursor: not-allowed;
338
+ }
339
+ .mc-button--outlined.mc-button--accent {
340
+ color: var(--button-color-outlined-accent-font, #117f03);
341
+ border-color: var(--button-color-outlined-accent-border, #78be20);
342
+ background-color: var(--button-color-outlined-accent-background, #ffffff);
343
+ }
344
+ .mc-button--outlined.mc-button--accent:hover {
345
+ background-color: var(--button-color-outlined-accent-hover-background, #ebf5de);
346
+ }
347
+ .mc-button--outlined.mc-button--accent:active {
348
+ background-color: var(--button-color-outlined-accent-active-background, #c5e39e);
349
+ }
350
+ .mc-button--outlined.mc-button--accent:disabled {
351
+ background-color: var(--button-state-disabled-background, #d9d9d9);
352
+ border-color: transparent;
353
+ color: var(--button-state-disabled-color, #737373);
354
+ cursor: not-allowed;
355
+ }
356
+ .mc-button--outlined.mc-button--danger {
357
+ color: var(--button-color-outlined-danger-font, #c61112);
358
+ border-color: var(--button-color-outlined-danger-border, #ef5f5c);
359
+ background-color: var(--button-color-outlined-danger-background, #ffffff);
360
+ }
361
+ .mc-button--outlined.mc-button--danger:hover {
362
+ background-color: var(--button-color-outlined-danger-hover-background, #fdeaea);
363
+ }
364
+ .mc-button--outlined.mc-button--danger:active {
365
+ background-color: var(--button-color-outlined-danger-active-background, #f8bcbb);
366
+ }
367
+ .mc-button--outlined.mc-button--danger:disabled {
368
+ background-color: var(--button-state-disabled-background, #d9d9d9);
369
+ border-color: transparent;
370
+ color: var(--button-state-disabled-color, #737373);
371
+ cursor: not-allowed;
372
+ }
373
+ .mc-button--outlined.mc-button--inverse {
374
+ color: var(--button-color-outlined-inverse-font, #ffffff);
375
+ border-color: var(--button-color-outlined-inverse-border, #ffffff);
376
+ background-color: var(--button-color-outlined-inverse-background, rgba(255, 255, 255, 0.01));
377
+ }
378
+ .mc-button--outlined.mc-button--inverse:hover {
379
+ background-color: var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));
380
+ }
381
+ .mc-button--outlined.mc-button--inverse:active {
382
+ background-color: var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));
383
+ }
384
+ .mc-button--outlined.mc-button--inverse:disabled {
385
+ background-color: var(--button-state-disabled-background, #d9d9d9);
386
+ border-color: transparent;
387
+ color: var(--button-state-disabled-color, #737373);
388
+ cursor: not-allowed;
389
+ }
390
+ .mc-button--ghost.mc-button--standard {
391
+ color: var(--button-color-ghost-standard-font, #242938);
392
+ background-color: var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));
393
+ }
394
+ .mc-button--ghost.mc-button--standard:hover {
395
+ background-color: var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));
396
+ }
397
+ .mc-button--ghost.mc-button--standard:active {
398
+ background-color: var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));
399
+ }
400
+ .mc-button--ghost.mc-button--standard:disabled {
401
+ background-color: var(--button-state-disabled-background, #d9d9d9);
402
+ border-color: transparent;
403
+ color: var(--button-state-disabled-color, #737373);
404
+ cursor: not-allowed;
405
+ }
406
+ .mc-button--ghost.mc-button--accent {
407
+ color: var(--button-color-ghost-accent-font, #117f03);
408
+ background-color: var(--button-color-ghost-accent-background, rgba(255, 255, 255, 0.01));
409
+ }
410
+ .mc-button--ghost.mc-button--accent:hover {
411
+ background-color: var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));
412
+ }
413
+ .mc-button--ghost.mc-button--accent:active {
414
+ background-color: var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));
415
+ }
416
+ .mc-button--ghost.mc-button--accent:disabled {
417
+ background-color: var(--button-state-disabled-background, #d9d9d9);
418
+ border-color: transparent;
419
+ color: var(--button-state-disabled-color, #737373);
420
+ cursor: not-allowed;
421
+ }
422
+ .mc-button--ghost.mc-button--danger {
423
+ color: var(--button-color-ghost-danger-font, #c61112);
424
+ background-color: var(--button-color-ghost-danger-background, rgba(255, 255, 255, 0.01));
425
+ }
426
+ .mc-button--ghost.mc-button--danger:hover {
427
+ background-color: var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));
428
+ }
429
+ .mc-button--ghost.mc-button--danger:active {
430
+ background-color: var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));
431
+ }
432
+ .mc-button--ghost.mc-button--danger:disabled {
433
+ background-color: var(--button-state-disabled-background, #d9d9d9);
434
+ border-color: transparent;
435
+ color: var(--button-state-disabled-color, #737373);
436
+ cursor: not-allowed;
437
+ }
438
+ .mc-button--ghost.mc-button--inverse {
439
+ color: var(--button-color-ghost-inverse-font, #ffffff);
440
+ background-color: var(--button-color-ghost-inverse-background, rgba(255, 255, 255, 0.01));
441
+ }
442
+ .mc-button--ghost.mc-button--inverse:hover {
443
+ background-color: var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));
444
+ }
445
+ .mc-button--ghost.mc-button--inverse:active {
446
+ background-color: var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));
447
+ }
448
+ .mc-button--ghost.mc-button--inverse:disabled {
449
+ background-color: var(--button-state-disabled-background, #d9d9d9);
450
+ border-color: transparent;
451
+ color: var(--button-state-disabled-color, #737373);
452
+ cursor: not-allowed;
453
+ }
454
+
455
+ .mc-button__icon {
456
+ pointer-events: none;
457
+ }
458
+
459
+ .hidden {
460
+ visibility: hidden;
461
+ }
462
+
463
+ .loader-style {
464
+ color: currentColor;
465
+ position: absolute;
466
+ }</style>