@santi020k/theme 1.0.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.
- package/LICENSE +21 -0
- package/README.md +132 -0
- package/assets/banners/banner-1.png +0 -0
- package/assets/banners/banner-1.webp +0 -0
- package/assets/banners/banner-2.png +0 -0
- package/assets/banners/banner-2.webp +0 -0
- package/assets/banners/banner-3.png +0 -0
- package/assets/banners/banner-3.webp +0 -0
- package/assets/banners/banner-4.png +0 -0
- package/assets/banners/banner-4.webp +0 -0
- package/assets/banners/banner-5.png +0 -0
- package/assets/banners/banner-5.webp +0 -0
- package/assets/chrome/icons/icon-light.svg +5 -0
- package/assets/chrome/icons/icon-light128.png +0 -0
- package/assets/chrome/icons/icon-light16.png +0 -0
- package/assets/chrome/icons/icon-light48.png +0 -0
- package/assets/chrome/icons/icon-light512.png +0 -0
- package/assets/chrome/icons/icon.svg +6 -0
- package/assets/chrome/icons/icon128.png +0 -0
- package/assets/chrome/icons/icon16.png +0 -0
- package/assets/chrome/icons/icon48.png +0 -0
- package/assets/chrome/icons/icon512.png +0 -0
- package/assets/chrome/images/adaptive_assets_diagonal.webp +0 -0
- package/assets/chrome/images/adaptive_background.svg +12 -0
- package/assets/chrome/images/dark.png +0 -0
- package/assets/chrome/images/light.png +0 -0
- package/assets/chrome/images/theme_ntp_background.png +0 -0
- package/assets/chrome/images/theme_ntp_background.svg +71 -0
- package/assets/chrome/images/theme_ntp_background.webp +0 -0
- package/assets/chrome/images/theme_ntp_background_light.png +0 -0
- package/assets/chrome/images/theme_ntp_background_light.svg +71 -0
- package/assets/chrome/images/theme_ntp_background_light.webp +0 -0
- package/assets/chrome/images/wallpaper.heic +0 -0
- package/assets/chrome/store/marquee-banner-light.png +0 -0
- package/assets/chrome/store/marquee-banner.png +0 -0
- package/assets/chrome/store/promo-tile-light.png +0 -0
- package/assets/chrome/store/promo-tile.png +0 -0
- package/assets/chrome/store/screenshot-incognito-light.png +0 -0
- package/assets/chrome/store/screenshot-incognito.jpg +0 -0
- package/assets/chrome/store/screenshot-incognito.png +0 -0
- package/assets/chrome/store/screenshot-main-light.png +0 -0
- package/assets/chrome/store/screenshot-main.png +0 -0
- package/assets/chrome/store/screenshot-ntp-light.png +0 -0
- package/assets/chrome/store/screenshot-ntp.png +0 -0
- package/assets/favicons/apple-touch-icon.png +0 -0
- package/assets/favicons/apple-touch-icon.webp +0 -0
- package/assets/favicons/favicon-16x16.png +0 -0
- package/assets/favicons/favicon-16x16.webp +0 -0
- package/assets/favicons/favicon-32x32.png +0 -0
- package/assets/favicons/favicon-32x32.webp +0 -0
- package/assets/favicons/favicon.svg +6 -0
- package/assets/favicons/icon-192.png +0 -0
- package/assets/favicons/icon-192.webp +0 -0
- package/assets/favicons/icon-512.png +0 -0
- package/assets/favicons/icon-512.webp +0 -0
- package/assets/logos/logo-santi020k-dark.png +0 -0
- package/assets/logos/logo-santi020k-dark.svg +9 -0
- package/assets/logos/logo-santi020k-dark.webp +0 -0
- package/assets/logos/logo-santi020k.png +0 -0
- package/assets/logos/logo-santi020k.svg +9 -0
- package/assets/logos/logo-santi020k.webp +0 -0
- package/assets/logos/logo-square.png +0 -0
- package/assets/logos/logo-square.svg +6 -0
- package/assets/logos/logo-square.webp +0 -0
- package/assets/projects/santi020k-theme/cover-horizontal.webp +0 -0
- package/assets/projects/santi020k-theme/cover-v2.webp +0 -0
- package/assets/projects/santi020k-theme/cover-vertical.webp +0 -0
- package/assets/projects/santi020k-theme/cover.webp +0 -0
- package/assets/projects/santi020k-theme/logo.webp +0 -0
- package/assets/projects/santi020k-theme/preview-light.webp +0 -0
- package/assets/vscode/icon.png +0 -0
- package/assets/vscode/icon.svg +5 -0
- package/assets/vscode/previews/preview-dark.png +0 -0
- package/assets/vscode/previews/preview-dark.svg +63 -0
- package/assets/vscode/previews/preview-hc-dark.png +0 -0
- package/assets/vscode/previews/preview-hc-light.png +0 -0
- package/assets/vscode/previews/preview-light.png +0 -0
- package/assets/vscode/previews/preview-light.svg +63 -0
- package/assets/wallpapers/wallpaper-1-desktop.png +0 -0
- package/assets/wallpapers/wallpaper-1-desktop.webp +0 -0
- package/assets/wallpapers/wallpaper-1-mobile.png +0 -0
- package/assets/wallpapers/wallpaper-1-mobile.webp +0 -0
- package/assets/wallpapers/wallpaper-2-desktop.png +0 -0
- package/assets/wallpapers/wallpaper-2-desktop.webp +0 -0
- package/assets/wallpapers/wallpaper-2-mobile.png +0 -0
- package/assets/wallpapers/wallpaper-2-mobile.webp +0 -0
- package/assets/wallpapers/wallpaper-3-desktop.png +0 -0
- package/assets/wallpapers/wallpaper-3-desktop.webp +0 -0
- package/assets/wallpapers/wallpaper-3-mobile.png +0 -0
- package/assets/wallpapers/wallpaper-3-mobile.webp +0 -0
- package/assets/wallpapers/wallpaper.png +0 -0
- package/assets/wallpapers/wallpaper.webp +0 -0
- package/docs/brand-guidelines.md +7 -0
- package/index.d.ts +100 -0
- package/index.js +531 -0
- package/package.json +75 -0
- package/site.css +84 -0
- package/site.d.ts +27 -0
- package/site.js +22 -0
- package/tailwind.d.ts +24 -0
- package/tailwind.js +24 -0
- package/tokens/tokens.css +88 -0
- package/tokens/tokens.json +120 -0
- package/typography.css +9 -0
package/site.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export {
|
|
2
|
+
bindPreferredSiteThemeSync,
|
|
3
|
+
bindSiteNavigation,
|
|
4
|
+
getPreferredSiteTheme,
|
|
5
|
+
isSiteTheme,
|
|
6
|
+
readStoredSiteTheme,
|
|
7
|
+
rootInDarkMode,
|
|
8
|
+
setSiteNavOpen,
|
|
9
|
+
setSiteTheme,
|
|
10
|
+
SITE_DESKTOP_NAV_QUERY,
|
|
11
|
+
SITE_HUB_DESKTOP_NAV_QUERY,
|
|
12
|
+
SITE_REDUCED_MOTION_QUERY,
|
|
13
|
+
SITE_REVEAL_DARK_BACKGROUND,
|
|
14
|
+
SITE_REVEAL_LIGHT_BACKGROUND,
|
|
15
|
+
SITE_THEME_ATTRIBUTE,
|
|
16
|
+
SITE_THEME_DARK,
|
|
17
|
+
SITE_THEME_LIGHT,
|
|
18
|
+
SITE_THEME_PREFERENCE_QUERY,
|
|
19
|
+
SITE_THEME_STORAGE_KEY,
|
|
20
|
+
SITE_TOUCH_POINTER_QUERY,
|
|
21
|
+
syncSiteThemeToggle,
|
|
22
|
+
type PreferredSiteThemeSyncOptions,
|
|
23
|
+
type SiteNavigationOptions,
|
|
24
|
+
type SiteTheme,
|
|
25
|
+
type SiteThemeOptions,
|
|
26
|
+
type SiteThemePreferenceOptions
|
|
27
|
+
} from '@santi020k/theme-core/site'
|
package/site.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export {
|
|
2
|
+
bindPreferredSiteThemeSync,
|
|
3
|
+
bindSiteNavigation,
|
|
4
|
+
getPreferredSiteTheme,
|
|
5
|
+
isSiteTheme,
|
|
6
|
+
readStoredSiteTheme,
|
|
7
|
+
rootInDarkMode,
|
|
8
|
+
setSiteNavOpen,
|
|
9
|
+
setSiteTheme,
|
|
10
|
+
SITE_DESKTOP_NAV_QUERY,
|
|
11
|
+
SITE_HUB_DESKTOP_NAV_QUERY,
|
|
12
|
+
SITE_REDUCED_MOTION_QUERY,
|
|
13
|
+
SITE_REVEAL_DARK_BACKGROUND,
|
|
14
|
+
SITE_REVEAL_LIGHT_BACKGROUND,
|
|
15
|
+
SITE_THEME_ATTRIBUTE,
|
|
16
|
+
SITE_THEME_DARK,
|
|
17
|
+
SITE_THEME_LIGHT,
|
|
18
|
+
SITE_THEME_PREFERENCE_QUERY,
|
|
19
|
+
SITE_THEME_STORAGE_KEY,
|
|
20
|
+
SITE_TOUCH_POINTER_QUERY,
|
|
21
|
+
syncSiteThemeToggle
|
|
22
|
+
} from '@santi020k/theme-core/site'
|
package/tailwind.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const theme: {
|
|
2
|
+
readonly fonts: {
|
|
3
|
+
readonly sans: string
|
|
4
|
+
readonly display: string
|
|
5
|
+
readonly mono: string
|
|
6
|
+
}
|
|
7
|
+
readonly colors: {
|
|
8
|
+
readonly canvas: string
|
|
9
|
+
readonly surface: string
|
|
10
|
+
readonly 'surface-muted': string
|
|
11
|
+
readonly 'surface-strong': string
|
|
12
|
+
readonly line: string
|
|
13
|
+
readonly ink: string
|
|
14
|
+
readonly 'ink-soft': string
|
|
15
|
+
readonly 'ink-muted': string
|
|
16
|
+
readonly brand: string
|
|
17
|
+
readonly 'brand-solid': string
|
|
18
|
+
readonly 'brand-soft': string
|
|
19
|
+
readonly accent: string
|
|
20
|
+
readonly glow: string
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export declare const tailwindTheme: typeof theme
|
package/tailwind.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const theme = {
|
|
2
|
+
fonts: {
|
|
3
|
+
sans: '"Montserrat", "Avenir Next", "Segoe UI", sans-serif',
|
|
4
|
+
display: '"Montserrat", "Avenir Next", sans-serif',
|
|
5
|
+
mono: '"Montserrat", "SFMono-Regular", "SF Mono", monospace'
|
|
6
|
+
},
|
|
7
|
+
colors: {
|
|
8
|
+
canvas: 'hsl(var(--theme-bg))',
|
|
9
|
+
surface: 'hsl(var(--surface))',
|
|
10
|
+
'surface-muted': 'hsl(var(--surface-muted))',
|
|
11
|
+
'surface-strong': 'hsl(var(--surface-strong))',
|
|
12
|
+
line: 'hsl(var(--line))',
|
|
13
|
+
ink: 'hsl(var(--ink))',
|
|
14
|
+
'ink-soft': 'hsl(var(--ink-soft))',
|
|
15
|
+
'ink-muted': 'hsl(var(--ink-muted))',
|
|
16
|
+
brand: 'hsl(var(--brand))',
|
|
17
|
+
'brand-solid': 'hsl(var(--brand-solid))',
|
|
18
|
+
'brand-soft': 'hsl(var(--brand-soft))',
|
|
19
|
+
accent: 'hsl(var(--accent))',
|
|
20
|
+
glow: 'hsl(var(--glow))'
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const tailwindTheme = theme
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* Santi020k design tokens.
|
|
2
|
+
* Source of truth: @santi020k/theme
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
@custom-variant dark ([data-theme="dark"] &);
|
|
6
|
+
|
|
7
|
+
:root,
|
|
8
|
+
:root[data-theme="light"] {
|
|
9
|
+
color-scheme: light;
|
|
10
|
+
--santi020k-font-sans: "Montserrat", "Avenir Next", "Segoe UI", sans-serif;
|
|
11
|
+
--santi020k-font-display: "Montserrat", "Avenir Next", sans-serif;
|
|
12
|
+
--santi020k-font-mono: "Montserrat", "SFMono-Regular", "SF Mono", monospace;
|
|
13
|
+
--theme-bg: 268 20% 98%;
|
|
14
|
+
--surface: 268 20% 100%;
|
|
15
|
+
--surface-muted: 268 20% 96%;
|
|
16
|
+
--surface-strong: 268 15% 90%;
|
|
17
|
+
--line: 268 15% 84%;
|
|
18
|
+
--ink: 268 10% 20%;
|
|
19
|
+
--ink-soft: 268 8% 36%;
|
|
20
|
+
--ink-muted: 268 6% 28%;
|
|
21
|
+
--brand: 264 92% 47%;
|
|
22
|
+
--brand-solid: 264 92% 42%;
|
|
23
|
+
--brand-soft: 264 60% 94%;
|
|
24
|
+
--accent: 264 95% 57%;
|
|
25
|
+
--glow: 264 95% 70%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:root[data-theme="dark"] {
|
|
29
|
+
color-scheme: dark;
|
|
30
|
+
--theme-bg: 260 43% 8%;
|
|
31
|
+
--surface: 260 30% 12%;
|
|
32
|
+
--surface-muted: 260 25% 15%;
|
|
33
|
+
--surface-strong: 260 20% 21%;
|
|
34
|
+
--line: 260 15% 30%;
|
|
35
|
+
--ink: 260 10% 88%;
|
|
36
|
+
--ink-soft: 260 8% 72%;
|
|
37
|
+
--ink-muted: 260 6% 56%;
|
|
38
|
+
--brand: 264 90% 58%;
|
|
39
|
+
--brand-solid: 264 90% 52%;
|
|
40
|
+
--brand-soft: 264 45% 18%;
|
|
41
|
+
--accent: 264 90% 68%;
|
|
42
|
+
--glow: 264 85% 50%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@media (prefers-contrast: more) {
|
|
46
|
+
:root,
|
|
47
|
+
:root[data-theme="light"] {
|
|
48
|
+
--surface-muted: 268 18% 94%;
|
|
49
|
+
--surface-strong: 268 14% 88%;
|
|
50
|
+
--line: 268 18% 66%;
|
|
51
|
+
--ink-soft: 268 12% 24%;
|
|
52
|
+
--ink-muted: 268 10% 18%;
|
|
53
|
+
--brand: 264 92% 40%;
|
|
54
|
+
--brand-solid: 264 92% 38%;
|
|
55
|
+
--brand-soft: 264 60% 92%;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:root[data-theme="dark"] {
|
|
59
|
+
--surface-muted: 260 25% 15%;
|
|
60
|
+
--surface-strong: 260 20% 20%;
|
|
61
|
+
--line: 260 15% 48%;
|
|
62
|
+
--ink-soft: 260 10% 84%;
|
|
63
|
+
--ink-muted: 260 8% 76%;
|
|
64
|
+
--brand: 264 90% 62%;
|
|
65
|
+
--brand-solid: 264 90% 55%;
|
|
66
|
+
--brand-soft: 264 45% 22%;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@theme {
|
|
71
|
+
--font-sans: var(--santi020k-font-sans);
|
|
72
|
+
--font-display: var(--santi020k-font-display);
|
|
73
|
+
--font-mono: var(--santi020k-font-mono);
|
|
74
|
+
|
|
75
|
+
--color-canvas: hsl(var(--theme-bg));
|
|
76
|
+
--color-surface: hsl(var(--surface));
|
|
77
|
+
--color-surface-muted: hsl(var(--surface-muted));
|
|
78
|
+
--color-surface-strong: hsl(var(--surface-strong));
|
|
79
|
+
--color-line: hsl(var(--line));
|
|
80
|
+
--color-ink: hsl(var(--ink));
|
|
81
|
+
--color-ink-soft: hsl(var(--ink-soft));
|
|
82
|
+
--color-ink-muted: hsl(var(--ink-muted));
|
|
83
|
+
--color-brand: hsl(var(--brand));
|
|
84
|
+
--color-brand-solid: hsl(var(--brand-solid));
|
|
85
|
+
--color-brand-soft: hsl(var(--brand-soft));
|
|
86
|
+
--color-accent: hsl(var(--accent));
|
|
87
|
+
--color-glow: hsl(var(--glow));
|
|
88
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Santi020k",
|
|
3
|
+
"packageName": "@santi020k/theme",
|
|
4
|
+
"colors": [
|
|
5
|
+
{
|
|
6
|
+
"name": "theme-bg",
|
|
7
|
+
"light": "268 20% 98%",
|
|
8
|
+
"dark": "260 43% 8%",
|
|
9
|
+
"lightContrast": "268 20% 98%",
|
|
10
|
+
"darkContrast": "260 43% 8%",
|
|
11
|
+
"description": "Page background"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "surface",
|
|
15
|
+
"light": "268 20% 100%",
|
|
16
|
+
"dark": "260 30% 12%",
|
|
17
|
+
"description": "Card and panel surfaces"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "surface-muted",
|
|
21
|
+
"light": "268 20% 96%",
|
|
22
|
+
"dark": "260 25% 15%",
|
|
23
|
+
"lightContrast": "268 18% 94%",
|
|
24
|
+
"darkContrast": "260 25% 15%",
|
|
25
|
+
"description": "Muted surfaces"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "surface-strong",
|
|
29
|
+
"light": "268 15% 90%",
|
|
30
|
+
"dark": "260 20% 21%",
|
|
31
|
+
"lightContrast": "268 14% 88%",
|
|
32
|
+
"darkContrast": "260 20% 20%",
|
|
33
|
+
"description": "Strong surfaces"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "line",
|
|
37
|
+
"light": "268 15% 84%",
|
|
38
|
+
"dark": "260 15% 30%",
|
|
39
|
+
"lightContrast": "268 18% 66%",
|
|
40
|
+
"darkContrast": "260 15% 48%",
|
|
41
|
+
"description": "Borders and dividers"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "ink",
|
|
45
|
+
"light": "268 10% 20%",
|
|
46
|
+
"dark": "260 10% 88%",
|
|
47
|
+
"description": "Primary text and headings"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "ink-soft",
|
|
51
|
+
"light": "268 8% 36%",
|
|
52
|
+
"dark": "260 8% 72%",
|
|
53
|
+
"lightContrast": "268 12% 24%",
|
|
54
|
+
"darkContrast": "260 10% 84%",
|
|
55
|
+
"description": "Body and secondary text"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "ink-muted",
|
|
59
|
+
"light": "268 6% 28%",
|
|
60
|
+
"dark": "260 6% 56%",
|
|
61
|
+
"lightContrast": "268 10% 18%",
|
|
62
|
+
"darkContrast": "260 8% 76%",
|
|
63
|
+
"description": "Muted labels and captions"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "brand",
|
|
67
|
+
"light": "264 92% 47%",
|
|
68
|
+
"dark": "264 90% 58%",
|
|
69
|
+
"lightContrast": "264 92% 40%",
|
|
70
|
+
"darkContrast": "264 90% 62%",
|
|
71
|
+
"description": "Primary brand purple"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "brand-solid",
|
|
75
|
+
"light": "264 92% 42%",
|
|
76
|
+
"dark": "264 90% 52%",
|
|
77
|
+
"lightContrast": "264 92% 38%",
|
|
78
|
+
"darkContrast": "264 90% 55%",
|
|
79
|
+
"description": "Saturated fills for accessible controls"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "brand-soft",
|
|
83
|
+
"light": "264 60% 94%",
|
|
84
|
+
"dark": "264 45% 18%",
|
|
85
|
+
"lightContrast": "264 60% 92%",
|
|
86
|
+
"darkContrast": "264 45% 22%",
|
|
87
|
+
"description": "Tinted surfaces and selections"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "accent",
|
|
91
|
+
"light": "264 95% 57%",
|
|
92
|
+
"dark": "264 90% 68%",
|
|
93
|
+
"description": "Hovers and active states"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "glow",
|
|
97
|
+
"light": "264 95% 70%",
|
|
98
|
+
"dark": "264 85% 50%",
|
|
99
|
+
"description": "Background gradients and highlights"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"typography": {
|
|
103
|
+
"display": "\"Montserrat\", \"Avenir Next\", sans-serif",
|
|
104
|
+
"body": "\"Montserrat\", \"Avenir Next\", \"Segoe UI\", sans-serif",
|
|
105
|
+
"mono": "\"Montserrat\", \"SFMono-Regular\", \"SF Mono\", monospace",
|
|
106
|
+
"source": "google-fonts",
|
|
107
|
+
"importUrl": "https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap",
|
|
108
|
+
"weights": [
|
|
109
|
+
100,
|
|
110
|
+
200,
|
|
111
|
+
300,
|
|
112
|
+
400,
|
|
113
|
+
500,
|
|
114
|
+
600,
|
|
115
|
+
700,
|
|
116
|
+
800,
|
|
117
|
+
900
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
}
|
package/typography.css
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* Santi020k typography tokens.
|
|
2
|
+
* Font loading is left to the consuming app. The canonical web font is Montserrat.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
--santi020k-font-sans: "Montserrat", "Avenir Next", "Segoe UI", sans-serif;
|
|
7
|
+
--santi020k-font-display: "Montserrat", "Avenir Next", sans-serif;
|
|
8
|
+
--santi020k-font-mono: "Montserrat", "SFMono-Regular", "SF Mono", monospace;
|
|
9
|
+
}
|