Skip to content

Commit 4363f2d

Browse files
committed
tweak frontend site theme color.
1 parent 798c10d commit 4363f2d

22 files changed

Lines changed: 489 additions & 338 deletions

‎frontend/README.md‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,18 @@ framework's `Tabs` and `TabPane`, including its existing bundled runtime and
5454
native radio fallback. FAQ items use `ExpandablePanel`.
5555

5656
Colors, component states, fonts, and radii come from the registered `studio` skin.
57-
Light mode uses warm white and sage surfaces with deep green accents; dark mode
58-
keeps the charcoal and mint identity. The standard theme switcher respects the
57+
The identity is a cobalt accent over blue-slate neutrals, with indigo and
58+
violet companions. Each role is one OKLCH hue in `theme/studioSkinShared.ts`;
59+
light mode paints it as paper tints with saturated fills, dark mode as deep ink
60+
fields with luminous fills. The standard theme switcher respects the
5961
saved choice or system preference. Buttons, panels, badges, and icon
6062
frames use standard semantic tones and variants; chart colors reference the same
6163
palette variables. Page-specific layout and decorative styles use `styleBuilder`
6264
and `themes.forEach`, with framework breakpoint tokens. They are emitted into
6365
`site.css` and `site.dark.css`; there is no separate handwritten CSS asset.
6466

65-
To change the identity, edit `theme/studioSkin.ts`. To add a reusable section,
67+
To change the identity, edit the hues in `theme/studioSkinShared.ts`. To add a
68+
reusable section,
6669
compose existing primitives in its own file under `components/`, register its
6770
definition in `studioComponents.ts`, and register only the extra layout styles
6871
it needs. `demoStyle.ts` intentionally remains a small,

‎frontend/components/studioActivityChart.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function createStudioActivityChart(): StudioActivityChart {
3636
index === 11
3737
? 'semanticTone.accent.text.default'
3838
: index % 2 === 0
39-
? 'semanticTone.success.surface.rest.border'
39+
? 'semanticTone.accent.surface.rest.border'
4040
: 'semanticTone.accent.surface.hover.border',
4141
),
4242
}),

‎frontend/demoStyle.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ import { Style } from '@purestack/ts-css'
44
export const card = new Style('.your-card')
55
.padding('24px')
66
.borderRadius('12px')
7-
.backgroundColor('#151b18')
8-
.color('#a3e6bd')
7+
.backgroundColor('#101828')
8+
.color('#9cc2ff')

‎frontend/purestack.studio/index.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ Write the story. Build the product.
178178
<span class="syntax-purple">const</span> card = <span class="syntax-purple">new</span> <span class="syntax-blue">Style</span>(<span class="syntax-amber">'.your-card'</span>)
179179
.<span class="syntax-blue">padding</span>(<span class="syntax-amber">'24px'</span>)
180180
.<span class="syntax-blue">borderRadius</span>(<span class="syntax-amber">'12px'</span>)
181-
.<span class="syntax-blue">backgroundColor</span>(<span class="syntax-amber">'#151b18'</span>)
182-
.<span class="syntax-blue">color</span>(<span class="syntax-amber">'#a3e6bd'</span>)
181+
.<span class="syntax-blue">backgroundColor</span>(<span class="syntax-amber">'#101828'</span>)
182+
.<span class="syntax-blue">color</span>(<span class="syntax-amber">'#9cc2ff'</span>)
183183

184184
<span class="syntax-muted">// Typed source. Standard CSS output.</span>
185185
card.<span class="syntax-blue">toCSS</span>()</code></pre>

‎frontend/purestack.studio/siteConfig.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@
2727
"maxDepth": 20,
2828
"includeIndex": true,
2929
"sortBy": "order",
30-
"roots": ["guides", "components"]
30+
"roots": ["guides", "components"],
31+
"variant": "spotlight",
32+
"class": "spotlight-from-bottom-right"
3133
},
3234
"sitemap": {
3335
"enabled": true,

‎frontend/theme/architectureStyles.ts‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ export function registerArchitectureStyles(root: Style, palette: ThemePalette) {
5858
})
5959
root.select('.studio .diagram-lines i').css({
6060
height: '25px',
61-
borderBottom: `1px solid ${tone.success.surface.rest.border}`,
62-
borderLeft: `1px solid ${tone.success.surface.rest.border}`,
61+
borderBottom: `1px solid ${tone.accent.surface.rest.border}`,
62+
borderLeft: `1px solid ${tone.accent.surface.rest.border}`,
6363
})
6464
root.select('.studio .diagram-lines i:first-child').css({
6565
borderBottomLeftRadius: '10px',
6666
})
6767
root.select('.studio .diagram-lines i:last-child').css({
6868
borderLeft: '0',
69-
borderRight: `1px solid ${tone.success.surface.rest.border}`,
69+
borderRight: `1px solid ${tone.accent.surface.rest.border}`,
7070
borderBottomRightRadius: '10px',
7171
})
7272
root.select('.studio .diagram-lines::after').css({
@@ -85,7 +85,7 @@ export function registerArchitectureStyles(root: Style, palette: ThemePalette) {
8585
background: tone.accent.surfaceAlt.rest.bgcolor,
8686
border: `1px solid ${tone.accent.surface.hover.border}`,
8787
borderRadius: '9px',
88-
boxShadow: `0 0 38px color-mix(in srgb, ${tone.success.text.default} 4%, transparent)`,
88+
boxShadow: `0 0 38px color-mix(in srgb, ${tone.accent.text.default} 4%, transparent)`,
8989
})
9090
root.select('.studio .diagram-core::before').css({
9191
content: '""',
@@ -94,7 +94,7 @@ export function registerArchitectureStyles(root: Style, palette: ThemePalette) {
9494
left: '50%',
9595
height: '24px',
9696
width: '1px',
97-
background: tone.success.surface.rest.border,
97+
background: tone.accent.surface.rest.border,
9898
})
9999
root.select('.studio .diagram-core > .icon').css({
100100
width: '30px',
@@ -116,7 +116,7 @@ export function registerArchitectureStyles(root: Style, palette: ThemePalette) {
116116
width: '1px',
117117
height: '33px',
118118
marginInline: 'auto',
119-
background: tone.success.surface.rest.border,
119+
background: tone.accent.surface.rest.border,
120120
})
121121
root.select('.studio .diagram-output').css({
122122
display: 'flex',

‎frontend/theme/closingStyles.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export function registerClosingStyles(root: Style, palette: ThemePalette) {
1212
})
1313
root.select('.studio .faq-intro').css({
1414
marginTop: '17px !important',
15-
color: tone.success.text.subtle,
15+
color: tone.neutral.text.subtle,
1616
fontSize: '13px',
1717
lineHeight: '1.8',
1818
})
@@ -39,7 +39,7 @@ export function registerClosingStyles(root: Style, palette: ThemePalette) {
3939
root.select('.studio .faq-list summary > span:last-child').css({
4040
fontSize: palette.font.size.h4,
4141
lineHeight: '1',
42-
color: tone.success.text.subtle,
42+
color: tone.neutral.text.subtle,
4343
transition: 'transform 180ms',
4444
})
4545
root.select('.studio .faq-list details[open] summary').css({
@@ -51,7 +51,7 @@ export function registerClosingStyles(root: Style, palette: ThemePalette) {
5151
root.select('.studio .faq-list .expandable-panel__body > p').css({
5252
padding: '0 25px 22px 0',
5353
fontSize: palette.font.size.sm,
54-
color: tone.success.text.subtle,
54+
color: tone.neutral.text.subtle,
5555
lineHeight: '1.9',
5656
})
5757
root.select('.studio .closing-section').css({

‎frontend/theme/ecosystemStyles.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export function registerEcosystemStyles(root: Style, palette: ThemePalette) {
4040
})
4141
root.select('.studio .package-card > span:last-child').css({
4242
marginLeft: 'auto',
43-
color: tone.success.text.subtle,
43+
color: tone.neutral.text.subtle,
4444
fontSize: '18px',
4545
})
4646
root.select('.studio .package-card h3').css({
@@ -51,7 +51,7 @@ export function registerEcosystemStyles(root: Style, palette: ThemePalette) {
5151
maxWidth: '365px',
5252
marginTop: '10px',
5353
fontSize: palette.font.size.sm,
54-
color: tone.success.text.subtle,
54+
color: tone.neutral.text.subtle,
5555
lineHeight: '1.8',
5656
})
5757
root.select('.studio .package-card code').css({

‎frontend/theme/featuresStyles.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export function registerFeaturesStyles(root: Style, palette: ThemePalette) {
4444
root
4545
.select('.studio .section h2 > span, .studio .start-section h2 > span')
4646
.css({
47-
color: tone.success.text.subtle,
47+
color: tone.accent.text.subtle,
4848
})
4949
root.select('.studio .section-heading').css({
5050
marginBottom: '37px',
@@ -244,7 +244,7 @@ export function registerFeaturesStyles(root: Style, palette: ThemePalette) {
244244
root.select('.studio .tone-sample > span').css({
245245
marginLeft: '12px',
246246
font: `9px / 1.5 ${studioTypography.mono}`,
247-
color: tone.success.text.subtle,
247+
color: tone.neutral.text.subtle,
248248
})
249249
root.select('.studio .output-sample').css({
250250
display: 'flex',
@@ -294,7 +294,7 @@ export function registerFeaturesStyles(root: Style, palette: ThemePalette) {
294294
top: '-15px',
295295
font: `8px ${studioTypography.mono}`,
296296
padding: '4px 6px',
297-
color: tone.success.text.default,
297+
color: tone.accent.text.default,
298298
background: tone.accent.surface.hover.bgcolor,
299299
border: `1px solid ${tone.neutral.surface.hover.border}`,
300300
borderRadius: '3px',
@@ -307,6 +307,6 @@ export function registerFeaturesStyles(root: Style, palette: ThemePalette) {
307307
display: 'block',
308308
height: '13px',
309309
width: '1px',
310-
background: tone.success.text.default,
310+
background: tone.accent.text.default,
311311
})
312312
}

‎frontend/theme/footerStyles.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export function registerFooterStyles(root: Style, palette: ThemePalette) {
3131
})
3232
root.select('.studio .footer-label').css({
3333
marginBottom: '6px',
34-
color: tone.success.text.subtle,
34+
color: tone.neutral.text.subtle,
3535
font: `8px ${studioTypography.mono}`,
3636
letterSpacing: '1.5px',
3737
})

0 commit comments

Comments
 (0)