@pipelex/mthds-ui 0.18.0 → 0.20.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-F6TZIJ7A.js +1 -0
- package/dist/{chunk-BFQHQQ3E.js → chunk-FD4PKRGZ.js} +40 -1
- package/dist/chunk-FD4PKRGZ.js.map +1 -0
- package/dist/form/index.d.ts +1 -0
- package/dist/form/index.js +3 -0
- package/dist/form/index.js.map +1 -0
- package/dist/form/react/index.d.ts +49 -4
- package/dist/form/react/index.js +18 -4
- package/dist/form/react/index.js.map +1 -1
- package/dist/graph/index.d.ts +68 -3
- package/dist/graph/index.js +6 -2
- package/dist/graph/react/index.css +0 -265
- package/dist/graph/react/index.css.map +1 -1
- package/dist/graph/react/index.d.ts +168 -122
- package/dist/graph/react/index.js +126 -533
- package/dist/graph/react/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -2
- package/dist/standalone/graph-standalone.html +183 -362
- package/dist/standalone/graph-viewer.css +0 -347
- package/dist/standalone/graph-viewer.js +183 -15
- package/dist/static-graph/index.d.ts +1 -1
- package/dist/{types-Cv5Elty8.d.ts → types-Cn2FttBC.d.ts} +1 -1
- package/package.json +6 -8
- package/dist/chunk-BFQHQQ3E.js.map +0 -1
- package/dist/chunk-QD5YDMWV.js +0 -1
- package/dist/graph/react/stuff/StuffViewer.css +0 -346
- /package/dist/{chunk-QD5YDMWV.js.map → chunk-F6TZIJ7A.js.map} +0 -0
|
@@ -1279,353 +1279,6 @@ button.node-validation-badge {
|
|
|
1279
1279
|
}
|
|
1280
1280
|
}
|
|
1281
1281
|
|
|
1282
|
-
/* ─── StuffViewer component styles ────────────────────────────────────────── */
|
|
1283
|
-
/* StuffViewer is also exported standalone (used outside GraphViewer — e.g.
|
|
1284
|
-
* docs pages, embedded previews). The theme tokens are normally applied to
|
|
1285
|
-
* the GraphViewer container, but when this component is rendered on its own
|
|
1286
|
-
* those tokens may not be set. The fallbacks below match the dark palette
|
|
1287
|
-
* from `graphConfig.ts` (DARK_PALETTE_COLORS) so the component always
|
|
1288
|
-
* renders with valid colors and fonts. */
|
|
1289
|
-
|
|
1290
|
-
.stuff-viewer {
|
|
1291
|
-
--sv-bg: var(--surface-page, #0a0a0a);
|
|
1292
|
-
--sv-surface: var(--surface-panel, #111118);
|
|
1293
|
-
--sv-surface-hover: var(--surface-elevated, rgba(255, 255, 255, 0.06));
|
|
1294
|
-
--sv-border: var(--border-default, rgba(255, 255, 255, 0.1));
|
|
1295
|
-
--sv-text: var(--text-default, #e2e8f0);
|
|
1296
|
-
--sv-text-muted: var(--text-muted, #94a3b8);
|
|
1297
|
-
--sv-accent: var(--color-accent, #8be9fd);
|
|
1298
|
-
--sv-success: var(--color-success, #50fa7b);
|
|
1299
|
-
--sv-success-bg: var(--color-success-bg, rgba(80, 250, 123, 0.15));
|
|
1300
|
-
--sv-radius: 4px;
|
|
1301
|
-
--sv-font-sans: var(
|
|
1302
|
-
--font-sans,
|
|
1303
|
-
"Inter",
|
|
1304
|
-
-apple-system,
|
|
1305
|
-
BlinkMacSystemFont,
|
|
1306
|
-
"Segoe UI",
|
|
1307
|
-
sans-serif
|
|
1308
|
-
);
|
|
1309
|
-
--sv-font-mono: var(--font-mono, "JetBrains Mono", "Monaco", "Menlo", monospace);
|
|
1310
|
-
|
|
1311
|
-
font-family: var(--sv-font-sans);
|
|
1312
|
-
color: var(--sv-text);
|
|
1313
|
-
display: flex;
|
|
1314
|
-
flex-direction: column;
|
|
1315
|
-
height: 100%;
|
|
1316
|
-
}
|
|
1317
|
-
|
|
1318
|
-
/* ─── Header ─────────────────────────────────────────────────────────────── */
|
|
1319
|
-
|
|
1320
|
-
.stuff-viewer-header {
|
|
1321
|
-
display: flex;
|
|
1322
|
-
flex-direction: column;
|
|
1323
|
-
gap: 2px;
|
|
1324
|
-
padding: 12px 16px 8px;
|
|
1325
|
-
border-bottom: 1px solid var(--sv-border);
|
|
1326
|
-
flex-shrink: 0;
|
|
1327
|
-
}
|
|
1328
|
-
|
|
1329
|
-
.stuff-viewer-title {
|
|
1330
|
-
font-size: 14px;
|
|
1331
|
-
font-weight: 600;
|
|
1332
|
-
color: var(--sv-text);
|
|
1333
|
-
margin: 0;
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
.stuff-viewer-subtitle {
|
|
1337
|
-
font-size: 12px;
|
|
1338
|
-
color: var(--sv-text-muted);
|
|
1339
|
-
margin: 0;
|
|
1340
|
-
}
|
|
1341
|
-
|
|
1342
|
-
/* ─── Toolbar: tabs + action buttons ─────────────────────────────────────── */
|
|
1343
|
-
|
|
1344
|
-
.stuff-viewer-toolbar {
|
|
1345
|
-
display: flex;
|
|
1346
|
-
justify-content: space-between;
|
|
1347
|
-
align-items: center;
|
|
1348
|
-
padding: 8px 16px;
|
|
1349
|
-
gap: 8px;
|
|
1350
|
-
flex-shrink: 0;
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
.stuff-viewer-tabs {
|
|
1354
|
-
display: flex;
|
|
1355
|
-
gap: 4px;
|
|
1356
|
-
}
|
|
1357
|
-
|
|
1358
|
-
.stuff-viewer-tab {
|
|
1359
|
-
padding: 5px 10px;
|
|
1360
|
-
border-radius: var(--sv-radius);
|
|
1361
|
-
cursor: pointer;
|
|
1362
|
-
font-size: 12px;
|
|
1363
|
-
font-weight: 500;
|
|
1364
|
-
background: var(--sv-surface-hover);
|
|
1365
|
-
color: var(--sv-text-muted);
|
|
1366
|
-
border: none;
|
|
1367
|
-
transition:
|
|
1368
|
-
background 0.15s,
|
|
1369
|
-
color 0.15s;
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1372
|
-
.stuff-viewer-tab:hover {
|
|
1373
|
-
background: var(--sv-border);
|
|
1374
|
-
color: var(--sv-text);
|
|
1375
|
-
}
|
|
1376
|
-
|
|
1377
|
-
.stuff-viewer-tab--active {
|
|
1378
|
-
background: var(--sv-accent);
|
|
1379
|
-
color: var(--text-on-accent, #0e0e0e);
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
|
-
/* ─── Action buttons ─────────────────────────────────────────────────────── */
|
|
1383
|
-
|
|
1384
|
-
.stuff-viewer-actions {
|
|
1385
|
-
display: flex;
|
|
1386
|
-
gap: 4px;
|
|
1387
|
-
}
|
|
1388
|
-
|
|
1389
|
-
.stuff-viewer-action-btn {
|
|
1390
|
-
display: flex;
|
|
1391
|
-
align-items: center;
|
|
1392
|
-
justify-content: center;
|
|
1393
|
-
width: 28px;
|
|
1394
|
-
height: 28px;
|
|
1395
|
-
border-radius: var(--sv-radius);
|
|
1396
|
-
cursor: pointer;
|
|
1397
|
-
background: var(--sv-surface-hover);
|
|
1398
|
-
color: var(--sv-text-muted);
|
|
1399
|
-
border: none;
|
|
1400
|
-
transition:
|
|
1401
|
-
background 0.15s,
|
|
1402
|
-
color 0.15s;
|
|
1403
|
-
}
|
|
1404
|
-
|
|
1405
|
-
.stuff-viewer-action-btn:hover {
|
|
1406
|
-
background: var(--sv-border);
|
|
1407
|
-
color: var(--sv-text);
|
|
1408
|
-
}
|
|
1409
|
-
|
|
1410
|
-
.stuff-viewer-action-btn--copied {
|
|
1411
|
-
background: var(--sv-success-bg);
|
|
1412
|
-
color: var(--sv-success);
|
|
1413
|
-
}
|
|
1414
|
-
|
|
1415
|
-
.stuff-viewer-action-btn svg {
|
|
1416
|
-
width: 14px;
|
|
1417
|
-
height: 14px;
|
|
1418
|
-
fill: currentColor;
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
/* ─── Content area ───────────────────────────────────────────────────────── */
|
|
1422
|
-
|
|
1423
|
-
.stuff-viewer-content {
|
|
1424
|
-
flex: 1;
|
|
1425
|
-
overflow: auto;
|
|
1426
|
-
padding: 12px 16px 16px;
|
|
1427
|
-
min-height: 0;
|
|
1428
|
-
}
|
|
1429
|
-
|
|
1430
|
-
/* Pre-formatted text (JSON and Pretty tabs) */
|
|
1431
|
-
.stuff-viewer-pre {
|
|
1432
|
-
font-family: var(--sv-font-mono);
|
|
1433
|
-
font-size: 11px;
|
|
1434
|
-
line-height: 1.5;
|
|
1435
|
-
white-space: pre-wrap;
|
|
1436
|
-
word-wrap: break-word;
|
|
1437
|
-
margin: 0;
|
|
1438
|
-
color: var(--sv-text-muted);
|
|
1439
|
-
}
|
|
1440
|
-
|
|
1441
|
-
.stuff-viewer-pre--nowrap {
|
|
1442
|
-
white-space: pre;
|
|
1443
|
-
word-wrap: normal;
|
|
1444
|
-
line-height: 1;
|
|
1445
|
-
overflow-x: auto;
|
|
1446
|
-
padding-right: 20px;
|
|
1447
|
-
}
|
|
1448
|
-
|
|
1449
|
-
/* HTML content */
|
|
1450
|
-
.stuff-viewer-html {
|
|
1451
|
-
font-family: var(--sv-font-sans);
|
|
1452
|
-
font-size: 11px;
|
|
1453
|
-
color: var(--sv-text-muted);
|
|
1454
|
-
line-height: 1.5;
|
|
1455
|
-
}
|
|
1456
|
-
|
|
1457
|
-
.stuff-viewer-html table {
|
|
1458
|
-
border-collapse: collapse;
|
|
1459
|
-
width: 100%;
|
|
1460
|
-
}
|
|
1461
|
-
|
|
1462
|
-
.stuff-viewer-html th,
|
|
1463
|
-
.stuff-viewer-html td {
|
|
1464
|
-
border: 1px solid var(--sv-border);
|
|
1465
|
-
padding: 8px 12px;
|
|
1466
|
-
text-align: left;
|
|
1467
|
-
}
|
|
1468
|
-
|
|
1469
|
-
.stuff-viewer-html th {
|
|
1470
|
-
background: var(--sv-surface-hover);
|
|
1471
|
-
color: var(--sv-text);
|
|
1472
|
-
font-weight: 600;
|
|
1473
|
-
}
|
|
1474
|
-
|
|
1475
|
-
.stuff-viewer-html tr:hover {
|
|
1476
|
-
background: var(--sv-surface-hover);
|
|
1477
|
-
}
|
|
1478
|
-
|
|
1479
|
-
.stuff-viewer-html a {
|
|
1480
|
-
color: var(--sv-accent);
|
|
1481
|
-
text-decoration: none;
|
|
1482
|
-
}
|
|
1483
|
-
|
|
1484
|
-
.stuff-viewer-html a:hover {
|
|
1485
|
-
text-decoration: underline;
|
|
1486
|
-
}
|
|
1487
|
-
|
|
1488
|
-
.stuff-viewer-html ul {
|
|
1489
|
-
list-style: none;
|
|
1490
|
-
padding-left: 0;
|
|
1491
|
-
margin: 0;
|
|
1492
|
-
}
|
|
1493
|
-
|
|
1494
|
-
/* Native `Html` concept — rendered in a sandboxed iframe so the document's own
|
|
1495
|
-
<style>/layout is faithful and isolated from the host. White backdrop because
|
|
1496
|
-
these documents (invoices, quotes, reports) are authored for print/light. */
|
|
1497
|
-
.stuff-viewer-html-frame {
|
|
1498
|
-
width: 100%;
|
|
1499
|
-
height: 100%;
|
|
1500
|
-
min-height: 480px;
|
|
1501
|
-
border: none;
|
|
1502
|
-
border-radius: var(--sv-radius);
|
|
1503
|
-
background: #fff;
|
|
1504
|
-
}
|
|
1505
|
-
|
|
1506
|
-
/* PDF embed */
|
|
1507
|
-
.stuff-viewer-pdf {
|
|
1508
|
-
min-height: 400px;
|
|
1509
|
-
height: 100%;
|
|
1510
|
-
}
|
|
1511
|
-
|
|
1512
|
-
.stuff-viewer-pdf embed {
|
|
1513
|
-
width: 100%;
|
|
1514
|
-
height: 100%;
|
|
1515
|
-
min-height: 500px;
|
|
1516
|
-
border: none;
|
|
1517
|
-
}
|
|
1518
|
-
|
|
1519
|
-
/* Image content */
|
|
1520
|
-
.stuff-viewer-image {
|
|
1521
|
-
display: flex;
|
|
1522
|
-
justify-content: center;
|
|
1523
|
-
align-items: center;
|
|
1524
|
-
min-height: 200px;
|
|
1525
|
-
}
|
|
1526
|
-
|
|
1527
|
-
.stuff-viewer-image img {
|
|
1528
|
-
max-width: 100%;
|
|
1529
|
-
max-height: 70vh;
|
|
1530
|
-
object-fit: contain;
|
|
1531
|
-
}
|
|
1532
|
-
|
|
1533
|
-
/* Local file fallback (file:// URLs that can't render inline) */
|
|
1534
|
-
.stuff-viewer-local-file {
|
|
1535
|
-
display: flex;
|
|
1536
|
-
align-items: center;
|
|
1537
|
-
gap: 12px;
|
|
1538
|
-
padding: 16px;
|
|
1539
|
-
border-radius: 6px;
|
|
1540
|
-
background: var(--sv-surface);
|
|
1541
|
-
border: 1px solid var(--sv-border);
|
|
1542
|
-
}
|
|
1543
|
-
|
|
1544
|
-
/* Clickable variant — used when an open-externally action is bound (e.g. PDF
|
|
1545
|
-
fallback in hosts that can't render <embed type="application/pdf">). */
|
|
1546
|
-
button.stuff-viewer-local-file--button {
|
|
1547
|
-
width: 100%;
|
|
1548
|
-
text-align: left;
|
|
1549
|
-
font: inherit;
|
|
1550
|
-
color: inherit;
|
|
1551
|
-
cursor: pointer;
|
|
1552
|
-
transition:
|
|
1553
|
-
background 0.15s ease,
|
|
1554
|
-
border-color 0.15s ease;
|
|
1555
|
-
}
|
|
1556
|
-
|
|
1557
|
-
button.stuff-viewer-local-file--button:hover {
|
|
1558
|
-
background: var(--sv-surface-hover, var(--sv-surface));
|
|
1559
|
-
border-color: var(--sv-accent, var(--sv-border));
|
|
1560
|
-
}
|
|
1561
|
-
|
|
1562
|
-
button.stuff-viewer-local-file--button:focus-visible {
|
|
1563
|
-
outline: 2px solid var(--sv-accent, var(--sv-border));
|
|
1564
|
-
outline-offset: 2px;
|
|
1565
|
-
}
|
|
1566
|
-
|
|
1567
|
-
.stuff-viewer-local-file-icon {
|
|
1568
|
-
flex-shrink: 0;
|
|
1569
|
-
width: 32px;
|
|
1570
|
-
height: 32px;
|
|
1571
|
-
color: var(--sv-text-muted);
|
|
1572
|
-
}
|
|
1573
|
-
|
|
1574
|
-
.stuff-viewer-local-file-icon svg {
|
|
1575
|
-
width: 100%;
|
|
1576
|
-
height: 100%;
|
|
1577
|
-
fill: currentColor;
|
|
1578
|
-
}
|
|
1579
|
-
|
|
1580
|
-
.stuff-viewer-local-file-info {
|
|
1581
|
-
flex: 1;
|
|
1582
|
-
min-width: 0;
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
.stuff-viewer-local-file-name {
|
|
1586
|
-
font-family: var(--sv-font-mono);
|
|
1587
|
-
font-size: 12px;
|
|
1588
|
-
color: var(--sv-text);
|
|
1589
|
-
overflow: hidden;
|
|
1590
|
-
text-overflow: ellipsis;
|
|
1591
|
-
white-space: nowrap;
|
|
1592
|
-
}
|
|
1593
|
-
|
|
1594
|
-
.stuff-viewer-local-file-hint {
|
|
1595
|
-
font-size: 11px;
|
|
1596
|
-
color: var(--sv-text-muted);
|
|
1597
|
-
margin-top: 2px;
|
|
1598
|
-
}
|
|
1599
|
-
|
|
1600
|
-
/* Placeholder for missing data */
|
|
1601
|
-
.stuff-viewer-placeholder {
|
|
1602
|
-
color: var(--sv-text-muted);
|
|
1603
|
-
font-style: italic;
|
|
1604
|
-
font-size: 13px;
|
|
1605
|
-
}
|
|
1606
|
-
|
|
1607
|
-
.stuff-viewer-error {
|
|
1608
|
-
border: 1px solid var(--color-status-failed, #ff5555);
|
|
1609
|
-
border-radius: 6px;
|
|
1610
|
-
padding: 12px;
|
|
1611
|
-
background: rgba(255, 85, 85, 0.08);
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1614
|
-
.stuff-viewer-error-title {
|
|
1615
|
-
color: var(--color-status-failed, #ff5555);
|
|
1616
|
-
font-weight: 600;
|
|
1617
|
-
font-size: 13px;
|
|
1618
|
-
margin-bottom: 4px;
|
|
1619
|
-
}
|
|
1620
|
-
|
|
1621
|
-
.stuff-viewer-error-detail {
|
|
1622
|
-
color: var(--sv-text-muted);
|
|
1623
|
-
font-family: var(--font-mono, monospace);
|
|
1624
|
-
font-size: 12px;
|
|
1625
|
-
white-space: pre-wrap;
|
|
1626
|
-
word-break: break-word;
|
|
1627
|
-
}
|
|
1628
|
-
|
|
1629
1282
|
/* ─── Detail Panel — sliding side panel for node inspection ─────────────── */
|
|
1630
1283
|
/* Token-only — all colors come from the active theme palette on the */
|
|
1631
1284
|
/* container. See `graphConfig.ts` for token definitions. */
|