@likec4/diagram 1.1.1 → 1.2.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/KeepAspectRatioContainer.d.ts +1 -1
- package/dist/LikeC4Diagram.d.ts +1 -1
- package/dist/LikeC4Diagram.props.d.ts +7 -2
- package/dist/StaticLikeC4Diagram.d.ts +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.mjs +2517 -1326
- package/dist/mantine/EnsureMantine.d.ts +1 -1
- package/dist/state/DiagramContext.d.ts +2125 -10
- package/dist/state/WhenInitialized.d.ts +1 -1
- package/dist/state/diagramStore.d.ts +2133 -10
- package/dist/state/useDiagramStore.d.ts +2124 -9
- package/dist/style.css +210 -136
- package/dist/theme.css.d.ts +1 -0
- package/dist/ui/DiagramTitlePanel.d.ts +1 -2
- package/dist/ui/DynamicViewWalkthrough.css.d.ts +3 -0
- package/dist/ui/DynamicViewWalkthrough.d.ts +1 -0
- package/dist/ui/OptionsPanel.d.ts +1 -2
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/options/NodeOptions.d.ts +1 -2
- package/dist/xyflow/FitviewOnDiagramChange.d.ts +4 -2
- package/dist/xyflow/SyncWithDiagram.d.ts +1 -2
- package/dist/xyflow/XYFlow.d.ts +4 -7
- package/dist/xyflow/XYFlowBackground.d.ts +5 -4
- package/dist/xyflow/XYFlowEvents.d.ts +57 -63
- package/dist/xyflow/XYFlowInner.d.ts +11 -0
- package/dist/xyflow/diagram-to-xyflow.d.ts +1 -1
- package/dist/xyflow/edges/RelationshipEdge.d.ts +14 -14
- package/dist/xyflow/edges/edges.css.d.ts +4 -2
- package/dist/xyflow/edges/utils.d.ts +2 -0
- package/dist/xyflow/hooks/useXYFlow.d.ts +126 -126
- package/dist/xyflow/nodes/compound/CompoundNode.css.d.ts +1 -0
- package/dist/xyflow/nodes/element/ElementIcon.d.ts +1 -1
- package/dist/xyflow/nodes/element/ElementLink.d.ts +1 -1
- package/dist/xyflow/nodes/element/ElementNode.d.ts +1 -1
- package/dist/xyflow/nodes/element/ElementShapeSvg.d.ts +2 -2
- package/dist/xyflow/nodes/element/element.css.d.ts +2 -1
- package/dist/xyflow/nodes/shared/NavigateToBtn.d.ts +1 -2
- package/dist/xyflow/types.d.ts +18 -18
- package/package.json +19 -16
- package/src/KeepAspectRatioContainer.tsx +1 -1
- package/src/LikeC4Diagram.css.ts +2 -0
- package/src/LikeC4Diagram.props.ts +9 -4
- package/src/LikeC4Diagram.tsx +17 -11
- package/src/StaticLikeC4Diagram.tsx +1 -0
- package/src/globals.css.ts +1 -0
- package/src/index.ts +0 -3
- package/src/state/DiagramContext.tsx +21 -12
- package/src/state/diagramStore.ts +177 -38
- package/src/theme.css.ts +1 -0
- package/src/ui/DiagramTitlePanel.css.ts +2 -1
- package/src/ui/DiagramTitlePanel.tsx +3 -4
- package/src/ui/DynamicViewWalkthrough.css.ts +46 -0
- package/src/ui/DynamicViewWalkthrough.tsx +86 -0
- package/src/ui/OptionsPanel.tsx +5 -3
- package/src/ui/index.ts +1 -0
- package/src/ui/options/NodeOptions.tsx +23 -24
- package/src/xyflow/FitviewOnDiagramChange.tsx +89 -69
- package/src/xyflow/SelectEdgesOnNodeFocus.tsx +57 -39
- package/src/xyflow/SyncWithDiagram.tsx +55 -107
- package/src/xyflow/XYFlow.tsx +51 -35
- package/src/xyflow/XYFlowBackground.tsx +7 -5
- package/src/xyflow/XYFlowEvents.tsx +97 -92
- package/src/xyflow/XYFlowInner.tsx +50 -0
- package/src/xyflow/diagram-to-xyflow.ts +16 -21
- package/src/xyflow/edges/RelationshipEdge.tsx +70 -34
- package/src/xyflow/edges/edges.css.ts +68 -34
- package/src/xyflow/edges/utils.ts +31 -0
- package/src/xyflow/nodes/compound/CompoundNode.css.ts +6 -2
- package/src/xyflow/nodes/compound/CompoundNode.tsx +6 -3
- package/src/xyflow/nodes/element/ElementLink.tsx +13 -3
- package/src/xyflow/nodes/element/ElementNode.tsx +24 -19
- package/src/xyflow/nodes/element/element.css.ts +9 -2
- package/src/xyflow/nodes/shared/NavigateToBtn.tsx +1 -0
- package/src/xyflow/types.ts +7 -8
package/dist/style.css
CHANGED
|
@@ -605,6 +605,7 @@ 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);
|
|
608
609
|
--likec4-compound-font-family: var(--likec4-font-family);
|
|
609
610
|
--likec4-compound-title-color: var(--likec4-element-loContrast);
|
|
610
611
|
--likec4-element-font-family: var(--likec4-font-family);
|
|
@@ -1257,6 +1258,8 @@ svg.react-flow__connectionline {
|
|
|
1257
1258
|
--likec4-element-fill: #34369f;
|
|
1258
1259
|
--likec4-element-stroke: #373287;
|
|
1259
1260
|
}._2h8g8h0 {
|
|
1261
|
+
overflow: hidden;
|
|
1262
|
+
position: relative;
|
|
1260
1263
|
width: 100%;
|
|
1261
1264
|
height: 100%;
|
|
1262
1265
|
padding: 0;
|
|
@@ -1275,36 +1278,7 @@ svg.react-flow__connectionline {
|
|
|
1275
1278
|
}
|
|
1276
1279
|
:where(._2h8g8h4, ._2h8g8h3) .react-flow__attribution {
|
|
1277
1280
|
display: none;
|
|
1278
|
-
}
|
|
1279
|
-
bottom: 0;
|
|
1280
|
-
left: 0;
|
|
1281
|
-
padding: 8px;
|
|
1282
|
-
margin: 0;
|
|
1283
|
-
}
|
|
1284
|
-
.hbkbtj1 {
|
|
1285
|
-
cursor: default;
|
|
1286
|
-
min-width: 200px;
|
|
1287
|
-
max-width: calc(100vw - 16px);
|
|
1288
|
-
background-color: color-mix(in srgb, var(--mantine-color-body), transparent 20%);
|
|
1289
|
-
backdrop-filter: blur(8px);
|
|
1290
|
-
}
|
|
1291
|
-
.hbkbtj3 {
|
|
1292
|
-
white-space-collapse: preserve-breaks;
|
|
1293
|
-
color: var(--mantine-color-gray-7);
|
|
1294
|
-
}
|
|
1295
|
-
:where([data-mantine-color-scheme="dark"]) .hbkbtj3 {
|
|
1296
|
-
color: var(--mantine-color-gray-5);
|
|
1297
|
-
}
|
|
1298
|
-
@media (min-width: 62em) {
|
|
1299
|
-
.hbkbtj1 {
|
|
1300
|
-
max-width: 45vw;
|
|
1301
|
-
}
|
|
1302
|
-
}._1lmzt1h0 {
|
|
1303
|
-
top: var(--likec4-options-panel-top, 1rem);
|
|
1304
|
-
right: var(--likec4-options-panel-right, 1rem);
|
|
1305
|
-
margin: 0;
|
|
1306
|
-
box-shadow: var(--mantine-shadow-xl);
|
|
1307
|
-
}@keyframes bexn7q5 {
|
|
1281
|
+
}@keyframes bexn7q6 {
|
|
1308
1282
|
from {
|
|
1309
1283
|
stroke-dashoffset: 36;
|
|
1310
1284
|
}
|
|
@@ -1320,6 +1294,10 @@ svg.react-flow__connectionline {
|
|
|
1320
1294
|
--xy-edge-label-background-color: color-mix(in srgb, var(--likec4-relation-labelBg), transparent 35%);
|
|
1321
1295
|
--xy-edge-stroke-width: 2.2px;
|
|
1322
1296
|
}
|
|
1297
|
+
svg:has(.bexn7q2) {
|
|
1298
|
+
filter: var(--likec4-filter-dimmed);
|
|
1299
|
+
transition: filter 800ms ease-out;
|
|
1300
|
+
}
|
|
1323
1301
|
:where([data-mantine-color-scheme="dark"]) .bexn7q1 {
|
|
1324
1302
|
--bexn7q0: white;
|
|
1325
1303
|
--xy-edge-label-color: var(--likec4-relation-labelColor);
|
|
@@ -1329,7 +1307,7 @@ svg.react-flow__connectionline {
|
|
|
1329
1307
|
--xy-edge-stroke: var(--xy-edge-stroke-selected);
|
|
1330
1308
|
--xy-edge-stroke-width: 3px;
|
|
1331
1309
|
}
|
|
1332
|
-
.bexn7q1[data-edge-hovered='true'] {
|
|
1310
|
+
.bexn7q1:is([data-edge-hovered='true'],[data-edge-active='true']) {
|
|
1333
1311
|
--xy-edge-stroke: var(--xy-edge-stroke-selected);
|
|
1334
1312
|
--xy-edge-stroke-width: 3px;
|
|
1335
1313
|
}
|
|
@@ -1339,50 +1317,55 @@ svg.react-flow__connectionline {
|
|
|
1339
1317
|
.react-flow__edges > svg {
|
|
1340
1318
|
mix-blend-mode: screen;
|
|
1341
1319
|
}
|
|
1342
|
-
|
|
1343
|
-
mix-blend-mode: lighten;
|
|
1344
|
-
}
|
|
1345
|
-
.bexn7q2 {
|
|
1320
|
+
.bexn7q3 {
|
|
1346
1321
|
stroke-width: var(--xy-edge-stroke-width);
|
|
1347
|
-
stroke-opacity: 0.
|
|
1322
|
+
stroke-opacity: 0.08;
|
|
1348
1323
|
transition-property: stroke-width, stroke-opacity;
|
|
1349
1324
|
transition-duration: 155ms;
|
|
1350
1325
|
transition-timing-function: ease-out;
|
|
1351
1326
|
}
|
|
1352
|
-
:where(.react-flow__edge.selected, [data-edge-hovered='true']) .
|
|
1327
|
+
:where(.react-flow__edge.selected, [data-edge-active='true'], [data-edge-hovered='true']) .bexn7q3 {
|
|
1353
1328
|
stroke-width: calc(var(--xy-edge-stroke-width) + 8px);
|
|
1354
|
-
stroke-opacity: 0.
|
|
1329
|
+
stroke-opacity: 0.15;
|
|
1355
1330
|
}
|
|
1356
|
-
.
|
|
1331
|
+
.bexn7q4 {
|
|
1357
1332
|
fill: var(--xy-edge-stroke);
|
|
1358
1333
|
stroke: var(--xy-edge-stroke);
|
|
1334
|
+
pointer-events: none;
|
|
1359
1335
|
}
|
|
1360
|
-
.
|
|
1336
|
+
.bexn7q5 {
|
|
1361
1337
|
fill: var(--xy-edge-stroke);
|
|
1362
1338
|
stroke: var(--xy-edge-stroke);
|
|
1339
|
+
fill-opacity: 0.75;
|
|
1340
|
+
stroke-width: 1;
|
|
1341
|
+
cursor: grab;
|
|
1342
|
+
pointer-events: visible;
|
|
1363
1343
|
}
|
|
1364
|
-
:where(.react-flow__edge.selected) .
|
|
1365
|
-
|
|
1344
|
+
:where(.react-flow__edge.selected, [data-edge-active='true'], [data-edge-hovered='true']) .bexn7q5 {
|
|
1345
|
+
transition: all 150ms ease-out;
|
|
1346
|
+
fill-opacity: 1;
|
|
1347
|
+
stroke-width: 3;
|
|
1366
1348
|
}
|
|
1367
|
-
.
|
|
1349
|
+
.bexn7q7 {
|
|
1368
1350
|
animation-duration: 800ms;
|
|
1369
1351
|
animation-iteration-count: infinite;
|
|
1370
1352
|
animation-timing-function: linear;
|
|
1371
1353
|
}
|
|
1372
|
-
:where([data-edge-hovered='true']) .
|
|
1373
|
-
animation-name:
|
|
1374
|
-
animation-delay:
|
|
1354
|
+
:where([data-edge-hovered='true']) .bexn7q7 {
|
|
1355
|
+
animation-name: bexn7q6;
|
|
1356
|
+
animation-delay: 350ms;
|
|
1375
1357
|
transition: all 130ms ease-out;
|
|
1376
1358
|
}
|
|
1377
|
-
:where(.react-flow__edge.selected) .
|
|
1378
|
-
animation-name:
|
|
1359
|
+
:where(.react-flow__edge.selected, [data-edge-active='true']) .bexn7q7 {
|
|
1360
|
+
animation-name: bexn7q6;
|
|
1379
1361
|
animation-delay: 0ms;
|
|
1380
1362
|
transition: all 130ms ease-out;
|
|
1381
1363
|
}
|
|
1382
|
-
.
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1364
|
+
:where([data-edge-dir='back']) .bexn7q7 {
|
|
1365
|
+
animation-direction: reverse;
|
|
1366
|
+
}
|
|
1367
|
+
.bexn7qb {
|
|
1368
|
+
--bexn7qa: translate(var(--bexn7q8, 50%), var(--bexn7q9, 50%));
|
|
1386
1369
|
top: 0;
|
|
1387
1370
|
left: 0;
|
|
1388
1371
|
font-family: var(--likec4-font-family);
|
|
@@ -1390,25 +1373,46 @@ svg.react-flow__connectionline {
|
|
|
1390
1373
|
pointer-events: all;
|
|
1391
1374
|
cursor: pointer;
|
|
1392
1375
|
transform-origin: 50% 50%;
|
|
1393
|
-
text-align: left;
|
|
1394
1376
|
mix-blend-mode: screen;
|
|
1395
|
-
|
|
1396
|
-
width: max-content;
|
|
1377
|
+
color: var(--xy-edge-label-color);
|
|
1397
1378
|
background-color: var(--xy-edge-label-background-color);
|
|
1398
1379
|
border-radius: 3px;
|
|
1399
|
-
transform: var(--
|
|
1400
|
-
backface-visibility: hidden;
|
|
1380
|
+
transform: var(--bexn7qa);
|
|
1401
1381
|
}
|
|
1402
|
-
.
|
|
1382
|
+
.bexn7qb[data-edge-hovered="true"] {
|
|
1403
1383
|
transition: all 140ms ease-out;
|
|
1404
|
-
transform: var(--
|
|
1384
|
+
transform: var(--bexn7qa) scale(1.1);
|
|
1405
1385
|
}
|
|
1406
|
-
.bexn7qb {
|
|
1407
|
-
|
|
1386
|
+
.bexn7qb:is(.bexn7q2) {
|
|
1387
|
+
transition: filter 800ms ease-out;
|
|
1388
|
+
filter: var(--likec4-filter-dimmed);
|
|
1389
|
+
}
|
|
1390
|
+
.bexn7qc {
|
|
1391
|
+
position: absolute;
|
|
1392
|
+
top: -2px;
|
|
1393
|
+
left: -2px;
|
|
1394
|
+
font-weight: 500;
|
|
1395
|
+
font-size: calc(1rem * var(--mantine-scale));
|
|
1396
|
+
line-height: 0.9;
|
|
1397
|
+
padding: 4px 6px;
|
|
1398
|
+
border-radius: 99999px;
|
|
1399
|
+
text-align: center;
|
|
1400
|
+
min-width: 22px;
|
|
1401
|
+
background-color: var(--xy-edge-label-background-color);
|
|
1402
|
+
transition: all 120ms ease-out;
|
|
1403
|
+
transform: translateX(-100%);
|
|
1404
|
+
font-variant-numeric: tabular-nums;
|
|
1405
|
+
}
|
|
1406
|
+
:where([data-edge-hovered="true"],[data-edge-active="true"]) .bexn7qc {
|
|
1407
|
+
font-weight: 600;
|
|
1408
|
+
background-color: color-mix(in srgb, var(--likec4-relation-labelBg), transparent 5%);
|
|
1409
|
+
}
|
|
1410
|
+
.bexn7qd {
|
|
1411
|
+
padding: 2px 6px 4px 6px;
|
|
1412
|
+
text-align: left;
|
|
1408
1413
|
font-size: calc(0.78125rem * var(--mantine-scale));
|
|
1409
|
-
line-height: 1.
|
|
1410
|
-
|
|
1411
|
-
}@keyframes lbtzdo7 {
|
|
1414
|
+
line-height: 1.2;
|
|
1415
|
+
}@keyframes lbtzdo8 {
|
|
1412
1416
|
from {
|
|
1413
1417
|
opacity: 0.6;
|
|
1414
1418
|
}
|
|
@@ -1423,7 +1427,11 @@ svg.react-flow__connectionline {
|
|
|
1423
1427
|
padding: 0;
|
|
1424
1428
|
margin: 0;
|
|
1425
1429
|
}
|
|
1426
|
-
.
|
|
1430
|
+
.lbtzdo1 {
|
|
1431
|
+
filter: var(--likec4-filter-dimmed);
|
|
1432
|
+
transition: filter 800ms ease-out;
|
|
1433
|
+
}
|
|
1434
|
+
.lbtzdo3 {
|
|
1427
1435
|
width: 100%;
|
|
1428
1436
|
height: 100%;
|
|
1429
1437
|
position: relative;
|
|
@@ -1433,34 +1441,34 @@ svg.react-flow__connectionline {
|
|
|
1433
1441
|
background: var(--likec4-element-fill);
|
|
1434
1442
|
transition: all 200ms ease-out;
|
|
1435
1443
|
}
|
|
1436
|
-
:where(.react-flow__node.selected) .
|
|
1444
|
+
:where(.react-flow__node.selected) .lbtzdo3 {
|
|
1437
1445
|
box-shadow: none;
|
|
1438
1446
|
}
|
|
1439
|
-
:where(.react-flow__node:focus-visible) .
|
|
1447
|
+
:where(.react-flow__node:focus-visible) .lbtzdo3 {
|
|
1440
1448
|
transition-duration: 0ms;
|
|
1441
1449
|
outline: 3px solid var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));
|
|
1442
1450
|
outline-offset: calc(0.09375rem * var(--mantine-scale));
|
|
1443
1451
|
}
|
|
1444
|
-
.
|
|
1445
|
-
--
|
|
1446
|
-
--
|
|
1452
|
+
.lbtzdo6 {
|
|
1453
|
+
--lbtzdo4: calc(var(--lbtzdo2, 80%) - var(--lbtzdo5));
|
|
1454
|
+
--lbtzdo5: 0%;
|
|
1447
1455
|
--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);
|
|
1448
1456
|
border-style: dashed;
|
|
1449
1457
|
border-width: 3px;
|
|
1450
1458
|
padding: 6px;
|
|
1451
|
-
border-color: color-mix(in srgb , var(--likec4-element-stroke), transparent min(var(--
|
|
1452
|
-
background: color-mix(in srgb , var(--likec4-element-fill), transparent var(--
|
|
1459
|
+
border-color: color-mix(in srgb , var(--likec4-element-stroke), transparent min(var(--lbtzdo4), 30%));
|
|
1460
|
+
background: color-mix(in srgb , var(--likec4-element-fill), transparent var(--lbtzdo4));
|
|
1453
1461
|
background-clip: padding-box;
|
|
1454
1462
|
}
|
|
1455
|
-
:where(.react-flow__node.selected) .
|
|
1456
|
-
--
|
|
1463
|
+
:where(.react-flow__node.selected) .lbtzdo6 {
|
|
1464
|
+
--lbtzdo5: 5%;
|
|
1457
1465
|
transition-delay: 50ms;
|
|
1458
1466
|
}
|
|
1459
|
-
:where([data-hovered]) .
|
|
1460
|
-
--
|
|
1467
|
+
:where([data-hovered]) .lbtzdo6 {
|
|
1468
|
+
--lbtzdo5: 15%;
|
|
1461
1469
|
transition-delay: 175ms;
|
|
1462
1470
|
}
|
|
1463
|
-
.
|
|
1471
|
+
.lbtzdo7 {
|
|
1464
1472
|
font-family: var(--likec4-compound-font-family);
|
|
1465
1473
|
font-optical-sizing: auto;
|
|
1466
1474
|
font-style: normal;
|
|
@@ -1475,18 +1483,18 @@ svg.react-flow__connectionline {
|
|
|
1475
1483
|
color: var(--_compound-title-color,var(--likec4-compound-title-color));
|
|
1476
1484
|
padding-left: 12px;
|
|
1477
1485
|
}
|
|
1478
|
-
:where([data-likec4-navigable='true']) .
|
|
1486
|
+
:where([data-likec4-navigable='true']) .lbtzdo7 {
|
|
1479
1487
|
padding-left: 26px;
|
|
1480
1488
|
}
|
|
1481
1489
|
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) {
|
|
1482
1490
|
--_compound-title-color: var(--likec4-element-stroke);
|
|
1483
1491
|
}
|
|
1484
|
-
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) .
|
|
1492
|
+
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) .lbtzdo7 {
|
|
1485
1493
|
opacity: 1;
|
|
1486
1494
|
}
|
|
1487
|
-
.
|
|
1488
|
-
--
|
|
1489
|
-
--
|
|
1495
|
+
.lbtzdob {
|
|
1496
|
+
--lbtzdo9: var(--likec4-element-loContrast);
|
|
1497
|
+
--lbtzdoa: 6;
|
|
1490
1498
|
position: absolute;
|
|
1491
1499
|
top: 0;
|
|
1492
1500
|
left: 0;
|
|
@@ -1496,33 +1504,33 @@ svg.react-flow__connectionline {
|
|
|
1496
1504
|
overflow: visible;
|
|
1497
1505
|
visibility: hidden;
|
|
1498
1506
|
}
|
|
1499
|
-
:where(.react-flow__node.selected:not(:focus-visible)) .
|
|
1507
|
+
:where(.react-flow__node.selected:not(:focus-visible)) .lbtzdob {
|
|
1500
1508
|
visibility: visible;
|
|
1501
1509
|
}
|
|
1502
|
-
:where(.react-flow__node:focus-within:not(.selected)) .
|
|
1503
|
-
--
|
|
1504
|
-
--
|
|
1510
|
+
:where(.react-flow__node:focus-within:not(.selected)) .lbtzdob {
|
|
1511
|
+
--lbtzdo9: color-mix(in srgb, var(--likec4-element-stroke) 30%, var(--likec4-element-loContrast));
|
|
1512
|
+
--lbtzdoa: 8;
|
|
1505
1513
|
}
|
|
1506
|
-
:where([data-mantine-color-scheme='light']) .
|
|
1507
|
-
--
|
|
1514
|
+
:where([data-mantine-color-scheme='light']) .lbtzdob {
|
|
1515
|
+
--lbtzdo9: color-mix(in srgb, var(--likec4-element-stroke) 80%, #000);
|
|
1508
1516
|
}
|
|
1509
|
-
.
|
|
1510
|
-
stroke: var(--
|
|
1517
|
+
.lbtzdob rect {
|
|
1518
|
+
stroke: var(--lbtzdo9);
|
|
1511
1519
|
transform-origin: center center;
|
|
1512
|
-
stroke-width: var(--
|
|
1520
|
+
stroke-width: var(--lbtzdoa);
|
|
1513
1521
|
animation-duration: 800ms;
|
|
1514
|
-
animation-name:
|
|
1522
|
+
animation-name: lbtzdo8;
|
|
1515
1523
|
animation-iteration-count: infinite;
|
|
1516
1524
|
animation-direction: alternate;
|
|
1517
1525
|
fill: none;
|
|
1518
1526
|
}
|
|
1519
1527
|
.lbtzdo0 {
|
|
1520
|
-
--
|
|
1528
|
+
--lbtzdoc: var(--likec4-element-loContrast);
|
|
1521
1529
|
}
|
|
1522
1530
|
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) {
|
|
1523
|
-
--
|
|
1531
|
+
--lbtzdoc: var(--likec4-element-stroke);
|
|
1524
1532
|
}
|
|
1525
|
-
.
|
|
1533
|
+
.lbtzdod {
|
|
1526
1534
|
--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);
|
|
1527
1535
|
--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));
|
|
1528
1536
|
--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));
|
|
@@ -1531,41 +1539,41 @@ svg.react-flow__connectionline {
|
|
|
1531
1539
|
left: 3px;
|
|
1532
1540
|
top: 7px;
|
|
1533
1541
|
cursor: pointer;
|
|
1534
|
-
color: var(--_compound-title-color,var(--
|
|
1542
|
+
color: var(--_compound-title-color,var(--lbtzdoc));
|
|
1535
1543
|
transform-origin: 90% 70%;
|
|
1536
1544
|
opacity: 0.75;
|
|
1537
1545
|
transition: all 150ms ease-out;
|
|
1538
1546
|
transition-delay: 0ms;
|
|
1539
1547
|
background-color: var(--ai-bg);
|
|
1540
1548
|
}
|
|
1541
|
-
.
|
|
1549
|
+
.lbtzdod:hover {
|
|
1542
1550
|
box-shadow: var(--mantine-shadow-lg);
|
|
1543
1551
|
transform: scale(1.466);
|
|
1544
1552
|
opacity: 1;
|
|
1545
1553
|
transition-delay: 0;
|
|
1546
1554
|
}
|
|
1547
|
-
.
|
|
1555
|
+
.lbtzdod:active {
|
|
1548
1556
|
transform: scale(1.1);
|
|
1549
1557
|
opacity: 1;
|
|
1550
1558
|
transition-delay: 0;
|
|
1551
1559
|
}
|
|
1552
|
-
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) .
|
|
1560
|
+
:where([data-mantine-color-scheme='light'] .likec4-compound-transparent) .lbtzdod {
|
|
1553
1561
|
--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 50%);
|
|
1554
1562
|
--ai-hover: color-mix(in srgb , var(--likec4-element-fill), transparent 20%);
|
|
1555
1563
|
opacity: 0.85;
|
|
1556
1564
|
}
|
|
1557
|
-
:where(.react-flow__node:not(.dragging) .lbtzdo0:hover) .
|
|
1565
|
+
:where(.react-flow__node:not(.dragging) .lbtzdo0:hover) .lbtzdod:not(:hover) {
|
|
1558
1566
|
--ai-bg: var(--ai-bg-hover);
|
|
1559
1567
|
box-shadow: var(--mantine-shadow-lg);
|
|
1560
1568
|
transform: scale(1.223);
|
|
1561
1569
|
opacity: 1;
|
|
1562
1570
|
transition-delay: 250ms;
|
|
1563
1571
|
}
|
|
1564
|
-
.
|
|
1572
|
+
.lbtzdod svg.icon {
|
|
1565
1573
|
width: 70%;
|
|
1566
1574
|
height: 70%;
|
|
1567
1575
|
stroke-width: 1.5;
|
|
1568
|
-
}@keyframes
|
|
1576
|
+
}@keyframes _1b6tkn4 {
|
|
1569
1577
|
from {
|
|
1570
1578
|
opacity: 0.6;
|
|
1571
1579
|
}
|
|
@@ -1582,38 +1590,42 @@ svg.react-flow__connectionline {
|
|
|
1582
1590
|
margin: 0;
|
|
1583
1591
|
backface-visibility: hidden;
|
|
1584
1592
|
}
|
|
1585
|
-
.
|
|
1593
|
+
.react-flow__node:has(._1b6tkn3) {
|
|
1594
|
+
filter: var(--likec4-filter-dimmed);
|
|
1595
|
+
transition: filter 800ms ease-out;
|
|
1596
|
+
}
|
|
1597
|
+
._1b6tkn5 {
|
|
1586
1598
|
stroke: var(--likec4-element-loContrast);
|
|
1587
1599
|
transform-origin: center center;
|
|
1588
1600
|
stroke-width: 6;
|
|
1589
1601
|
animation-duration: 800ms;
|
|
1590
|
-
animation-name:
|
|
1602
|
+
animation-name: _1b6tkn4;
|
|
1591
1603
|
animation-iteration-count: infinite;
|
|
1592
1604
|
animation-direction: alternate;
|
|
1593
1605
|
visibility: hidden;
|
|
1594
1606
|
}
|
|
1595
|
-
:where(.react-flow__node.selected) .
|
|
1607
|
+
:where(.react-flow__node.selected) ._1b6tkn5 {
|
|
1596
1608
|
visibility: visible;
|
|
1597
1609
|
}
|
|
1598
|
-
:where(.react-flow__node:focus-visible, ._1b6tkn2:focus-visible) .
|
|
1610
|
+
:where(.react-flow__node:focus-visible, ._1b6tkn2:focus-visible) ._1b6tkn5 {
|
|
1599
1611
|
animation-name: none;
|
|
1600
1612
|
stroke-width: 10;
|
|
1601
1613
|
stroke: var(--mantine-primary-color-outline, var(--mantine-primary-color-filled, var(--likec4-element-stroke)));
|
|
1602
1614
|
visibility: visible;
|
|
1603
1615
|
}
|
|
1604
|
-
:where([data-likec4-shape="queue"], [data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) .
|
|
1616
|
+
:where([data-likec4-shape="queue"], [data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) ._1b6tkn5 {
|
|
1605
1617
|
stroke-width: 10;
|
|
1606
1618
|
}
|
|
1607
|
-
.
|
|
1619
|
+
._1b6tkn6 {
|
|
1608
1620
|
fill: var(--likec4-element-fill);
|
|
1609
1621
|
}
|
|
1610
|
-
.
|
|
1622
|
+
._1b6tkn7 {
|
|
1611
1623
|
fill: var(--likec4-element-stroke);
|
|
1612
1624
|
}
|
|
1613
|
-
.
|
|
1625
|
+
._1b6tkn8 {
|
|
1614
1626
|
fill: var(--_1b6tkn0);
|
|
1615
1627
|
}
|
|
1616
|
-
.
|
|
1628
|
+
._1b6tkn9 {
|
|
1617
1629
|
flex: 0 0 auto;
|
|
1618
1630
|
font-family: var(--likec4-element-font-family);
|
|
1619
1631
|
font-optical-sizing: auto;
|
|
@@ -1625,14 +1637,14 @@ svg.react-flow__connectionline {
|
|
|
1625
1637
|
text-wrap: balance;
|
|
1626
1638
|
color: var(--likec4-element-hiContrast);
|
|
1627
1639
|
}
|
|
1628
|
-
.
|
|
1640
|
+
._1b6tkna {
|
|
1629
1641
|
flex: 0 1 auto;
|
|
1630
1642
|
font-family: var(--likec4-element-font-family);
|
|
1631
1643
|
font-optical-sizing: auto;
|
|
1632
1644
|
font-style: normal;
|
|
1633
1645
|
font-weight: 400;
|
|
1634
1646
|
font-size: calc(0.875rem * var(--mantine-scale));
|
|
1635
|
-
line-height: 1.
|
|
1647
|
+
line-height: 1.25;
|
|
1636
1648
|
text-align: center;
|
|
1637
1649
|
text-wrap: pretty;
|
|
1638
1650
|
color: var(--likec4-element-loContrast);
|
|
@@ -1640,7 +1652,7 @@ svg.react-flow__connectionline {
|
|
|
1640
1652
|
text-overflow: ellipsis;
|
|
1641
1653
|
overflow: hidden;
|
|
1642
1654
|
}
|
|
1643
|
-
.
|
|
1655
|
+
._1b6tknb {
|
|
1644
1656
|
flex: 0 0 auto;
|
|
1645
1657
|
font-family: var(--likec4-element-font-family);
|
|
1646
1658
|
font-optical-sizing: auto;
|
|
@@ -1653,10 +1665,10 @@ svg.react-flow__connectionline {
|
|
|
1653
1665
|
opacity: 0.92;
|
|
1654
1666
|
color: var(--likec4-element-loContrast);
|
|
1655
1667
|
}
|
|
1656
|
-
._1b6tkn2:hover .
|
|
1668
|
+
._1b6tkn2:hover ._1b6tknb {
|
|
1657
1669
|
opacity: 1;
|
|
1658
1670
|
}
|
|
1659
|
-
.
|
|
1671
|
+
._1b6tknc {
|
|
1660
1672
|
--_1b6tkn1: calc(1.5rem * var(--mantine-scale));
|
|
1661
1673
|
position: relative;
|
|
1662
1674
|
width: 100%;
|
|
@@ -1669,24 +1681,24 @@ svg.react-flow__connectionline {
|
|
|
1669
1681
|
overflow: hidden;
|
|
1670
1682
|
gap: calc(0.5rem * var(--mantine-scale));
|
|
1671
1683
|
}
|
|
1672
|
-
.
|
|
1684
|
+
._1b6tknc:has(._1b6tkna):has(._1b6tknb) {
|
|
1673
1685
|
gap: calc(0.375rem * var(--mantine-scale));
|
|
1674
1686
|
}
|
|
1675
|
-
:where([data-likec4-shape="queue"], [data-likec4-shape="mobile"]) .
|
|
1687
|
+
:where([data-likec4-shape="queue"], [data-likec4-shape="mobile"]) ._1b6tknc {
|
|
1676
1688
|
padding-left: calc(2.5rem * var(--mantine-scale));
|
|
1677
1689
|
padding-right: calc(1.25rem * var(--mantine-scale));
|
|
1678
1690
|
}
|
|
1679
|
-
:where([data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) .
|
|
1691
|
+
:where([data-likec4-shape="cylinder"], [data-likec4-shape="storage"]) ._1b6tknc {
|
|
1680
1692
|
padding-top: calc(2.125rem * var(--mantine-scale));
|
|
1681
1693
|
}
|
|
1682
|
-
:where([data-likec4-shape="browser"]) .
|
|
1694
|
+
:where([data-likec4-shape="browser"]) ._1b6tknc {
|
|
1683
1695
|
padding-top: calc(2rem * var(--mantine-scale));
|
|
1684
1696
|
padding-bottom: calc(1.75rem * var(--mantine-scale));
|
|
1685
1697
|
}
|
|
1686
|
-
.
|
|
1687
|
-
--
|
|
1688
|
-
flex: 0 1 var(--
|
|
1689
|
-
max-height: var(--
|
|
1698
|
+
._1b6tkne {
|
|
1699
|
+
--_1b6tknd: 30px;
|
|
1700
|
+
flex: 0 1 var(--_1b6tknd);
|
|
1701
|
+
max-height: var(--_1b6tknd);
|
|
1690
1702
|
margin-top: -8px;
|
|
1691
1703
|
position: relative;
|
|
1692
1704
|
user-select: none;
|
|
@@ -1694,17 +1706,17 @@ svg.react-flow__connectionline {
|
|
|
1694
1706
|
overflow: visible;
|
|
1695
1707
|
mix-blend-mode: hard-light;
|
|
1696
1708
|
}
|
|
1697
|
-
.
|
|
1709
|
+
._1b6tkne img {
|
|
1698
1710
|
position: absolute;
|
|
1699
1711
|
left: 0;
|
|
1700
1712
|
bottom: 0;
|
|
1701
1713
|
width: 100%;
|
|
1702
1714
|
height: auto;
|
|
1703
1715
|
object-fit: contain;
|
|
1704
|
-
max-height: calc(var(--
|
|
1716
|
+
max-height: calc(var(--_1b6tknd) + 16px);
|
|
1705
1717
|
}
|
|
1706
|
-
.
|
|
1707
|
-
--
|
|
1718
|
+
._1b6tknh {
|
|
1719
|
+
--_1b6tknf:
|
|
1708
1720
|
drop-shadow(0 2px 1px rgba(0, 0, 0, 0.21))
|
|
1709
1721
|
drop-shadow(0 1px 1px color-mix(in srgb, var(--likec4-element-stroke) 40%, transparent))
|
|
1710
1722
|
drop-shadow(0 5px 3px rgba(0, 0, 0, 0.1))
|
|
@@ -1716,14 +1728,14 @@ svg.react-flow__connectionline {
|
|
|
1716
1728
|
fill: var(--likec4-element-fill);
|
|
1717
1729
|
stroke: var(--likec4-element-stroke);
|
|
1718
1730
|
overflow: visible;
|
|
1719
|
-
filter: var(--
|
|
1731
|
+
filter: var(--_1b6tkng, var(--_1b6tknf));
|
|
1720
1732
|
transition: filter 300ms ease-out;
|
|
1721
1733
|
transition-delay: 0ms;
|
|
1722
1734
|
}
|
|
1723
|
-
:where(.react-flow__node.selected, .react-flow__node:focus-visible, ._1b6tkn2:focus-visible) .
|
|
1735
|
+
:where(.react-flow__node.selected, .react-flow__node:focus-visible, ._1b6tkn2:focus-visible) ._1b6tknh {
|
|
1724
1736
|
filter: none;
|
|
1725
1737
|
}
|
|
1726
|
-
.
|
|
1738
|
+
._1b6tkni {
|
|
1727
1739
|
--ai-bg: color-mix(in srgb , var(--likec4-element-fill), transparent 99%);
|
|
1728
1740
|
--ai-bg-hover: color-mix(in srgb , var(--likec4-element-fill) 65%, var(--likec4-element-stroke));
|
|
1729
1741
|
--ai-hover: color-mix(in srgb , var(--likec4-element-fill) 50%, var(--likec4-element-stroke));
|
|
@@ -1741,28 +1753,28 @@ svg.react-flow__connectionline {
|
|
|
1741
1753
|
transition-delay: 0ms;
|
|
1742
1754
|
background-color: var(--ai-bg);
|
|
1743
1755
|
}
|
|
1744
|
-
.
|
|
1756
|
+
._1b6tkni:hover {
|
|
1745
1757
|
box-shadow: var(--mantine-shadow-lg);
|
|
1746
1758
|
transform: translate(-50%, 0) scale(1.35);
|
|
1747
1759
|
opacity: 1;
|
|
1748
1760
|
transition-delay: 0;
|
|
1749
1761
|
}
|
|
1750
|
-
.
|
|
1762
|
+
._1b6tkni:active {
|
|
1751
1763
|
transform: translate(-50%, 0) scale(1.02);
|
|
1752
1764
|
opacity: 1;
|
|
1753
1765
|
transition-delay: 0;
|
|
1754
1766
|
}
|
|
1755
|
-
:where([data-likec4-shape='browser']) .
|
|
1767
|
+
:where([data-likec4-shape='browser']) ._1b6tkni {
|
|
1756
1768
|
bottom: 3px;
|
|
1757
1769
|
}
|
|
1758
|
-
:where(.react-flow__node:not(.dragging) ._1b6tkn2:hover) .
|
|
1770
|
+
:where(.react-flow__node:not(.dragging) ._1b6tkn2:hover) ._1b6tkni:not(:hover) {
|
|
1759
1771
|
--ai-bg: var(--ai-bg-hover);
|
|
1760
1772
|
box-shadow: var(--mantine-shadow-lg);
|
|
1761
1773
|
transform: translate(-50%, 0) scale(1.185);
|
|
1762
1774
|
opacity: 1;
|
|
1763
1775
|
transition-delay: 250ms;
|
|
1764
1776
|
}
|
|
1765
|
-
.
|
|
1777
|
+
._1b6tkni svg.icon {
|
|
1766
1778
|
width: 65%;
|
|
1767
1779
|
height: 65%;
|
|
1768
1780
|
stroke-width: 1.5;
|
|
@@ -1817,4 +1829,66 @@ svg.react-flow__connectionline {
|
|
|
1817
1829
|
}
|
|
1818
1830
|
._4ysv0o2 {
|
|
1819
1831
|
text-align: left;
|
|
1832
|
+
}._2jkb2y0 {
|
|
1833
|
+
position: absolute;
|
|
1834
|
+
bottom: 0.5rem;
|
|
1835
|
+
left: 50%;
|
|
1836
|
+
transform: translateX(-50%);
|
|
1837
|
+
padding: 0;
|
|
1838
|
+
margin: 0;
|
|
1839
|
+
}
|
|
1840
|
+
._2jkb2y1 {
|
|
1841
|
+
backdrop-filter: blur(8px);
|
|
1842
|
+
transition: all 175ms ease-in;
|
|
1843
|
+
}
|
|
1844
|
+
._2jkb2y1:hover {
|
|
1845
|
+
transition-timing-function: ease-out;
|
|
1846
|
+
transform: scale(1.1);
|
|
1847
|
+
}
|
|
1848
|
+
._2jkb2y1:active {
|
|
1849
|
+
transition-duration: 100ms;
|
|
1850
|
+
transform: scale(0.98) translateY(3px);
|
|
1851
|
+
}
|
|
1852
|
+
._2jkb2y3 {
|
|
1853
|
+
--_2jkb2y2: 35%;
|
|
1854
|
+
--button-bg: color-mix(in srgb, var(--mantine-primary-color-filled), transparent var(--_2jkb2y2));
|
|
1855
|
+
--button-hover: color-mix(in srgb, var(--mantine-primary-color-filled-hover), transparent var(--_2jkb2y2));
|
|
1856
|
+
transition: all 175ms ease-in;
|
|
1857
|
+
background-color: var(--button-bg);
|
|
1858
|
+
}
|
|
1859
|
+
[data-mantine-color-scheme="light"] ._2jkb2y3 {
|
|
1860
|
+
--_2jkb2y2: 15%;
|
|
1861
|
+
}
|
|
1862
|
+
._2jkb2y3 .tabler-icon {
|
|
1863
|
+
width: 80%;
|
|
1864
|
+
}._1lmzt1h0 {
|
|
1865
|
+
top: var(--likec4-options-panel-top, 1rem);
|
|
1866
|
+
right: var(--likec4-options-panel-right, 1rem);
|
|
1867
|
+
margin: 0;
|
|
1868
|
+
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
|
+
}
|
|
1820
1894
|
}
|
package/dist/theme.css.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export declare const vars: {
|
|
|
2
2
|
default: {
|
|
3
3
|
font: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
4
4
|
};
|
|
5
|
+
filterDimmed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
5
6
|
likec4: {
|
|
6
7
|
font: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
7
8
|
background: {
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export default function DiagramTitlePanel(): JSX.Element;
|
|
1
|
+
export default function DiagramTitlePanel(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function DynamicViewWalkthrough(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export default function OptionsPanel(): JSX.Element;
|
|
1
|
+
export default function OptionsPanel(): import("react/jsx-runtime").JSX.Element;
|
package/dist/ui/index.d.ts
CHANGED