@compose-market/theme 0.0.2 → 0.0.4
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.
- package/dist/css/dark.css +38 -0
- package/dist/css/index.css +10 -0
- package/dist/css/index.d.ts +16 -0
- package/dist/css/index.d.ts.map +1 -0
- package/dist/css/index.js +97 -0
- package/dist/css/index.js.map +1 -0
- package/dist/css/light.css +70 -0
- package/dist/css/shell.css +414 -0
- package/dist/css/tokens.css +24 -0
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/shell/index.d.ts +67 -0
- package/dist/shell/index.d.ts.map +1 -0
- package/dist/shell/index.js +45 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/styles.d.ts +2 -0
- package/dist/shell/styles.d.ts.map +1 -0
- package/dist/shell/styles.js +416 -0
- package/dist/shell/styles.js.map +1 -0
- package/dist/tailwind/preset.d.ts +282 -0
- package/dist/tailwind/preset.d.ts.map +1 -0
- package/dist/tailwind/preset.js +144 -0
- package/dist/tailwind/preset.js.map +1 -0
- package/package.json +16 -41
- package/dist/components/brand/Logo.d.ts +0 -25
- package/dist/components/brand/Logo.d.ts.map +0 -1
- package/dist/components/brand/Logo.js +0 -20
- package/dist/components/brand/Logo.js.map +0 -1
- package/dist/components/brand/index.d.ts +0 -2
- package/dist/components/brand/index.d.ts.map +0 -1
- package/dist/components/brand/index.js +0 -2
- package/dist/components/brand/index.js.map +0 -1
- package/dist/components/session.d.ts +0 -58
- package/dist/components/session.d.ts.map +0 -1
- package/dist/components/session.js +0 -280
- package/dist/components/session.js.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -10
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/badge.js +0 -24
- package/dist/components/ui/badge.js.map +0 -1
- package/dist/components/ui/button.d.ts +0 -14
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/button.js +0 -43
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/card.d.ts +0 -13
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/card.js +0 -18
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -20
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dialog.js +0 -23
- package/dist/components/ui/dialog.js.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -28
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.js +0 -37
- package/dist/components/ui/dropdown-menu.js.map +0 -1
- package/dist/components/ui/index.d.ts +0 -7
- package/dist/components/ui/index.d.ts.map +0 -1
- package/dist/components/ui/index.js +0 -7
- package/dist/components/ui/index.js.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -5
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/progress.js +0 -9
- package/dist/components/ui/progress.js.map +0 -1
- package/dist/components/ui/surface-variant.d.ts +0 -4
- package/dist/components/ui/surface-variant.d.ts.map +0 -1
- package/dist/components/ui/surface-variant.js +0 -10
- package/dist/components/ui/surface-variant.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -6
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/visual-system.d.ts +0 -39
- package/dist/lib/visual-system.d.ts.map +0 -1
- package/dist/lib/visual-system.js +0 -129
- package/dist/lib/visual-system.js.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -2
- package/dist/utils/index.js.map +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compose.Market Dark Theme
|
|
3
|
+
* @compose-market/theme
|
|
4
|
+
*
|
|
5
|
+
* Cyberpunk-inspired dark theme with neon accents.
|
|
6
|
+
* DO NOT EDIT - This file is generated from the theme package.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
:root {
|
|
10
|
+
/* Colors */
|
|
11
|
+
--background: 222 47% 3%;
|
|
12
|
+
--foreground: 210 40% 80%;
|
|
13
|
+
--card: 222 40% 5%;
|
|
14
|
+
--card-foreground: 210 30% 75%;
|
|
15
|
+
--popover: 222 40% 4%;
|
|
16
|
+
--popover-foreground: 210 30% 75%;
|
|
17
|
+
--primary: 188 95% 43%;
|
|
18
|
+
--primary-foreground: 222 47% 3%;
|
|
19
|
+
--secondary: 270 60% 20%;
|
|
20
|
+
--secondary-foreground: 270 80% 90%;
|
|
21
|
+
--muted: 217 33% 15%;
|
|
22
|
+
--muted-foreground: 215 16% 47%;
|
|
23
|
+
--accent: 292 85% 55%;
|
|
24
|
+
--accent-foreground: 0 0% 100%;
|
|
25
|
+
--destructive: 0 90% 50%;
|
|
26
|
+
--destructive-foreground: 0 0% 100%;
|
|
27
|
+
--border: 217 33% 15%;
|
|
28
|
+
--input: 217 33% 10%;
|
|
29
|
+
--ring: 188 95% 43%;
|
|
30
|
+
--sidebar: 222 47% 3%;
|
|
31
|
+
--sidebar-foreground: 210 30% 75%;
|
|
32
|
+
--sidebar-primary: 188 95% 43%;
|
|
33
|
+
--sidebar-primary-foreground: 222 47% 3%;
|
|
34
|
+
--sidebar-accent: 222 40% 8%;
|
|
35
|
+
--sidebar-accent-foreground: 210 40% 90%;
|
|
36
|
+
--sidebar-border: 217 33% 15%;
|
|
37
|
+
--sidebar-ring: 188 95% 43%;
|
|
38
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS Custom Properties Generator
|
|
3
|
+
*
|
|
4
|
+
* This file is the source for generating CSS. The actual CSS files
|
|
5
|
+
* are generated via the build script, but we also export static
|
|
6
|
+
* templates that can be used directly.
|
|
7
|
+
*/
|
|
8
|
+
import { darkTheme } from '../themes/dark';
|
|
9
|
+
export declare function generateThemeCss(theme: typeof darkTheme, themeName: string): string;
|
|
10
|
+
export declare function generateFontCss(): string;
|
|
11
|
+
export declare function generateRadiusCss(): string;
|
|
12
|
+
export declare const baseTokensCss: string;
|
|
13
|
+
export declare const darkThemeCss: string;
|
|
14
|
+
export declare const lightThemeCss: string;
|
|
15
|
+
export declare const indexCss = "/**\n * Compose.Market Theme System\n * @compose-market/theme/css\n * \n * Import this file for the complete theme (dark by default).\n * For light mode support, also import ./light.css\n */\n\n@import './tokens.css';\n@import './dark.css';\n@import './shell.css';\n";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAanF;AAED,wBAAgB,eAAe,IAAI,MAAM,CASxC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED,eAAO,MAAM,aAAa,QAazB,CAAC;AAEF,eAAO,MAAM,YAAY,QAaxB,CAAC;AAEF,eAAO,MAAM,aAAa,QAiBzB,CAAC;AAEF,eAAO,MAAM,QAAQ,+QAWpB,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS Custom Properties Generator
|
|
3
|
+
*
|
|
4
|
+
* This file is the source for generating CSS. The actual CSS files
|
|
5
|
+
* are generated via the build script, but we also export static
|
|
6
|
+
* templates that can be used directly.
|
|
7
|
+
*/
|
|
8
|
+
import { fontFamilies } from '../tokens/typography';
|
|
9
|
+
import { radius } from '../tokens/radius';
|
|
10
|
+
import { darkTheme } from '../themes/dark';
|
|
11
|
+
import { lightTheme } from '../themes/light';
|
|
12
|
+
export function generateThemeCss(theme, themeName) {
|
|
13
|
+
const lines = [];
|
|
14
|
+
lines.push(`/* Compose.Market Theme: ${themeName} */`);
|
|
15
|
+
lines.push(`/* Generated from @compose-market/theme */`);
|
|
16
|
+
lines.push('');
|
|
17
|
+
for (const [key, value] of Object.entries(theme)) {
|
|
18
|
+
const cssVarName = `--${key.replace(/([A-Z])/g, '-$1').toLowerCase()}`;
|
|
19
|
+
lines.push(` ${cssVarName}: ${value};`);
|
|
20
|
+
}
|
|
21
|
+
return lines.join('\n');
|
|
22
|
+
}
|
|
23
|
+
export function generateFontCss() {
|
|
24
|
+
const lines = [];
|
|
25
|
+
lines.push('/* Typography */');
|
|
26
|
+
for (const font of Object.values(fontFamilies)) {
|
|
27
|
+
lines.push(` ${font.cssVar}: ${font.value}, ${font.fallback};`);
|
|
28
|
+
}
|
|
29
|
+
return lines.join('\n');
|
|
30
|
+
}
|
|
31
|
+
export function generateRadiusCss() {
|
|
32
|
+
const lines = [];
|
|
33
|
+
lines.push('/* Border Radius */');
|
|
34
|
+
for (const r of Object.values(radius)) {
|
|
35
|
+
lines.push(` ${r.cssVar}: ${r.value};`);
|
|
36
|
+
}
|
|
37
|
+
return lines.join('\n');
|
|
38
|
+
}
|
|
39
|
+
export const baseTokensCss = `/**
|
|
40
|
+
* Compose.Market Design Tokens
|
|
41
|
+
* @compose-market/theme
|
|
42
|
+
*
|
|
43
|
+
* DO NOT EDIT - This file is generated from the theme package.
|
|
44
|
+
* Source: backend/services/packages/theme/src/css/tokens.css
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
:root {
|
|
48
|
+
${generateFontCss()}
|
|
49
|
+
|
|
50
|
+
${generateRadiusCss()}
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
export const darkThemeCss = `/**
|
|
54
|
+
* Compose.Market Dark Theme
|
|
55
|
+
* @compose-market/theme
|
|
56
|
+
*
|
|
57
|
+
* Cyberpunk-inspired dark theme with neon accents.
|
|
58
|
+
* DO NOT EDIT - This file is generated from the theme package.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
:root {
|
|
62
|
+
${generateThemeCss(darkTheme, 'dark')}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* Dark mode is default - no @media query needed */
|
|
66
|
+
`;
|
|
67
|
+
export const lightThemeCss = `/**
|
|
68
|
+
* Compose.Market Light Theme
|
|
69
|
+
* @compose-market/theme
|
|
70
|
+
*
|
|
71
|
+
* Clean, professional light theme.
|
|
72
|
+
* DO NOT EDIT - This file is generated from the theme package.
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
:root {
|
|
76
|
+
${generateThemeCss(lightTheme, 'light')}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* Light mode activation via class or data attribute */
|
|
80
|
+
.light,
|
|
81
|
+
[data-theme="light"] {
|
|
82
|
+
${generateThemeCss(lightTheme, 'light').split('\n').slice(3).join('\n')}
|
|
83
|
+
}
|
|
84
|
+
`;
|
|
85
|
+
export const indexCss = `/**
|
|
86
|
+
* Compose.Market Theme System
|
|
87
|
+
* @compose-market/theme/css
|
|
88
|
+
*
|
|
89
|
+
* Import this file for the complete theme (dark by default).
|
|
90
|
+
* For light mode support, also import ./light.css
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
@import './tokens.css';
|
|
94
|
+
@import './dark.css';
|
|
95
|
+
@import './shell.css';
|
|
96
|
+
`;
|
|
97
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/css/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,gBAAgB,CAAC,KAAuB,EAAE,SAAiB;IACzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,SAAS,KAAK,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,KAAK,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;EAS3B,eAAe,EAAE;;EAEjB,iBAAiB,EAAE;;CAEpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;EAS1B,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC;;;;CAIpC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;EAS3B,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;;;;;;EAMrC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEtE,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;CAWvB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compose.Market Light Theme
|
|
3
|
+
* @compose-market/theme
|
|
4
|
+
*
|
|
5
|
+
* Clean, professional light theme.
|
|
6
|
+
* DO NOT EDIT - This file is generated from the theme package.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
:root {
|
|
10
|
+
/* Colors */
|
|
11
|
+
--background: 0 0% 100%;
|
|
12
|
+
--foreground: 222 47% 11%;
|
|
13
|
+
--card: 0 0% 100%;
|
|
14
|
+
--card-foreground: 222 47% 11%;
|
|
15
|
+
--popover: 0 0% 100%;
|
|
16
|
+
--popover-foreground: 222 47% 11%;
|
|
17
|
+
--primary: 188 95% 43%;
|
|
18
|
+
--primary-foreground: 0 0% 100%;
|
|
19
|
+
--secondary: 210 40% 96%;
|
|
20
|
+
--secondary-foreground: 222 47% 11%;
|
|
21
|
+
--muted: 210 40% 96%;
|
|
22
|
+
--muted-foreground: 215 16% 47%;
|
|
23
|
+
--accent: 292 85% 55%;
|
|
24
|
+
--accent-foreground: 0 0% 100%;
|
|
25
|
+
--destructive: 0 84% 60%;
|
|
26
|
+
--destructive-foreground: 0 0% 100%;
|
|
27
|
+
--border: 214 32% 91%;
|
|
28
|
+
--input: 214 32% 91%;
|
|
29
|
+
--ring: 188 95% 43%;
|
|
30
|
+
--sidebar: 0 0% 98%;
|
|
31
|
+
--sidebar-foreground: 222 47% 11%;
|
|
32
|
+
--sidebar-primary: 188 95% 43%;
|
|
33
|
+
--sidebar-primary-foreground: 0 0% 100%;
|
|
34
|
+
--sidebar-accent: 210 40% 96%;
|
|
35
|
+
--sidebar-accent-foreground: 222 47% 11%;
|
|
36
|
+
--sidebar-border: 214 32% 91%;
|
|
37
|
+
--sidebar-ring: 188 95% 43%;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* Light mode activation */
|
|
41
|
+
.light,
|
|
42
|
+
[data-theme="light"] {
|
|
43
|
+
--background: 0 0% 100%;
|
|
44
|
+
--foreground: 222 47% 11%;
|
|
45
|
+
--card: 0 0% 100%;
|
|
46
|
+
--card-foreground: 222 47% 11%;
|
|
47
|
+
--popover: 0 0% 100%;
|
|
48
|
+
--popover-foreground: 222 47% 11%;
|
|
49
|
+
--primary: 188 95% 43%;
|
|
50
|
+
--primary-foreground: 0 0% 100%;
|
|
51
|
+
--secondary: 210 40% 96%;
|
|
52
|
+
--secondary-foreground: 222 47% 11%;
|
|
53
|
+
--muted: 210 40% 96%;
|
|
54
|
+
--muted-foreground: 215 16% 47%;
|
|
55
|
+
--accent: 292 85% 55%;
|
|
56
|
+
--accent-foreground: 0 0% 100%;
|
|
57
|
+
--destructive: 0 84% 60%;
|
|
58
|
+
--destructive-foreground: 0 0% 100%;
|
|
59
|
+
--border: 214 32% 91%;
|
|
60
|
+
--input: 214 32% 91%;
|
|
61
|
+
--ring: 188 95% 43%;
|
|
62
|
+
--sidebar: 0 0% 98%;
|
|
63
|
+
--sidebar-foreground: 222 47% 11%;
|
|
64
|
+
--sidebar-primary: 188 95% 43%;
|
|
65
|
+
--sidebar-primary-foreground: 0 0% 100%;
|
|
66
|
+
--sidebar-accent: 210 40% 96%;
|
|
67
|
+
--sidebar-accent-foreground: 222 47% 11%;
|
|
68
|
+
--sidebar-border: 214 32% 91%;
|
|
69
|
+
--sidebar-ring: 188 95% 43%;
|
|
70
|
+
}
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compose.Market Shared Shell
|
|
3
|
+
* @compose-market/theme/css/shell
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--cm-shell-glow-primary: hsl(var(--primary) / 0.32);
|
|
8
|
+
--cm-shell-glow-accent: hsl(314 100% 64% / 0.18);
|
|
9
|
+
--cm-shell-surface: linear-gradient(180deg, hsl(var(--card) / 0.9), hsl(var(--background) / 0.92));
|
|
10
|
+
--cm-shell-border: hsl(var(--border) / 0.78);
|
|
11
|
+
--cm-shell-shadow:
|
|
12
|
+
0 24px 72px hsl(240 30% 2% / 0.45),
|
|
13
|
+
inset 0 1px 0 hsl(0 0% 100% / 0.05);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.cm-shell-stack {
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
gap: 1rem;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.cm-shell-cluster {
|
|
23
|
+
display: flex;
|
|
24
|
+
align-items: center;
|
|
25
|
+
gap: 0.75rem;
|
|
26
|
+
flex-wrap: wrap;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.cm-shell-button {
|
|
30
|
+
display: inline-flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
gap: 0.55rem;
|
|
34
|
+
min-height: 2.5rem;
|
|
35
|
+
padding: 0 1rem;
|
|
36
|
+
border-radius: 0.55rem;
|
|
37
|
+
border: 1px solid transparent;
|
|
38
|
+
background: transparent;
|
|
39
|
+
color: hsl(var(--foreground));
|
|
40
|
+
font-family: var(--font-sans), sans-serif;
|
|
41
|
+
font-size: 0.9rem;
|
|
42
|
+
font-weight: 600;
|
|
43
|
+
line-height: 1;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
transition:
|
|
46
|
+
transform 180ms ease,
|
|
47
|
+
background-color 180ms ease,
|
|
48
|
+
border-color 180ms ease,
|
|
49
|
+
color 180ms ease,
|
|
50
|
+
box-shadow 180ms ease;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.cm-shell-button:hover:not(:disabled) {
|
|
54
|
+
transform: translateY(-1px);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.cm-shell-button:disabled {
|
|
58
|
+
opacity: 0.55;
|
|
59
|
+
cursor: not-allowed;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.cm-shell-button--primary {
|
|
63
|
+
background:
|
|
64
|
+
linear-gradient(135deg, hsl(var(--primary) / 0.9), hsl(314 100% 64% / 0.78));
|
|
65
|
+
color: hsl(var(--primary-foreground));
|
|
66
|
+
border-color: hsl(var(--primary) / 0.42);
|
|
67
|
+
box-shadow: 0 0 24px var(--cm-shell-glow-primary);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.cm-shell-button--primary:hover:not(:disabled) {
|
|
71
|
+
box-shadow:
|
|
72
|
+
0 0 30px var(--cm-shell-glow-primary),
|
|
73
|
+
0 0 22px var(--cm-shell-glow-accent);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.cm-shell-button--secondary {
|
|
77
|
+
background: hsl(var(--muted) / 0.32);
|
|
78
|
+
border-color: hsl(var(--border) / 0.88);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.cm-shell-button--secondary:hover:not(:disabled) {
|
|
82
|
+
border-color: hsl(var(--primary) / 0.4);
|
|
83
|
+
background: hsl(var(--muted) / 0.52);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.cm-shell-button--ghost {
|
|
87
|
+
background: transparent;
|
|
88
|
+
border-color: transparent;
|
|
89
|
+
color: hsl(var(--muted-foreground));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.cm-shell-button--ghost:hover:not(:disabled) {
|
|
93
|
+
color: hsl(var(--foreground));
|
|
94
|
+
background: hsl(var(--muted) / 0.2);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.cm-shell-button--danger {
|
|
98
|
+
background: hsl(var(--destructive) / 0.12);
|
|
99
|
+
border-color: hsl(var(--destructive) / 0.3);
|
|
100
|
+
color: hsl(var(--destructive-foreground));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.cm-shell-button--danger:hover:not(:disabled) {
|
|
104
|
+
background: hsl(var(--destructive) / 0.2);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.cm-shell-button--sm {
|
|
108
|
+
min-height: 2rem;
|
|
109
|
+
padding: 0 0.8rem;
|
|
110
|
+
font-size: 0.78rem;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.cm-shell-button--lg {
|
|
114
|
+
min-height: 2.9rem;
|
|
115
|
+
padding: 0 1.15rem;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.cm-shell-button--icon {
|
|
119
|
+
width: 2.5rem;
|
|
120
|
+
padding: 0;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.cm-shell-pill {
|
|
124
|
+
display: inline-flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
gap: 0.45rem;
|
|
127
|
+
min-height: 1.9rem;
|
|
128
|
+
padding: 0 0.8rem;
|
|
129
|
+
border-radius: 999px;
|
|
130
|
+
border: 1px solid hsl(var(--border) / 0.72);
|
|
131
|
+
background: hsl(var(--muted) / 0.28);
|
|
132
|
+
color: hsl(var(--muted-foreground));
|
|
133
|
+
font-size: 0.76rem;
|
|
134
|
+
letter-spacing: 0.02em;
|
|
135
|
+
text-transform: uppercase;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.cm-shell-pill strong,
|
|
139
|
+
.cm-shell-pill span {
|
|
140
|
+
color: inherit;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.cm-shell-panel {
|
|
144
|
+
border: 1px solid var(--cm-shell-border);
|
|
145
|
+
border-radius: 1rem;
|
|
146
|
+
background: var(--cm-shell-surface);
|
|
147
|
+
box-shadow: var(--cm-shell-shadow);
|
|
148
|
+
backdrop-filter: blur(14px);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.cm-shell-panel--muted {
|
|
152
|
+
background:
|
|
153
|
+
linear-gradient(180deg, hsl(var(--muted) / 0.38), hsl(var(--background) / 0.84));
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.cm-shell-panel--ghost {
|
|
157
|
+
background: transparent;
|
|
158
|
+
box-shadow: none;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.cm-shell-panel__body {
|
|
162
|
+
padding: 1.2rem;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.cm-shell-page-header {
|
|
166
|
+
display: flex;
|
|
167
|
+
align-items: flex-start;
|
|
168
|
+
justify-content: space-between;
|
|
169
|
+
gap: 1rem;
|
|
170
|
+
padding: 1.35rem 1.45rem;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.cm-shell-page-header__copy {
|
|
174
|
+
display: flex;
|
|
175
|
+
flex-direction: column;
|
|
176
|
+
gap: 0.45rem;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.cm-shell-page-header__eyebrow {
|
|
180
|
+
color: hsl(var(--primary));
|
|
181
|
+
font-family: var(--font-mono), monospace;
|
|
182
|
+
font-size: 0.76rem;
|
|
183
|
+
letter-spacing: 0.16em;
|
|
184
|
+
text-transform: uppercase;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.cm-shell-page-header__title {
|
|
188
|
+
color: hsl(var(--foreground));
|
|
189
|
+
font-family: var(--font-display), sans-serif;
|
|
190
|
+
font-size: clamp(1.2rem, 2vw, 1.65rem);
|
|
191
|
+
letter-spacing: 0.02em;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.cm-shell-page-header__subtitle {
|
|
195
|
+
color: hsl(var(--muted-foreground));
|
|
196
|
+
font-size: 0.92rem;
|
|
197
|
+
max-width: 56rem;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.cm-shell-stat-grid {
|
|
201
|
+
display: grid;
|
|
202
|
+
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
|
|
203
|
+
gap: 0.8rem;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.cm-shell-stat {
|
|
207
|
+
display: flex;
|
|
208
|
+
flex-direction: column;
|
|
209
|
+
gap: 0.25rem;
|
|
210
|
+
padding: 0.9rem 1rem;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.cm-shell-stat__label {
|
|
214
|
+
color: hsl(var(--muted-foreground));
|
|
215
|
+
font-size: 0.76rem;
|
|
216
|
+
letter-spacing: 0.08em;
|
|
217
|
+
text-transform: uppercase;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.cm-shell-stat__value {
|
|
221
|
+
color: hsl(var(--foreground));
|
|
222
|
+
font-family: var(--font-display), sans-serif;
|
|
223
|
+
font-size: 1.1rem;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.cm-shell-stat__hint {
|
|
227
|
+
color: hsl(var(--muted-foreground));
|
|
228
|
+
font-size: 0.78rem;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.cm-shell-tab-strip {
|
|
232
|
+
display: inline-flex;
|
|
233
|
+
align-items: center;
|
|
234
|
+
gap: 0.35rem;
|
|
235
|
+
padding: 0.35rem;
|
|
236
|
+
border: 1px solid hsl(var(--border) / 0.75);
|
|
237
|
+
border-radius: 999px;
|
|
238
|
+
background: hsl(var(--muted) / 0.16);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.cm-shell-tab {
|
|
242
|
+
display: inline-flex;
|
|
243
|
+
align-items: center;
|
|
244
|
+
gap: 0.5rem;
|
|
245
|
+
min-height: 2.35rem;
|
|
246
|
+
padding: 0 1rem;
|
|
247
|
+
border-radius: 999px;
|
|
248
|
+
border: 1px solid transparent;
|
|
249
|
+
background: transparent;
|
|
250
|
+
color: hsl(var(--muted-foreground));
|
|
251
|
+
font-family: var(--font-mono), monospace;
|
|
252
|
+
font-size: 0.76rem;
|
|
253
|
+
letter-spacing: 0.08em;
|
|
254
|
+
text-transform: uppercase;
|
|
255
|
+
cursor: pointer;
|
|
256
|
+
transition:
|
|
257
|
+
background-color 180ms ease,
|
|
258
|
+
color 180ms ease,
|
|
259
|
+
border-color 180ms ease,
|
|
260
|
+
box-shadow 180ms ease;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.cm-shell-tab:hover {
|
|
264
|
+
color: hsl(var(--foreground));
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.cm-shell-tab[data-active="true"] {
|
|
268
|
+
background: linear-gradient(135deg, hsl(var(--primary) / 0.22), hsl(314 100% 64% / 0.18));
|
|
269
|
+
border-color: hsl(var(--primary) / 0.34);
|
|
270
|
+
color: hsl(var(--foreground));
|
|
271
|
+
box-shadow: 0 0 22px hsl(var(--primary) / 0.18);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.cm-shell-notice {
|
|
275
|
+
display: flex;
|
|
276
|
+
align-items: center;
|
|
277
|
+
gap: 0.7rem;
|
|
278
|
+
padding: 0.9rem 1rem;
|
|
279
|
+
border-radius: 0.9rem;
|
|
280
|
+
border: 1px solid;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.cm-shell-notice--info {
|
|
284
|
+
background: hsl(var(--primary) / 0.08);
|
|
285
|
+
border-color: hsl(var(--primary) / 0.22);
|
|
286
|
+
color: hsl(var(--foreground));
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.cm-shell-notice--success {
|
|
290
|
+
background: hsl(148 75% 24% / 0.18);
|
|
291
|
+
border-color: hsl(148 75% 46% / 0.3);
|
|
292
|
+
color: hsl(var(--foreground));
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.cm-shell-notice--warning {
|
|
296
|
+
background: hsl(42 100% 48% / 0.12);
|
|
297
|
+
border-color: hsl(42 100% 52% / 0.25);
|
|
298
|
+
color: hsl(var(--foreground));
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.cm-shell-notice--error {
|
|
302
|
+
background: hsl(var(--destructive) / 0.13);
|
|
303
|
+
border-color: hsl(var(--destructive) / 0.28);
|
|
304
|
+
color: hsl(var(--foreground));
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.cm-shell-banner {
|
|
308
|
+
display: flex;
|
|
309
|
+
align-items: center;
|
|
310
|
+
justify-content: space-between;
|
|
311
|
+
gap: 1rem;
|
|
312
|
+
padding: 1rem 1.15rem;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.cm-shell-banner__copy {
|
|
316
|
+
display: flex;
|
|
317
|
+
flex-direction: column;
|
|
318
|
+
gap: 0.35rem;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.cm-shell-banner__title {
|
|
322
|
+
color: hsl(var(--foreground));
|
|
323
|
+
font-weight: 700;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.cm-shell-banner__subtitle {
|
|
327
|
+
color: hsl(var(--muted-foreground));
|
|
328
|
+
font-size: 0.9rem;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.cm-shell-empty {
|
|
332
|
+
display: flex;
|
|
333
|
+
flex-direction: column;
|
|
334
|
+
align-items: center;
|
|
335
|
+
justify-content: center;
|
|
336
|
+
gap: 0.75rem;
|
|
337
|
+
min-height: 18rem;
|
|
338
|
+
padding: 2.4rem 1.5rem;
|
|
339
|
+
text-align: center;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.cm-shell-empty__icon {
|
|
343
|
+
color: hsl(var(--primary));
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.cm-shell-empty__title {
|
|
347
|
+
color: hsl(var(--foreground));
|
|
348
|
+
font-family: var(--font-display), sans-serif;
|
|
349
|
+
font-size: 1.2rem;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
.cm-shell-empty__description {
|
|
353
|
+
color: hsl(var(--muted-foreground));
|
|
354
|
+
max-width: 38rem;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.cm-shell-modal-overlay {
|
|
358
|
+
position: fixed;
|
|
359
|
+
inset: 0;
|
|
360
|
+
display: flex;
|
|
361
|
+
align-items: center;
|
|
362
|
+
justify-content: center;
|
|
363
|
+
padding: 1.5rem;
|
|
364
|
+
background: hsl(240 30% 2% / 0.68);
|
|
365
|
+
backdrop-filter: blur(10px);
|
|
366
|
+
z-index: 100;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.cm-shell-modal {
|
|
370
|
+
width: min(100%, 46rem);
|
|
371
|
+
max-height: min(90vh, 56rem);
|
|
372
|
+
overflow: auto;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.cm-shell-modal__header {
|
|
376
|
+
display: flex;
|
|
377
|
+
align-items: flex-start;
|
|
378
|
+
justify-content: space-between;
|
|
379
|
+
gap: 1rem;
|
|
380
|
+
padding: 1.25rem 1.3rem 0;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.cm-shell-modal__title {
|
|
384
|
+
color: hsl(var(--foreground));
|
|
385
|
+
font-family: var(--font-display), sans-serif;
|
|
386
|
+
font-size: 1.1rem;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
.cm-shell-modal__subtitle {
|
|
390
|
+
color: hsl(var(--muted-foreground));
|
|
391
|
+
font-size: 0.92rem;
|
|
392
|
+
margin-top: 0.35rem;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.cm-shell-modal__body {
|
|
396
|
+
padding: 1.2rem 1.3rem 1.3rem;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
@media (max-width: 720px) {
|
|
400
|
+
.cm-shell-page-header,
|
|
401
|
+
.cm-shell-banner {
|
|
402
|
+
flex-direction: column;
|
|
403
|
+
align-items: stretch;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.cm-shell-stat-grid {
|
|
407
|
+
grid-template-columns: 1fr;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.cm-shell-tab-strip {
|
|
411
|
+
width: 100%;
|
|
412
|
+
overflow-x: auto;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compose.Market Design Tokens
|
|
3
|
+
* @compose-market/theme
|
|
4
|
+
*
|
|
5
|
+
* DO NOT EDIT - This file is generated from the theme package.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
/* Typography */
|
|
10
|
+
--font-display: "Orbitron", sans-serif;
|
|
11
|
+
--font-sans: "Rajdhani", sans-serif;
|
|
12
|
+
--font-mono: "Fira Code", monospace;
|
|
13
|
+
|
|
14
|
+
/* Border Radius */
|
|
15
|
+
--radius-none: 0;
|
|
16
|
+
--radius-sm: 0.125rem;
|
|
17
|
+
--radius: 0.25rem;
|
|
18
|
+
--radius-md: 0.25rem;
|
|
19
|
+
--radius-lg: 0.5rem;
|
|
20
|
+
--radius-xl: 0.75rem;
|
|
21
|
+
--radius-2xl: 1rem;
|
|
22
|
+
--radius-3xl: 1.5rem;
|
|
23
|
+
--radius-full: 9999px;
|
|
24
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @compose-market/theme
|
|
3
|
+
*
|
|
4
|
+
* Official design tokens and theme system for Compose.Market
|
|
5
|
+
*/
|
|
1
6
|
export * from './tokens';
|
|
2
7
|
export * from './themes';
|
|
3
|
-
export * from './
|
|
8
|
+
export * from './shell';
|
|
4
9
|
import { tokens, type DesignTokens } from './tokens';
|
|
5
10
|
import { themes, defaultTheme, getTheme, getThemeColors, type ThemeName, type Theme } from './themes';
|
|
6
11
|
export { tokens, themes, defaultTheme, getTheme, getThemeColors, type ThemeName, type Theme, type DesignTokens, };
|
|
7
|
-
export
|
|
8
|
-
export * from './components/brand';
|
|
9
|
-
export { type SessionState as SessionStateType, type ComposeKeyRecord, type SessionActions, type SessionBudgetDialogProps, type SessionStatusCardProps, type SessionIndicatorProps, type SessionManageDialogProps, type ComposeKeyDialogProps, BUDGET_PRESETS, SessionBudgetDialog, SessionStatusCard, SessionIndicator, } from './components/session';
|
|
10
|
-
export declare const packageVersion = "0.0.2";
|
|
12
|
+
export declare const packageVersion = "1.0.0";
|
|
11
13
|
export declare const packageName = "@compose-market/theme";
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtG,OAAO,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,YAAY,GAClB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtG,OAAO,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,YAAY,GAClB,CAAC;AAEF,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,WAAW,0BAA0B,CAAC"}
|