@likec4/diagram 1.2.2 → 1.4.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/LikeC4Diagram.d.ts +1 -1
- package/dist/LikeC4Diagram.props.d.ts +27 -4
- package/dist/index.mjs +1543 -1346
- package/dist/state/DiagramContext.d.ts +2353 -264
- package/dist/state/diagramStore.d.ts +2360 -268
- package/dist/state/index.d.ts +0 -1
- package/dist/state/useDiagramStore.d.ts +3 -2534
- package/dist/state/useNavigationHistory.d.ts +5 -0
- package/dist/style.css +194 -131
- package/dist/theme.css.d.ts +5 -1
- package/dist/ui/BackwardForwardPanel.css.d.ts +1 -0
- package/dist/ui/BackwardForwardPanel.d.ts +1 -0
- package/dist/ui/DiagramTitlePanel.css.d.ts +1 -1
- package/dist/xyflow/XYFlow.d.ts +2 -1
- package/dist/xyflow/XYFlowEvents.d.ts +4 -4
- package/dist/xyflow/XYFlowInner.d.ts +2 -1
- package/dist/xyflow/const.d.ts +1 -1
- package/dist/xyflow/diagram-to-xyflow.d.ts +1 -1
- package/dist/xyflow/edges/RelationshipEdge.d.ts +4 -5
- package/dist/xyflow/edges/utils.d.ts +4 -2
- package/dist/xyflow/hooks/useXYFlow.d.ts +9 -9
- package/dist/xyflow/nodes/compound/CompoundNode.css.d.ts +3 -1
- package/dist/xyflow/nodes/element/ElementNode.d.ts +1 -1
- package/dist/xyflow/nodes/element/element.css.d.ts +1 -0
- package/dist/xyflow/nodes/element/index.d.ts +1 -1
- package/dist/xyflow/types.d.ts +3 -3
- package/dist/xyflow/utils.d.ts +3 -0
- package/package.json +18 -17
- package/src/LikeC4Diagram.css.ts +15 -5
- package/src/LikeC4Diagram.props.ts +33 -5
- package/src/LikeC4Diagram.tsx +103 -32
- package/src/globals.css.ts +1 -2
- package/src/mantine/theme.ts +1 -0
- package/src/state/DiagramContext.tsx +3 -4
- package/src/state/diagramStore.ts +177 -103
- package/src/state/index.ts +0 -1
- package/src/state/useDiagramStore.ts +6 -13
- package/src/state/useNavigationHistory.ts +39 -0
- package/src/theme.css.ts +5 -1
- package/src/ui/BackwardForwardPanel.css.ts +22 -0
- package/src/ui/BackwardForwardPanel.tsx +59 -0
- package/src/ui/DiagramTitlePanel.css.ts +11 -5
- package/src/ui/DiagramTitlePanel.tsx +108 -96
- package/src/ui/DynamicViewWalkthrough.css.ts +3 -2
- package/src/ui/DynamicViewWalkthrough.tsx +36 -17
- package/src/ui/OptionsPanel.tsx +28 -19
- package/src/ui/options/NodeOptions.tsx +16 -19
- package/src/xyflow/FitviewOnDiagramChange.tsx +15 -23
- package/src/xyflow/SelectEdgesOnNodeFocus.tsx +3 -6
- package/src/xyflow/SyncWithDiagram.tsx +21 -2
- package/src/xyflow/XYFlow.tsx +20 -23
- package/src/xyflow/XYFlowEvents.tsx +26 -8
- package/src/xyflow/XYFlowInner.tsx +10 -6
- package/src/xyflow/const.ts +1 -1
- package/src/xyflow/diagram-to-xyflow.ts +4 -41
- package/src/xyflow/edges/RelationshipEdge.tsx +160 -111
- package/src/xyflow/edges/edges.css.ts +41 -26
- package/src/xyflow/edges/utils.ts +5 -2
- package/src/xyflow/hooks/useLayoutConstraints.ts +19 -4
- package/src/xyflow/nodes/compound/CompoundNode.css.ts +45 -37
- package/src/xyflow/nodes/compound/CompoundNode.tsx +36 -26
- package/src/xyflow/nodes/element/ElementNode.tsx +27 -14
- package/src/xyflow/nodes/element/element.css.ts +31 -18
- package/src/xyflow/nodes/element/index.ts +1 -1
- package/src/xyflow/nodes/shared/NavigateToBtn.tsx +7 -3
- package/src/xyflow/types.ts +5 -2
- package/src/xyflow/utils.ts +48 -0
- package/dist/ui/index.d.ts +0 -2
- package/src/ui/index.ts +0 -3
package/dist/style.css
CHANGED
|
@@ -605,7 +605,6 @@ svg.react-flow__connectionline {
|
|
|
605
605
|
--likec4-font-family: var(--likec4-default-font-family,'ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"');
|
|
606
606
|
--likec4-background-color: var(--mantine-color-body);
|
|
607
607
|
--likec4-background-pattern-color: var(--mantine-color-dimmed);
|
|
608
|
-
--likec4-filter-dimmed: brightness(.6) grayscale(.8) opacity(.5) blur(1px);
|
|
609
608
|
--likec4-compound-font-family: var(--likec4-font-family);
|
|
610
609
|
--likec4-compound-title-color: var(--likec4-element-loContrast);
|
|
611
610
|
--likec4-element-font-family: var(--likec4-font-family);
|
|
@@ -1268,9 +1267,6 @@ svg.react-flow__connectionline {
|
|
|
1268
1267
|
--xy-background-color: var(--likec4-background-color);
|
|
1269
1268
|
--xy-background-pattern-color: var(--likec4-background-pattern-color);
|
|
1270
1269
|
}
|
|
1271
|
-
.react-flow._2h8g8h1 .react-flow__viewport {
|
|
1272
|
-
backface-visibility: hidden;
|
|
1273
|
-
}
|
|
1274
1270
|
.react-flow._2h8g8h1._2h8g8h3 {
|
|
1275
1271
|
--likec4-background-color: transparent !important;
|
|
1276
1272
|
--xy-background-color: transparent !important;
|
|
@@ -1278,6 +1274,11 @@ svg.react-flow__connectionline {
|
|
|
1278
1274
|
}
|
|
1279
1275
|
:where(._2h8g8h4, ._2h8g8h3) .react-flow__attribution {
|
|
1280
1276
|
display: none;
|
|
1277
|
+
}
|
|
1278
|
+
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
|
|
1279
|
+
._2h8g8h1 {
|
|
1280
|
+
--likec4-safari-animation-hook: ;
|
|
1281
|
+
}
|
|
1281
1282
|
}@keyframes bexn7q6 {
|
|
1282
1283
|
from {
|
|
1283
1284
|
stroke-dashoffset: 36;
|
|
@@ -1294,10 +1295,6 @@ svg.react-flow__connectionline {
|
|
|
1294
1295
|
--xy-edge-label-background-color: color-mix(in srgb, var(--likec4-relation-labelBg), transparent 35%);
|
|
1295
1296
|
--xy-edge-stroke-width: 2.2px;
|
|
1296
1297
|
}
|
|
1297
|
-
svg:has(.bexn7q2) {
|
|
1298
|
-
filter: var(--likec4-filter-dimmed);
|
|
1299
|
-
transition: filter 800ms ease-out;
|
|
1300
|
-
}
|
|
1301
1298
|
:where([data-mantine-color-scheme="dark"]) .bexn7q1 {
|
|
1302
1299
|
--bexn7q0: white;
|
|
1303
1300
|
--xy-edge-label-color: var(--likec4-relation-labelColor);
|
|
@@ -1317,6 +1314,13 @@ svg:has(.bexn7q2) {
|
|
|
1317
1314
|
.react-flow__edges > svg {
|
|
1318
1315
|
mix-blend-mode: screen;
|
|
1319
1316
|
}
|
|
1317
|
+
.react-flow__edges > svg:has(.bexn7q2) {
|
|
1318
|
+
opacity: 0.8;
|
|
1319
|
+
transition: opacity 600ms ease-in-out, filter 600ms ease-in-out;
|
|
1320
|
+
transition-delay: 200ms;
|
|
1321
|
+
filter: grayscale(0.85) var(--likec4-safari-animation-hook, blur(1px));
|
|
1322
|
+
will-change: opacity, filter;
|
|
1323
|
+
}
|
|
1320
1324
|
.bexn7q3 {
|
|
1321
1325
|
stroke-width: var(--xy-edge-stroke-width);
|
|
1322
1326
|
stroke-opacity: 0.08;
|
|
@@ -1331,7 +1335,6 @@ svg:has(.bexn7q2) {
|
|
|
1331
1335
|
.bexn7q4 {
|
|
1332
1336
|
fill: var(--xy-edge-stroke);
|
|
1333
1337
|
stroke: var(--xy-edge-stroke);
|
|
1334
|
-
pointer-events: none;
|
|
1335
1338
|
}
|
|
1336
1339
|
.bexn7q5 {
|
|
1337
1340
|
fill: var(--xy-edge-stroke);
|
|
@@ -1339,33 +1342,46 @@ svg:has(.bexn7q2) {
|
|
|
1339
1342
|
fill-opacity: 0.75;
|
|
1340
1343
|
stroke-width: 1;
|
|
1341
1344
|
cursor: grab;
|
|
1342
|
-
pointer-events:
|
|
1345
|
+
pointer-events: auto;
|
|
1346
|
+
visibility: hidden;
|
|
1343
1347
|
}
|
|
1344
|
-
|
|
1345
|
-
|
|
1348
|
+
.bexn7q5:hover {
|
|
1349
|
+
stroke: var(--mantine-primary-color-filled-hover);
|
|
1350
|
+
stroke-width: 9;
|
|
1351
|
+
transition: stroke 100ms ease-out, stroke-width 100ms ease-out;
|
|
1352
|
+
}
|
|
1353
|
+
:where(.react-flow__edge.selected, [data-edge-hovered='true']) .bexn7q5 {
|
|
1354
|
+
visibility: visible;
|
|
1355
|
+
transition: fill-opacity 150ms ease-out, stroke 150ms ease-out, stroke-width 150ms ease-out;
|
|
1356
|
+
transition-delay: 50ms;
|
|
1346
1357
|
fill-opacity: 1;
|
|
1347
|
-
stroke-width:
|
|
1358
|
+
stroke-width: 5;
|
|
1348
1359
|
}
|
|
1349
1360
|
.bexn7q7 {
|
|
1350
1361
|
animation-duration: 800ms;
|
|
1351
1362
|
animation-iteration-count: infinite;
|
|
1352
1363
|
animation-timing-function: linear;
|
|
1364
|
+
animation-name: bexn7q6;
|
|
1365
|
+
animation-play-state: paused;
|
|
1353
1366
|
}
|
|
1354
1367
|
:where([data-edge-hovered='true']) .bexn7q7 {
|
|
1355
|
-
animation-
|
|
1368
|
+
animation-play-state: running;
|
|
1356
1369
|
animation-delay: 350ms;
|
|
1357
|
-
transition:
|
|
1370
|
+
transition: stroke 130ms ease-out,stroke-width 130ms ease-out;
|
|
1358
1371
|
}
|
|
1359
1372
|
:where(.react-flow__edge.selected, [data-edge-active='true']) .bexn7q7 {
|
|
1360
|
-
animation-
|
|
1373
|
+
animation-play-state: running;
|
|
1361
1374
|
animation-delay: 0ms;
|
|
1362
|
-
transition:
|
|
1375
|
+
transition: stroke 130ms ease-out,stroke-width 130ms ease-out;
|
|
1363
1376
|
}
|
|
1364
1377
|
:where([data-edge-dir='back']) .bexn7q7 {
|
|
1365
1378
|
animation-direction: reverse;
|
|
1366
1379
|
}
|
|
1380
|
+
.bexn7q2 .bexn7q7 {
|
|
1381
|
+
animation-play-state: paused;
|
|
1382
|
+
}
|
|
1367
1383
|
.bexn7qb {
|
|
1368
|
-
--bexn7qa: translate(var(--bexn7q8, 50%), var(--bexn7q9, 50%));
|
|
1384
|
+
--bexn7qa: translate(var(--bexn7q8, -50%), var(--bexn7q9, -50%));
|
|
1369
1385
|
top: 0;
|
|
1370
1386
|
left: 0;
|
|
1371
1387
|
font-family: var(--likec4-font-family);
|
|
@@ -1384,8 +1400,11 @@ svg:has(.bexn7q2) {
|
|
|
1384
1400
|
transform: var(--bexn7qa) scale(1.1);
|
|
1385
1401
|
}
|
|
1386
1402
|
.bexn7qb:is(.bexn7q2) {
|
|
1387
|
-
|
|
1388
|
-
|
|
1403
|
+
opacity: 0.6;
|
|
1404
|
+
transition: opacity 600ms ease-in-out, filter 600ms ease-in-out;
|
|
1405
|
+
transition-delay: 200ms;
|
|
1406
|
+
filter: grayscale(0.85) var(--likec4-safari-animation-hook, blur(1px));
|
|
1407
|
+
will-change: opacity, filter;
|
|
1389
1408
|
}
|
|
1390
1409
|
.bexn7qc {
|
|
1391
1410
|
position: absolute;
|
|
@@ -1412,7 +1431,7 @@ svg:has(.bexn7q2) {
|
|
|
1412
1431
|
text-align: left;
|
|
1413
1432
|
font-size: calc(0.78125rem * var(--mantine-scale));
|
|
1414
1433
|
line-height: 1.2;
|
|
1415
|
-
}@keyframes
|
|
1434
|
+
}@keyframes lbtzdo9 {
|
|
1416
1435
|
from {
|
|
1417
1436
|
opacity: 0.6;
|
|
1418
1437
|
}
|
|
@@ -1427,46 +1446,59 @@ svg:has(.bexn7q2) {
|
|
|
1427
1446
|
padding: 0;
|
|
1428
1447
|
margin: 0;
|
|
1429
1448
|
}
|
|
1430
|
-
.lbtzdo1 {
|
|
1431
|
-
|
|
1432
|
-
transition: filter
|
|
1449
|
+
.react-flow__node-compound:has(.lbtzdo1) {
|
|
1450
|
+
opacity: 0.25;
|
|
1451
|
+
transition: opacity 600ms ease-in-out, filter 600ms ease-in-out;
|
|
1452
|
+
transition-delay: 200ms;
|
|
1453
|
+
filter: grayscale(0.85) var(--likec4-safari-animation-hook, blur(1px));
|
|
1454
|
+
will-change: opacity, filter;
|
|
1433
1455
|
}
|
|
1434
|
-
.
|
|
1456
|
+
.lbtzdo4 {
|
|
1435
1457
|
width: 100%;
|
|
1436
1458
|
height: 100%;
|
|
1437
1459
|
position: relative;
|
|
1438
1460
|
border-radius: 6px;
|
|
1439
1461
|
box-shadow: 0 4px 10px 0.5px rgba(0,0,0,0.1) , 0 2px 2px -1px rgba(0,0,0,0.4);
|
|
1440
1462
|
padding: 8px;
|
|
1441
|
-
background: var(--likec4-element-fill);
|
|
1442
1463
|
transition: all 200ms ease-out;
|
|
1443
1464
|
}
|
|
1444
|
-
:
|
|
1465
|
+
.lbtzdo4:before {
|
|
1466
|
+
content: " ";
|
|
1467
|
+
position: absolute;
|
|
1468
|
+
top: 0;
|
|
1469
|
+
left: 0;
|
|
1470
|
+
width: 100%;
|
|
1471
|
+
height: 100%;
|
|
1472
|
+
border-radius: 6px;
|
|
1473
|
+
pointer-events: none;
|
|
1474
|
+
transition: background 175ms ease-out, opacity 175ms ease-out;
|
|
1475
|
+
background: var(--likec4-element-fill);
|
|
1476
|
+
background-clip: padding-box;
|
|
1477
|
+
}
|
|
1478
|
+
:where(.react-flow__node.selected) .lbtzdo4 {
|
|
1445
1479
|
box-shadow: none;
|
|
1446
1480
|
}
|
|
1447
|
-
:where(.react-flow__node:focus-visible) .
|
|
1481
|
+
:where(.react-flow__node:focus-visible) .lbtzdo4 {
|
|
1448
1482
|
transition-duration: 0ms;
|
|
1449
1483
|
outline: 3px solid var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));
|
|
1450
1484
|
outline-offset: calc(0.09375rem * var(--mantine-scale));
|
|
1451
1485
|
}
|
|
1452
1486
|
.lbtzdo6 {
|
|
1453
|
-
--
|
|
1454
|
-
--lbtzdo5: 0%;
|
|
1487
|
+
--lbtzdo5: 0;
|
|
1455
1488
|
--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);
|
|
1456
1489
|
border-style: dashed;
|
|
1457
1490
|
border-width: 3px;
|
|
1458
1491
|
padding: 6px;
|
|
1459
|
-
|
|
1460
|
-
|
|
1492
|
+
box-shadow: none;
|
|
1493
|
+
border-color: color-mix(in srgb , var(--likec4-element-stroke), transparent var(--lbtzdo3, 10%));
|
|
1461
1494
|
background-clip: padding-box;
|
|
1462
1495
|
}
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1496
|
+
.lbtzdo6:before {
|
|
1497
|
+
transition-delay: 200ms;
|
|
1498
|
+
opacity: calc(var(--lbtzdo2, 1) + var(--lbtzdo5));
|
|
1466
1499
|
}
|
|
1467
1500
|
:where([data-hovered]) .lbtzdo6 {
|
|
1468
|
-
--lbtzdo5:
|
|
1469
|
-
transition-delay: 175ms;
|
|
1501
|
+
--lbtzdo5: .07;
|
|
1470
1502
|
}
|
|
1471
1503
|
.lbtzdo7 {
|
|
1472
1504
|
font-family: var(--likec4-compound-font-family);
|
|
@@ -1483,7 +1515,7 @@ svg:has(.bexn7q2) {
|
|
|
1483
1515
|
color: var(--_compound-title-color,var(--likec4-compound-title-color));
|
|
1484
1516
|
padding-left: 12px;
|
|
1485
1517
|
}
|
|
1486
|
-
|
|
1518
|
+
.lbtzdo8 {
|
|
1487
1519
|
padding-left: 26px;
|
|
1488
1520
|
}
|
|
1489
1521
|
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) {
|
|
@@ -1492,9 +1524,9 @@ svg:has(.bexn7q2) {
|
|
|
1492
1524
|
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) .lbtzdo7 {
|
|
1493
1525
|
opacity: 1;
|
|
1494
1526
|
}
|
|
1495
|
-
.
|
|
1496
|
-
--
|
|
1497
|
-
--
|
|
1527
|
+
.lbtzdoc {
|
|
1528
|
+
--lbtzdoa: var(--likec4-element-loContrast);
|
|
1529
|
+
--lbtzdob: 6;
|
|
1498
1530
|
position: absolute;
|
|
1499
1531
|
top: 0;
|
|
1500
1532
|
left: 0;
|
|
@@ -1504,33 +1536,33 @@ svg:has(.bexn7q2) {
|
|
|
1504
1536
|
overflow: visible;
|
|
1505
1537
|
visibility: hidden;
|
|
1506
1538
|
}
|
|
1507
|
-
:where(.react-flow__node.selected:not(:focus-visible)) .
|
|
1539
|
+
:where(.react-flow__node.selected:not(:focus-visible)) .lbtzdoc {
|
|
1508
1540
|
visibility: visible;
|
|
1509
1541
|
}
|
|
1510
|
-
:where(.react-flow__node:focus-within:not(.selected)) .
|
|
1511
|
-
--
|
|
1512
|
-
--
|
|
1542
|
+
:where(.react-flow__node:focus-within:not(.selected)) .lbtzdoc {
|
|
1543
|
+
--lbtzdoa: color-mix(in srgb, var(--likec4-element-stroke) 30%, var(--likec4-element-loContrast));
|
|
1544
|
+
--lbtzdob: 8;
|
|
1513
1545
|
}
|
|
1514
|
-
:where([data-mantine-color-scheme='light']) .
|
|
1515
|
-
--
|
|
1546
|
+
:where([data-mantine-color-scheme='light']) .lbtzdoc {
|
|
1547
|
+
--lbtzdoa: color-mix(in srgb, var(--likec4-element-stroke) 80%, #000);
|
|
1516
1548
|
}
|
|
1517
|
-
.
|
|
1518
|
-
stroke: var(--
|
|
1549
|
+
.lbtzdoc rect {
|
|
1550
|
+
stroke: var(--lbtzdoa);
|
|
1519
1551
|
transform-origin: center center;
|
|
1520
|
-
stroke-width: var(--
|
|
1552
|
+
stroke-width: var(--lbtzdob);
|
|
1521
1553
|
animation-duration: 800ms;
|
|
1522
|
-
animation-name:
|
|
1554
|
+
animation-name: lbtzdo9;
|
|
1523
1555
|
animation-iteration-count: infinite;
|
|
1524
1556
|
animation-direction: alternate;
|
|
1525
1557
|
fill: none;
|
|
1526
1558
|
}
|
|
1527
1559
|
.lbtzdo0 {
|
|
1528
|
-
--
|
|
1560
|
+
--lbtzdod: var(--likec4-element-loContrast);
|
|
1529
1561
|
}
|
|
1530
1562
|
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) {
|
|
1531
|
-
--
|
|
1563
|
+
--lbtzdod: var(--likec4-element-stroke);
|
|
1532
1564
|
}
|
|
1533
|
-
.
|
|
1565
|
+
.lbtzdoe {
|
|
1534
1566
|
--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);
|
|
1535
1567
|
--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));
|
|
1536
1568
|
--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));
|
|
@@ -1539,41 +1571,41 @@ svg:has(.bexn7q2) {
|
|
|
1539
1571
|
left: 3px;
|
|
1540
1572
|
top: 7px;
|
|
1541
1573
|
cursor: pointer;
|
|
1542
|
-
color: var(--_compound-title-color,var(--
|
|
1574
|
+
color: var(--_compound-title-color,var(--lbtzdod));
|
|
1543
1575
|
transform-origin: 90% 70%;
|
|
1544
1576
|
opacity: 0.75;
|
|
1545
1577
|
transition: all 150ms ease-out;
|
|
1546
1578
|
transition-delay: 0ms;
|
|
1547
1579
|
background-color: var(--ai-bg);
|
|
1548
1580
|
}
|
|
1549
|
-
.
|
|
1581
|
+
.lbtzdoe:hover {
|
|
1550
1582
|
box-shadow: var(--mantine-shadow-lg);
|
|
1551
|
-
transform: scale(1.
|
|
1583
|
+
transform: scale(1.42);
|
|
1552
1584
|
opacity: 1;
|
|
1553
1585
|
transition-delay: 0;
|
|
1554
1586
|
}
|
|
1555
|
-
.
|
|
1587
|
+
.lbtzdoe:active {
|
|
1556
1588
|
transform: scale(1.1);
|
|
1557
1589
|
opacity: 1;
|
|
1558
1590
|
transition-delay: 0;
|
|
1559
1591
|
}
|
|
1560
|
-
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) .
|
|
1592
|
+
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) .lbtzdoe {
|
|
1561
1593
|
--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 50%);
|
|
1562
1594
|
--ai-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 20%);
|
|
1563
1595
|
opacity: 0.85;
|
|
1564
1596
|
}
|
|
1565
|
-
:where(.react-flow__node:not(.dragging) .lbtzdo0:hover) .
|
|
1597
|
+
:where(.react-flow__node:not(.dragging) .lbtzdo0:hover) .lbtzdoe:not(:hover) {
|
|
1566
1598
|
--ai-bg: var(--ai-bg-hover);
|
|
1567
1599
|
box-shadow: var(--mantine-shadow-lg);
|
|
1568
1600
|
transform: scale(1.223);
|
|
1569
1601
|
opacity: 1;
|
|
1570
1602
|
transition-delay: 250ms;
|
|
1571
1603
|
}
|
|
1572
|
-
.
|
|
1604
|
+
.lbtzdoe svg.icon {
|
|
1573
1605
|
width: 70%;
|
|
1574
1606
|
height: 70%;
|
|
1575
1607
|
stroke-width: 1.5;
|
|
1576
|
-
}@keyframes
|
|
1608
|
+
}@keyframes _1b6tkn5 {
|
|
1577
1609
|
from {
|
|
1578
1610
|
opacity: 0.6;
|
|
1579
1611
|
}
|
|
@@ -1583,49 +1615,65 @@ svg:has(.bexn7q2) {
|
|
|
1583
1615
|
}
|
|
1584
1616
|
._1b6tkn2 {
|
|
1585
1617
|
--_1b6tkn0: color-mix(in srgb, var(--likec4-element-stroke) 90%, var(--likec4-element-fill));
|
|
1586
|
-
position: relative;
|
|
1587
1618
|
width: 100%;
|
|
1588
1619
|
height: 100%;
|
|
1589
1620
|
padding: 0;
|
|
1590
1621
|
margin: 0;
|
|
1591
|
-
|
|
1622
|
+
display: flex;
|
|
1623
|
+
align-items: stretch;
|
|
1624
|
+
}
|
|
1625
|
+
:where(.react-flow__node.selected) ._1b6tkn2 {
|
|
1626
|
+
will-change: transform;
|
|
1627
|
+
}
|
|
1628
|
+
._1b6tkn2[data-hovered="true"] {
|
|
1629
|
+
will-change: transform;
|
|
1630
|
+
}
|
|
1631
|
+
._1b6tkn3 {
|
|
1632
|
+
will-change: transform;
|
|
1592
1633
|
}
|
|
1593
|
-
.react-flow__node:has(.
|
|
1594
|
-
|
|
1595
|
-
transition: filter
|
|
1634
|
+
.react-flow__node-element:has(._1b6tkn4) {
|
|
1635
|
+
opacity: 0.25;
|
|
1636
|
+
transition: opacity 600ms ease-in-out, filter 600ms ease-in-out;
|
|
1637
|
+
transition-delay: 200ms;
|
|
1638
|
+
filter: grayscale(0.85) var(--likec4-safari-animation-hook, blur(2px));
|
|
1639
|
+
will-change: opacity, filter;
|
|
1596
1640
|
}
|
|
1597
|
-
.
|
|
1641
|
+
._1b6tkn6 {
|
|
1598
1642
|
stroke: var(--likec4-element-loContrast);
|
|
1599
1643
|
transform-origin: center center;
|
|
1600
1644
|
stroke-width: 6;
|
|
1601
1645
|
animation-duration: 800ms;
|
|
1602
|
-
animation-name: _1b6tkn4;
|
|
1603
1646
|
animation-iteration-count: infinite;
|
|
1604
1647
|
animation-direction: alternate;
|
|
1648
|
+
opacity: 0.6;
|
|
1605
1649
|
visibility: hidden;
|
|
1606
1650
|
}
|
|
1607
|
-
:where(.react-flow__node.selected) .
|
|
1651
|
+
:where(.react-flow__node.selected) ._1b6tkn6 {
|
|
1608
1652
|
visibility: visible;
|
|
1653
|
+
animation-name: var(--likec4-safari-animation-hook, _1b6tkn5);
|
|
1609
1654
|
}
|
|
1610
|
-
:where(.react-flow__node:focus-visible, ._1b6tkn2:focus-visible) .
|
|
1611
|
-
animation-name: none;
|
|
1655
|
+
:where(.react-flow__node:focus-visible, ._1b6tkn2:focus-visible) ._1b6tkn6 {
|
|
1612
1656
|
stroke-width: 10;
|
|
1613
1657
|
stroke: var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));
|
|
1614
1658
|
visibility: visible;
|
|
1615
1659
|
}
|
|
1616
|
-
:where([data-likec4-shape="queue"], [data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) .
|
|
1660
|
+
:where([data-likec4-shape="queue"], [data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) ._1b6tkn6 {
|
|
1617
1661
|
stroke-width: 10;
|
|
1618
1662
|
}
|
|
1619
|
-
._1b6tkn6 {
|
|
1620
|
-
|
|
1663
|
+
._1b6tkn4 ._1b6tkn6 {
|
|
1664
|
+
visibility: hidden;
|
|
1665
|
+
display: none;
|
|
1621
1666
|
}
|
|
1622
1667
|
._1b6tkn7 {
|
|
1623
|
-
fill: var(--likec4-element-
|
|
1668
|
+
fill: var(--likec4-element-fill);
|
|
1624
1669
|
}
|
|
1625
1670
|
._1b6tkn8 {
|
|
1626
|
-
fill: var(--
|
|
1671
|
+
fill: var(--likec4-element-stroke);
|
|
1627
1672
|
}
|
|
1628
1673
|
._1b6tkn9 {
|
|
1674
|
+
fill: var(--_1b6tkn0);
|
|
1675
|
+
}
|
|
1676
|
+
._1b6tkna {
|
|
1629
1677
|
flex: 0 0 auto;
|
|
1630
1678
|
font-family: var(--likec4-element-font-family);
|
|
1631
1679
|
font-optical-sizing: auto;
|
|
@@ -1637,7 +1685,7 @@ svg:has(.bexn7q2) {
|
|
|
1637
1685
|
text-wrap: balance;
|
|
1638
1686
|
color: var(--likec4-element-hiContrast);
|
|
1639
1687
|
}
|
|
1640
|
-
.
|
|
1688
|
+
._1b6tknb {
|
|
1641
1689
|
flex: 0 1 auto;
|
|
1642
1690
|
font-family: var(--likec4-element-font-family);
|
|
1643
1691
|
font-optical-sizing: auto;
|
|
@@ -1652,7 +1700,7 @@ svg:has(.bexn7q2) {
|
|
|
1652
1700
|
text-overflow: ellipsis;
|
|
1653
1701
|
overflow: hidden;
|
|
1654
1702
|
}
|
|
1655
|
-
.
|
|
1703
|
+
._1b6tknc {
|
|
1656
1704
|
flex: 0 0 auto;
|
|
1657
1705
|
font-family: var(--likec4-element-font-family);
|
|
1658
1706
|
font-optical-sizing: auto;
|
|
@@ -1665,14 +1713,12 @@ svg:has(.bexn7q2) {
|
|
|
1665
1713
|
opacity: 0.92;
|
|
1666
1714
|
color: var(--likec4-element-loContrast);
|
|
1667
1715
|
}
|
|
1668
|
-
._1b6tkn2:hover .
|
|
1716
|
+
._1b6tkn2:hover ._1b6tknc {
|
|
1669
1717
|
opacity: 1;
|
|
1670
1718
|
}
|
|
1671
|
-
.
|
|
1719
|
+
._1b6tknd {
|
|
1672
1720
|
--_1b6tkn1: calc(1.5rem * var(--mantine-scale));
|
|
1673
|
-
|
|
1674
|
-
width: 100%;
|
|
1675
|
-
height: 100%;
|
|
1721
|
+
flex: 1;
|
|
1676
1722
|
padding: var(--_1b6tkn1);
|
|
1677
1723
|
display: flex;
|
|
1678
1724
|
flex-direction: column;
|
|
@@ -1681,24 +1727,24 @@ svg:has(.bexn7q2) {
|
|
|
1681
1727
|
overflow: hidden;
|
|
1682
1728
|
gap: calc(0.5rem * var(--mantine-scale));
|
|
1683
1729
|
}
|
|
1684
|
-
.
|
|
1730
|
+
._1b6tknd:has(._1b6tknb):has(._1b6tknc) {
|
|
1685
1731
|
gap: calc(0.375rem * var(--mantine-scale));
|
|
1686
1732
|
}
|
|
1687
|
-
:where([data-likec4-shape="queue"], [data-likec4-shape="mobile"]) .
|
|
1733
|
+
:where([data-likec4-shape="queue"], [data-likec4-shape="mobile"]) ._1b6tknd {
|
|
1688
1734
|
padding-left: calc(2.5rem * var(--mantine-scale));
|
|
1689
1735
|
padding-right: calc(1.25rem * var(--mantine-scale));
|
|
1690
1736
|
}
|
|
1691
|
-
:where([data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) .
|
|
1737
|
+
:where([data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) ._1b6tknd {
|
|
1692
1738
|
padding-top: calc(2.125rem * var(--mantine-scale));
|
|
1693
1739
|
}
|
|
1694
|
-
:where([data-likec4-shape="browser"]) .
|
|
1740
|
+
:where([data-likec4-shape="browser"]) ._1b6tknd {
|
|
1695
1741
|
padding-top: calc(2rem * var(--mantine-scale));
|
|
1696
1742
|
padding-bottom: calc(1.75rem * var(--mantine-scale));
|
|
1697
1743
|
}
|
|
1698
|
-
.
|
|
1699
|
-
--
|
|
1700
|
-
flex: 0 1 var(--
|
|
1701
|
-
max-height: var(--
|
|
1744
|
+
._1b6tknf {
|
|
1745
|
+
--_1b6tkne: 30px;
|
|
1746
|
+
flex: 0 1 var(--_1b6tkne);
|
|
1747
|
+
max-height: var(--_1b6tkne);
|
|
1702
1748
|
margin-top: -8px;
|
|
1703
1749
|
position: relative;
|
|
1704
1750
|
user-select: none;
|
|
@@ -1706,17 +1752,17 @@ svg:has(.bexn7q2) {
|
|
|
1706
1752
|
overflow: visible;
|
|
1707
1753
|
mix-blend-mode: hard-light;
|
|
1708
1754
|
}
|
|
1709
|
-
.
|
|
1755
|
+
._1b6tknf img {
|
|
1710
1756
|
position: absolute;
|
|
1711
1757
|
left: 0;
|
|
1712
1758
|
bottom: 0;
|
|
1713
1759
|
width: 100%;
|
|
1714
1760
|
height: auto;
|
|
1715
1761
|
object-fit: contain;
|
|
1716
|
-
max-height: calc(var(--
|
|
1762
|
+
max-height: calc(var(--_1b6tkne) + 16px);
|
|
1717
1763
|
}
|
|
1718
|
-
.
|
|
1719
|
-
--
|
|
1764
|
+
._1b6tkni {
|
|
1765
|
+
--_1b6tkng:
|
|
1720
1766
|
drop-shadow(0 2px 1px rgba(0, 0, 0, 0.21))
|
|
1721
1767
|
drop-shadow(0 1px 1px color-mix(in srgb, var(--likec4-element-stroke) 40%, transparent))
|
|
1722
1768
|
drop-shadow(0 5px 3px rgba(0, 0, 0, 0.1))
|
|
@@ -1728,14 +1774,15 @@ svg:has(.bexn7q2) {
|
|
|
1728
1774
|
fill: var(--likec4-element-fill);
|
|
1729
1775
|
stroke: var(--likec4-element-stroke);
|
|
1730
1776
|
overflow: visible;
|
|
1731
|
-
filter: var(--
|
|
1777
|
+
filter: var(--_1b6tknh, var(--_1b6tkng));
|
|
1732
1778
|
transition: filter 300ms ease-out;
|
|
1733
1779
|
transition-delay: 0ms;
|
|
1780
|
+
z-index: -1;
|
|
1734
1781
|
}
|
|
1735
|
-
:where(.react-flow__node.selected, .react-flow__node:focus-visible, ._1b6tkn2:focus-visible) .
|
|
1782
|
+
:where(.react-flow__node.selected, .react-flow__node:focus-visible, ._1b6tkn2:focus-visible) ._1b6tkni {
|
|
1736
1783
|
filter: none;
|
|
1737
1784
|
}
|
|
1738
|
-
.
|
|
1785
|
+
._1b6tknj {
|
|
1739
1786
|
--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);
|
|
1740
1787
|
--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));
|
|
1741
1788
|
--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));
|
|
@@ -1753,28 +1800,28 @@ svg:has(.bexn7q2) {
|
|
|
1753
1800
|
transition-delay: 0ms;
|
|
1754
1801
|
background-color: var(--ai-bg);
|
|
1755
1802
|
}
|
|
1756
|
-
.
|
|
1803
|
+
._1b6tknj:hover {
|
|
1757
1804
|
box-shadow: var(--mantine-shadow-lg);
|
|
1758
1805
|
transform: translate(-50%, 0) scale(1.35);
|
|
1759
1806
|
opacity: 1;
|
|
1760
1807
|
transition-delay: 0;
|
|
1761
1808
|
}
|
|
1762
|
-
.
|
|
1809
|
+
._1b6tknj:active {
|
|
1763
1810
|
transform: translate(-50%, 0) scale(1.02);
|
|
1764
1811
|
opacity: 1;
|
|
1765
1812
|
transition-delay: 0;
|
|
1766
1813
|
}
|
|
1767
|
-
:where([data-likec4-shape='browser']) .
|
|
1814
|
+
:where([data-likec4-shape='browser']) ._1b6tknj {
|
|
1768
1815
|
bottom: 3px;
|
|
1769
1816
|
}
|
|
1770
|
-
:where(.react-flow__node:not(.dragging) ._1b6tkn2:hover) .
|
|
1817
|
+
:where(.react-flow__node:not(.dragging) ._1b6tkn2:hover) ._1b6tknj:not(:hover) {
|
|
1771
1818
|
--ai-bg: var(--ai-bg-hover);
|
|
1772
1819
|
box-shadow: var(--mantine-shadow-lg);
|
|
1773
1820
|
transform: translate(-50%, 0) scale(1.185);
|
|
1774
1821
|
opacity: 1;
|
|
1775
1822
|
transition-delay: 250ms;
|
|
1776
1823
|
}
|
|
1777
|
-
.
|
|
1824
|
+
._1b6tknj svg.icon {
|
|
1778
1825
|
width: 65%;
|
|
1779
1826
|
height: 65%;
|
|
1780
1827
|
stroke-width: 1.5;
|
|
@@ -1829,6 +1876,46 @@ svg:has(.bexn7q2) {
|
|
|
1829
1876
|
}
|
|
1830
1877
|
._4ysv0o2 {
|
|
1831
1878
|
text-align: left;
|
|
1879
|
+
}._19mimxc0 {
|
|
1880
|
+
top: var(--likec4-navigation-panel-top, 1rem);
|
|
1881
|
+
left: var(--likec4-navigation-panel-left, 1rem);
|
|
1882
|
+
margin: 0;
|
|
1883
|
+
}
|
|
1884
|
+
._19mimxc0 .mantine-ActionIcon-root {
|
|
1885
|
+
--ai-size: var(--ai-size-md);
|
|
1886
|
+
}
|
|
1887
|
+
@media (min-width: 62em) {
|
|
1888
|
+
._19mimxc0 .mantine-ActionIcon-root {
|
|
1889
|
+
--ai-size: var(--ai-size-lg);
|
|
1890
|
+
}
|
|
1891
|
+
}.hbkbtj0 {
|
|
1892
|
+
bottom: 0;
|
|
1893
|
+
left: 0;
|
|
1894
|
+
padding: 8px;
|
|
1895
|
+
margin: 0;
|
|
1896
|
+
}
|
|
1897
|
+
.hbkbtj1 {
|
|
1898
|
+
cursor: default;
|
|
1899
|
+
min-width: 150px;
|
|
1900
|
+
max-width: calc(100vw - 16px);
|
|
1901
|
+
background-color: color-mix(in srgb, var(--mantine-color-body), transparent 20%);
|
|
1902
|
+
-webkit-backdrop-filter: var(--likec4-safari-animation-hook, blur(8px));
|
|
1903
|
+
backdrop-filter: var(--likec4-safari-animation-hook, blur(8px));
|
|
1904
|
+
}
|
|
1905
|
+
:where([data-mantine-color-scheme='dark']) .hbkbtj1 {
|
|
1906
|
+
background-color: color-mix(in srgb, var(--mantine-color-dark-6), transparent 20%);
|
|
1907
|
+
}
|
|
1908
|
+
.hbkbtj3 {
|
|
1909
|
+
white-space-collapse: preserve-breaks;
|
|
1910
|
+
color: var(--mantine-color-gray-7);
|
|
1911
|
+
}
|
|
1912
|
+
:where([data-mantine-color-scheme="dark"]) .hbkbtj3 {
|
|
1913
|
+
color: var(--mantine-color-gray-5);
|
|
1914
|
+
}
|
|
1915
|
+
@media (min-width: 62em) {
|
|
1916
|
+
.hbkbtj1 {
|
|
1917
|
+
max-width: 45vw;
|
|
1918
|
+
}
|
|
1832
1919
|
}._2jkb2y0 {
|
|
1833
1920
|
position: absolute;
|
|
1834
1921
|
bottom: 0.5rem;
|
|
@@ -1859,36 +1946,12 @@ svg:has(.bexn7q2) {
|
|
|
1859
1946
|
[data-mantine-color-scheme="light"] ._2jkb2y3 {
|
|
1860
1947
|
--_2jkb2y2: 15%;
|
|
1861
1948
|
}
|
|
1862
|
-
._2jkb2y3 .tabler-icon {
|
|
1863
|
-
width:
|
|
1949
|
+
:where(._2jkb2y1, ._2jkb2y3) .tabler-icon {
|
|
1950
|
+
width: 0.85em;
|
|
1951
|
+
height: 0.85em;
|
|
1864
1952
|
}._1lmzt1h0 {
|
|
1865
1953
|
top: var(--likec4-options-panel-top, 1rem);
|
|
1866
1954
|
right: var(--likec4-options-panel-right, 1rem);
|
|
1867
1955
|
margin: 0;
|
|
1868
1956
|
box-shadow: var(--mantine-shadow-xl);
|
|
1869
|
-
}.hbkbtj0 {
|
|
1870
|
-
bottom: 0;
|
|
1871
|
-
left: 0;
|
|
1872
|
-
padding: 8px;
|
|
1873
|
-
margin: 0;
|
|
1874
|
-
}
|
|
1875
|
-
.hbkbtj1 {
|
|
1876
|
-
cursor: default;
|
|
1877
|
-
min-width: 100px;
|
|
1878
|
-
max-width: calc(100vw - 16px);
|
|
1879
|
-
background-color: color-mix(in srgb, var(--mantine-color-body), transparent 20%);
|
|
1880
|
-
-webkit-backdrop-filter: blur(8px);
|
|
1881
|
-
backdrop-filter: blur(8px);
|
|
1882
|
-
}
|
|
1883
|
-
.hbkbtj3 {
|
|
1884
|
-
white-space-collapse: preserve-breaks;
|
|
1885
|
-
color: var(--mantine-color-gray-7);
|
|
1886
|
-
}
|
|
1887
|
-
:where([data-mantine-color-scheme="dark"]) .hbkbtj3 {
|
|
1888
|
-
color: var(--mantine-color-gray-5);
|
|
1889
|
-
}
|
|
1890
|
-
@media (min-width: 62em) {
|
|
1891
|
-
.hbkbtj1 {
|
|
1892
|
-
max-width: 45vw;
|
|
1893
|
-
}
|
|
1894
1957
|
}
|
package/dist/theme.css.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const vars: {
|
|
2
|
+
safariAnimationHook: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
2
3
|
default: {
|
|
3
4
|
font: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
4
5
|
};
|
|
5
|
-
filterDimmed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
6
6
|
likec4: {
|
|
7
7
|
font: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
8
8
|
background: {
|
|
@@ -32,6 +32,10 @@ export declare const vars: {
|
|
|
32
32
|
top: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
33
33
|
right: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
34
34
|
};
|
|
35
|
+
navigationPanel: {
|
|
36
|
+
top: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
37
|
+
left: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
38
|
+
};
|
|
35
39
|
};
|
|
36
40
|
export declare const xyvars: {
|
|
37
41
|
background: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const panel: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function BackwardForwardPanel(): import("react/jsx-runtime").JSX.Element;
|