chore(release): redesign UI tokens and publish styles 0.8.26, ui 0.8.86

Visual-only redesign ("instrument panel"): cool graphite neutrals for light
and dark, layered hairline elevation, larger radii, a mono token for
eyebrows/data, keycap-style solid and secondary buttons, recessed input
wells and tab tracks, a stronger dialog, and a theme-driven focus outline.
No props, outputs or behaviour change.

Also records the already-published csr 0.8.42, styles 0.8.25 and ui 0.8.85
changes (optional chaining/nullish in the reactive runtime, shared
theme/accent cookie sync, BackToTop hidden attribute).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClintchizandClaude Opus 5.5 committed 2026-09-30 12:00:27 +05:30
1 parent f4eaf416be
commit 1179fc2810
16 files changed
+322 -108

No files matched your search

+15 -1
View File
@@ -5542,7 +5542,11 @@ export const REACTIVE_RUNTIME = String.raw`
function parsePostfix() {
var node = parsePrimary();
for (;;) {
if (match(".")) {
var optional = match("?.");
if (optional && !is("[") && !is("(")) {
var optionalProp = next().value;
node = { value: node.value == null ? undefined : node.value[optionalProp], obj: node.value };
} else if (match(".")) {
var prop = next().value;
node = { value: node.value == null ? undefined : node.value[prop], obj: node.value };
} else if (match("[")) {
@@ -5617,6 +5621,10 @@ export const REACTIVE_RUNTIME = String.raw`
}
function parseTernary() {
var c = parseOr();
while (match("??")) {
var fallback = parseOr();
c = c == null ? fallback : c;
}
if (match("?")) { var a = parseTernary(); expect(":"); var b = parseTernary(); return c ? a : b; }
return c;
}
@@ -5782,6 +5790,12 @@ export const REACTIVE_RUNTIME = String.raw`
var two = input.slice(i, i + 2);
if (two === "?." || two === "??") {
tokens.push({ type: "operator", value: two });
i += 2;
continue;
}
if (
two === "==" ||
two === "!=" ||