@danielito1996/compose-svelted 0.0.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +113 -274
  2. package/dist/components/ContentScale.d.ts +10 -0
  3. package/dist/components/layouts/Alignment.d.ts +20 -0
  4. package/dist/components/layouts/Arrangement.d.ts +23 -0
  5. package/{src/lib/components/textFields/TextFieldColors.ts → dist/components/textFields/TextFieldColors.d.ts} +12 -11
  6. package/dist/components/textFields/TextFieldDefaults.d.ts +11 -0
  7. package/dist/core/elevation/elevation.d.ts +1 -0
  8. package/dist/core/helpers/painterResource.d.ts +12 -0
  9. package/{src/lib/core/modifier/Modifier.ts → dist/core/modifier/Modifier.d.ts} +195 -259
  10. package/dist/core/modifier/ModifierImpl.d.ts +38 -0
  11. package/dist/core/motion/AnimationSpec.d.ts +6 -0
  12. package/dist/core/motion/ContentTransition.d.ts +5 -0
  13. package/dist/core/motion/contentTransitions.d.ts +4 -0
  14. package/dist/core/motion/transitions.d.ts +7 -0
  15. package/dist/core/navigation/NavBackStackEntry.d.ts +4 -0
  16. package/dist/core/navigation/NavController.d.ts +8 -0
  17. package/dist/core/navigation/NavStore.d.ts +6 -0
  18. package/dist/core/navigation/Route.d.ts +3 -0
  19. package/dist/core/navigation/composable.d.ts +5 -0
  20. package/dist/core/navigation/rememberNavController.d.ts +2 -0
  21. package/dist/core/shapes/RoundedCornerShape.d.ts +13 -0
  22. package/{src/lib/core/shapes/Shape.ts → dist/core/shapes/Shape.d.ts} +3 -3
  23. package/dist/core/theme/ColorScheme.d.ts +17 -0
  24. package/dist/core/theme/Density.d.ts +5 -0
  25. package/dist/core/theme/TextStyle.d.ts +19 -0
  26. package/{src/lib/core/theme/colors.ts → dist/core/theme/colors.d.ts} +15 -21
  27. package/dist/core/theme/cssVars.d.ts +2 -0
  28. package/dist/core/theme/defaults/darkColors.d.ts +2 -0
  29. package/dist/core/theme/defaults/defaultTheme.d.ts +3 -0
  30. package/dist/core/theme/defaults/lightColors.d.ts +2 -0
  31. package/dist/core/theme/defaults/typography.d.ts +2 -0
  32. package/{src/lib/core/theme/elevation.ts → dist/core/theme/elevation.d.ts} +7 -7
  33. package/dist/core/theme/getCurrentColor.d.ts +1 -0
  34. package/dist/core/theme/resolve.d.ts +5 -0
  35. package/{src/lib/core/theme/shapes.ts → dist/core/theme/shapes.d.ts} +7 -7
  36. package/{src/lib/core/theme/spacing.ts → dist/core/theme/spacing.d.ts} +7 -7
  37. package/dist/core/theme/store.d.ts +2 -0
  38. package/dist/core/theme/systemTheme.d.ts +2 -0
  39. package/{src/lib/core/theme/theme.ts → dist/core/theme/theme.d.ts} +13 -15
  40. package/{src/lib/core/theme/typography.ts → dist/core/theme/typography.d.ts} +24 -29
  41. package/dist/index.d.ts +152 -0
  42. package/dist/index.js +1164 -0
  43. package/package.json +9 -35
  44. package/.vscode/extensions.json +0 -3
  45. package/docs/assets/components/button/button.png +0 -0
  46. package/docs/assets/components/surface/surface_simple.png +0 -0
  47. package/docs/assets/components/text/text.png +0 -0
  48. package/docs/assets/components/textfield/textfield_simple.png +0 -0
  49. package/docs/assets/svelted.png +0 -0
  50. package/docs/assets/svelted.svg +0 -41
  51. package/docs/getting_started.md +0 -116
  52. package/docs/index.md +0 -106
  53. package/index.html +0 -14
  54. package/screenshots/Captura de pantalla 2025-12-20 022710.png +0 -0
  55. package/screenshots/capturas.txt +0 -1
  56. package/src/App.svelte +0 -39
  57. package/src/app.css +0 -23
  58. package/src/assets/img/hav3m.png +0 -0
  59. package/src/assets/img/vessel.jpg +0 -0
  60. package/src/assets/raw/boat.svg +0 -15
  61. package/src/assets/raw/cash.svg +0 -39
  62. package/src/assets/raw/police.json +0 -1
  63. package/src/assets/raw/svelte.svg +0 -1
  64. package/src/lib/Counter.svelte +0 -10
  65. package/src/lib/components/AppRoot.svelte +0 -15
  66. package/src/lib/components/ContentScale.ts +0 -12
  67. package/src/lib/components/Icon.svelte +0 -47
  68. package/src/lib/components/Image.svelte +0 -31
  69. package/src/lib/components/Spacer.svelte +0 -11
  70. package/src/lib/components/Surface.svelte +0 -19
  71. package/src/lib/components/Text.svelte +0 -23
  72. package/src/lib/components/TonalButton.svelte +0 -34
  73. package/src/lib/components/buttons/Button.svelte +0 -34
  74. package/src/lib/components/buttons/IconButton.svelte +0 -0
  75. package/src/lib/components/buttons/OutlinedButton.svelte +0 -0
  76. package/src/lib/components/buttons/OutlinedButtonWithIcon.svelte +0 -0
  77. package/src/lib/components/buttons/OutlinedIconButton.svelte +0 -0
  78. package/src/lib/components/buttons/TextButton.svelte +0 -0
  79. package/src/lib/components/cards/Card.svelte +0 -0
  80. package/src/lib/components/cards/OutlinedCard.svelte +0 -0
  81. package/src/lib/components/layouts/Alignment.ts +0 -37
  82. package/src/lib/components/layouts/Arrangement.ts +0 -66
  83. package/src/lib/components/layouts/Box.svelte +0 -25
  84. package/src/lib/components/layouts/Column.svelte +0 -23
  85. package/src/lib/components/layouts/LazyColumn.svelte +0 -0
  86. package/src/lib/components/layouts/LazyRow.svelte +0 -0
  87. package/src/lib/components/layouts/Row.svelte +0 -23
  88. package/src/lib/components/layouts/Scafold.svelte +0 -0
  89. package/src/lib/components/menus/DropdownMenu.svelte +0 -0
  90. package/src/lib/components/menus/DropdownMenuItem.svelte +0 -0
  91. package/src/lib/components/textFields/BaseTextField.svelte +0 -130
  92. package/src/lib/components/textFields/OutlinedTextField.svelte +0 -52
  93. package/src/lib/components/textFields/TextField.svelte +0 -36
  94. package/src/lib/components/textFields/TextFieldDefaults.ts +0 -48
  95. package/src/lib/core/helpers/painterResource.ts +0 -26
  96. package/src/lib/core/modifier/ModifierImpl.ts +0 -275
  97. package/src/lib/core/shapes/RoundedCornerShape.ts +0 -53
  98. package/src/lib/core/theme/ColorScheme.ts +0 -25
  99. package/src/lib/core/theme/ComposeTheme.svelte +0 -22
  100. package/src/lib/core/theme/TextStyle.ts +0 -25
  101. package/src/lib/core/theme/cssVars.ts +0 -32
  102. package/src/lib/core/theme/defaults/darkColors.ts +0 -17
  103. package/src/lib/core/theme/defaults/defaultTheme.ts +0 -35
  104. package/src/lib/core/theme/defaults/lightColors.ts +0 -17
  105. package/src/lib/core/theme/defaults/typography.ts +0 -128
  106. package/src/lib/core/theme/getCurrentColor.ts +0 -10
  107. package/src/lib/core/theme/resolve.ts +0 -29
  108. package/src/lib/core/theme/store.ts +0 -26
  109. package/src/lib/core/theme/systemTheme.ts +0 -20
  110. package/src/lib/index.ts +0 -42
  111. package/src/main.ts +0 -9
  112. package/svelte.config.js +0 -8
  113. package/tsconfig.app.json +0 -21
  114. package/tsconfig.json +0 -7
  115. package/tsconfig.node.json +0 -26
  116. package/vite.config.ts +0 -11
  117. /package/{src/lib/components/buttons/ButtonWithIcon.svelte → dist/core/motion/applyAnimation.d.ts} +0 -0
  118. /package/{public → dist}/vite.svg +0 -0
@@ -1,128 +0,0 @@
1
- import type { Typography } from "../typography";
2
-
3
- /**
4
- * Material Design 3 - Type Scale
5
- * Nombres EXACTOS a Jetpack Compose Material 3:
6
- * displayLarge, displayMedium, displaySmall,
7
- * headlineLarge, headlineMedium, headlineSmall,
8
- * titleLarge, titleMedium, titleSmall,
9
- * bodyLarge, bodyMedium, bodySmall,
10
- * labelLarge, labelMedium, labelSmall
11
- *
12
- * Valores (size/lineHeight/letterSpacing/fontWeight) corresponden a MD3.
13
- * fontFamily: system stack por defecto (overrideable por el consumidor).
14
- */
15
- const fontFamily =
16
- "system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif";
17
-
18
- export const defaultTypography: Typography = {
19
- displayLarge: {
20
- fontFamily,
21
- fontSize: "57px",
22
- lineHeight: "64px",
23
- letterSpacing: "-0.25px",
24
- fontWeight: 400,
25
- },
26
- displayMedium: {
27
- fontFamily,
28
- fontSize: "45px",
29
- lineHeight: "52px",
30
- letterSpacing: "0px",
31
- fontWeight: 400,
32
- },
33
- displaySmall: {
34
- fontFamily,
35
- fontSize: "36px",
36
- lineHeight: "44px",
37
- letterSpacing: "0px",
38
- fontWeight: 400,
39
- },
40
-
41
- headlineLarge: {
42
- fontFamily,
43
- fontSize: "32px",
44
- lineHeight: "40px",
45
- letterSpacing: "0px",
46
- fontWeight: 400,
47
- },
48
- headlineMedium: {
49
- fontFamily,
50
- fontSize: "28px",
51
- lineHeight: "36px",
52
- letterSpacing: "0px",
53
- fontWeight: 400,
54
- },
55
- headlineSmall: {
56
- fontFamily,
57
- fontSize: "24px",
58
- lineHeight: "32px",
59
- letterSpacing: "0px",
60
- fontWeight: 400,
61
- },
62
-
63
- titleLarge: {
64
- fontFamily,
65
- fontSize: "22px",
66
- lineHeight: "28px",
67
- letterSpacing: "0px",
68
- fontWeight: 400,
69
- },
70
- titleMedium: {
71
- fontFamily,
72
- fontSize: "16px",
73
- lineHeight: "24px",
74
- letterSpacing: "0.15px",
75
- fontWeight: 500,
76
- },
77
- titleSmall: {
78
- fontFamily,
79
- fontSize: "14px",
80
- lineHeight: "20px",
81
- letterSpacing: "0.1px",
82
- fontWeight: 500,
83
- },
84
-
85
- bodyLarge: {
86
- fontFamily,
87
- fontSize: "16px",
88
- lineHeight: "24px",
89
- letterSpacing: "0.5px",
90
- fontWeight: 400,
91
- },
92
- bodyMedium: {
93
- fontFamily,
94
- fontSize: "14px",
95
- lineHeight: "20px",
96
- letterSpacing: "0.25px",
97
- fontWeight: 400,
98
- },
99
- bodySmall: {
100
- fontFamily,
101
- fontSize: "12px",
102
- lineHeight: "16px",
103
- letterSpacing: "0.4px",
104
- fontWeight: 400,
105
- },
106
-
107
- labelLarge: {
108
- fontFamily,
109
- fontSize: "14px",
110
- lineHeight: "20px",
111
- letterSpacing: "0.1px",
112
- fontWeight: 500,
113
- },
114
- labelMedium: {
115
- fontFamily,
116
- fontSize: "12px",
117
- lineHeight: "16px",
118
- letterSpacing: "0.5px",
119
- fontWeight: 500,
120
- },
121
- labelSmall: {
122
- fontFamily,
123
- fontSize: "11px",
124
- lineHeight: "16px",
125
- letterSpacing: "0.5px",
126
- fontWeight: 500,
127
- },
128
- };
@@ -1,10 +0,0 @@
1
- import { get } from "svelte/store";
2
- import { resolvedTheme } from "./store";
3
-
4
- export function getCurrentColor(token: string): string {
5
- const theme = get(resolvedTheme);
6
- if (!theme) return "#2a2a2a"; // fallback
7
-
8
- // Buscamos el token en el colorScheme actual
9
- return theme.colorScheme[token as keyof typeof theme.colorScheme] || "#2a2a2a";
10
- }
@@ -1,29 +0,0 @@
1
- import type { ColorToken } from "./ColorScheme";
2
- import type { TextStyleToken } from "./TextStyle";
3
-
4
- export const resolveColor = (c: ColorToken) =>
5
- `var(--md-sys-color-${c})`;
6
-
7
- export function resolveTintColor(color: ColorToken | string): string {
8
- if (color.startsWith("#") || color.startsWith("rgb") || color.startsWith("hsl")) {
9
- return color; // directo
10
- }
11
-
12
- // Para token del tema, resolvemos var a hex/RGB real usando getComputedStyle
13
- const dummy = document.createElement("div");
14
- dummy.style.color = resolveColor(color as ColorToken); // var(--...)
15
- document.body.appendChild(dummy);
16
- const computed = getComputedStyle(dummy).color; // rgb(...) o hex
17
- document.body.removeChild(dummy);
18
-
19
- return computed;
20
- }
21
-
22
- // Ahora resolvemos cada propiedad por separado
23
- export const resolveTextStyle = (t: TextStyleToken) => `
24
- font-family: var(--md-sys-typescale-${t}-font-family);
25
- font-size: var(--md-sys-typescale-${t}-font-size);
26
- line-height: var(--md-sys-typescale-${t}-line-height);
27
- letter-spacing: var(--md-sys-typescale-${t}-letter-spacing);
28
- font-weight: var(--md-sys-typescale-${t}-font-weight);
29
- `;
@@ -1,26 +0,0 @@
1
- import { writable, derived } from "svelte/store";
2
- import type { ComposeTheme, ThemeMode } from "./theme";
3
- import { systemTheme } from "./systemTheme";
4
-
5
- export const themeState = writable<{
6
- light: ComposeTheme;
7
- dark: ComposeTheme;
8
- mode: ThemeMode;
9
- } | null>(null);
10
-
11
- // 🔑 ESTE es el tema efectivo (como MaterialTheme)
12
- export const resolvedTheme = derived(
13
- [themeState, systemTheme],
14
- ([$theme, $system]) => {
15
- if (!$theme) return null;
16
-
17
- const mode =
18
- $theme.mode === "system"
19
- ? $system
20
- : $theme.mode;
21
-
22
- return mode === "dark"
23
- ? $theme.dark
24
- : $theme.light;
25
- }
26
- );
@@ -1,20 +0,0 @@
1
- import { readable } from "svelte/store";
2
-
3
- export type SystemTheme = "light" | "dark";
4
-
5
- export const systemTheme = readable<SystemTheme>("light", (set) => {
6
- if (typeof window === "undefined") return;
7
-
8
- const media = window.matchMedia("(prefers-color-scheme: dark)");
9
-
10
- const update = () => {
11
- set(media.matches ? "dark" : "light");
12
- };
13
-
14
- update(); // estado inicial
15
- media.addEventListener("change", update);
16
-
17
- return () => {
18
- media.removeEventListener("change", update);
19
- };
20
- });
package/src/lib/index.ts DELETED
@@ -1,42 +0,0 @@
1
- // =========================
2
- // COMPONENTS (Svelte)
3
- // =========================
4
- // LAYOUTS
5
- export { default as ComposeTheme } from "./core/theme/ComposeTheme.svelte";
6
- export { default as AppRoot } from "./components/AppRoot.svelte"
7
- // COMPONENTS
8
- export { default as Surface } from "./components/Surface.svelte";
9
- export { default as Text } from "./components/Text.svelte";
10
- export { default as Column } from "./components/layouts/Column.svelte";
11
- export { default as Row } from "./components/layouts/Row.svelte";
12
- export { default as Box } from "./components/layouts/Box.svelte";
13
- export { default as Spacer } from "./components/Spacer.svelte"
14
- export { default as Button } from "./components/buttons/Button.svelte"
15
- export { default as IconButton } from "./components/buttons/IconButton.svelte"
16
- export { default as ButtonWithIcon } from "./components/buttons/ButtonWithIcon.svelte"
17
- export { default as OutlinedIconButton } from "./components/buttons/OutlinedButton.svelte"
18
- export { default as OutlinedButtonWithIcon } from "./components/buttons/OutlinedButtonWithIcon.svelte"
19
- export { default as TextButton } from "./components/buttons/TextButton.svelte"
20
- export { default as OutlinedButton } from "./components/buttons/OutlinedButton.svelte"
21
- export { default as Card } from "./components/cards/Card.svelte"
22
- export { default as OutlinedCard } from "./components/cards/OutlinedCard.svelte"
23
- export { default as TextField } from "./components/textFields/TextField.svelte"
24
- export { default as OutlinedTextField } from "./components/textFields/OutlinedTextField.svelte"
25
- export { default as TonalButton } from "./components/TonalButton.svelte"
26
- export { default as LazyColumn } from "./components/layouts/LazyColumn.svelte"
27
- export { default as LazyRow } from "./components/layouts/LazyRow.svelte"
28
- export { default as Icon } from "./components/Icon.svelte"
29
- export { default as Image } from "./components/Image.svelte"
30
-
31
- // =========================
32
- // TOKENS / API (TS only)
33
- // =========================
34
- export * from "./core/shapes/RoundedCornerShape"
35
- export * from "./core/theme/ColorScheme";
36
- export * from "./core/theme/TextStyle";
37
- export * from "./core/modifier/Modifier"
38
- export * from "./components/layouts/Arrangement";
39
- export * from "./components/layouts/Alignment";
40
- export * from "./components/ContentScale"
41
- export * from "./core/helpers/painterResource"
42
- export * from "./components/ContentScale"
package/src/main.ts DELETED
@@ -1,9 +0,0 @@
1
- import { mount } from 'svelte'
2
- import './app.css'
3
- import App from './App.svelte'
4
-
5
- const app = mount(App, {
6
- target: document.getElementById('app')!,
7
- })
8
-
9
- export default app
package/svelte.config.js DELETED
@@ -1,8 +0,0 @@
1
- import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2
-
3
- /** @type {import("@sveltejs/vite-plugin-svelte").SvelteConfig} */
4
- export default {
5
- // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
6
- // for more information about preprocessors
7
- preprocess: vitePreprocess(),
8
- }
package/tsconfig.app.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "extends": "@tsconfig/svelte/tsconfig.json",
3
- "compilerOptions": {
4
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
5
- "target": "ES2022",
6
- "useDefineForClassFields": true,
7
- "module": "ESNext",
8
- "types": ["svelte", "vite/client"],
9
- "noEmit": true,
10
- /**
11
- * Typecheck JS in `.svelte` and `.js` files by default.
12
- * Disable checkJs if you'd like to use dynamic types in JS.
13
- * Note that setting allowJs false does not prevent the use
14
- * of JS in `.svelte` files.
15
- */
16
- "allowJs": true,
17
- "checkJs": true,
18
- "moduleDetection": "force"
19
- },
20
- "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"]
21
- }
package/tsconfig.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "files": [],
3
- "references": [
4
- { "path": "./tsconfig.app.json" },
5
- { "path": "./tsconfig.node.json" }
6
- ]
7
- }
@@ -1,26 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
- "target": "ES2023",
5
- "lib": ["ES2023"],
6
- "module": "ESNext",
7
- "types": ["node"],
8
- "skipLibCheck": true,
9
-
10
- /* Bundler mode */
11
- "moduleResolution": "bundler",
12
- "allowImportingTsExtensions": true,
13
- "verbatimModuleSyntax": true,
14
- "moduleDetection": "force",
15
- "noEmit": true,
16
-
17
- /* Linting */
18
- "strict": true,
19
- "noUnusedLocals": true,
20
- "noUnusedParameters": true,
21
- "erasableSyntaxOnly": true,
22
- "noFallthroughCasesInSwitch": true,
23
- "noUncheckedSideEffectImports": true
24
- },
25
- "include": ["vite.config.ts"]
26
- }
package/vite.config.ts DELETED
@@ -1,11 +0,0 @@
1
- import { defineConfig } from 'vite'
2
- import { svelte } from '@sveltejs/vite-plugin-svelte'
3
- import tailwindcss from '@tailwindcss/vite'
4
-
5
- // https://vite.dev/config/
6
- export default defineConfig({
7
- plugins: [
8
- svelte(),
9
- tailwindcss(),
10
- ],
11
- })
File without changes