@tangle-network/brand 0.4.0 → 0.5.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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 184c8bb: Add the canonical display type scale and semantic type-role utilities. New
8
+ tokens: `--font-size-2xl/3xl/4xl` plus fluid `--font-size-hero`/`--font-size-display`
9
+ (clamp), display line-heights, and tracking tokens. New `@theme` utilities
10
+ `text-display`/`text-hero`/`text-page`/`text-section`/`text-eyebrow`, each
11
+ carrying size + leading + tracking + weight. Quiet weights (heroes 700, titles 600) per Tangle Quiet. Additive — no existing token changed.
12
+
3
13
  ## 0.4.0
4
14
 
5
15
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/brand",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Tangle brand system — design tokens, logo, Tailwind v4 theme. Single source of truth for every Tangle app.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@
20
20
  }
21
21
 
22
22
  ::selection {
23
- background: rgba(56, 178, 172, 0.22);
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: 0 0 48px -10px hsl(var(--primary) / 0.45);
57
+ box-shadow: none;
56
58
  }
57
59
 
58
60
  .depth-1 { background-color: var(--depth-1); }
@@ -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;
@@ -222,9 +222,9 @@
222
222
  --shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.45);
223
223
  --shadow-glow: none;
224
224
  --shadow-accent: 0 1px 2px rgba(0, 0, 0, 0.3);
225
- --shadow-status-running: 0 0 6px rgba(16, 185, 129, 0.5);
226
- --shadow-status-creating: 0 0 6px rgba(99, 102, 241, 0.5);
227
- --shadow-status-error: 0 0 6px rgba(255, 77, 109, 0.5);
225
+ --shadow-status-running: none;
226
+ --shadow-status-creating: none;
227
+ --shadow-status-error: none;
228
228
 
229
229
  /* Radii */
230
230
  --radius-sm: 6px;
@@ -247,10 +247,24 @@
247
247
  --font-size-sm: 0.75rem; /* 12px — captions, meta */
248
248
  --font-size-base: 0.9375rem; /* 15px — message body */
249
249
  --font-size-lg: 1rem; /* 16px — emphasized text */
250
- --font-size-xl: 1.25rem; /* 20px — section headers */
250
+ --font-size-xl: 1.25rem; /* 20px — section title (h2) */
251
+ /* Display tier — page titles, marketing section heads, and heroes.
252
+ Hero sizes are fluid (clamp) so they scale with the viewport without
253
+ per-breakpoint overrides; the dense-app sizes above stay fixed. */
254
+ --font-size-2xl: 1.5rem; /* 24px — large section title */
255
+ --font-size-3xl: 1.875rem; /* 30px — page title (h1) */
256
+ --font-size-4xl: 2.25rem; /* 36px — compact marketing section head */
257
+ --font-size-hero: clamp(2rem, 1.2rem + 3.2vw, 3rem); /* 32→48px — secondary hero */
258
+ --font-size-display: clamp(2.5rem, 1.1rem + 5vw, 4rem); /* 40→64px — primary hero */
251
259
  --line-height-tight: 1.3;
252
260
  --line-height-base: 1.6; /* tighter body rhythm (was 1.75) */
253
261
  --line-height-relaxed: 1.75;
262
+ --line-height-display: 1.05; /* heroes — near-solid set */
263
+ --line-height-heading: 1.15; /* page/section titles */
264
+ /* Letter-spacing — titles tighten, eyebrows/labels open up */
265
+ --tracking-tight: -0.02em; /* display + page titles */
266
+ --tracking-snug: -0.01em; /* section titles */
267
+ --tracking-wide: 0.08em; /* uppercase eyebrows / stat labels */
254
268
 
255
269
  /* Component spacing — override per-app for tighter/looser layouts */
256
270
  --avatar-size: 2rem; /* 32px — chat avatars */