@danielito1996/compose-svelted 0.2.3 → 0.2.6

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 (150) hide show
  1. package/dist/components/AppRoot.svelte +15 -0
  2. package/dist/components/AppRoot.svelte.d.ts +30 -0
  3. package/dist/components/ContentScale.d.ts +10 -0
  4. package/dist/components/ContentScale.js +9 -0
  5. package/dist/components/Icon.svelte +47 -0
  6. package/dist/components/Icon.svelte.d.ts +24 -0
  7. package/dist/components/Image.svelte +31 -0
  8. package/dist/components/Image.svelte.d.ts +25 -0
  9. package/dist/components/Spacer.svelte +11 -0
  10. package/dist/components/Spacer.svelte.d.ts +24 -0
  11. package/dist/components/Surface.svelte +19 -0
  12. package/dist/components/Surface.svelte.d.ts +32 -0
  13. package/dist/components/Text.svelte +23 -0
  14. package/dist/components/Text.svelte.d.ts +34 -0
  15. package/dist/components/TonalButton.svelte +34 -0
  16. package/dist/components/TonalButton.svelte.d.ts +36 -0
  17. package/dist/components/buttons/Button.svelte +34 -0
  18. package/dist/components/buttons/Button.svelte.d.ts +36 -0
  19. package/dist/components/buttons/ButtonWithIcon.svelte +0 -0
  20. package/dist/components/buttons/ButtonWithIcon.svelte.d.ts +26 -0
  21. package/dist/components/buttons/CheckButton.svelte +77 -0
  22. package/dist/components/buttons/CheckButton.svelte.d.ts +35 -0
  23. package/dist/components/buttons/IconButton.svelte +0 -0
  24. package/dist/components/buttons/IconButton.svelte.d.ts +26 -0
  25. package/dist/components/buttons/OutlinedButton.svelte +0 -0
  26. package/dist/components/buttons/OutlinedButton.svelte.d.ts +26 -0
  27. package/dist/components/buttons/OutlinedButtonWithIcon.svelte +0 -0
  28. package/dist/components/buttons/OutlinedButtonWithIcon.svelte.d.ts +26 -0
  29. package/dist/components/buttons/OutlinedIconButton.svelte +0 -0
  30. package/dist/components/buttons/OutlinedIconButton.svelte.d.ts +26 -0
  31. package/dist/components/buttons/TextButton.svelte +0 -0
  32. package/dist/components/buttons/TextButton.svelte.d.ts +26 -0
  33. package/dist/components/cards/Card.svelte +26 -0
  34. package/dist/components/cards/Card.svelte.d.ts +33 -0
  35. package/dist/components/cards/OutlinedCard.svelte +0 -0
  36. package/dist/components/cards/OutlinedCard.svelte.d.ts +26 -0
  37. package/dist/components/custom/CodeBlock.svelte +41 -0
  38. package/dist/components/custom/CodeBlock.svelte.d.ts +32 -0
  39. package/dist/components/layouts/Alignment.d.ts +20 -0
  40. package/dist/components/layouts/Alignment.js +20 -0
  41. package/dist/components/layouts/Arrangement.d.ts +23 -0
  42. package/dist/components/layouts/Arrangement.js +46 -0
  43. package/dist/components/layouts/Box.svelte +25 -0
  44. package/dist/components/layouts/Box.svelte.d.ts +32 -0
  45. package/dist/components/layouts/Column.svelte +23 -0
  46. package/dist/components/layouts/Column.svelte.d.ts +34 -0
  47. package/dist/components/layouts/LazyColumn.svelte +107 -0
  48. package/dist/components/layouts/LazyColumn.svelte.d.ts +39 -0
  49. package/dist/components/layouts/LazyRow.svelte +71 -0
  50. package/dist/components/layouts/LazyRow.svelte.d.ts +42 -0
  51. package/dist/components/layouts/Row.svelte +23 -0
  52. package/dist/components/layouts/Row.svelte.d.ts +34 -0
  53. package/dist/components/layouts/Scaffold.svelte +73 -0
  54. package/dist/components/layouts/Scaffold.svelte.d.ts +38 -0
  55. package/dist/components/menus/DropdownMenu.svelte +0 -0
  56. package/dist/components/menus/DropdownMenu.svelte.d.ts +26 -0
  57. package/dist/components/menus/DropdownMenuItem.svelte +0 -0
  58. package/dist/components/menus/DropdownMenuItem.svelte.d.ts +26 -0
  59. package/dist/components/motion/AnimatedContent.svelte +34 -0
  60. package/dist/components/motion/AnimatedContent.svelte.d.ts +31 -0
  61. package/dist/components/motion/AnimatedVisibility.svelte +59 -0
  62. package/dist/components/motion/AnimatedVisibility.svelte.d.ts +32 -0
  63. package/dist/components/textFields/BaseTextField.svelte +188 -0
  64. package/dist/components/textFields/BaseTextField.svelte.d.ts +41 -0
  65. package/dist/components/textFields/OutlinedTextField.svelte +64 -0
  66. package/dist/components/textFields/OutlinedTextField.svelte.d.ts +46 -0
  67. package/dist/components/textFields/TextField.svelte +49 -0
  68. package/dist/components/textFields/TextField.svelte.d.ts +46 -0
  69. package/dist/components/textFields/TextFieldColors.d.ts +12 -0
  70. package/dist/components/textFields/TextFieldColors.js +1 -0
  71. package/dist/components/textFields/TextFieldDefaults.d.ts +11 -0
  72. package/dist/components/textFields/TextFieldDefaults.js +42 -0
  73. package/dist/core/elevation/elevation.d.ts +1 -0
  74. package/dist/core/elevation/elevation.js +6 -0
  75. package/dist/core/helpers/painterResource.d.ts +12 -0
  76. package/dist/core/helpers/painterResource.js +22 -0
  77. package/dist/core/modifier/Modifier.d.ts +195 -0
  78. package/dist/core/modifier/Modifier.js +237 -0
  79. package/dist/core/modifier/ModifierImpl.d.ts +38 -0
  80. package/dist/core/modifier/ModifierImpl.js +214 -0
  81. package/dist/core/motion/AnimationSpec.d.ts +6 -0
  82. package/dist/core/motion/AnimationSpec.js +1 -0
  83. package/dist/core/motion/ContentTransition.d.ts +5 -0
  84. package/dist/core/motion/ContentTransition.js +1 -0
  85. package/dist/core/motion/applyAnimation.d.ts +0 -0
  86. package/dist/core/motion/applyAnimation.js +0 -0
  87. package/dist/core/motion/contentTransitions.d.ts +4 -0
  88. package/dist/core/motion/contentTransitions.js +22 -0
  89. package/dist/core/motion/transitions.d.ts +7 -0
  90. package/dist/core/motion/transitions.js +70 -0
  91. package/dist/core/navigation/NavBackStackEntry.d.ts +4 -0
  92. package/dist/core/navigation/NavBackStackEntry.js +1 -0
  93. package/dist/core/navigation/NavController.d.ts +9 -0
  94. package/dist/core/navigation/NavController.js +31 -0
  95. package/dist/core/navigation/NavHost.svelte +45 -0
  96. package/dist/core/navigation/NavHost.svelte.d.ts +31 -0
  97. package/dist/core/navigation/NavStore.d.ts +7 -0
  98. package/dist/core/navigation/NavStore.js +24 -0
  99. package/dist/core/navigation/Route.d.ts +3 -0
  100. package/dist/core/navigation/Route.js +1 -0
  101. package/dist/core/navigation/composable.d.ts +5 -0
  102. package/dist/core/navigation/composable.js +6 -0
  103. package/dist/core/navigation/rememberNavController.d.ts +2 -0
  104. package/dist/core/navigation/rememberNavController.js +4 -0
  105. package/dist/core/shapes/RoundedCornerShape.d.ts +13 -0
  106. package/dist/core/shapes/RoundedCornerShape.js +27 -0
  107. package/dist/core/shapes/Shape.d.ts +3 -0
  108. package/dist/core/shapes/Shape.js +1 -0
  109. package/dist/core/theme/ColorScheme.d.ts +17 -0
  110. package/dist/core/theme/ColorScheme.js +15 -0
  111. package/dist/core/theme/ComposeTheme.svelte +22 -0
  112. package/dist/core/theme/ComposeTheme.svelte.d.ts +32 -0
  113. package/dist/core/theme/Density.d.ts +5 -0
  114. package/dist/core/theme/Density.js +4 -0
  115. package/dist/core/theme/TextStyle.d.ts +19 -0
  116. package/dist/core/theme/TextStyle.js +17 -0
  117. package/dist/core/theme/colors.d.ts +15 -0
  118. package/dist/core/theme/colors.js +1 -0
  119. package/dist/core/theme/cssVars.d.ts +2 -0
  120. package/dist/core/theme/cssVars.js +29 -0
  121. package/dist/core/theme/defaults/darkColors.d.ts +2 -0
  122. package/dist/core/theme/defaults/darkColors.js +15 -0
  123. package/dist/core/theme/defaults/defaultTheme.d.ts +3 -0
  124. package/dist/core/theme/defaults/defaultTheme.js +40 -0
  125. package/dist/core/theme/defaults/lightColors.d.ts +2 -0
  126. package/dist/core/theme/defaults/lightColors.js +15 -0
  127. package/dist/core/theme/defaults/typography.d.ts +2 -0
  128. package/dist/core/theme/defaults/typography.js +120 -0
  129. package/dist/core/theme/elevation.d.ts +7 -0
  130. package/dist/core/theme/elevation.js +1 -0
  131. package/dist/core/theme/getCurrentColor.d.ts +1 -0
  132. package/dist/core/theme/getCurrentColor.js +9 -0
  133. package/dist/core/theme/resolve.d.ts +5 -0
  134. package/dist/core/theme/resolve.js +17 -0
  135. package/dist/core/theme/shapes.d.ts +7 -0
  136. package/dist/core/theme/shapes.js +1 -0
  137. package/dist/core/theme/spacing.d.ts +7 -0
  138. package/dist/core/theme/spacing.js +1 -0
  139. package/dist/core/theme/store.d.ts +7 -0
  140. package/dist/core/theme/store.js +15 -0
  141. package/dist/core/theme/systemTheme.d.ts +2 -0
  142. package/dist/core/theme/systemTheme.js +14 -0
  143. package/dist/core/theme/theme.d.ts +13 -0
  144. package/dist/core/theme/theme.js +1 -0
  145. package/dist/core/theme/typography.d.ts +24 -0
  146. package/dist/core/theme/typography.js +1 -0
  147. package/dist/index.d.ts +22 -45
  148. package/package.json +46 -11
  149. package/dist/index.js +0 -1164
  150. package/dist/vite.svg +0 -1
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../core/modifier/Modifier";
3
+
4
+ export let modifier: Modifier = Modifier.empty();
5
+ </script>
6
+
7
+ <div
8
+ style={`
9
+ width:100vw;
10
+ height:100vh;
11
+ ${modifier.toStyle()}
12
+ `}
13
+ >
14
+ <slot />
15
+ </div>
@@ -0,0 +1,30 @@
1
+ import { Modifier } from "../core/modifier/Modifier";
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
12
+ };
13
+ z_$$bindings?: Bindings;
14
+ }
15
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
16
+ default: any;
17
+ } ? Props extends Record<string, never> ? any : {
18
+ children?: any;
19
+ } : {});
20
+ declare const AppRoot: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
21
+ modifier?: Modifier;
22
+ }, {
23
+ default: {};
24
+ }>, {
25
+ [evt: string]: CustomEvent<any>;
26
+ }, {
27
+ default: {};
28
+ }, {}, string>;
29
+ type AppRoot = InstanceType<typeof AppRoot>;
30
+ export default AppRoot;
@@ -0,0 +1,10 @@
1
+ export declare const ContentScale: {
2
+ readonly Crop: "cover";
3
+ readonly Fit: "contain";
4
+ readonly FillBounds: "fill";
5
+ readonly Inside: "contain";
6
+ readonly FillWidth: "fillWidth";
7
+ readonly FillHeight: "fillHeight";
8
+ readonly None: "none";
9
+ };
10
+ export type ContentScaleToken = typeof ContentScale[keyof typeof ContentScale];
@@ -0,0 +1,9 @@
1
+ export var ContentScale = {
2
+ Crop: "cover",
3
+ Fit: "contain",
4
+ FillBounds: "fill",
5
+ Inside: "contain",
6
+ FillWidth: "fillWidth",
7
+ FillHeight: "fillHeight",
8
+ None: "none",
9
+ };
@@ -0,0 +1,47 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../core/modifier/Modifier";
3
+ import { resolveColor } from "../core/theme/resolve";
4
+ import {ColorScheme, type ColorToken} from "../core/theme/ColorScheme";
5
+
6
+ export let painter: string = "";
7
+
8
+ export let tint: ColorToken | string | undefined = undefined;
9
+
10
+ export let modifier: Modifier = Modifier.empty();
11
+
12
+ // Lógica simple y segura
13
+ $: backgroundColor = (() => {
14
+ if (!tint) return resolveColor(ColorScheme.OnBackground as ColorToken);
15
+
16
+ // Si es color directo (hex, rgb, hsl, named)
17
+ if (
18
+ typeof tint === "string" &&
19
+ (tint.startsWith("#") || tint.startsWith("rgb") || tint.startsWith("hsl") || tint === "transparent")
20
+ ) {
21
+ return tint;
22
+ }
23
+
24
+ // Si es token del tema (string key como "primary", "onSurface")
25
+ if (typeof tint === "string") {
26
+ return resolveColor(tint as ColorToken); // var(--md-sys-color-primary)
27
+ }
28
+
29
+ return "currentColor";
30
+ })();
31
+ </script>
32
+
33
+ <div
34
+ class="block"
35
+ style={`
36
+ -webkit-mask-image: url(${painter});
37
+ mask-image: url(${painter});
38
+ -webkit-mask-repeat: no-repeat;
39
+ mask-repeat: no-repeat;
40
+ -webkit-mask-size: contain;
41
+ mask-size: contain;
42
+ -webkit-mask-position: center;
43
+ mask-position: center;
44
+ background-color: ${backgroundColor};
45
+ ${modifier.toStyle()}
46
+ `}
47
+ ></div>
@@ -0,0 +1,24 @@
1
+ import { Modifier } from "../core/modifier/Modifier";
2
+ import { type ColorToken } from "../core/theme/ColorScheme";
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
13
+ };
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ declare const Icon: $$__sveltets_2_IsomorphicComponent<{
17
+ painter?: string;
18
+ tint?: ColorToken | string | undefined;
19
+ modifier?: Modifier;
20
+ }, {
21
+ [evt: string]: CustomEvent<any>;
22
+ }, {}, {}, string>;
23
+ type Icon = InstanceType<typeof Icon>;
24
+ export default Icon;
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../core/modifier/Modifier";
3
+ import { ContentScale, type ContentScaleToken } from "./ContentScale";
4
+
5
+ export let painter: string = "";
6
+ export let contentScale: ContentScaleToken = ContentScale.Fit;
7
+ export let contentDescription: string = "";
8
+ export let modifier: Modifier = Modifier.empty();
9
+
10
+ $: isFillWidth = contentScale === "fillWidth";
11
+ $: isFillHeight = contentScale === "fillHeight";
12
+
13
+ $: objectFit =
14
+ isFillWidth || isFillHeight
15
+ ? "cover"
16
+ : contentScale;
17
+ </script>
18
+
19
+ <div class="relative overflow-hidden" style={modifier.toStyle()}>
20
+ <img
21
+ src={painter}
22
+ alt={contentDescription}
23
+ class="absolute inset-0"
24
+ style={`
25
+ width: ${isFillHeight ? "auto" : "100%"};
26
+ height: ${isFillWidth ? "auto" : "100%"};
27
+ object-fit: ${objectFit};
28
+ object-position: center;
29
+ `}
30
+ />
31
+ </div>
@@ -0,0 +1,25 @@
1
+ import { Modifier } from "../core/modifier/Modifier";
2
+ import { type ContentScaleToken } from "./ContentScale";
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
13
+ };
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ declare const Image: $$__sveltets_2_IsomorphicComponent<{
17
+ painter?: string;
18
+ contentScale?: ContentScaleToken;
19
+ contentDescription?: string;
20
+ modifier?: Modifier;
21
+ }, {
22
+ [evt: string]: CustomEvent<any>;
23
+ }, {}, {}, string>;
24
+ type Image = InstanceType<typeof Image>;
25
+ export default Image;
@@ -0,0 +1,11 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../core/modifier/Modifier";
3
+
4
+ /**
5
+ * Spacer: ocupa espacio vacío.
6
+ * Uso: <Spacer modifier={Modifier.height(16)} /> o width()
7
+ */
8
+ export let modifier: Modifier = Modifier.empty();
9
+ </script>
10
+
11
+ <div style={modifier.toStyle()}></div>
@@ -0,0 +1,24 @@
1
+ import { Modifier } from "../core/modifier/Modifier";
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: Props & {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
12
+ };
13
+ z_$$bindings?: Bindings;
14
+ }
15
+ declare const Spacer: $$__sveltets_2_IsomorphicComponent<{
16
+ /**
17
+ * Spacer: ocupa espacio vacío.
18
+ * Uso: <Spacer modifier={Modifier.height(16)} /> o width()
19
+ */ modifier?: Modifier;
20
+ }, {
21
+ [evt: string]: CustomEvent<any>;
22
+ }, {}, {}, string>;
23
+ type Spacer = InstanceType<typeof Spacer>;
24
+ export default Spacer;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../core/modifier/Modifier";
3
+ import { resolveColor } from "../core/theme/resolve";
4
+ import type { ColorToken } from "../core/theme/ColorScheme";
5
+
6
+ // ✅ default = no-op modifier
7
+ export let modifier: Modifier = Modifier.empty();
8
+ export let color: ColorToken = "surface";
9
+ </script>
10
+
11
+ <div
12
+ class="block"
13
+ style={`
14
+ background:${resolveColor(color)};
15
+ ${modifier.toStyle()}
16
+ `}
17
+ >
18
+ <slot />
19
+ </div>
@@ -0,0 +1,32 @@
1
+ import { Modifier } from "../core/modifier/Modifier";
2
+ import type { ColorToken } from "../core/theme/ColorScheme";
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
13
+ };
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
17
+ default: any;
18
+ } ? Props extends Record<string, never> ? any : {
19
+ children?: any;
20
+ } : {});
21
+ declare const Surface: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
22
+ modifier?: Modifier;
23
+ color?: ColorToken;
24
+ }, {
25
+ default: {};
26
+ }>, {
27
+ [evt: string]: CustomEvent<any>;
28
+ }, {
29
+ default: {};
30
+ }, {}, string>;
31
+ type Surface = InstanceType<typeof Surface>;
32
+ export default Surface;
@@ -0,0 +1,23 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../core/modifier/Modifier";
3
+ import { resolveTextStyle, resolveColor } from "../core/theme/resolve";
4
+ import type { TextStyleToken } from "../core/theme/TextStyle";
5
+ import { ColorScheme, type ColorToken } from "../core/theme/ColorScheme";
6
+
7
+ export let modifier: Modifier = Modifier.empty();
8
+ export let textStyle: TextStyleToken = "bodyMedium";
9
+
10
+ // Aceptamos token o string directo
11
+ export let color: ColorToken | string = "onSurface"; // string literal por defecto
12
+
13
+ // Usamos la misma lógica que Surface (que ya funciona)
14
+ $: resolvedColor = typeof color === "string" ? resolveColor(color as ColorToken) : color;
15
+ </script>
16
+
17
+ <p class="block m-0" style={`
18
+ ${resolveTextStyle(textStyle)};
19
+ color: ${resolvedColor};
20
+ ${modifier.toStyle()}
21
+ `}>
22
+ <slot />
23
+ </p>
@@ -0,0 +1,34 @@
1
+ import { Modifier } from "../core/modifier/Modifier";
2
+ import type { TextStyleToken } from "../core/theme/TextStyle";
3
+ import { type ColorToken } from "../core/theme/ColorScheme";
4
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
5
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
6
+ $$bindings?: Bindings;
7
+ } & Exports;
8
+ (internal: unknown, props: Props & {
9
+ $$events?: Events;
10
+ $$slots?: Slots;
11
+ }): Exports & {
12
+ $set?: any;
13
+ $on?: any;
14
+ };
15
+ z_$$bindings?: Bindings;
16
+ }
17
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
18
+ default: any;
19
+ } ? Props extends Record<string, never> ? any : {
20
+ children?: any;
21
+ } : {});
22
+ declare const Text: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
23
+ modifier?: Modifier;
24
+ textStyle?: TextStyleToken;
25
+ color?: ColorToken | string;
26
+ }, {
27
+ default: {};
28
+ }>, {
29
+ [evt: string]: CustomEvent<any>;
30
+ }, {
31
+ default: {};
32
+ }, {}, string>;
33
+ type Text = InstanceType<typeof Text>;
34
+ export default Text;
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../core/modifier/Modifier";
3
+ import { resolveColor } from "../core/theme/resolve";
4
+ import { ColorScheme, type ColorToken } from "../core/theme/ColorScheme";
5
+
6
+ export let onClick: () => void = () => {};
7
+ export let modifier: Modifier = Modifier.empty();
8
+
9
+ // Defaults para TonalButton (secundario suave)
10
+ export let color: ColorToken | string = "secondaryContainer";
11
+ export let onColor: ColorToken | string = "onSecondaryContainer";
12
+
13
+ export let shape: "none" | "extraSmall" | "small" | "medium" | "large" = "large";
14
+ export let elevation: "level0" | "level1" | "level2" | "level3" | "level4" = "level0"; // Tonal suele ser sin elevación
15
+
16
+ $: backgroundColor = typeof color === "string" ? resolveColor(color as ColorToken) : color;
17
+ $: contentColor = typeof onColor === "string" ? resolveColor(onColor as ColorToken) : onColor;
18
+ $: borderRadius = `var(--md-sys-shape-${shape})`;
19
+ $: boxShadow = `var(--md-sys-elevation-${elevation})`;
20
+ </script>
21
+
22
+ <button
23
+ on:click={onClick}
24
+ class="border-0 cursor-pointer flex items-center justify-center gap-8 px-24 py-12 font-medium tracking-wider transition-all hover:opacity-90 active:scale-95"
25
+ style={`
26
+ background: ${backgroundColor};
27
+ color: ${contentColor};
28
+ border-radius: ${borderRadius};
29
+ box-shadow: ${boxShadow};
30
+ ${modifier.toStyle()}
31
+ `}
32
+ >
33
+ <slot />
34
+ </button>
@@ -0,0 +1,36 @@
1
+ import { Modifier } from "../core/modifier/Modifier";
2
+ import { type ColorToken } from "../core/theme/ColorScheme";
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
13
+ };
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
17
+ default: any;
18
+ } ? Props extends Record<string, never> ? any : {
19
+ children?: any;
20
+ } : {});
21
+ declare const TonalButton: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
22
+ onClick?: () => void;
23
+ modifier?: Modifier;
24
+ color?: ColorToken | string;
25
+ onColor?: ColorToken | string;
26
+ shape?: "none" | "extraSmall" | "small" | "medium" | "large";
27
+ elevation?: "level0" | "level1" | "level2" | "level3" | "level4";
28
+ }, {
29
+ default: {};
30
+ }>, {
31
+ [evt: string]: CustomEvent<any>;
32
+ }, {
33
+ default: {};
34
+ }, {}, string>;
35
+ type TonalButton = InstanceType<typeof TonalButton>;
36
+ export default TonalButton;
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../../core/modifier/Modifier";
3
+ import { resolveColor } from "../../core/theme/resolve";
4
+ import { ColorScheme, type ColorToken } from "../../core/theme/ColorScheme";
5
+
6
+ export let onClick: () => void = () => {};
7
+ export let modifier: Modifier = Modifier.empty();
8
+
9
+ export let color: ColorToken | string = "primary";
10
+ export let onColor: ColorToken | string = "onPrimary";
11
+
12
+ export let shape: "none" | "extraSmall" | "small" | "medium" | "large" = "large";
13
+ export let elevation: "level0" | "level1" | "level2" | "level3" | "level4" = "level1";
14
+
15
+ $: backgroundColor = typeof color === "string" ? resolveColor(color as ColorToken) : color;
16
+ $: contentColor = typeof onColor === "string" ? resolveColor(onColor as ColorToken) : onColor;
17
+ $: borderRadius = `var(--md-sys-shape-${shape})`;
18
+ $: boxShadow = `var(--md-sys-elevation-${elevation})`;
19
+ </script>
20
+
21
+ <button
22
+ on:click={onClick}
23
+ class="border-0 cursor-pointer inline-flex items-center justify-center gap-8 font-medium tracking-wider transition-all hover:opacity-90 active:scale-95"
24
+ style={`
25
+ background: ${backgroundColor};
26
+ color: ${contentColor};
27
+ border-radius: ${borderRadius};
28
+ box-shadow: ${boxShadow};
29
+ padding: 10px 24px; <!-- Padding moderado: vertical 10px, horizontal 24px (como Compose) -->
30
+ ${modifier.toStyle()}
31
+ `}
32
+ >
33
+ <slot />
34
+ </button>
@@ -0,0 +1,36 @@
1
+ import { Modifier } from "../../core/modifier/Modifier";
2
+ import { type ColorToken } from "../../core/theme/ColorScheme";
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
13
+ };
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
17
+ default: any;
18
+ } ? Props extends Record<string, never> ? any : {
19
+ children?: any;
20
+ } : {});
21
+ declare const Button: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
22
+ onClick?: () => void;
23
+ modifier?: Modifier;
24
+ color?: ColorToken | string;
25
+ onColor?: ColorToken | string;
26
+ shape?: "none" | "extraSmall" | "small" | "medium" | "large";
27
+ elevation?: "level0" | "level1" | "level2" | "level3" | "level4";
28
+ }, {
29
+ default: {};
30
+ }>, {
31
+ [evt: string]: CustomEvent<any>;
32
+ }, {
33
+ default: {};
34
+ }, {}, string>;
35
+ type Button = InstanceType<typeof Button>;
36
+ export default Button;
File without changes
@@ -0,0 +1,26 @@
1
+ export default ButtonWithIcon;
2
+ type ButtonWithIcon = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string;
8
+ };
9
+ declare const ButtonWithIcon: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
24
+ };
25
+ z_$$bindings?: Bindings;
26
+ }
@@ -0,0 +1,77 @@
1
+ <script lang="ts">
2
+ import { Modifier } from "../../core/modifier/Modifier";
3
+ import { ColorScheme } from "../../core/theme/ColorScheme";
4
+ import { resolveColor } from "../../core/theme/resolve";
5
+ import { RoundedCornerShape } from "../../core/shapes/RoundedCornerShape";
6
+ import AnimatedVisibility from "../motion/AnimatedVisibility.svelte";
7
+ import { scaleIn, scaleOut } from "../../core/motion/transitions";
8
+ import type { Shape } from "../../core/shapes/Shape";
9
+
10
+ export let checked: boolean;
11
+ export let onCheckedChange: (value: boolean) => void;
12
+
13
+ export let enabled: boolean = true;
14
+ export let shape: Shape = RoundedCornerShape(8);
15
+ export let modifier: Modifier = Modifier.empty();
16
+
17
+ function toggle() {
18
+ if (!enabled) return;
19
+ onCheckedChange(!checked);
20
+ }
21
+
22
+ $: background = checked
23
+ ? resolveColor(ColorScheme.Primary)
24
+ : resolveColor(ColorScheme.SurfaceVariant);
25
+
26
+ $: contentColor = checked
27
+ ? resolveColor(ColorScheme.OnPrimary)
28
+ : resolveColor(ColorScheme.OnSurface);
29
+ </script>
30
+
31
+ <button
32
+ on:click={toggle}
33
+ disabled={!enabled}
34
+ style={`
35
+ display: flex;
36
+ align-items: center;
37
+ gap: 12px;
38
+ padding: 12px 16px;
39
+ background: ${background};
40
+ color: ${contentColor};
41
+ border-radius: ${shape.toCssBorderRadius()};
42
+ border: none;
43
+ cursor: ${enabled ? "pointer" : "default"};
44
+ transition: background 200ms ease;
45
+ ${modifier.toStyle()}
46
+ `}
47
+ >
48
+ <!-- Check visual -->
49
+ <div
50
+ style={`
51
+ width: 20px;
52
+ height: 20px;
53
+ border-radius: 4px;
54
+ background: ${checked ? contentColor : "transparent"};
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: center;
58
+ `}
59
+ >
60
+ <AnimatedVisibility
61
+ visible={checked}
62
+ enter={scaleIn()}
63
+ exit={scaleOut()}
64
+ >
65
+ <div
66
+ style={`
67
+ width: 10px;
68
+ height: 10px;
69
+ background: ${background};
70
+ border-radius: 2px;
71
+ `}></div>
72
+ </AnimatedVisibility>
73
+ </div>
74
+
75
+ <!-- Content -->
76
+ <slot />
77
+ </button>
@@ -0,0 +1,35 @@
1
+ import { Modifier } from "../../core/modifier/Modifier";
2
+ import type { Shape } from "../../core/shapes/Shape";
3
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
+ $$bindings?: Bindings;
6
+ } & Exports;
7
+ (internal: unknown, props: Props & {
8
+ $$events?: Events;
9
+ $$slots?: Slots;
10
+ }): Exports & {
11
+ $set?: any;
12
+ $on?: any;
13
+ };
14
+ z_$$bindings?: Bindings;
15
+ }
16
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
17
+ default: any;
18
+ } ? Props extends Record<string, never> ? any : {
19
+ children?: any;
20
+ } : {});
21
+ declare const CheckButton: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
22
+ checked: boolean;
23
+ onCheckedChange: (value: boolean) => void;
24
+ enabled?: boolean;
25
+ shape?: Shape;
26
+ modifier?: Modifier;
27
+ }, {
28
+ default: {};
29
+ }>, {
30
+ [evt: string]: CustomEvent<any>;
31
+ }, {
32
+ default: {};
33
+ }, {}, string>;
34
+ type CheckButton = InstanceType<typeof CheckButton>;
35
+ export default CheckButton;
File without changes
@@ -0,0 +1,26 @@
1
+ export default IconButton;
2
+ type IconButton = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string;
8
+ };
9
+ declare const IconButton: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
24
+ };
25
+ z_$$bindings?: Bindings;
26
+ }