@tangle-network/brand 0.4.0 → 0.6.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/CHANGELOG.md +16 -0
- package/package.json +1 -1
- package/src/styles/globals.css +4 -2
- package/src/styles/theme.css +26 -0
- package/src/styles/tokens.css +31 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c56ea6c: Add a standard `data-theme`/`.dark`/`.light` switch alongside the existing named themes. The dark block now also matches `[data-theme="dark"]`/`.dark` and the light block also matches `[data-theme="light"]`/`.light`, so consumers can pin or toggle a theme with a standard switch instead of an ad-hoc `data-sandbox-theme` name (an unknown name previously fell back to the dark default). The `:root` default stays dark — zero blast radius to existing consumers.
|
|
8
|
+
|
|
9
|
+
## 0.5.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 184c8bb: Add the canonical display type scale and semantic type-role utilities. New
|
|
14
|
+
tokens: `--font-size-2xl/3xl/4xl` plus fluid `--font-size-hero`/`--font-size-display`
|
|
15
|
+
(clamp), display line-heights, and tracking tokens. New `@theme` utilities
|
|
16
|
+
`text-display`/`text-hero`/`text-page`/`text-section`/`text-eyebrow`, each
|
|
17
|
+
carrying size + leading + tracking + weight. Quiet weights (heroes 700, titles 600) per Tangle Quiet. Additive — no existing token changed.
|
|
18
|
+
|
|
3
19
|
## 0.4.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
package/package.json
CHANGED
package/src/styles/globals.css
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
::selection {
|
|
23
|
-
background:
|
|
23
|
+
background: var(--bg-selection);
|
|
24
24
|
color: hsl(var(--hsl-foreground));
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -51,8 +51,10 @@
|
|
|
51
51
|
color: transparent;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
/* Retained as a flat no-op so any stray consumer renders without a halo.
|
|
55
|
+
Tangle Quiet has no glow chrome. */
|
|
54
56
|
.glow-brand {
|
|
55
|
-
box-shadow:
|
|
57
|
+
box-shadow: none;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
.depth-1 { background-color: var(--depth-1); }
|
package/src/styles/theme.css
CHANGED
|
@@ -12,6 +12,32 @@
|
|
|
12
12
|
--font-display: "Inter", "Geist", sans-serif;
|
|
13
13
|
--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
|
|
14
14
|
|
|
15
|
+
/* Canonical type roles — additive semantic sizes (do not shadow Tailwind's
|
|
16
|
+
numeric text-* scale). Pair size + leading + tracking + weight so a
|
|
17
|
+
`text-display` / `text-page` utility carries the whole role. Prefer the
|
|
18
|
+
Heading / PageHeader primitives in @tangle-network/sandbox-ui over raw
|
|
19
|
+
utilities so titles stay consistent across every app. */
|
|
20
|
+
--text-display: var(--font-size-display);
|
|
21
|
+
--text-display--line-height: 1.05;
|
|
22
|
+
--text-display--letter-spacing: -0.02em;
|
|
23
|
+
--text-display--font-weight: 700;
|
|
24
|
+
--text-hero: var(--font-size-hero);
|
|
25
|
+
--text-hero--line-height: 1.1;
|
|
26
|
+
--text-hero--letter-spacing: -0.02em;
|
|
27
|
+
--text-hero--font-weight: 700;
|
|
28
|
+
--text-page: var(--font-size-3xl);
|
|
29
|
+
--text-page--line-height: 1.15;
|
|
30
|
+
--text-page--letter-spacing: -0.02em;
|
|
31
|
+
--text-page--font-weight: 600;
|
|
32
|
+
--text-section: var(--font-size-xl);
|
|
33
|
+
--text-section--line-height: 1.3;
|
|
34
|
+
--text-section--letter-spacing: -0.01em;
|
|
35
|
+
--text-section--font-weight: 600;
|
|
36
|
+
--text-eyebrow: var(--font-size-sm);
|
|
37
|
+
--text-eyebrow--line-height: 1;
|
|
38
|
+
--text-eyebrow--letter-spacing: 0.08em;
|
|
39
|
+
--text-eyebrow--font-weight: 600;
|
|
40
|
+
|
|
15
41
|
/* Radii — tight chrome scale */
|
|
16
42
|
--radius-sm: 6px;
|
|
17
43
|
--radius-md: 8px;
|
package/src/styles/tokens.css
CHANGED
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
/* Brand: warm purple palette, #5B4ED4 primary */
|
|
3
3
|
|
|
4
4
|
/* MD3 surface hierarchy */
|
|
5
|
+
/* Dark is the default theme (`:root`/`[data-sandbox-ui]`). It also responds to
|
|
6
|
+
* the standard `[data-theme="dark"]` / `.dark` switch so any consumer can pin or
|
|
7
|
+
* toggle a theme without inventing an ad-hoc `data-sandbox-theme` name. */
|
|
5
8
|
:root,
|
|
6
|
-
[data-sandbox-ui]
|
|
9
|
+
[data-sandbox-ui],
|
|
10
|
+
[data-theme="dark"],
|
|
11
|
+
.dark {
|
|
7
12
|
--md3-surface: #0a0a14;
|
|
8
13
|
--md3-surface-dim: #07070d;
|
|
9
14
|
--md3-surface-bright: #1b1a2c;
|
|
@@ -222,9 +227,9 @@
|
|
|
222
227
|
--shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.45);
|
|
223
228
|
--shadow-glow: none;
|
|
224
229
|
--shadow-accent: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
225
|
-
--shadow-status-running:
|
|
226
|
-
--shadow-status-creating:
|
|
227
|
-
--shadow-status-error:
|
|
230
|
+
--shadow-status-running: none;
|
|
231
|
+
--shadow-status-creating: none;
|
|
232
|
+
--shadow-status-error: none;
|
|
228
233
|
|
|
229
234
|
/* Radii */
|
|
230
235
|
--radius-sm: 6px;
|
|
@@ -247,10 +252,24 @@
|
|
|
247
252
|
--font-size-sm: 0.75rem; /* 12px — captions, meta */
|
|
248
253
|
--font-size-base: 0.9375rem; /* 15px — message body */
|
|
249
254
|
--font-size-lg: 1rem; /* 16px — emphasized text */
|
|
250
|
-
--font-size-xl: 1.25rem; /* 20px — section
|
|
255
|
+
--font-size-xl: 1.25rem; /* 20px — section title (h2) */
|
|
256
|
+
/* Display tier — page titles, marketing section heads, and heroes.
|
|
257
|
+
Hero sizes are fluid (clamp) so they scale with the viewport without
|
|
258
|
+
per-breakpoint overrides; the dense-app sizes above stay fixed. */
|
|
259
|
+
--font-size-2xl: 1.5rem; /* 24px — large section title */
|
|
260
|
+
--font-size-3xl: 1.875rem; /* 30px — page title (h1) */
|
|
261
|
+
--font-size-4xl: 2.25rem; /* 36px — compact marketing section head */
|
|
262
|
+
--font-size-hero: clamp(2rem, 1.2rem + 3.2vw, 3rem); /* 32→48px — secondary hero */
|
|
263
|
+
--font-size-display: clamp(2.5rem, 1.1rem + 5vw, 4rem); /* 40→64px — primary hero */
|
|
251
264
|
--line-height-tight: 1.3;
|
|
252
265
|
--line-height-base: 1.6; /* tighter body rhythm (was 1.75) */
|
|
253
266
|
--line-height-relaxed: 1.75;
|
|
267
|
+
--line-height-display: 1.05; /* heroes — near-solid set */
|
|
268
|
+
--line-height-heading: 1.15; /* page/section titles */
|
|
269
|
+
/* Letter-spacing — titles tighten, eyebrows/labels open up */
|
|
270
|
+
--tracking-tight: -0.02em; /* display + page titles */
|
|
271
|
+
--tracking-snug: -0.01em; /* section titles */
|
|
272
|
+
--tracking-wide: 0.08em; /* uppercase eyebrows / stat labels */
|
|
254
273
|
|
|
255
274
|
/* Component spacing — override per-app for tighter/looser layouts */
|
|
256
275
|
--avatar-size: 2rem; /* 32px — chat avatars */
|
|
@@ -290,7 +309,13 @@
|
|
|
290
309
|
--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
|
|
291
310
|
}
|
|
292
311
|
|
|
293
|
-
|
|
312
|
+
/* Light theme — reachable via the named `vault` theme or the standard
|
|
313
|
+
* `[data-theme="light"]` / `.light` switch. Both blocks are single-attribute/
|
|
314
|
+
* class selectors, and this one is later in source order, so when an element
|
|
315
|
+
* carries both `data-sandbox-ui` (dark) and `data-theme="light"`, light wins. */
|
|
316
|
+
[data-sandbox-theme="vault"],
|
|
317
|
+
[data-theme="light"],
|
|
318
|
+
.light {
|
|
294
319
|
/* Light theme — clean professional, warm purple accents */
|
|
295
320
|
|
|
296
321
|
/* MD3 surface hierarchy */
|