@tangle-network/brand 0.8.3 → 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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 0ef3a1a: Graduate `@tangle-network/brand` to stable 1.0.0. The design-token + prose layer is mature and consumed across every app; declaring 1.0 lets its future minors stay within `@tangle-network/ui`'s `^1.x` peer range. Combined with the new `onlyUpdatePeerDependentsWhenOutOfRange` changeset option, this ends the churn where every brand minor force-majored `ui` (5→6→7… all the way to 10). After this one-time coordinated bump, brand token/prose changes no longer re-version `ui` at all — `ui` versions only when its own component code changes.
8
+
9
+ ## 0.9.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 68e5053: Transcript spacing, markdown styling, and the remaining WCAG AA fixes.
14
+
15
+ - **Markdown was unstyled**: `@tailwindcss/typography` isn't loaded and `tangle-prose` was undefined, so structured markdown had no styling — table cells collided (no dividers/padding) and text ran flush into code blocks. Defined `tangle-prose` (self-contained, theme-tokened): tables get border-collapse hairline dividers + cell padding, and blocks (headings, paragraphs, lists, `pre`, code) get proper vertical rhythm. Links use `--accent-text` (readable in every theme).
16
+ - **Timeline spacing**: user messages sat flush against the status/tool/agent row below them. They're off-spine, so they now carry their own vertical rhythm (`mt-6 mb-4`).
17
+ - **WCAG AA (measured live across 7 themes)**: `--btn-primary-*` (dark + all named themes were 4.47/2.98 → now ≥5.9 via `#5B4ED4`/`#4F46E5`); `--hsl-destructive` button/badge (3.67 → ≥4.5); named light themes now carry light-tuned `--hsl-destructive`/`--hsl-secondary-foreground`/`--surface-neutral-text` (were inheriting dark values, secondary badge ~1.05); input borders (`--input` → `--hsl-muted-foreground`) now clear 1.4.11 3:1 as visible field boundaries.
18
+
3
19
  ## 0.8.3
4
20
 
5
21
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/brand",
3
- "version": "0.8.3",
3
+ "version": "1.0.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",
@@ -105,3 +105,73 @@
105
105
  .status-dot-stopped { background: var(--status-stopped); }
106
106
  .status-dot-error { background: var(--status-error); box-shadow: var(--shadow-status-error); }
107
107
  }
108
+
109
+ /* Markdown prose — applied via `tangle-prose` on the Markdown renderer. The
110
+ * @tailwindcss/typography plugin is not loaded, so structured markdown (tables,
111
+ * lists, spacing between blocks) had NO styling: table cells collided and text
112
+ * ran flush into code blocks. Self-contained, theme-tokened so it re-skins. */
113
+ .tangle-prose {
114
+ color: var(--text-primary);
115
+ line-height: 1.7;
116
+ }
117
+ .tangle-prose > * + * { margin-top: 0.85em; }
118
+ .tangle-prose h1, .tangle-prose h2, .tangle-prose h3, .tangle-prose h4 {
119
+ font-weight: 600;
120
+ line-height: 1.3;
121
+ margin-top: 1.4em;
122
+ margin-bottom: 0.5em;
123
+ color: var(--text-primary);
124
+ }
125
+ .tangle-prose h1 { font-size: 1.4em; }
126
+ .tangle-prose h2 { font-size: 1.25em; }
127
+ .tangle-prose h3 { font-size: 1.1em; }
128
+ .tangle-prose p, .tangle-prose ul, .tangle-prose ol { margin: 0; }
129
+ .tangle-prose ul, .tangle-prose ol { padding-left: 1.4em; }
130
+ .tangle-prose li { margin: 0.25em 0; }
131
+ .tangle-prose li > ul, .tangle-prose li > ol { margin-top: 0.25em; }
132
+ .tangle-prose a {
133
+ color: var(--accent-text);
134
+ text-decoration: underline;
135
+ text-underline-offset: 2px;
136
+ }
137
+ .tangle-prose blockquote {
138
+ border-left: 2px solid var(--border-default);
139
+ padding-left: 0.9em;
140
+ color: var(--text-muted);
141
+ }
142
+ .tangle-prose hr { border: 0; border-top: 1px solid var(--border-subtle); margin: 1.2em 0; }
143
+ .tangle-prose :not(pre) > code {
144
+ background: var(--md3-surface-container-high);
145
+ padding: 0.12em 0.36em;
146
+ border-radius: 4px;
147
+ font-size: 0.9em;
148
+ font-family: var(--font-mono);
149
+ }
150
+ .tangle-prose pre { margin: 0.85em 0; }
151
+
152
+ /* Tables — border-collapse with hairline dividers + real cell padding, so
153
+ * columns read as a grid instead of colliding (the "no dividers" report). */
154
+ .tangle-prose table {
155
+ width: 100%;
156
+ border-collapse: collapse;
157
+ margin: 0.85em 0;
158
+ font-size: 0.95em;
159
+ display: block;
160
+ overflow-x: auto;
161
+ }
162
+ .tangle-prose thead { border-bottom: 1px solid var(--border-default); }
163
+ .tangle-prose th {
164
+ text-align: left;
165
+ font-weight: 600;
166
+ padding: 0.5em 0.85em;
167
+ color: var(--text-primary);
168
+ white-space: nowrap;
169
+ }
170
+ .tangle-prose td {
171
+ padding: 0.5em 0.85em;
172
+ border-top: 1px solid var(--border-subtle);
173
+ vertical-align: top;
174
+ }
175
+ .tangle-prose th:not(:first-child), .tangle-prose td:not(:first-child) {
176
+ border-left: 1px solid var(--border-subtle);
177
+ }
@@ -31,7 +31,7 @@
31
31
  --color-destructive: hsl(var(--hsl-destructive));
32
32
  --color-destructive-foreground: hsl(var(--hsl-destructive-foreground));
33
33
  --color-border: hsl(var(--hsl-border));
34
- --color-input: hsl(var(--hsl-input));
34
+ --color-input: hsl(var(--hsl-muted-foreground));
35
35
  --color-ring: hsl(var(--hsl-ring));
36
36
  --color-surface-container-lowest: var(--md3-surface-container-lowest);
37
37
  --color-surface-container-low: var(--md3-surface-container-low);
@@ -54,6 +54,15 @@
54
54
  --surface-warning-bg: #fffbeb; --surface-warning-border: #fde68a; --surface-warning-text: #b45309;
55
55
  --surface-danger-bg: #fff1f2; --surface-danger-border: #fecdd3; --surface-danger-text: #b91c1c;
56
56
  --surface-info-bg: #f0f9ff; --surface-info-border: #bae6fd; --surface-info-text: #0369a1;
57
+ /* Light-tuned interactive tokens — without these the named light scopes
58
+ * inherit the dark :root values on a light surface: destructive white-on-red
59
+ * fell to 3.67, and the secondary badge inherited near-white foreground (~1.05). */
60
+ --hsl-destructive: 0 72% 41%;
61
+ --hsl-destructive-foreground: 0 0% 100%;
62
+ --hsl-secondary-foreground: 0 0% 10%;
63
+ /* neutral status label inherited var(--text-muted) which was ~3.8:1 on the
64
+ * light row surface; pin a darker slate that clears AA on light surfaces. */
65
+ --surface-neutral-text: #4b5563;
57
66
  }
58
67
 
59
68
  /* Light-tuned syntax highlighting for ALL light scopes (incl. base light).
@@ -65,7 +65,7 @@
65
65
  --hsl-muted-foreground: 240 4% 64%; /* #9c9ca6 text-muted */
66
66
  --hsl-accent: 240 5% 15%; /* neutral hover (indigo lives in accent-surface-strong) */
67
67
  --hsl-accent-foreground: 240 6% 93%;
68
- --hsl-destructive: 348 90% 60%;
68
+ --hsl-destructive: 348 74% 48%;
69
69
  --hsl-destructive-foreground: 0 0% 100%;
70
70
  --hsl-border: 240 5% 16%; /* soft edge — fill carries separation, not the line */
71
71
  --hsl-input: 240 5% 15%;
@@ -92,7 +92,7 @@
92
92
  --destructive: var(--hsl-destructive);
93
93
  --destructive-foreground: var(--hsl-destructive-foreground);
94
94
  --border: var(--hsl-border);
95
- --input: var(--hsl-input);
95
+ --input: var(--hsl-muted-foreground);
96
96
  --ring: var(--hsl-ring);
97
97
  --success: var(--hsl-success);
98
98
  --warning: var(--hsl-warning);
@@ -207,10 +207,10 @@
207
207
  --border-accent-hover: rgba(129, 140, 248, 0.35);
208
208
 
209
209
  /* Buttons */
210
- --btn-primary-bg: #6366F1;
211
- --btn-primary-hover: #818CF8;
210
+ --btn-primary-bg: #5B4ED4;
211
+ --btn-primary-hover: #4F46E5;
212
212
  --btn-primary-text: #ffffff;
213
- --btn-cta-bg: #818CF8;
213
+ --btn-cta-bg: #4F46E5;
214
214
  --btn-cta-text: #FFFFFF;
215
215
 
216
216
  /* Code / runtime syntax */