@likec4/styles 1.48.0 → 1.50.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.
@@ -1,9 +1,8 @@
1
1
  import { t as __exportAll } from "./_chunks/rolldown-runtime.mjs";
2
2
  import { a as t$6, c as t$2, i as t$4, l as t$1, n as t$3, o as e$1, r as t$5, s as t, t as e } from "./_chunks/libs/remeda.mjs";
3
+ import { a as grass, c as orange, d as red, f as ruby, g as yellow, h as violet, i as crimson, l as pink, m as tomato, n as blue$2, o as indigo, p as teal, s as lime, t as amber, u as purple } from "./_chunks/libs/@radix-ui/colors.mjs";
3
4
  import { t as createPreset } from "./_chunks/libs/pandacss-preset-radix-colors.mjs";
4
- import { defineAnimationStyles, defineKeyframes, defineLayerStyles, defineParts, definePattern, definePreset, defineRecipe, defineSemanticTokens, defineSlotRecipe, defineTextStyles, defineTokens } from "@pandacss/dev";
5
-
6
- //#region ../preset/src/animations.ts
5
+ import { defineAnimationStyles, defineKeyframes, defineLayerStyles, defineParts, definePattern, definePreset, defineRecipe, defineSemanticTokens, defineSlotRecipe, defineTextStyles, defineTokens, defineUtility } from "@pandacss/dev";
7
6
  const keyframes = defineKeyframes({
8
7
  "indicatorOpacity": {
9
8
  "0%": { opacity: .8 },
@@ -30,9 +29,6 @@ const animationStyles = defineAnimationStyles({
30
29
  animationName: "xyedgeAnimated"
31
30
  } }
32
31
  });
33
-
34
- //#endregion
35
- //#region ../preset/src/defaults/vars.ts
36
32
  const vars = {
37
33
  font: "--likec4-app-font",
38
34
  spacing: "--likec4-spacing",
@@ -77,14 +73,8 @@ function __v(key, defaultTo) {
77
73
  if (defaultValue) return `var(${name}, var(${defaultValue}))`;
78
74
  return `var(${name}, ${defaultTo})`;
79
75
  }
80
-
81
- //#endregion
82
- //#region ../preset/src/const.ts
83
76
  const root = ".likec4-root";
84
- const rootNotReduced = `${root}:not([data-likec4-reduced-graphics])`;
85
-
86
- //#endregion
87
- //#region ../preset/src/defaults/element-colors.ts
77
+ `${root}`;
88
78
  const blue$1 = {
89
79
  fill: "#3b82f6",
90
80
  stroke: "#2563eb",
@@ -141,9 +131,6 @@ const ElementColors = {
141
131
  loContrast: "#c7d2fe"
142
132
  }
143
133
  };
144
-
145
- //#endregion
146
- //#region ../preset/src/defaults/relationship-colors.ts
147
134
  const gray = {
148
135
  line: "#8D8D8D",
149
136
  labelBg: "#18191B",
@@ -193,9 +180,6 @@ const RelationshipColors = {
193
180
  sky,
194
181
  slate
195
182
  };
196
-
197
- //#endregion
198
- //#region ../preset/src/defaults/sizes.ts
199
183
  const defaultSizes = {
200
184
  sizes: {
201
185
  xs: {
@@ -241,9 +225,6 @@ const defaultSizes = {
241
225
  xl: 90
242
226
  }
243
227
  };
244
-
245
- //#endregion
246
- //#region ../preset/src/defaults/types.ts
247
228
  const ElementShapes = [
248
229
  "rectangle",
249
230
  "person",
@@ -253,7 +234,8 @@ const ElementShapes = [
253
234
  "storage",
254
235
  "queue",
255
236
  "bucket",
256
- "document"
237
+ "document",
238
+ "component"
257
239
  ];
258
240
  const ThemeColors = [
259
241
  "amber",
@@ -285,9 +267,7 @@ const DefaultTagColors = [
285
267
  "yellow",
286
268
  "violet"
287
269
  ];
288
-
289
- //#endregion
290
- //#region ../preset/src/defaults/index.ts
270
+ tomato.tomato9, grass.grass9, blue$2.blue9, ruby.ruby9, orange.orange9, indigo.indigo9, pink.pink9, teal.teal9, purple.purple9, amber.amber9, crimson.crimson9, red.red9, lime.lime9, yellow.yellow9, violet.violet9;
291
271
  const defaultTheme = {
292
272
  colors: ThemeColors.reduce((acc, key) => {
293
273
  acc[key] = {
@@ -298,9 +278,6 @@ const defaultTheme = {
298
278
  }, {}),
299
279
  ...defaultSizes
300
280
  };
301
-
302
- //#endregion
303
- //#region ../preset/src/conditions.ts
304
281
  const shapeSizeCondition = (key) => `shapeSize${t$1(key)}`;
305
282
  const conditions = { extend: {
306
283
  ...t$2(defaultTheme.sizes, t$3((_, key) => `:where([data-likec4-shape-size='${key}']) &`), t$4(shapeSizeCondition)),
@@ -324,15 +301,12 @@ const conditions = { extend: {
324
301
  smallZoom: ":where([data-likec4-zoom-small=\"true\"]) &",
325
302
  compoundTransparent: ":where([data-compound-transparent]) &",
326
303
  edgeActive: ":where([data-likec4-edge-active=\"true\"]) &",
327
- whenHovered: ":where(.react-flow__node:has([data-likec4-hovered=\"true\"]), .react-flow__edge:has([data-likec4-hovered=\"true\"]), .likec4-edge-container[data-likec4-hovered=\"true\"]) &",
304
+ whenHovered: ":where([data-likec4-hovered=\"true\"]) &",
328
305
  whenSelectable: ":where(.react-flow__node, .react-flow__edge, .likec4-edge-container):is(.selectable) &",
329
306
  whenSelected: ":where(.react-flow__node, .react-flow__edge, .likec4-edge-container):is(.selected) &",
330
307
  whenDimmed: ":where(.react-flow__node, .react-flow__edge):has([data-likec4-dimmed]) &",
331
308
  whenFocused: ":where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) &"
332
309
  } };
333
-
334
- //#endregion
335
- //#region ../preset/src/generated.ts
336
310
  const breakpoints = {
337
311
  xs: "36em",
338
312
  sm: "48em",
@@ -1336,9 +1310,23 @@ const mantine = {
1336
1310
  darkSelector: "[data-mantine-color-scheme=\"dark\"] &",
1337
1311
  lightSelector: "[data-mantine-color-scheme=\"light\"] &"
1338
1312
  };
1339
-
1340
- //#endregion
1341
- //#region ../preset/src/globalCss.ts
1313
+ /**
1314
+ * Changes the alpha channel of a color
1315
+ * @param color color value or CSS variable
1316
+ * @param percentage Alpha channel value
1317
+ * @returns
1318
+ */
1319
+ function alpha(color, percentage = 50) {
1320
+ let alpha = percentage;
1321
+ if (typeof percentage === "number") {
1322
+ if (percentage > 0 && percentage < 1) percentage *= 100;
1323
+ alpha = `${percentage}%`;
1324
+ }
1325
+ return `oklch(from ${color} l c h / ${alpha})`;
1326
+ }
1327
+ function rem(pixels) {
1328
+ return `${pixels}px`;
1329
+ }
1342
1330
  const sizeConditions = {
1343
1331
  ...t$5(t$6(defaultTheme.textSizes), (size) => [`:where([data-likec4-text-size='${size}'])`, { [vars.textsize]: `{fontSizes.likec4.${size}}` }]),
1344
1332
  ...t$5(t$6(defaultTheme.spacing), (size) => [`:where([data-likec4-spacing='${size}'])`, { [vars.spacing]: `{spacing.likec4.${size}}` }])
@@ -1348,9 +1336,13 @@ const globalCss = { extend: {
1348
1336
  ...sizeConditions,
1349
1337
  ".likec4-shadow-root": {
1350
1338
  display: "contents",
1339
+ color: "var(--colors-text)",
1351
1340
  "--mantine-font-family": "var(--likec4-app-font, var(--likec4-app-font-default))",
1352
1341
  "--mantine-font-family-headings": "var(--likec4-app-font, var(--likec4-app-font-default))",
1353
- "& dialog": { color: "var(--mantine-color-text)" }
1342
+ "& dialog": {
1343
+ "--mantine-font-family": "var(--likec4-app-font, var(--likec4-app-font-default))",
1344
+ color: "var(--colors-text)"
1345
+ }
1354
1346
  },
1355
1347
  ".likec4-edge-label-container": {
1356
1348
  top: 0,
@@ -1361,7 +1353,9 @@ const globalCss = { extend: {
1361
1353
  display: {
1362
1354
  _reduceGraphicsOnPan: "none",
1363
1355
  _smallZoom: "none"
1364
- }
1356
+ },
1357
+ willChange: "transform",
1358
+ zIndex: "likec4.diagram.edge.label"
1365
1359
  },
1366
1360
  ".likec4-root": {
1367
1361
  overflow: "hidden",
@@ -1398,7 +1392,7 @@ const globalCss = { extend: {
1398
1392
  "--xy-background-color": "transparent !important"
1399
1393
  },
1400
1394
  "& .react-flow__pane": { userSelect: "none" },
1401
- "& :where(.react-flow__nodes, .react-flow__edges, .react-flow__edgelabel-renderer)": { display: "contents" },
1395
+ "& :is(.react-flow__nodes, .react-flow__edges, .react-flow__edgelabel-renderer, .react-flow__viewport-portal)": { display: "contents" },
1402
1396
  "& .react-flow__node.draggable:has(.likec4-compound-node)": { cursor: "default" },
1403
1397
  "& .likec4-node-handle-center": {
1404
1398
  top: "50%!",
@@ -1417,12 +1411,13 @@ const globalCss = { extend: {
1417
1411
  "--xy-edge-stroke-width": 3,
1418
1412
  "--xy-edge-stroke": __v("palette.relationStroke"),
1419
1413
  "--xy-edge-stroke-selected": __v("palette.relationStrokeSelected"),
1420
- "--xy-edge-label-color": __v("palette.relationLabel"),
1421
- "--xy-edge-label-background-color": __v("palette.relationLabelBg"),
1422
- _dark: { "--xy-edge-label-background-color": `color-mix(in oklab, ${__v("palette.relationLabelBg")} 50%, transparent)` },
1423
- _light: {
1424
- "--xy-edge-label-color": `color-mix(in oklab, ${__v("palette.relationLabel")}, #FFF 50%)`,
1425
- "--xy-edge-label-background-color": `color-mix(in oklab, ${__v("palette.relationLabelBg")} 65%, transparent)`
1414
+ "--xy-edge-label-color": {
1415
+ base: __v("palette.relationLabel"),
1416
+ _light: `oklch(from ${__v("palette.relationLabel")} calc(l + 0.05) c h)`
1417
+ },
1418
+ "--xy-edge-label-background-color": {
1419
+ _dark: alpha(__v("palette.relationLabelBg"), 45),
1420
+ _light: alpha(__v("palette.relationLabelBg"), 60)
1426
1421
  },
1427
1422
  "&:is([data-likec4-hovered=\"true\"], [data-edge-active=\"true\"])": {
1428
1423
  "--xy-edge-stroke-width": 4,
@@ -1444,13 +1439,13 @@ const globalCss = { extend: {
1444
1439
  transitionDuration: "400ms"
1445
1440
  },
1446
1441
  "& :where(.react-flow__edgelabel-renderer) > *": { mixBlendMode: {
1442
+ base: "hard-light",
1447
1443
  _dark: "screen",
1448
- _light: "hard-light",
1449
1444
  _print: "normal!"
1450
1445
  } },
1451
1446
  "& :where(.react-flow__edges) > svg": { mixBlendMode: {
1447
+ base: "multiply",
1452
1448
  _dark: "plus-lighter",
1453
- _light: "multiply",
1454
1449
  _print: "normal!"
1455
1450
  } },
1456
1451
  "&:has(.react-flow__node-seq-parallel) :where(.react-flow__edges > svg)": { mixBlendMode: { _light: "color-burn" } },
@@ -1459,34 +1454,10 @@ const globalCss = { extend: {
1459
1454
  _light: "color-burn",
1460
1455
  _print: "normal!"
1461
1456
  } }
1462
- },
1463
- "& :where(.relationships-browser, .likec4-relationship-details) .react-flow__attribution": { display: "none" }
1457
+ }
1464
1458
  },
1465
- ".likec4-static-view .react-flow .react-flow__attribution": { display: "none" }
1459
+ ":where(.likec4-static-view, .relationships-browser, .likec4-relationship-details) .react-flow .react-flow__attribution": { display: "none" }
1466
1460
  } };
1467
-
1468
- //#endregion
1469
- //#region ../preset/src/helpers.ts
1470
- /**
1471
- * Changes the alpha channel of a color
1472
- * @param color color value or CSS variable
1473
- * @param percentage Alpha channel value
1474
- * @returns
1475
- */
1476
- function alpha(color, percentage = 50) {
1477
- let alpha = percentage;
1478
- if (typeof percentage === "number") {
1479
- if (percentage > 0 && percentage < 1) percentage *= 100;
1480
- alpha = `${percentage}%`;
1481
- }
1482
- return `oklch(from ${color} l c h / ${alpha})`;
1483
- }
1484
- function rem(pixels) {
1485
- return `${pixels}px`;
1486
- }
1487
-
1488
- //#endregion
1489
- //#region ../preset/src/globalVars.ts
1490
1461
  const globalVars = { extend: {
1491
1462
  [vars.font]: "/*-*/ /*-*/",
1492
1463
  [vars.spacing]: "/*-*/ /*-*/",
@@ -1505,9 +1476,6 @@ const globalVars = { extend: {
1505
1476
  [vars.icon.color]: "/*-*/ /*-*/",
1506
1477
  [vars.icon.size]: "/*-*/ /*-*/"
1507
1478
  } };
1508
-
1509
- //#endregion
1510
- //#region ../preset/src/layer-styles.ts
1511
1479
  const layerStyles = /* @__PURE__ */ defineLayerStyles({ likec4: {
1512
1480
  tag: {
1513
1481
  description: "LikeC4 tag layer",
@@ -1591,55 +1559,6 @@ const layerStyles = /* @__PURE__ */ defineLayerStyles({ likec4: {
1591
1559
  }
1592
1560
  }
1593
1561
  } });
1594
-
1595
- //#endregion
1596
- //#region ../preset/src/patterns.ts
1597
- const txt = definePattern({
1598
- properties: {
1599
- inline: { type: "boolean" },
1600
- dimmed: { type: "boolean" },
1601
- lh: {
1602
- type: "token",
1603
- value: "lineHeights"
1604
- },
1605
- size: {
1606
- type: "enum",
1607
- value: [
1608
- "xxs",
1609
- "xs",
1610
- "sm",
1611
- "md",
1612
- "lg",
1613
- "xl"
1614
- ]
1615
- },
1616
- likec4color: {
1617
- type: "enum",
1618
- value: [...ThemeColors]
1619
- }
1620
- },
1621
- defaultValues: {
1622
- inline: false,
1623
- dimmed: false,
1624
- size: "md"
1625
- },
1626
- transform(props, _helpers) {
1627
- const { inline, size, dimmed, lh, likec4color, ...rest } = props;
1628
- if (dimmed && likec4color) throw new Error("dimmed and likec4color are mutually exclusive");
1629
- return {
1630
- userSelect: "all",
1631
- cursor: "default",
1632
- textStyle: dimmed ? `dimmed.${size}` : size,
1633
- ...inline && { display: "inline-block" },
1634
- ...lh && { lineHeight: lh },
1635
- ...likec4color && { "data-likec4-color": likec4color },
1636
- ...rest
1637
- };
1638
- },
1639
- jsxElement: "div",
1640
- jsxName: "Txt",
1641
- jsx: ["Txt"]
1642
- });
1643
1562
  const patterns = { extend: {
1644
1563
  vstack: { defaultValues: {
1645
1564
  alignItems: "stretch",
@@ -1647,27 +1566,65 @@ const patterns = { extend: {
1647
1566
  } },
1648
1567
  hstack: { defaultValues: { gap: "sm" } },
1649
1568
  box: { jsx: ["Box", "MarkdownBlock"] },
1650
- txt
1569
+ txt: definePattern({
1570
+ properties: {
1571
+ inline: { type: "boolean" },
1572
+ dimmed: { type: "boolean" },
1573
+ lh: {
1574
+ type: "token",
1575
+ value: "lineHeights"
1576
+ },
1577
+ size: {
1578
+ type: "enum",
1579
+ value: [
1580
+ "xxs",
1581
+ "xs",
1582
+ "sm",
1583
+ "md",
1584
+ "lg",
1585
+ "xl"
1586
+ ]
1587
+ },
1588
+ likec4color: {
1589
+ type: "enum",
1590
+ value: [...ThemeColors]
1591
+ }
1592
+ },
1593
+ defaultValues: {
1594
+ inline: false,
1595
+ dimmed: false,
1596
+ size: "md"
1597
+ },
1598
+ transform(props, _helpers) {
1599
+ const { inline, size, dimmed, lh, likec4color, ...rest } = props;
1600
+ if (dimmed && likec4color) throw new Error("dimmed and likec4color are mutually exclusive");
1601
+ return {
1602
+ userSelect: "all",
1603
+ cursor: "default",
1604
+ textStyle: dimmed ? `dimmed.${size}` : size,
1605
+ ...inline && { display: "inline-block" },
1606
+ ...lh && { lineHeight: lh },
1607
+ ...likec4color && { "data-likec4-color": likec4color },
1608
+ ...rest
1609
+ };
1610
+ },
1611
+ jsxElement: "div",
1612
+ jsxName: "Txt",
1613
+ jsx: ["Txt"]
1614
+ })
1651
1615
  } };
1652
-
1653
- //#endregion
1654
- //#region ../preset/src/radixColors.ts
1655
1616
  const radixColorsPreset = /* @__PURE__ */ createPreset({
1656
1617
  autoP3: false,
1657
1618
  darkMode: { condition: "[data-mantine-color-scheme=\"dark\"] &" },
1658
1619
  colorScales: [...DefaultTagColors]
1659
1620
  });
1660
-
1661
- //#endregion
1662
- //#region ../preset/src/recipes/actionBtn.ts
1663
- const parts$5 = defineParts({
1664
- root: { selector: "&" },
1665
- container: { selector: "& > div" }
1666
- });
1667
1621
  const actionButtons = defineRecipe({
1668
1622
  className: "action-buttons",
1669
1623
  description: "Action Buttons Container within Diagram Node (Bottom-Center)",
1670
- base: parts$5({
1624
+ base: defineParts({
1625
+ root: { selector: "&" },
1626
+ container: { selector: "& > div" }
1627
+ })({
1671
1628
  root: {
1672
1629
  display: "flex",
1673
1630
  flexDirection: "row",
@@ -1735,8 +1692,8 @@ const actionBtn = defineRecipe({
1735
1692
  } }
1736
1693
  },
1737
1694
  size: {
1738
- sm: { ["--ai-size"]: `var(--ai-size-sm)` },
1739
- md: { ["--ai-size"]: `var(--ai-size-md)` }
1695
+ sm: { ["--ai-size"]: `22px` },
1696
+ md: { ["--ai-size"]: `28px` }
1740
1697
  },
1741
1698
  radius: {
1742
1699
  sm: { "--ai-radius": `{radii.sm}` },
@@ -1755,9 +1712,6 @@ const actionBtn = defineRecipe({
1755
1712
  conditions: ["*"]
1756
1713
  }]
1757
1714
  });
1758
-
1759
- //#endregion
1760
- //#region ../preset/src/recipes/compoundNode.ts
1761
1715
  const borderWidth = {
1762
1716
  var: "--_border-width",
1763
1717
  ref: "var(--_border-width)"
@@ -1782,7 +1736,7 @@ const compoundColor = {
1782
1736
  var: "--_compound-color",
1783
1737
  ref: "var(--_compound-color)"
1784
1738
  };
1785
- const parts$4 = defineParts({
1739
+ const parts$5 = defineParts({
1786
1740
  root: { selector: "&" },
1787
1741
  titleContainer: { selector: "& .likec4-compound-title-container" },
1788
1742
  title: { selector: "& .likec4-compound-title" },
@@ -1794,7 +1748,7 @@ const parts$4 = defineParts({
1794
1748
  const iconSize = "20px";
1795
1749
  const compoundNode = defineRecipe({
1796
1750
  className: "likec4-compound-node",
1797
- base: parts$4({
1751
+ base: parts$5({
1798
1752
  root: {
1799
1753
  position: "relative",
1800
1754
  width: "100%",
@@ -1928,7 +1882,7 @@ const compoundNode = defineRecipe({
1928
1882
  }),
1929
1883
  variants: {
1930
1884
  isTransparent: {
1931
- false: parts$4({ root: {
1885
+ false: parts$5({ root: {
1932
1886
  boxShadow: {
1933
1887
  _noReduceGraphics: "0 4px 10px 0.5px rgb(0 0 0/10%) , 0 2px 2px -1px rgb(0 0 0/40%)",
1934
1888
  _whenSelected: "none",
@@ -1938,14 +1892,14 @@ const compoundNode = defineRecipe({
1938
1892
  borderColor: __v("palette.stroke"),
1939
1893
  [compoundColor.var]: alpha(__v("palette.hiContrast"), 90)
1940
1894
  } }),
1941
- true: parts$4({ root: {
1895
+ true: parts$5({ root: {
1942
1896
  backgroundColor: alpha(__v("palette.fill"), compoundTransparency.ref),
1943
1897
  borderColor: alpha(__v("palette.stroke"), borderTransparency.ref),
1944
1898
  [compoundColor.var]: `color-mix(in oklch, ${__v("palette.hiContrast")}, ${__v("palette.stroke")} 10%)`
1945
1899
  } })
1946
1900
  },
1947
1901
  inverseColor: {
1948
- true: parts$4({
1902
+ true: parts$5({
1949
1903
  root: {
1950
1904
  "--_mix": `color-mix(in oklch, ${__v("palette.hiContrast")}, ${__v("palette.stroke")} 60%)`,
1951
1905
  [compoundColor.var]: {
@@ -1966,10 +1920,10 @@ const compoundNode = defineRecipe({
1966
1920
  false: {}
1967
1921
  },
1968
1922
  borderStyle: {
1969
- solid: parts$4({ root: { borderStyle: "solid" } }),
1970
- dashed: parts$4({ root: { borderStyle: "dashed" } }),
1971
- dotted: parts$4({ root: { borderStyle: "dotted" } }),
1972
- none: parts$4({ root: {
1923
+ solid: parts$5({ root: { borderStyle: "solid" } }),
1924
+ dashed: parts$5({ root: { borderStyle: "dashed" } }),
1925
+ dotted: parts$5({ root: { borderStyle: "dotted" } }),
1926
+ none: parts$5({ root: {
1973
1927
  borderColor: "transparent!",
1974
1928
  backgroundClip: "border-box!",
1975
1929
  [indicatorSpacing.var]: `calc(${borderWidth.ref} * 2)`
@@ -1987,9 +1941,6 @@ const compoundNode = defineRecipe({
1987
1941
  borderStyle: ["*"]
1988
1942
  }]
1989
1943
  });
1990
-
1991
- //#endregion
1992
- //#region ../preset/src/recipes/edgeActionBtn.ts
1993
1944
  const edgeActionBtn = defineRecipe({
1994
1945
  className: "likec4-edge-action-btn",
1995
1946
  description: "Action Button within Diagram Edge Label",
@@ -2002,7 +1953,7 @@ const edgeActionBtn = defineRecipe({
2002
1953
  translate: "auto",
2003
1954
  "--ai-bg": "transparent",
2004
1955
  "--ai-hover": `color-mix(in oklab , var(--xy-edge-label-background-color), {colors.likec4.mixColor} 10%)`,
2005
- "--ai-size": `var(--ai-size-sm)`,
1956
+ "--ai-size": `28px`,
2006
1957
  "--ai-radius": `{radii.sm}`,
2007
1958
  _hover: {
2008
1959
  translateY: "[2px]",
@@ -2027,10 +1978,7 @@ const edgeActionBtn = defineRecipe({
2027
1978
  defaultVariants: {},
2028
1979
  staticCss: [{ conditions: ["*"] }]
2029
1980
  });
2030
-
2031
- //#endregion
2032
- //#region ../preset/src/recipes/edgeLabel.ts
2033
- const parts$3 = defineParts({
1981
+ const parts$4 = defineParts({
2034
1982
  root: { selector: "&" },
2035
1983
  stepNumber: { selector: "& .likec4-edge-label__step-number" },
2036
1984
  contents: { selector: "& .likec4-edge-label__contents" },
@@ -2040,7 +1988,7 @@ const parts$3 = defineParts({
2040
1988
  const edgeLabel = defineRecipe({
2041
1989
  className: "likec4-edge-label",
2042
1990
  jsx: [],
2043
- base: parts$3({
1991
+ base: parts$4({
2044
1992
  root: {
2045
1993
  fontFamily: "likec4.relation",
2046
1994
  paddingBlock: "1",
@@ -2070,9 +2018,9 @@ const edgeLabel = defineRecipe({
2070
2018
  borderRadius: "4px",
2071
2019
  minWidth: "24px"
2072
2020
  },
2073
- background: `color-mix(in oklab, ${__v("palette.relationLabelBg")}, {colors.likec4.mixColor} 10%)`,
2021
+ background: `color-mix(in oklab, var(--xy-edge-label-background-color), {colors.likec4.mixColor} 12%)`,
2074
2022
  fontVariantNumeric: "tabular-nums",
2075
- [":where([data-likec4-color=\"gray\"]) &"]: { _dark: { background: `[color-mix(in oklab, ${__v("palette.relationLabelBg")}, {colors.likec4.mixColor} 15%)]` } }
2023
+ [":where([data-likec4-color=\"gray\"]) &"]: { _dark: { background: `[color-mix(in oklab, var(--xy-edge-label-background-color), {colors.likec4.mixColor} 15%)]` } }
2076
2024
  },
2077
2025
  contents: {
2078
2026
  display: "contents",
@@ -2094,16 +2042,16 @@ const edgeLabel = defineRecipe({
2094
2042
  }),
2095
2043
  variants: {
2096
2044
  pointerEvents: {
2097
- none: parts$3({ root: { pointerEvents: "none" } }),
2098
- all: parts$3({ root: { pointerEvents: "all" } })
2045
+ none: parts$4({ root: { pointerEvents: "none" } }),
2046
+ all: parts$4({ root: { pointerEvents: "all" } })
2099
2047
  },
2100
2048
  cursor: {
2101
- pointer: parts$3({ root: { cursor: "pointer" } }),
2102
- default: parts$3({ root: { cursor: "default" } })
2049
+ pointer: parts$4({ root: { cursor: "pointer" } }),
2050
+ default: parts$4({ root: { cursor: "default" } })
2103
2051
  },
2104
2052
  isStepEdge: {
2105
2053
  false: {},
2106
- true: parts$3({
2054
+ true: parts$4({
2107
2055
  root: {
2108
2056
  flexDirection: "row",
2109
2057
  gap: "1",
@@ -2137,9 +2085,6 @@ const edgeLabel = defineRecipe({
2137
2085
  pointerEvents: ["*"]
2138
2086
  }]
2139
2087
  });
2140
-
2141
- //#endregion
2142
- //#region ../preset/src/recipes/edgePath.ts
2143
2088
  const edgePath = defineSlotRecipe({
2144
2089
  description: "Recipe for Edge Path",
2145
2090
  slots: [
@@ -2211,9 +2156,6 @@ const edgePath = defineSlotRecipe({
2211
2156
  },
2212
2157
  staticCss: [{ conditions: ["*"] }]
2213
2158
  });
2214
-
2215
- //#endregion
2216
- //#region ../preset/src/recipes/elementNode.ts
2217
2159
  const elementNode = defineRecipe({
2218
2160
  className: "likec4-element-node",
2219
2161
  jsx: ["ElementNodeContainer", "ElementNode"],
@@ -2247,10 +2189,7 @@ const elementNode = defineRecipe({
2247
2189
  },
2248
2190
  staticCss: [{ conditions: ["*"] }]
2249
2191
  });
2250
-
2251
- //#endregion
2252
- //#region ../preset/src/recipes/elementNodeData.ts
2253
- const parts$2 = defineParts({
2192
+ const parts$3 = defineParts({
2254
2193
  root: { selector: "&" },
2255
2194
  icon: { selector: "& [data-likec4-icon]" },
2256
2195
  content: { selector: "& .likec4-element-node-content" },
@@ -2269,7 +2208,7 @@ const elementNodeData = defineRecipe({
2269
2208
  "ElementTitle",
2270
2209
  "Root"
2271
2210
  ],
2272
- base: parts$2({
2211
+ base: parts$3({
2273
2212
  root: {
2274
2213
  position: "relative",
2275
2214
  flex: "1",
@@ -2308,6 +2247,7 @@ const elementNodeData = defineRecipe({
2308
2247
  paddingLeft: `calc(${__v("spacing")} + 20px)`,
2309
2248
  paddingRight: `calc(${__v("spacing")} + 20px)`
2310
2249
  },
2250
+ _shapeComponent: { paddingLeft: `calc(${__v("spacing")} + 30px)` },
2311
2251
  _shapeSizeXs: { [vars.icon.size]: `${defaultSizes.iconSizes.xs}px` },
2312
2252
  _shapeSizeSm: { [vars.icon.size]: `${defaultSizes.iconSizes.sm}px` },
2313
2253
  _shapeSizeMd: { [vars.icon.size]: `${defaultSizes.iconSizes.md}px` },
@@ -2335,9 +2275,11 @@ const elementNodeData = defineRecipe({
2335
2275
  width: "100%",
2336
2276
  height: "auto",
2337
2277
  maxHeight: "100%",
2278
+ transition: "fast",
2338
2279
  filter: {
2339
- base: [`drop-shadow(1px 2px 1px var(--likec4-palette-stroke))`].join("\n"),
2340
- _reduceGraphicsOnPan: "none"
2280
+ base: ["drop-shadow(0 1px 3px rgb(0 0 0 / 20%))"].join("\n"),
2281
+ _whenHovered: ["drop-shadow(0 2px 4px rgb(0 0 0 / 30%))"].join("\n"),
2282
+ _reduceGraphicsOnPan: "none!"
2341
2283
  }
2342
2284
  },
2343
2285
  "& img": { objectFit: "contain" }
@@ -2420,14 +2362,14 @@ const elementNodeData = defineRecipe({
2420
2362
  }),
2421
2363
  variants: {
2422
2364
  iconPosition: {
2423
- left: parts$2({ root: { [hasIcon]: {
2365
+ left: parts$3({ root: { [hasIcon]: {
2424
2366
  [textAlign]: "left",
2425
2367
  "& .likec4-element-node-content": {
2426
2368
  minWidth: `calc(50% + calc(${__v("icon.size")} / 2))`,
2427
2369
  alignItems: "flex-start"
2428
2370
  }
2429
2371
  } } }),
2430
- right: parts$2({ root: { [hasIcon]: {
2372
+ right: parts$3({ root: { [hasIcon]: {
2431
2373
  flexDirection: "row-reverse",
2432
2374
  [textAlign]: "right",
2433
2375
  gap: "4",
@@ -2436,7 +2378,7 @@ const elementNodeData = defineRecipe({
2436
2378
  alignItems: "flex-end"
2437
2379
  }
2438
2380
  } } }),
2439
- top: parts$2({
2381
+ top: parts$3({
2440
2382
  root: { [hasIcon]: {
2441
2383
  flexDirection: "column",
2442
2384
  gap: "2",
@@ -2448,7 +2390,7 @@ const elementNodeData = defineRecipe({
2448
2390
  } },
2449
2391
  icon: { alignSelf: "center" }
2450
2392
  }),
2451
- bottom: parts$2({
2393
+ bottom: parts$3({
2452
2394
  root: { [hasIcon]: {
2453
2395
  flexDirection: "column-reverse",
2454
2396
  gap: "2",
@@ -2462,8 +2404,8 @@ const elementNodeData = defineRecipe({
2462
2404
  })
2463
2405
  },
2464
2406
  withIconColor: {
2465
- true: parts$2({ icon: { color: __v("icon.color", "palette.stroke") } }),
2466
- false: parts$2({ icon: { mixBlendMode: {
2407
+ true: parts$3({ icon: { "& svg": { color: __v("icon.color", "palette.stroke") } } }),
2408
+ false: parts$3({ icon: { mixBlendMode: {
2467
2409
  base: "hard-light",
2468
2410
  _reduceGraphicsOnPan: "normal"
2469
2411
  } } })
@@ -2479,19 +2421,17 @@ const elementNodeData = defineRecipe({
2479
2421
  conditions: ["*"]
2480
2422
  }]
2481
2423
  });
2482
-
2483
- //#endregion
2484
- //#region ../preset/src/recipes/elementShape.ts
2485
- const parts$1 = defineParts({
2424
+ const parts$2 = defineParts({
2486
2425
  root: { selector: "&" },
2487
2426
  outline: { selector: "& .likec4-shape-outline" },
2488
2427
  multipleHtml: { selector: "& .likec4-shape-multiple" },
2428
+ componentTopLeftRect: { selector: "& .top-left-rect" },
2489
2429
  multipleSvg: { selector: "&:is([data-likec4-shape-multiple=\"true\"])" }
2490
2430
  });
2491
2431
  const elementShapeRecipe = defineRecipe({
2492
2432
  description: "Recipe for Diagram node shape",
2493
2433
  className: "likec4-element-shape",
2494
- base: parts$1({
2434
+ base: parts$2({
2495
2435
  root: {
2496
2436
  top: "0",
2497
2437
  left: "0",
@@ -2508,6 +2448,7 @@ const elementShapeRecipe = defineRecipe({
2508
2448
  },
2509
2449
  outline: {
2510
2450
  opacity: .8,
2451
+ transitionBehavior: "allow-discrete",
2511
2452
  visibility: {
2512
2453
  base: "hidden",
2513
2454
  _smallZoom: "hidden",
@@ -2527,11 +2468,11 @@ const elementShapeRecipe = defineRecipe({
2527
2468
  }),
2528
2469
  variants: {
2529
2470
  shapetype: {
2530
- html: parts$1({
2471
+ html: parts$2({
2531
2472
  root: {
2532
2473
  backgroundColor: "var(--likec4-palette-fill)",
2533
2474
  border: "none",
2534
- borderRadius: "[6px]",
2475
+ borderRadius: "6px",
2535
2476
  boxShadow: {
2536
2477
  base: [
2537
2478
  "0 2px 1px 0 rgb(0 0 0 / 21%)",
@@ -2547,9 +2488,10 @@ const elementShapeRecipe = defineRecipe({
2547
2488
  _whenPanning: "none"
2548
2489
  },
2549
2490
  transition: {
2550
- base: "background-color 120ms linear, box-shadow 130ms {easings.inOut}",
2491
+ base: "background-color 150ms, box-shadow 130ms",
2551
2492
  _reduceGraphicsOnPan: "none"
2552
2493
  },
2494
+ transitionTimingFunction: "out",
2553
2495
  transitionDelay: "0ms"
2554
2496
  },
2555
2497
  multipleHtml: {
@@ -2587,11 +2529,15 @@ const elementShapeRecipe = defineRecipe({
2587
2529
  animationStyle: "indicator"
2588
2530
  }
2589
2531
  }),
2590
- svg: parts$1({
2532
+ svg: parts$2({
2591
2533
  root: {
2592
2534
  fill: "var(--likec4-palette-fill)",
2593
2535
  stroke: "var(--likec4-palette-stroke)",
2594
- transition: `fill 120ms linear, filter 130ms {easings.inOut}`,
2536
+ transition: `fill 120ms {easings.in}, filter 130ms {easings.in}`,
2537
+ transitionTimingFunction: {
2538
+ base: "out",
2539
+ _whenHovered: "in"
2540
+ },
2595
2541
  transitionDelay: "0ms",
2596
2542
  filter: {
2597
2543
  base: [
@@ -2612,7 +2558,24 @@ const elementShapeRecipe = defineRecipe({
2612
2558
  },
2613
2559
  "& [data-likec4-fill=\"fill\"]": { fill: "var(--likec4-palette-fill)" },
2614
2560
  "& [data-likec4-fill=\"stroke\"]": { fill: "var(--likec4-palette-stroke)" },
2615
- "& [data-likec4-fill=\"mix-stroke\"]": { fill: "[color-mix(in oklab, var(--likec4-palette-stroke) 80%, var(--likec4-palette-fill))]" }
2561
+ "& [data-likec4-fill=\"mix-stroke\"]": { fill: "color-mix(in oklab, var(--likec4-palette-stroke) 80%, var(--likec4-palette-fill))" }
2562
+ },
2563
+ componentTopLeftRect: {
2564
+ "--mix-bg": "40%",
2565
+ fill: "color-mix(in oklab, var(--likec4-palette-stroke) var(--mix-bg), var(--likec4-palette-fill))",
2566
+ transition: `all 120ms {easings.in}`,
2567
+ transitionDelay: "0ms",
2568
+ strokeOpacity: .8,
2569
+ _whenSelected: {
2570
+ transitionTimingFunction: "out",
2571
+ "--mix-bg": "60%",
2572
+ strokeOpacity: 1
2573
+ },
2574
+ _whenHovered: {
2575
+ transitionTimingFunction: "out",
2576
+ "--mix-bg": "60%",
2577
+ strokeOpacity: 1
2578
+ }
2616
2579
  },
2617
2580
  multipleSvg: {
2618
2581
  transformOrigin: {
@@ -2625,7 +2588,9 @@ const elementShapeRecipe = defineRecipe({
2625
2588
  base: "translate(14px, 14px) perspective(200px) translateZ(-4px)",
2626
2589
  _whenHovered: "translate(2px, 2px) perspective(200px) translateZ(-4px)"
2627
2590
  },
2628
- transition: "fast",
2591
+ transitionBehavior: "allow-discrete",
2592
+ transitionProperty: "fill, filter, transform",
2593
+ transitionDuration: "faster",
2629
2594
  filter: "brightness(0.5) !important",
2630
2595
  stroke: "none",
2631
2596
  display: {
@@ -2647,13 +2612,20 @@ const elementShapeRecipe = defineRecipe({
2647
2612
  withBorder: {
2648
2613
  true: {},
2649
2614
  false: {}
2615
+ },
2616
+ withOutline: {
2617
+ true: parts$2({ outline: { display: "block" } }),
2618
+ false: parts$2({ outline: { display: "none" } })
2650
2619
  }
2651
2620
  },
2652
- defaultVariants: { withBorder: false },
2621
+ defaultVariants: {
2622
+ withBorder: false,
2623
+ withOutline: false
2624
+ },
2653
2625
  compoundVariants: [{
2654
2626
  shapetype: "html",
2655
2627
  withBorder: true,
2656
- css: parts$1({
2628
+ css: parts$2({
2657
2629
  root: {
2658
2630
  borderStyle: "solid",
2659
2631
  borderWidth: "3px",
@@ -2665,12 +2637,10 @@ const elementShapeRecipe = defineRecipe({
2665
2637
  }],
2666
2638
  staticCss: [{
2667
2639
  shapetype: ["*"],
2640
+ withOutline: ["*"],
2668
2641
  withBorder: ["*"]
2669
2642
  }]
2670
2643
  });
2671
-
2672
- //#endregion
2673
- //#region ../preset/src/recipes/likec4tag.ts
2674
2644
  const likec4tag = defineRecipe({
2675
2645
  className: "likec4-tag",
2676
2646
  base: {
@@ -2713,9 +2683,6 @@ const likec4tag = defineRecipe({
2713
2683
  conditions: ["hover"]
2714
2684
  }]
2715
2685
  });
2716
-
2717
- //#endregion
2718
- //#region ../preset/src/recipes/markdownBlock.ts
2719
2686
  const markdownBlock = defineRecipe({
2720
2687
  className: "likec4-markdown-block",
2721
2688
  jsx: ["MarkdownBlock", "Markdown"],
@@ -2804,7 +2771,7 @@ const markdownBlock = defineRecipe({
2804
2771
  marginTop: "0",
2805
2772
  marginBottom: "var(--typography-spacing)"
2806
2773
  },
2807
- "& :where(strong)": { fontWeight: "500" },
2774
+ "& :where(strong)": { fontWeight: "550" },
2808
2775
  "& :where(mark)": {
2809
2776
  fontSize: "var(--text-fz-md)",
2810
2777
  backgroundColor: mantine.colors.yellow[2],
@@ -2818,7 +2785,7 @@ const markdownBlock = defineRecipe({
2818
2785
  fontSize: "var(--text-fz-md)",
2819
2786
  color: mantine.colors.anchor,
2820
2787
  textDecoration: "none",
2821
- fontWeight: "500",
2788
+ fontWeight: "450",
2822
2789
  _hover: { textDecoration: "underline" }
2823
2790
  },
2824
2791
  "& :where(hr)": {
@@ -2880,7 +2847,7 @@ const markdownBlock = defineRecipe({
2880
2847
  },
2881
2848
  "& :where(th)": {
2882
2849
  textAlign: "left",
2883
- fontWeight: "bold",
2850
+ fontWeight: "550",
2884
2851
  fontSize: "var(--text-fz-sm)",
2885
2852
  padding: "var(--typography-spacing)"
2886
2853
  },
@@ -2922,7 +2889,7 @@ const markdownBlock = defineRecipe({
2922
2889
  alignItems: "center",
2923
2890
  display: "flex",
2924
2891
  fontSize: "var(--text-fz-md)",
2925
- fontWeight: "500",
2892
+ fontWeight: "550",
2926
2893
  lineHeight: "1.5",
2927
2894
  marginBottom: "0.1em",
2928
2895
  gap: "2"
@@ -2956,12 +2923,12 @@ const markdownBlock = defineRecipe({
2956
2923
  _print: "normal!"
2957
2924
  }
2958
2925
  },
2959
- "& :where(strong)": { color: `color-mix(in oklab , var(--likec4-palette-hiContrast) 50%, var(--likec4-palette-loContrast))` },
2926
+ "& :where(strong)": { color: `color-mix(in oklab, ${__v("palette.hiContrast")} 50%, ${__v("palette.loContrast")})` },
2960
2927
  "& :where(blockquote)": {
2961
2928
  padding: "xxs",
2962
- backgroundColor: "var(--likec4-palette-stroke)/65"
2929
+ backgroundColor: alpha(__v("palette.stroke"), 65)
2963
2930
  },
2964
- "& :where(hr)": { borderColor: "var(--likec4-palette-stroke)/85" }
2931
+ "& :where(hr)": { borderColor: alpha(__v("palette.stroke"), 85) }
2965
2932
  },
2966
2933
  false: {}
2967
2934
  },
@@ -2980,9 +2947,6 @@ const markdownBlock = defineRecipe({
2980
2947
  conditions: ["*"]
2981
2948
  }]
2982
2949
  });
2983
-
2984
- //#endregion
2985
- //#region ../preset/src/recipes/navigationPanelActionIcon.ts
2986
2950
  const navigationPanelActionIcon = defineRecipe({
2987
2951
  className: "likec4-navigation-panel-icon",
2988
2952
  jsx: ["PanelActionIcon"],
@@ -3031,23 +2995,93 @@ const navigationPanelActionIcon = defineRecipe({
3031
2995
  conditions: ["*"]
3032
2996
  }]
3033
2997
  });
3034
-
3035
- //#endregion
3036
- //#region ../preset/src/recipes/overlay.ts
2998
+ const parts$1 = defineParts({
2999
+ root: { selector: "&" },
3000
+ paper: { selector: "& .__paper" },
3001
+ popover: { selector: "& .__popover" }
3002
+ });
3003
+ const nodeNotes = defineRecipe({
3004
+ className: "likec4-node-notes",
3005
+ jsx: ["NodeNotesr"],
3006
+ base: parts$1({
3007
+ root: {
3008
+ position: "absolute",
3009
+ top: "-20px",
3010
+ left: "10px",
3011
+ width: "120px",
3012
+ height: "60px",
3013
+ pointerEvents: "all",
3014
+ userSelect: "none",
3015
+ appearance: "none",
3016
+ touchAction: "manipulation",
3017
+ overflow: "visible",
3018
+ "--paper-bg": `color-mix(in oklab, ${__v("palette.fill")} 10%, #DDD)`
3019
+ },
3020
+ paper: {
3021
+ pointerEvents: "all",
3022
+ position: "absolute",
3023
+ top: "14px",
3024
+ left: "10px",
3025
+ width: "90px",
3026
+ height: "120px",
3027
+ boxShadow: ["inset 0 0 20px rgba(0, 0, 0, 0.25)", "0px 0px 3px 0px rgba(0, 0, 0, 0.35)"].join(", "),
3028
+ backgroundColor: "oklch(from var(--paper-bg) calc(l - 0.1) c h)",
3029
+ zIndex: -1,
3030
+ transform: "rotateZ(-3deg)",
3031
+ transformOrigin: "55% 90% 0",
3032
+ overflow: "visible",
3033
+ transition: "faster",
3034
+ transitionDelay: "20ms",
3035
+ _before: {
3036
+ position: "absolute",
3037
+ zIndex: -1,
3038
+ content: "\" \"",
3039
+ width: "100%",
3040
+ height: "100%",
3041
+ transform: "rotateZ(6deg) translate(-2px, 0px)",
3042
+ transformOrigin: "45% 90% 0",
3043
+ boxShadow: ["inset 0 0 20px rgba(0, 0, 0, 0.25)", "0px 0px 3px 0px rgba(0, 0, 0, 0.35)"].join(", "),
3044
+ backgroundColor: "var(--paper-bg)"
3045
+ },
3046
+ _whenHovered: {
3047
+ transform: "rotateZ(-4deg) scale(1.06)",
3048
+ _before: { transform: "translate(-1px, -2px) rotateZ(6deg) scale(1.02)" }
3049
+ }
3050
+ },
3051
+ popover: {
3052
+ position: "absolute",
3053
+ w: "auto",
3054
+ h: "auto",
3055
+ zIndex: 300,
3056
+ top: "0",
3057
+ left: "0",
3058
+ display: "block",
3059
+ pointerEvents: "all",
3060
+ rounded: "sm",
3061
+ backgroundColor: "likec4.overlay.body",
3062
+ padding: "sm"
3063
+ }
3064
+ }),
3065
+ variants: { opened: {
3066
+ false: parts$1({}),
3067
+ true: parts$1({})
3068
+ } },
3069
+ defaultVariants: { opened: false },
3070
+ staticCss: [{ opened: ["*"] }]
3071
+ });
3037
3072
  const backdropBlur = "--_blur";
3038
3073
  const backdropOpacity = "--_opacity";
3039
3074
  const level = "--_level";
3040
3075
  const offset = "--_offset";
3041
3076
  const inset = "--_inset";
3042
3077
  const borderRadius = "--_border-radius";
3043
- const parts = defineParts({
3044
- dialog: { selector: "&" },
3045
- body: { selector: "& .likec4-overlay-body" }
3046
- });
3047
3078
  const overlay = defineRecipe({
3048
3079
  description: "Recipe for Overlay Dialog",
3049
3080
  className: "likec4-overlay",
3050
- base: parts({
3081
+ base: defineParts({
3082
+ dialog: { selector: "&" },
3083
+ body: { selector: "& .likec4-overlay-body" }
3084
+ })({
3051
3085
  dialog: {
3052
3086
  boxSizing: "border-box",
3053
3087
  margin: "0",
@@ -3122,9 +3156,6 @@ const overlay = defineRecipe({
3122
3156
  withBackdrop: ["*"]
3123
3157
  }]
3124
3158
  });
3125
-
3126
- //#endregion
3127
- //#region ../preset/src/recipes/index.ts
3128
3159
  var recipes_exports = /* @__PURE__ */ __exportAll({
3129
3160
  actionBtn: () => actionBtn,
3130
3161
  actionButtons: () => actionButtons,
@@ -3138,11 +3169,9 @@ var recipes_exports = /* @__PURE__ */ __exportAll({
3138
3169
  likec4tag: () => likec4tag,
3139
3170
  markdownBlock: () => markdownBlock,
3140
3171
  navigationPanelActionIcon: () => navigationPanelActionIcon,
3172
+ nodeNotes: () => nodeNotes,
3141
3173
  overlay: () => overlay
3142
3174
  });
3143
-
3144
- //#endregion
3145
- //#region ../preset/src/stot-recipes/navigationLink.ts
3146
3175
  const navigationLink = defineSlotRecipe({
3147
3176
  className: "likec4-navlink",
3148
3177
  description: "Navigation Link (classes for Mantine NavLink)",
@@ -3160,8 +3189,8 @@ const navigationLink = defineSlotRecipe({
3160
3189
  px: "xs",
3161
3190
  py: "xxs",
3162
3191
  backgroundColor: { _hover: { "&:not([data-active])": {
3163
- base: "mantine.colors.gray[1]",
3164
- _dark: "mantine.colors.dark[5]"
3192
+ base: mantine.colors.gray[1],
3193
+ _dark: mantine.colors.dark[5]
3165
3194
  } } }
3166
3195
  },
3167
3196
  body: {
@@ -3201,9 +3230,6 @@ const navigationLink = defineSlotRecipe({
3201
3230
  conditions: ["*"]
3202
3231
  }]
3203
3232
  });
3204
-
3205
- //#endregion
3206
- //#region ../preset/src/stot-recipes/navigationPanel.ts
3207
3233
  const navigationPanel = defineSlotRecipe({
3208
3234
  className: "likec4-navigation-panel",
3209
3235
  jsx: ["NavigationPanel", /NavigationPanel/],
@@ -3225,16 +3251,22 @@ const navigationPanel = defineSlotRecipe({
3225
3251
  margin: "0",
3226
3252
  width: "100%",
3227
3253
  gap: "xxs",
3254
+ height: "auto",
3255
+ overflow: "hidden",
3256
+ maxHeight: ["calc(100vh)", "calc(100cqh)"],
3228
3257
  maxWidth: ["calc(100vw)", "calc(100cqw)"],
3229
3258
  "@/sm": {
3230
3259
  margin: "xs",
3231
3260
  gap: "xs",
3232
3261
  width: "max-content",
3233
- maxWidth: ["calc(100vw - 2 * {spacing.xs})", "calc(100cqw - 2 * {spacing.xs})"]
3262
+ maxWidth: ["calc(100vw - 2 * {spacing.xs})", "calc(100cqw - 2 * {spacing.xs})"],
3263
+ maxHeight: ["calc(100vh - 2 * {spacing.xs})", "calc(100cqh - 2 * {spacing.xs})"]
3234
3264
  },
3235
3265
  "@/md": {
3236
3266
  margin: "sm",
3237
- maxWidth: ["calc(100vw - 2 * {spacing.md})", "calc(100cqw - 2 * {spacing.md})"]
3267
+ width: "max-content",
3268
+ maxWidth: ["calc(100vw - 2 * {spacing.md})", "calc(100cqw - 2 * {spacing.md})"],
3269
+ maxHeight: ["calc(100vh - 2 * {spacing.md})", "calc(100cqh - 2 * {spacing.md})"]
3238
3270
  },
3239
3271
  _print: { display: "none" }
3240
3272
  },
@@ -3247,6 +3279,7 @@ const navigationPanel = defineSlotRecipe({
3247
3279
  gap: "xs",
3248
3280
  pointerEvents: "all",
3249
3281
  width: "100%",
3282
+ "@/sm": { width: "auto" },
3250
3283
  minHeight: "40px",
3251
3284
  cursor: "default"
3252
3285
  },
@@ -3260,7 +3293,7 @@ const navigationPanel = defineSlotRecipe({
3260
3293
  cursor: "pointer",
3261
3294
  width: {
3262
3295
  base: "20px",
3263
- "@/md": "64px"
3296
+ "@/sm": "64px"
3264
3297
  },
3265
3298
  ["& > [data-logo-icon]"]: { display: {
3266
3299
  base: "block",
@@ -3279,6 +3312,12 @@ const navigationPanel = defineSlotRecipe({
3279
3312
  color: "likec4.panel.text"
3280
3313
  },
3281
3314
  dropdown: {
3315
+ display: "flex",
3316
+ height: "auto",
3317
+ width: "auto",
3318
+ flex: "1",
3319
+ flexGrow: 0,
3320
+ overflow: "hidden",
3282
3321
  layerStyle: "likec4.dropdown",
3283
3322
  pointerEvents: "all"
3284
3323
  }
@@ -3316,18 +3355,23 @@ const navigationPanel = defineSlotRecipe({
3316
3355
  panelPosition: ["*"]
3317
3356
  }]
3318
3357
  });
3319
-
3320
- //#endregion
3321
- //#region ../preset/src/stot-recipes/index.ts
3322
3358
  var stot_recipes_exports = /* @__PURE__ */ __exportAll({
3323
3359
  navigationLink: () => navigationLink,
3324
3360
  navigationPanel: () => navigationPanel
3325
3361
  });
3326
-
3327
- //#endregion
3328
- //#region ../preset/src/text-styles.ts
3329
- const textStyles = defineTextStyles({
3362
+ function defineTextStyles$1(definition) {
3363
+ return defineTextStyles(definition);
3364
+ }
3365
+ const textStyles = defineTextStyles$1({
3330
3366
  dimmed: {
3367
+ DEFAULT: {
3368
+ description: "Text style for dimmed content",
3369
+ value: {
3370
+ fontSize: "md",
3371
+ lineHeight: "md",
3372
+ color: "text.dimmed"
3373
+ }
3374
+ },
3331
3375
  xxs: { value: {
3332
3376
  fontSize: "xxs",
3333
3377
  lineHeight: "xxs",
@@ -3373,228 +3417,282 @@ const textStyles = defineTextStyles({
3373
3417
  fontSize: "xl",
3374
3418
  lineHeight: "xl"
3375
3419
  } },
3376
- likec4: { panel: {
3420
+ likec4: {
3377
3421
  DEFAULT: {
3378
3422
  description: "Text style for panel content",
3379
3423
  value: {
3380
- fontSize: "sm",
3381
- lineHeight: "sm",
3382
- fontWeight: "medium",
3383
- color: "likec4.panel.text"
3424
+ fontSize: "md",
3425
+ lineHeight: "md",
3426
+ fontWeight: "normal",
3427
+ color: "text"
3384
3428
  }
3385
3429
  },
3386
- action: {
3387
- description: "Text style for panel action items",
3388
- value: {
3389
- fontSize: "sm",
3390
- lineHeight: "sm",
3391
- fontWeight: "medium",
3392
- color: {
3393
- base: "likec4.panel.action",
3394
- _hover: "likec4.panel.action.hover"
3430
+ panel: {
3431
+ DEFAULT: {
3432
+ description: "Text style for panel content",
3433
+ value: {
3434
+ fontSize: "sm",
3435
+ lineHeight: "sm",
3436
+ fontWeight: "medium",
3437
+ color: "likec4.panel.text"
3438
+ }
3439
+ },
3440
+ action: {
3441
+ description: "Text style for panel action items",
3442
+ value: {
3443
+ fontSize: "sm",
3444
+ lineHeight: "sm",
3445
+ fontWeight: "medium",
3446
+ color: {
3447
+ base: "likec4.panel.action",
3448
+ _hover: "likec4.panel.action.hover"
3449
+ }
3395
3450
  }
3396
3451
  }
3397
3452
  }
3398
- } }
3453
+ }
3399
3454
  });
3400
-
3401
- //#endregion
3402
- //#region ../preset/src/tokens-semantic.colors.ts
3403
- const colors$1 = defineSemanticTokens.colors({ likec4: {
3404
- background: {
3455
+ const semanticTokens = defineSemanticTokens({ colors: defineSemanticTokens.colors({
3456
+ white: { value: "#fff" },
3457
+ black: { value: "#000" },
3458
+ body: {
3459
+ description: "Background color",
3460
+ value: mantine.colors.body
3461
+ },
3462
+ text: {
3405
3463
  DEFAULT: {
3406
- description: "Background color",
3407
- value: mantine.colors.body
3464
+ description: "Default text color",
3465
+ value: mantine.colors.text
3408
3466
  },
3409
- pattern: {
3410
- description: "Background pattern color",
3411
- value: {
3412
- base: mantine.colors.gray[4],
3413
- _dark: alpha(mantine.colors.dark[4], 70)
3414
- }
3467
+ bright: {
3468
+ description: "Bright text color",
3469
+ value: "var(--mantine-color-bright)"
3470
+ },
3471
+ dimmed: {
3472
+ description: "Dimmed text color",
3473
+ value: alpha(mantine.colors.text, 60)
3474
+ },
3475
+ placeholder: {
3476
+ description: "Placeholder text color",
3477
+ value: mantine.colors.placeholder
3415
3478
  }
3416
3479
  },
3417
- mixColor: {
3418
- description: "Color to be used in color-mix",
3419
- value: {
3420
- base: "#000",
3421
- _dark: "#fff"
3480
+ default: {
3481
+ DEFAULT: {
3482
+ description: "Default color",
3483
+ value: mantine.colors.default
3484
+ },
3485
+ color: {
3486
+ description: "Default text color",
3487
+ value: mantine.colors.defaultColor
3488
+ },
3489
+ border: {
3490
+ description: "Default border color",
3491
+ value: mantine.colors.defaultBorder
3492
+ },
3493
+ hover: {
3494
+ description: "Default hover color",
3495
+ value: mantine.colors.defaultHover
3422
3496
  }
3423
3497
  },
3424
- tag: {
3425
- bg: {
3426
- DEFAULT: { value: `{colors.tomato.9}` },
3427
- hover: { value: `{colors.tomato.10}` }
3498
+ disabled: {
3499
+ text: {
3500
+ description: "Disabled text color",
3501
+ value: mantine.colors.disabledText
3428
3502
  },
3429
- border: { value: `{colors.tomato.8}` },
3430
- text: { value: `{colors.tomato.12}` }
3431
- },
3432
- panel: {
3433
- bg: { DEFAULT: {
3434
- description: "LikeC4 panel background color",
3435
- value: {
3436
- base: mantine.colors.body,
3437
- _dark: mantine.colors.dark[6]
3438
- }
3439
- } },
3440
3503
  border: {
3441
- description: "LikeC4 panel border color",
3442
- value: {
3443
- base: "transparent",
3444
- _light: mantine.colors.gray[2]
3445
- }
3504
+ description: "Disabled border color",
3505
+ value: mantine.colors.disabledBorder
3446
3506
  },
3447
- text: {
3507
+ body: {
3508
+ description: "Disabled body color",
3509
+ value: mantine.colors.disabledBody
3510
+ }
3511
+ },
3512
+ likec4: {
3513
+ background: {
3448
3514
  DEFAULT: {
3449
- description: "LikeC4 panel text color",
3450
- value: alpha(mantine.colors.text, 85)
3515
+ description: "Background color",
3516
+ value: mantine.colors.body
3451
3517
  },
3452
- dimmed: {
3453
- description: "LikeC4 panel dimmed text color",
3454
- value: "{colors.text.dimmed}"
3518
+ pattern: {
3519
+ description: "Background pattern color",
3520
+ value: {
3521
+ base: mantine.colors.gray[4],
3522
+ _dark: alpha(mantine.colors.dark[4], 70)
3523
+ }
3455
3524
  }
3456
3525
  },
3457
- action: {
3458
- DEFAULT: {
3459
- description: "LikeC4 panel action text color (Links/Icons)",
3460
- value: alpha(mantine.colors.text, 90)
3461
- },
3462
- disabled: {
3463
- description: "LikeC4 action icon text color when disabled",
3464
- value: "{colors.text.dimmed}"
3526
+ mixColor: {
3527
+ description: "Color to be used in color-mix",
3528
+ value: {
3529
+ base: "#000",
3530
+ _dark: "#fff"
3531
+ }
3532
+ },
3533
+ tag: {
3534
+ bg: {
3535
+ DEFAULT: { value: `{colors.tomato.9}` },
3536
+ hover: { value: `{colors.tomato.10}` }
3465
3537
  },
3466
- hover: {
3467
- description: "LikeC4 panel action text color on hover",
3468
- value: "var(--mantine-color-bright)"
3538
+ border: { value: `{colors.tomato.8}` },
3539
+ text: { value: `{colors.tomato.12}` }
3540
+ },
3541
+ panel: {
3542
+ bg: { DEFAULT: {
3543
+ description: "LikeC4 panel background color",
3544
+ value: {
3545
+ base: mantine.colors.body,
3546
+ _dark: mantine.colors.dark[6]
3547
+ }
3548
+ } },
3549
+ border: {
3550
+ description: "LikeC4 panel border color",
3551
+ value: {
3552
+ base: "transparent",
3553
+ _light: mantine.colors.gray[2]
3554
+ }
3469
3555
  },
3470
- bg: {
3556
+ text: {
3471
3557
  DEFAULT: {
3472
- description: "LikeC4 action icon background color",
3473
- value: {
3474
- base: mantine.colors.gray[1],
3475
- _dark: alpha(mantine.colors.dark[7], 70)
3476
- }
3558
+ description: "LikeC4 panel text color",
3559
+ value: alpha(mantine.colors.text, 85)
3477
3560
  },
3478
- hover: {
3479
- description: "LikeC4 action icon background color on hover",
3480
- value: {
3481
- base: mantine.colors.gray[2],
3482
- _dark: mantine.colors.dark[8]
3483
- }
3561
+ dimmed: {
3562
+ description: "LikeC4 panel dimmed text color",
3563
+ value: "{colors.text.dimmed}"
3484
3564
  }
3485
3565
  },
3486
- warning: {
3566
+ action: {
3487
3567
  DEFAULT: {
3488
- description: "LikeC4 action icon text color",
3489
- value: mantine.colors.orange[6]
3568
+ description: "LikeC4 panel action text color (Links/Icons)",
3569
+ value: alpha(mantine.colors.text, 90)
3570
+ },
3571
+ disabled: {
3572
+ description: "LikeC4 action icon text color when disabled",
3573
+ value: "{colors.text.dimmed}"
3490
3574
  },
3491
3575
  hover: {
3492
- description: "LikeC4 action icon text color on hover",
3493
- value: {
3494
- base: mantine.colors.orange[7],
3495
- _dark: mantine.colors.orange[5]
3496
- }
3576
+ description: "LikeC4 panel action text color on hover",
3577
+ value: "var(--mantine-color-bright)"
3497
3578
  },
3498
3579
  bg: {
3499
3580
  DEFAULT: {
3500
3581
  description: "LikeC4 action icon background color",
3501
3582
  value: {
3502
- base: alpha(mantine.colors.orange[1], 90),
3503
- _dark: alpha(mantine.colors.orange[9], 10)
3583
+ base: mantine.colors.gray[1],
3584
+ _dark: alpha(mantine.colors.dark[7], 70)
3504
3585
  }
3505
3586
  },
3506
3587
  hover: {
3507
3588
  description: "LikeC4 action icon background color on hover",
3508
3589
  value: {
3509
- base: alpha(mantine.colors.orange[3], 70),
3510
- _dark: alpha(mantine.colors.orange[9], 20)
3590
+ base: mantine.colors.gray[2],
3591
+ _dark: mantine.colors.dark[8]
3592
+ }
3593
+ }
3594
+ },
3595
+ warning: {
3596
+ DEFAULT: {
3597
+ description: "LikeC4 action icon text color",
3598
+ value: mantine.colors.orange[6]
3599
+ },
3600
+ hover: {
3601
+ description: "LikeC4 action icon text color on hover",
3602
+ value: {
3603
+ base: mantine.colors.orange[7],
3604
+ _dark: mantine.colors.orange[5]
3605
+ }
3606
+ },
3607
+ bg: {
3608
+ DEFAULT: {
3609
+ description: "LikeC4 action icon background color",
3610
+ value: {
3611
+ base: alpha(mantine.colors.orange[1], 90),
3612
+ _dark: alpha(mantine.colors.orange[9], 10)
3613
+ }
3614
+ },
3615
+ hover: {
3616
+ description: "LikeC4 action icon background color on hover",
3617
+ value: {
3618
+ base: alpha(mantine.colors.orange[3], 70),
3619
+ _dark: alpha(mantine.colors.orange[9], 20)
3620
+ }
3511
3621
  }
3512
3622
  }
3513
3623
  }
3514
3624
  }
3515
- }
3516
- },
3517
- dropdown: {
3518
- bg: { DEFAULT: {
3519
- description: "LikeC4 dropdown background color",
3520
- value: {
3521
- base: `#FFF`,
3522
- _dark: mantine.colors.dark[6]
3625
+ },
3626
+ dropdown: {
3627
+ bg: { DEFAULT: {
3628
+ description: "LikeC4 dropdown background color",
3629
+ value: {
3630
+ base: `#FFF`,
3631
+ _dark: mantine.colors.dark[6]
3632
+ }
3633
+ } },
3634
+ border: {
3635
+ description: "LikeC4 dropdown border color",
3636
+ value: "{colors.likec4.panel.border}"
3523
3637
  }
3524
- } },
3525
- border: {
3526
- description: "LikeC4 dropdown border color",
3527
- value: "{colors.likec4.panel.border}"
3528
- }
3529
- },
3530
- overlay: {
3531
- backdrop: { DEFAULT: {
3532
- description: "LikeC4 overlay backdrop color",
3533
- value: {
3534
- base: `rgb(15 15 15)`,
3535
- _dark: `rgb(34 34 34)`
3638
+ },
3639
+ overlay: {
3640
+ backdrop: { DEFAULT: {
3641
+ description: "LikeC4 overlay backdrop color",
3642
+ value: {
3643
+ base: `rgb(15 15 15)`,
3644
+ _dark: `rgb(34 34 34)`
3645
+ }
3646
+ } },
3647
+ body: { DEFAULT: {
3648
+ description: "LikeC4 overlay body color",
3649
+ value: {
3650
+ base: mantine.colors.body,
3651
+ _dark: mantine.colors.dark[6]
3652
+ }
3653
+ } },
3654
+ border: {
3655
+ description: "LikeC4 overlay border color",
3656
+ value: alpha(mantine.colors.defaultBorder, 50)
3536
3657
  }
3537
- } },
3538
- body: { DEFAULT: {
3539
- description: "LikeC4 overlay body color",
3658
+ },
3659
+ walkthrough: { parallelFrame: {
3660
+ description: "LikeC4 walkthrough parallel frame color",
3540
3661
  value: {
3541
- base: mantine.colors.body,
3542
- _dark: mantine.colors.dark[6]
3662
+ _light: mantine.colors.orange[8],
3663
+ _dark: mantine.colors.orange[6]
3543
3664
  }
3544
3665
  } },
3545
- border: {
3546
- description: "LikeC4 overlay border color",
3547
- value: alpha(mantine.colors.defaultBorder, 50)
3548
- }
3549
- },
3550
- compare: {
3551
- manual: {
3552
- DEFAULT: {
3553
- description: "LikeC4 Compare color for manual changes",
3554
- value: {
3555
- _light: mantine.colors.orange[8],
3556
- _dark: mantine.colors.orange[6]
3666
+ compare: {
3667
+ manual: {
3668
+ DEFAULT: {
3669
+ description: "LikeC4 Compare color for manual changes",
3670
+ value: {
3671
+ _light: mantine.colors.orange[8],
3672
+ _dark: mantine.colors.orange[6]
3673
+ }
3674
+ },
3675
+ outline: {
3676
+ description: "LikeC4 Compare color for outline around nodes with manual changes",
3677
+ value: {
3678
+ _light: mantine.colors.orange[8],
3679
+ _dark: alpha(mantine.colors.orange[6], 80)
3680
+ }
3557
3681
  }
3558
3682
  },
3559
- outline: {
3560
- description: "LikeC4 Compare color for outline around nodes with manual changes",
3561
- value: {
3562
- _light: mantine.colors.orange[8],
3563
- _dark: alpha(mantine.colors.orange[6], 80)
3564
- }
3683
+ latest: {
3684
+ description: "LikeC4 Compare color for latest changes",
3685
+ value: mantine.colors.green[6]
3565
3686
  }
3566
- },
3567
- latest: {
3568
- description: "LikeC4 Compare color for latest changes",
3569
- value: mantine.colors.green[6]
3570
3687
  }
3571
3688
  }
3572
- } });
3573
-
3574
- //#endregion
3575
- //#region ../preset/src/tokens-semantic.ts
3576
- const semanticTokens = defineSemanticTokens({ colors: colors$1 });
3577
-
3578
- //#endregion
3579
- //#region ../preset/src/tokens.colors.ts
3689
+ }) });
3580
3690
  const colors = defineTokens.colors({
3581
3691
  mantine: tokens$1.colors.mantine,
3582
3692
  transparent: { value: "transparent" },
3583
3693
  none: { value: "none" },
3584
- text: {
3585
- DEFAULT: {
3586
- description: "Default text color",
3587
- value: mantine.colors.text
3588
- },
3589
- dimmed: {
3590
- description: "Dimmed text color",
3591
- value: mantine.colors.dimmed
3592
- }
3593
- }
3694
+ inherit: { value: "inherit" }
3594
3695
  });
3595
-
3596
- //#endregion
3597
- //#region ../preset/src/tokens.ts
3598
3696
  const tokens = defineTokens({
3599
3697
  fontSizes: {
3600
3698
  "xxs": { value: "10px" },
@@ -3624,7 +3722,14 @@ const tokens = defineTokens({
3624
3722
  borders: {
3625
3723
  none: { value: "none" },
3626
3724
  transparent: { value: "0px solid transparent" },
3627
- default: { value: `1px solid ${mantine.colors.defaultBorder}` }
3725
+ default: { value: `1px solid {colors.default.border}` }
3726
+ },
3727
+ borderWidths: {
3728
+ "0": { value: "0px" },
3729
+ "1": { value: "1px" },
3730
+ "2": { value: "2px" },
3731
+ "3": { value: "3px" },
3732
+ "4": { value: "4px" }
3628
3733
  },
3629
3734
  spacing: {
3630
3735
  "0": {
@@ -3782,7 +3887,11 @@ const tokens = defineTokens({
3782
3887
  "1": { value: "1" },
3783
3888
  likec4: {
3784
3889
  diagram: {
3785
- edge: { value: "20" },
3890
+ edge: {
3891
+ DEFAULT: { value: "20" },
3892
+ label: { value: "25" },
3893
+ controlPoint: { value: "30" }
3894
+ },
3786
3895
  node: {
3787
3896
  compound: { value: "10" },
3788
3897
  element: { value: "40" }
@@ -3796,9 +3905,6 @@ const tokens = defineTokens({
3796
3905
  }
3797
3906
  }
3798
3907
  });
3799
-
3800
- //#endregion
3801
- //#region ../preset/src/utilities.ts
3802
3908
  const durationValues = [
3803
3909
  "fastest",
3804
3910
  "faster",
@@ -3809,18 +3915,18 @@ const durationValues = [
3809
3915
  "slowest",
3810
3916
  "none"
3811
3917
  ];
3812
- const utilities = { extend: { transition: {
3918
+ const utilities = { extend: { transition: defineUtility({
3813
3919
  values: durationValues,
3814
3920
  className: "transition",
3815
3921
  transform(value, { token }) {
3816
3922
  if (value === "none") return { transition: "none" };
3817
3923
  if (!durationValues.includes(value)) return { transition: value };
3818
- return { transition: `all ${token.raw(`durations.${value}`).value} ${token.raw("easings.inOut").value}` };
3924
+ return {
3925
+ transitionDuration: token(`durations.${value}`),
3926
+ transitionTimingFunction: token("easings.inOut")
3927
+ };
3819
3928
  }
3820
- } } };
3821
-
3822
- //#endregion
3823
- //#region ../preset/src/index.ts
3929
+ }) } };
3824
3930
  const theme = {
3825
3931
  breakpoints,
3826
3932
  textStyles,
@@ -3850,6 +3956,4 @@ var src_default = /* @__PURE__ */ definePreset({
3850
3956
  utilities,
3851
3957
  theme: { extend: theme }
3852
3958
  });
3853
-
3854
- //#endregion
3855
- export { src_default as default, theme };
3959
+ export { src_default as default, theme };