@pipelex/mthds-ui 0.7.0 → 0.9.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/dist/{chunk-ILX53OYM.js → chunk-WNSV4E7G.js} +12 -2
- package/dist/{chunk-ILX53OYM.js.map → chunk-WNSV4E7G.js.map} +1 -1
- package/dist/graph/index.d.ts +2 -2
- package/dist/graph/index.js +3 -1
- package/dist/graph/react/graph-core.css +13 -0
- package/dist/graph/react/index.d.ts +47 -13
- package/dist/graph/react/index.js +210 -103
- package/dist/graph/react/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/standalone/graph-standalone.html +136 -94
- package/dist/standalone/graph-viewer.css +94 -54
- package/dist/standalone/graph-viewer.js +9 -9
- package/dist/{types-DJTrDxjV.d.ts → types-uGRs3n4k.d.ts} +43 -4
- package/package.json +1 -1
|
@@ -1007,6 +1007,19 @@ svg.react-flow__connectionline {
|
|
|
1007
1007
|
.pipe-card--controller {
|
|
1008
1008
|
--pipe-card-accent: var(--text-muted);
|
|
1009
1009
|
}
|
|
1010
|
+
|
|
1011
|
+
/* Signature (unimplemented stub) — dashed + muted so it reads as "declared,
|
|
1012
|
+
not built yet", distinct from operator (solid accent) and controller (tinted). */
|
|
1013
|
+
.pipe-card--signature {
|
|
1014
|
+
--pipe-card-accent: var(--text-muted);
|
|
1015
|
+
border-left-style: dashed;
|
|
1016
|
+
opacity: 0.85;
|
|
1017
|
+
}
|
|
1018
|
+
.pipe-card-badge--signature {
|
|
1019
|
+
background: transparent;
|
|
1020
|
+
color: var(--text-muted);
|
|
1021
|
+
border: 1px dashed var(--text-muted);
|
|
1022
|
+
}
|
|
1010
1023
|
@keyframes pipe-card-pulse {
|
|
1011
1024
|
0%,
|
|
1012
1025
|
100% {
|
|
@@ -2159,20 +2172,37 @@ button.stuff-viewer-local-file--button:focus-visible {
|
|
|
2159
2172
|
|
|
2160
2173
|
/* ─── Standalone GraphViewer chrome (toolbar, theme, layout) ─────────── */
|
|
2161
2174
|
|
|
2162
|
-
* {
|
|
2175
|
+
* {
|
|
2176
|
+
box-sizing: border-box;
|
|
2177
|
+
margin: 0;
|
|
2178
|
+
padding: 0;
|
|
2179
|
+
}
|
|
2163
2180
|
|
|
2164
|
-
html,
|
|
2181
|
+
html,
|
|
2182
|
+
body {
|
|
2165
2183
|
height: 100%;
|
|
2166
2184
|
overflow: hidden;
|
|
2167
|
-
font-family:
|
|
2185
|
+
font-family:
|
|
2186
|
+
"Inter",
|
|
2187
|
+
-apple-system,
|
|
2188
|
+
sans-serif;
|
|
2168
2189
|
}
|
|
2169
2190
|
|
|
2170
2191
|
/* ─── Theme system ──────────────────────────────────────────────────── */
|
|
2171
2192
|
|
|
2172
|
-
|
|
2193
|
+
/* `data-theme="system"` defaults to the dark palette so a host with no
|
|
2194
|
+
`prefers-color-scheme` support (legacy WebKit / older Electron / some
|
|
2195
|
+
webviews) still gets themed chrome on first paint, before — and even if —
|
|
2196
|
+
the JS bundle loads. This mirrors the JS side, where `detectSystemTheme()`
|
|
2197
|
+
also falls back to dark. The `prefers-color-scheme: light` query below flips
|
|
2198
|
+
it to light when the engine supports it; `prefers-color-scheme: dark` needs
|
|
2199
|
+
no block because it already matches this default. */
|
|
2200
|
+
body[data-theme="dark"],
|
|
2201
|
+
body[data-theme="system"],
|
|
2202
|
+
body:not([data-theme]) {
|
|
2173
2203
|
--chrome-bg: #0d1117;
|
|
2174
2204
|
--chrome-surface: #161b22;
|
|
2175
|
-
--chrome-border: rgba(255,255,255,0.08);
|
|
2205
|
+
--chrome-border: rgba(255, 255, 255, 0.08);
|
|
2176
2206
|
--chrome-text: #e2e8f0;
|
|
2177
2207
|
--chrome-text-muted: #8b949e;
|
|
2178
2208
|
background: #0a0a0f;
|
|
@@ -2182,7 +2212,7 @@ body[data-theme="dark"], body:not([data-theme]) {
|
|
|
2182
2212
|
body[data-theme="light"] {
|
|
2183
2213
|
--chrome-bg: #ffffff;
|
|
2184
2214
|
--chrome-surface: #f6f8fa;
|
|
2185
|
-
--chrome-border: rgba(0,0,0,0.1);
|
|
2215
|
+
--chrome-border: rgba(0, 0, 0, 0.1);
|
|
2186
2216
|
--chrome-text: #1f2328;
|
|
2187
2217
|
--chrome-text-muted: #656d76;
|
|
2188
2218
|
background: #ffffff;
|
|
@@ -2193,7 +2223,7 @@ body[data-theme="light"] {
|
|
|
2193
2223
|
body[data-theme="system"] {
|
|
2194
2224
|
--chrome-bg: #ffffff;
|
|
2195
2225
|
--chrome-surface: #f6f8fa;
|
|
2196
|
-
--chrome-border: rgba(0,0,0,0.1);
|
|
2226
|
+
--chrome-border: rgba(0, 0, 0, 0.1);
|
|
2197
2227
|
--chrome-text: #1f2328;
|
|
2198
2228
|
--chrome-text-muted: #656d76;
|
|
2199
2229
|
background: #ffffff;
|
|
@@ -2201,18 +2231,6 @@ body[data-theme="light"] {
|
|
|
2201
2231
|
}
|
|
2202
2232
|
}
|
|
2203
2233
|
|
|
2204
|
-
@media (prefers-color-scheme: dark) {
|
|
2205
|
-
body[data-theme="system"] {
|
|
2206
|
-
--chrome-bg: #0d1117;
|
|
2207
|
-
--chrome-surface: #161b22;
|
|
2208
|
-
--chrome-border: rgba(255,255,255,0.08);
|
|
2209
|
-
--chrome-text: #e2e8f0;
|
|
2210
|
-
--chrome-text-muted: #8b949e;
|
|
2211
|
-
background: #0a0a0f;
|
|
2212
|
-
color: #e2e8f0;
|
|
2213
|
-
}
|
|
2214
|
-
}
|
|
2215
|
-
|
|
2216
2234
|
/* ─── Layout ────────────────────────────────────────────────────────── */
|
|
2217
2235
|
|
|
2218
2236
|
#app-container {
|
|
@@ -2240,7 +2258,9 @@ body[data-theme="light"] {
|
|
|
2240
2258
|
z-index: 20;
|
|
2241
2259
|
}
|
|
2242
2260
|
|
|
2243
|
-
.toolbar-spacer {
|
|
2261
|
+
.toolbar-spacer {
|
|
2262
|
+
flex: 1;
|
|
2263
|
+
}
|
|
2244
2264
|
|
|
2245
2265
|
.toolbar-btn {
|
|
2246
2266
|
all: unset;
|
|
@@ -2252,7 +2272,9 @@ body[data-theme="light"] {
|
|
|
2252
2272
|
height: 28px;
|
|
2253
2273
|
border-radius: 4px;
|
|
2254
2274
|
color: var(--chrome-text-muted);
|
|
2255
|
-
transition:
|
|
2275
|
+
transition:
|
|
2276
|
+
background 0.15s,
|
|
2277
|
+
color 0.15s;
|
|
2256
2278
|
}
|
|
2257
2279
|
|
|
2258
2280
|
.toolbar-btn:hover {
|
|
@@ -2266,8 +2288,12 @@ body[data-theme="light"] {
|
|
|
2266
2288
|
}
|
|
2267
2289
|
|
|
2268
2290
|
/* Direction toggle */
|
|
2269
|
-
.direction-icon {
|
|
2270
|
-
|
|
2291
|
+
.direction-icon {
|
|
2292
|
+
display: none;
|
|
2293
|
+
}
|
|
2294
|
+
.direction-icon.active {
|
|
2295
|
+
display: inline-flex;
|
|
2296
|
+
}
|
|
2271
2297
|
|
|
2272
2298
|
/* Controllers toggle */
|
|
2273
2299
|
.toggle-switch {
|
|
@@ -2280,7 +2306,9 @@ body[data-theme="light"] {
|
|
|
2280
2306
|
user-select: none;
|
|
2281
2307
|
}
|
|
2282
2308
|
|
|
2283
|
-
.toggle-switch input {
|
|
2309
|
+
.toggle-switch input {
|
|
2310
|
+
display: none;
|
|
2311
|
+
}
|
|
2284
2312
|
|
|
2285
2313
|
.toggle-track {
|
|
2286
2314
|
width: 28px;
|
|
@@ -2292,7 +2320,7 @@ body[data-theme="light"] {
|
|
|
2292
2320
|
}
|
|
2293
2321
|
|
|
2294
2322
|
.toggle-switch input:checked + .toggle-track {
|
|
2295
|
-
background: #
|
|
2323
|
+
background: #50fa7b44;
|
|
2296
2324
|
}
|
|
2297
2325
|
|
|
2298
2326
|
.toggle-knob {
|
|
@@ -2303,39 +2331,22 @@ body[data-theme="light"] {
|
|
|
2303
2331
|
height: 12px;
|
|
2304
2332
|
border-radius: 50%;
|
|
2305
2333
|
background: var(--chrome-text-muted);
|
|
2306
|
-
transition:
|
|
2334
|
+
transition:
|
|
2335
|
+
left 0.15s,
|
|
2336
|
+
background 0.15s;
|
|
2307
2337
|
}
|
|
2308
2338
|
|
|
2309
2339
|
.toggle-switch input:checked + .toggle-track .toggle-knob {
|
|
2310
2340
|
left: 14px;
|
|
2311
|
-
background: #
|
|
2341
|
+
background: #50fa7b;
|
|
2312
2342
|
}
|
|
2313
2343
|
|
|
2314
2344
|
.toggle-label {
|
|
2315
2345
|
font-size: 11px;
|
|
2316
2346
|
}
|
|
2317
2347
|
|
|
2318
|
-
/*
|
|
2319
|
-
|
|
2320
|
-
all: unset;
|
|
2321
|
-
cursor: pointer;
|
|
2322
|
-
display: flex;
|
|
2323
|
-
align-items: center;
|
|
2324
|
-
gap: 4px;
|
|
2325
|
-
font-size: 10px;
|
|
2326
|
-
color: var(--chrome-text-muted);
|
|
2327
|
-
padding: 4px 8px;
|
|
2328
|
-
border-radius: 4px;
|
|
2329
|
-
transition: background 0.15s;
|
|
2330
|
-
}
|
|
2331
|
-
|
|
2332
|
-
.theme-btn:hover {
|
|
2333
|
-
background: var(--chrome-border);
|
|
2334
|
-
}
|
|
2335
|
-
|
|
2336
|
-
.theme-label {
|
|
2337
|
-
text-transform: capitalize;
|
|
2338
|
-
}
|
|
2348
|
+
/* The theme toggle lives in the in-graph toolbar (library-owned tri-state);
|
|
2349
|
+
the standalone page no longer renders its own theme button. */
|
|
2339
2350
|
|
|
2340
2351
|
/* ─── Header branding ───────────────────────────────────────────────── */
|
|
2341
2352
|
|
|
@@ -2350,7 +2361,10 @@ body[data-theme="light"] {
|
|
|
2350
2361
|
opacity: 0.7;
|
|
2351
2362
|
}
|
|
2352
2363
|
|
|
2364
|
+
/* `system` defaults to the dark logo (hide the light variant), matching the
|
|
2365
|
+
chrome default above; the `prefers-color-scheme: light` query flips it. */
|
|
2353
2366
|
body[data-theme="dark"] .header-logo.light-logo,
|
|
2367
|
+
body[data-theme="system"] .header-logo.light-logo,
|
|
2354
2368
|
body:not([data-theme]) .header-logo.light-logo {
|
|
2355
2369
|
display: none;
|
|
2356
2370
|
}
|
|
@@ -2372,14 +2386,40 @@ body[data-theme="light"] .header-logo.light-logo {
|
|
|
2372
2386
|
}
|
|
2373
2387
|
}
|
|
2374
2388
|
|
|
2375
|
-
@media (prefers-color-scheme: dark) {
|
|
2376
|
-
body[data-theme="system"] .header-logo.light-logo {
|
|
2377
|
-
display: none;
|
|
2378
|
-
}
|
|
2379
|
-
}
|
|
2380
|
-
|
|
2381
2389
|
.header-title {
|
|
2382
2390
|
font-size: 12px;
|
|
2383
2391
|
font-weight: 600;
|
|
2384
2392
|
color: var(--chrome-text-muted);
|
|
2385
2393
|
}
|
|
2394
|
+
|
|
2395
|
+
/* ─── Error screen ──────────────────────────────────────────────────── */
|
|
2396
|
+
|
|
2397
|
+
/* Shown when the embedded config or spec is malformed. Uses explicit colors
|
|
2398
|
+
rather than the `--chrome-*` vars so it stays legible even when the theme
|
|
2399
|
+
parse is the thing that failed. */
|
|
2400
|
+
.standalone-error {
|
|
2401
|
+
display: flex;
|
|
2402
|
+
flex-direction: column;
|
|
2403
|
+
gap: 8px;
|
|
2404
|
+
height: 100%;
|
|
2405
|
+
padding: 24px;
|
|
2406
|
+
overflow: auto;
|
|
2407
|
+
background: #0a0a0f;
|
|
2408
|
+
color: #e2e8f0;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
.standalone-error-title {
|
|
2412
|
+
font-size: 14px;
|
|
2413
|
+
font-weight: 600;
|
|
2414
|
+
color: #ff6b6b;
|
|
2415
|
+
}
|
|
2416
|
+
|
|
2417
|
+
.standalone-error-message {
|
|
2418
|
+
margin: 0;
|
|
2419
|
+
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
2420
|
+
font-size: 12px;
|
|
2421
|
+
line-height: 1.5;
|
|
2422
|
+
white-space: pre-wrap;
|
|
2423
|
+
word-break: break-word;
|
|
2424
|
+
color: #8b949e;
|
|
2425
|
+
}
|