@likec4/styles 1.45.0 → 1.46.1

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/preset.mjs CHANGED
@@ -4744,9 +4744,9 @@ const paletteGlobalVars = {
4744
4744
  "--likec4-palette-stroke": "#2563eb",
4745
4745
  "--likec4-palette-hiContrast": "#eff6ff",
4746
4746
  "--likec4-palette-loContrast": "#bfdbfe",
4747
- "--likec4-palette-relation-stroke": "#6E6E6E",
4748
- "--likec4-palette-relation-label": "#C6C6C6",
4749
- "--likec4-palette-relation-label-bg": "#18191b"
4747
+ "--likec4-palette-relation-stroke": "#8D8D8D",
4748
+ "--likec4-palette-relation-label": "#C9C9C9",
4749
+ "--likec4-palette-relation-label-bg": "#18191B"
4750
4750
  };
4751
4751
  const mantine = {
4752
4752
  colors: {
@@ -4754,6 +4754,7 @@ const mantine = {
4754
4754
  black: "var(--mantine-color-black)",
4755
4755
  text: "var(--mantine-color-text)",
4756
4756
  body: "var(--mantine-color-body)",
4757
+ anchor: "var(--mantine-color-anchor)",
4757
4758
  defaultBorder: "var(--mantine-color-default-border)",
4758
4759
  dimmed: "var(--mantine-color-dimmed)",
4759
4760
  dark: {
@@ -4902,7 +4903,6 @@ const globalCss = {
4902
4903
  height: "75%"
4903
4904
  },
4904
4905
  "& .react-flow": {
4905
- contain: "paint layout",
4906
4906
  "--xy-background-color": "var(--colors-likec4-background)",
4907
4907
  "--xy-background-pattern-color": "var(--colors-likec4-background-pattern, var(--colors-likec4-background))",
4908
4908
  "&:is(.not-initialized)": {
@@ -4920,6 +4920,16 @@ const globalCss = {
4920
4920
  },
4921
4921
  "& .react-flow__node.draggable:has(.likec4-compound-node)": {
4922
4922
  cursor: "default"
4923
+ },
4924
+ "& .likec4-node-handle-center": {
4925
+ top: "50%!",
4926
+ left: "50%!",
4927
+ right: "unset!",
4928
+ bottom: "unset!",
4929
+ visibility: "hidden!",
4930
+ width: "5px!",
4931
+ height: "5px!",
4932
+ transform: "translate(-50%, -50%)!"
4923
4933
  }
4924
4934
  },
4925
4935
  "& :where(.react-flow__node, .react-flow__edge):has([data-likec4-dimmed])": {
@@ -4938,8 +4948,8 @@ const globalCss = {
4938
4948
  "--xy-edge-label-background-color": "color-mix(in oklab, var(--likec4-palette-relation-label-bg) 50%, transparent)"
4939
4949
  },
4940
4950
  _light: {
4941
- "--xy-edge-label-color": "color-mix(in oklab, var(--likec4-palette-relation-label), rgba(255 255 255 / 0.85) 40%)",
4942
- "--xy-edge-label-background-color": "color-mix(in oklab, var(--likec4-palette-relation-label-bg) 60%, transparent)"
4951
+ "--xy-edge-label-color": "color-mix(in oklab, var(--likec4-palette-relation-label), #FFF 50%)",
4952
+ "--xy-edge-label-background-color": "color-mix(in oklab, var(--likec4-palette-relation-label-bg) 65%, transparent)"
4943
4953
  },
4944
4954
  '&:is([data-likec4-hovered="true"], [data-edge-active="true"])': {
4945
4955
  "--xy-edge-stroke-width": 4,
@@ -4966,18 +4976,24 @@ const globalCss = {
4966
4976
  transitionTimingFunction: "cubic-bezier(0.50, 0, 0.2, 1)",
4967
4977
  transitionDuration: "400ms"
4968
4978
  },
4969
- "& :where(.react-flow__edges, .react-flow__edgelabel-renderer) > :where(svg, .likec4-edge-label-container)": {
4979
+ "& :where(.react-flow__edgelabel-renderer) > *": {
4980
+ mixBlendMode: {
4981
+ _dark: "screen",
4982
+ _light: "hard-light",
4983
+ _print: "normal!"
4984
+ }
4985
+ },
4986
+ "& :where(.react-flow__edges) > svg": {
4970
4987
  mixBlendMode: {
4971
4988
  _dark: "plus-lighter",
4972
- _light: "screen",
4989
+ _light: "multiply",
4973
4990
  _print: "normal!"
4974
4991
  }
4975
4992
  },
4976
4993
  "&:has(.react-flow__node-seq-parallel) :where(.react-flow__edges > svg)": {
4977
4994
  mixBlendMode: {
4978
4995
  // _dark: 'plus-lighter',
4979
- _light: "color-burn",
4980
- _print: "normal!"
4996
+ _light: "color-burn"
4981
4997
  }
4982
4998
  },
4983
4999
  "& .react-flow__node-seq-parallel": {
@@ -5033,29 +5049,59 @@ const layerStyles = defineLayerStyles({
5033
5049
  boxShadow: "lg",
5034
5050
  borderRadius: "md",
5035
5051
  paddingInline: "2"
5036
- },
5037
- _whenPanning: {
5038
- boxShadow: "none",
5039
- borderRadius: "0"
5040
5052
  }
5041
5053
  }
5042
5054
  },
5043
5055
  action: {
5044
- description: "LikeC4 panel action layer",
5045
- value: {
5046
- color: {
5047
- base: "likec4.panel.action",
5048
- _notDisabled: {
5049
- _hover: "likec4.panel.action.hover"
5056
+ DEFAULT: {
5057
+ description: "LikeC4 panel action layer",
5058
+ value: {
5059
+ color: {
5060
+ base: "likec4.panel.action",
5061
+ _disabled: "likec4.panel.action.disabled",
5062
+ _notDisabled: {
5063
+ _hover: "likec4.panel.action.hover"
5064
+ }
5065
+ },
5066
+ cursor: {
5067
+ base: "pointer",
5068
+ _disabled: "not-allowed"
5069
+ },
5070
+ paddingInline: "xxs",
5071
+ paddingBlock: "xxs",
5072
+ border: "transparent",
5073
+ borderRadius: "sm",
5074
+ backgroundColor: {
5075
+ _notDisabled: {
5076
+ _hover: "likec4.panel.action.bg.hover"
5077
+ }
5050
5078
  }
5051
- },
5052
- cursor: "pointer",
5053
- border: "transparent",
5054
- borderRadius: "sm",
5055
- backgroundColor: {
5056
- base: "likec4.panel.action.bg",
5057
- _notDisabled: {
5058
- _hover: "likec4.panel.action.bg.hover"
5079
+ }
5080
+ },
5081
+ filled: {
5082
+ description: "LikeC4 action panel filled layer",
5083
+ value: {
5084
+ color: {
5085
+ base: "likec4.panel.action",
5086
+ _disabled: "likec4.panel.action.disabled",
5087
+ _notDisabled: {
5088
+ _hover: "likec4.panel.action.hover"
5089
+ }
5090
+ },
5091
+ cursor: {
5092
+ base: "pointer",
5093
+ _disabled: "not-allowed"
5094
+ },
5095
+ paddingInline: "xxs",
5096
+ paddingBlock: "xxs",
5097
+ border: "transparent",
5098
+ borderRadius: "sm",
5099
+ backgroundColor: {
5100
+ base: "likec4.panel.action.bg",
5101
+ _disabled: "likec4.panel.action.bg",
5102
+ _notDisabled: {
5103
+ _hover: "likec4.panel.action.bg.hover"
5104
+ }
5059
5105
  }
5060
5106
  }
5061
5107
  }
@@ -5068,12 +5114,7 @@ const layerStyles = defineLayerStyles({
5068
5114
  backgroundColor: "likec4.dropdown.bg",
5069
5115
  border: "1px solid {colors.likec4.dropdown.border}",
5070
5116
  boxShadow: "lg",
5071
- borderRadius: "md",
5072
- _whenPanning: {
5073
- boxShadow: "none",
5074
- borderRadius: "0px",
5075
- borderColor: "transparent"
5076
- }
5117
+ borderRadius: "md"
5077
5118
  }
5078
5119
  }
5079
5120
  }
@@ -5199,7 +5240,7 @@ const compoundColor = {
5199
5240
  var: "--_compound-color",
5200
5241
  ref: "var(--_compound-color)"
5201
5242
  };
5202
- const parts$3 = defineParts({
5243
+ const parts$4 = defineParts({
5203
5244
  root: { selector: "&" },
5204
5245
  titleContainer: { selector: "& .likec4-compound-title-container" },
5205
5246
  title: { selector: "& .likec4-compound-title" },
@@ -5211,7 +5252,7 @@ const parts$3 = defineParts({
5211
5252
  const iconSize = "20px";
5212
5253
  const compoundNode = defineRecipe({
5213
5254
  className: "likec4-compound-node",
5214
- base: parts$3({
5255
+ base: parts$4({
5215
5256
  root: {
5216
5257
  position: "relative",
5217
5258
  width: "100%",
@@ -5362,7 +5403,7 @@ const compoundNode = defineRecipe({
5362
5403
  }),
5363
5404
  variants: {
5364
5405
  isTransparent: {
5365
- false: parts$3({
5406
+ false: parts$4({
5366
5407
  root: {
5367
5408
  boxShadow: {
5368
5409
  _noReduceGraphics: "0 4px 10px 0.5px rgb(0 0 0/10%) , 0 2px 2px -1px rgb(0 0 0/40%)",
@@ -5373,7 +5414,7 @@ const compoundNode = defineRecipe({
5373
5414
  borderColor: "var(--likec4-palette-stroke)"
5374
5415
  }
5375
5416
  }),
5376
- true: parts$3({
5417
+ true: parts$4({
5377
5418
  root: {
5378
5419
  backgroundColor: `color-mix(in oklab, var(--likec4-palette-fill) ${compoundTransparency.ref}, transparent)`,
5379
5420
  borderColor: `color-mix(in oklab, var(--likec4-palette-stroke) ${borderTransparency.ref}, transparent)`
@@ -5382,7 +5423,7 @@ const compoundNode = defineRecipe({
5382
5423
  },
5383
5424
  // When the compound node is too transparent, the text color should be inverted
5384
5425
  inverseColor: {
5385
- true: parts$3({
5426
+ true: parts$4({
5386
5427
  root: {
5387
5428
  [compoundColor.var]: {
5388
5429
  base: "var(--likec4-palette-stroke)",
@@ -5405,22 +5446,22 @@ const compoundNode = defineRecipe({
5405
5446
  false: {}
5406
5447
  },
5407
5448
  borderStyle: {
5408
- solid: parts$3({
5449
+ solid: parts$4({
5409
5450
  root: {
5410
5451
  borderStyle: "solid"
5411
5452
  }
5412
5453
  }),
5413
- dashed: parts$3({
5454
+ dashed: parts$4({
5414
5455
  root: {
5415
5456
  borderStyle: "dashed"
5416
5457
  }
5417
5458
  }),
5418
- dotted: parts$3({
5459
+ dotted: parts$4({
5419
5460
  root: {
5420
5461
  borderStyle: "dotted"
5421
5462
  }
5422
5463
  }),
5423
- none: parts$3({
5464
+ none: parts$4({
5424
5465
  root: {
5425
5466
  // We still need to have a border for consistent internal coordinates
5426
5467
  // So we use a transparent border and extend background
@@ -5482,6 +5523,217 @@ const edgeActionBtn = defineRecipe({
5482
5523
  conditions: ["*"]
5483
5524
  }]
5484
5525
  });
5526
+ const parts$3 = defineParts({
5527
+ root: { selector: "&" },
5528
+ stepNumber: { selector: "& .likec4-edge-label__step-number" },
5529
+ contents: { selector: "& .likec4-edge-label__contents" },
5530
+ label: { selector: "& .likec4-edge-label__text" },
5531
+ technology: { selector: "& .likec4-edge-label__technology" }
5532
+ });
5533
+ const edgeLabel = defineRecipe({
5534
+ className: "likec4-edge-label",
5535
+ jsx: [],
5536
+ base: parts$3({
5537
+ root: {
5538
+ fontFamily: "likec4.relation",
5539
+ paddingBlock: "1",
5540
+ paddingInline: "1.5",
5541
+ display: "flex",
5542
+ flexDirection: "column",
5543
+ alignItems: "center",
5544
+ width: "max-content",
5545
+ maxWidth: "100%",
5546
+ gap: "0.5",
5547
+ color: "var(--xy-edge-label-color)",
5548
+ background: "var(--xy-edge-label-background-color)",
5549
+ border: "0px solid transparent",
5550
+ borderRadius: "4px"
5551
+ },
5552
+ stepNumber: {
5553
+ alignSelf: "stretch",
5554
+ flex: "0 0 auto",
5555
+ fontWeight: 600,
5556
+ fontSize: "14px",
5557
+ padding: "1",
5558
+ textAlign: "center",
5559
+ minWidth: "22px",
5560
+ borderTopLeftRadius: "4px",
5561
+ borderBottomLeftRadius: "4px",
5562
+ _only: {
5563
+ borderRadius: "4px",
5564
+ minWidth: "24px"
5565
+ },
5566
+ background: `[color-mix(in oklab, var(--likec4-palette-relation-label-bg), {colors.likec4.mixColor} 10%)]`,
5567
+ fontVariantNumeric: "tabular-nums",
5568
+ // _dark: {
5569
+ [':where([data-likec4-color="gray"]) &']: {
5570
+ _dark: {
5571
+ background: `[color-mix(in oklab, var(--likec4-palette-relation-label-bg), {colors.likec4.mixColor} 15%)]`
5572
+ }
5573
+ }
5574
+ },
5575
+ contents: {
5576
+ display: "contents",
5577
+ _empty: {
5578
+ display: "none !important"
5579
+ }
5580
+ },
5581
+ label: {
5582
+ whiteSpaceCollapse: "preserve-breaks",
5583
+ fontSize: "14px",
5584
+ lineHeight: "1.2",
5585
+ margin: "0"
5586
+ },
5587
+ technology: {
5588
+ textAlign: "center",
5589
+ whiteSpaceCollapse: "preserve-breaks",
5590
+ fontSize: "11px",
5591
+ lineHeight: "1",
5592
+ opacity: 0.75
5593
+ }
5594
+ }),
5595
+ variants: {
5596
+ pointerEvents: {
5597
+ none: parts$3({
5598
+ root: {
5599
+ pointerEvents: "none"
5600
+ }
5601
+ }),
5602
+ all: parts$3({
5603
+ root: {
5604
+ pointerEvents: "all"
5605
+ }
5606
+ })
5607
+ },
5608
+ cursor: {
5609
+ pointer: parts$3({
5610
+ root: {
5611
+ cursor: "pointer"
5612
+ }
5613
+ }),
5614
+ default: parts$3({
5615
+ root: {
5616
+ cursor: "default"
5617
+ }
5618
+ })
5619
+ },
5620
+ isStepEdge: {
5621
+ false: {},
5622
+ true: parts$3({
5623
+ root: {
5624
+ flexDirection: "row",
5625
+ gap: "1",
5626
+ padding: "0"
5627
+ },
5628
+ contents: {
5629
+ display: "flex",
5630
+ flexDirection: "column",
5631
+ alignItems: "center",
5632
+ paddingTop: "0.5",
5633
+ paddingRight: "1",
5634
+ paddingBottom: "1",
5635
+ gap: "0.5"
5636
+ },
5637
+ label: {
5638
+ py: "0.5",
5639
+ paddingRight: "0.5"
5640
+ }
5641
+ })
5642
+ }
5643
+ },
5644
+ defaultVariants: {
5645
+ pointerEvents: "all",
5646
+ isStepEdge: false,
5647
+ cursor: "default"
5648
+ },
5649
+ staticCss: [{
5650
+ conditions: ["*"],
5651
+ isStepEdge: ["*"],
5652
+ cursor: ["*"],
5653
+ pointerEvents: ["*"]
5654
+ }]
5655
+ });
5656
+ const edgePath = defineSlotRecipe({
5657
+ description: "Recipe for Edge Path",
5658
+ slots: ["path", "pathBg", "markersCtx", "middlePoint"],
5659
+ className: "likec4-edge",
5660
+ jsx: [],
5661
+ base: {
5662
+ path: {
5663
+ fill: "none",
5664
+ strokeDashoffset: 0,
5665
+ _noReduceGraphics: {
5666
+ animationStyle: "xyedgeAnimated",
5667
+ animationPlayState: "paused",
5668
+ transition: "stroke 130ms ease-out,stroke-width 130ms ease-out"
5669
+ },
5670
+ [`:where([data-edge-dir='back']) &`]: {
5671
+ animationDirection: "reverse"
5672
+ },
5673
+ _whenHovered: {
5674
+ _noReduceGraphics: {
5675
+ animationPlayState: "running",
5676
+ animationDelay: "450ms"
5677
+ }
5678
+ },
5679
+ [`:where(.selected, [data-edge-active='true'], [data-edge-animated='true']) &`]: {
5680
+ _noReduceGraphics: {
5681
+ animationPlayState: "running",
5682
+ animationDelay: "0ms"
5683
+ }
5684
+ },
5685
+ _whenDimmed: {
5686
+ animationPlayState: "paused"
5687
+ },
5688
+ _smallZoom: {
5689
+ animationName: "none"
5690
+ },
5691
+ _whenPanning: {
5692
+ strokeDasharray: "none !important",
5693
+ animationPlayState: "paused"
5694
+ }
5695
+ },
5696
+ pathBg: {
5697
+ pointerEvents: "none",
5698
+ fill: "none",
5699
+ strokeWidth: "calc(var(--xy-edge-stroke-width) + 2)",
5700
+ strokeOpacity: 0.08,
5701
+ _noReduceGraphics: {
5702
+ transitionProperty: "stroke-width, stroke-opacity",
5703
+ transitionDuration: "fast",
5704
+ transitionTimingFunction: "inOut"
5705
+ },
5706
+ _whenHovered: {
5707
+ transitionTimingFunction: "out",
5708
+ strokeWidth: "calc(var(--xy-edge-stroke-width) + 4)",
5709
+ strokeOpacity: 0.2
5710
+ },
5711
+ _whenSelected: {
5712
+ strokeWidth: "calc(var(--xy-edge-stroke-width) + 6)",
5713
+ strokeOpacity: 0.25,
5714
+ _whenHovered: {
5715
+ strokeOpacity: 0.4
5716
+ }
5717
+ }
5718
+ },
5719
+ // To fix issue with marker not inheriting color from path - we need to create container
5720
+ markersCtx: {
5721
+ fill: "[var(--xy-edge-stroke)]",
5722
+ stroke: "[var(--xy-edge-stroke)]"
5723
+ },
5724
+ middlePoint: {
5725
+ visibility: "hidden",
5726
+ offsetDistance: "50%",
5727
+ cx: 0,
5728
+ cy: 0,
5729
+ r: 4,
5730
+ pointerEvents: "none"
5731
+ }
5732
+ },
5733
+ staticCss: [{
5734
+ conditions: ["*"]
5735
+ }]
5736
+ });
5485
5737
  const parts$2 = defineParts({
5486
5738
  root: { selector: "&" },
5487
5739
  icon: { selector: "& [data-likec4-icon]" },
@@ -5631,6 +5883,9 @@ const elementNodeData = defineRecipe({
5631
5883
  },
5632
5884
  "& a": {
5633
5885
  pointerEvents: "all"
5886
+ },
5887
+ "& .markdown-alert": {
5888
+ mixBlendMode: "screen"
5634
5889
  }
5635
5890
  },
5636
5891
  technology: {
@@ -5910,6 +6165,32 @@ const markdownBlock = defineRecipe({
5910
6165
  base: mantine.colors.black,
5911
6166
  _dark: mantine.colors.white
5912
6167
  },
6168
+ _dark: {
6169
+ "--color-border-default": "#30363d",
6170
+ "--color-accent-fg": "#58a6ff",
6171
+ "--color-accent-emphasis": "#1f6feb",
6172
+ "--color-danger-fg": "#f85149",
6173
+ "--color-danger-emphasis": "#da3633",
6174
+ "--color-attention-fg": "#d29922",
6175
+ "--color-attention-emphasis": "#9e6a03",
6176
+ "--color-done-fg": "#a371f7",
6177
+ "--color-done-emphasis": "#8957e5",
6178
+ "--color-success-fg": "#3fb950",
6179
+ "--color-success-emphasis": "#238636"
6180
+ },
6181
+ _light: {
6182
+ "--color-border-default": "#d0d7de",
6183
+ "--color-accent-fg": "#0969da",
6184
+ "--color-accent-emphasis": "#0969da",
6185
+ "--color-danger-fg": "#d1242f",
6186
+ "--color-danger-emphasis": "#cf222e",
6187
+ "--color-attention-fg": "#9a6700",
6188
+ "--color-attention-emphasis": "#9a6700",
6189
+ "--color-done-fg": "#8250df",
6190
+ "--color-done-emphasis": "#8250df",
6191
+ "--color-success-fg": "#1a7f37",
6192
+ "--color-success-emphasis": "#1f883d"
6193
+ },
5913
6194
  fontSize: "var(--text-fz-md)",
5914
6195
  lineHeight: "var(--mantine-line-height)",
5915
6196
  "& :first-child": {
@@ -5974,12 +6255,12 @@ const markdownBlock = defineRecipe({
5974
6255
  color: "inherit",
5975
6256
  _dark: {
5976
6257
  backgroundColor: mantine.colors.yellow[5],
5977
- color: "var(--mantine-color-black)"
6258
+ color: mantine.colors.black
5978
6259
  }
5979
6260
  },
5980
6261
  "& :where(a)": {
5981
6262
  fontSize: "var(--text-fz-md)",
5982
- color: "var(--mantine-color-anchor)",
6263
+ color: mantine.colors.anchor,
5983
6264
  textDecoration: "none",
5984
6265
  fontWeight: "500",
5985
6266
  _hover: {
@@ -6083,6 +6364,74 @@ const markdownBlock = defineRecipe({
6083
6364
  "&:not(:first-child)": {
6084
6365
  marginTop: "var(--typography-spacing)"
6085
6366
  }
6367
+ },
6368
+ "& .markdown-alert": {
6369
+ borderLeft: ".25em solid var(--borderColor-default, var(--color-border-default))",
6370
+ color: "inherit",
6371
+ marginBottom: "calc(var(--typography-spacing) * 1.5)",
6372
+ paddingLeft: "1em",
6373
+ paddingRight: ".5em",
6374
+ "&:last-child": {
6375
+ marginBottom: "0!important"
6376
+ },
6377
+ "& .markdown-alert-title": {
6378
+ alignItems: "center",
6379
+ display: "flex",
6380
+ fontSize: "var(--text-fz-md)",
6381
+ fontWeight: "500",
6382
+ lineHeight: "1.5",
6383
+ marginBottom: "0.1em",
6384
+ gap: "2"
6385
+ },
6386
+ "& .markdown-alert-title svg": {
6387
+ height: "var(--text-fz-md)",
6388
+ fill: "currentColor"
6389
+ },
6390
+ "&.markdown-alert-note": {
6391
+ borderLeftColor: "var(--borderColor-accent-emphasis,var(--color-accent-emphasis))"
6392
+ },
6393
+ "&.markdown-alert-note .markdown-alert-title": {
6394
+ color: [
6395
+ "var(--color-accent-fg)",
6396
+ "var(--fgColor-accent,var(--color-accent-fg))"
6397
+ ]
6398
+ },
6399
+ "&.markdown-alert-tip": {
6400
+ borderLeftColor: "var(--borderColor-success-emphasis,var(--color-success-emphasis))"
6401
+ },
6402
+ "&.markdown-alert-tip .markdown-alert-title": {
6403
+ color: [
6404
+ "var(--color-success-fg)",
6405
+ "var(--fgColor-success,var(--color-success-fg))"
6406
+ ]
6407
+ },
6408
+ "&.markdown-alert-important": {
6409
+ borderLeftColor: "var(--borderColor-done-emphasis,var(--color-done-emphasis))"
6410
+ },
6411
+ "&.markdown-alert-important .markdown-alert-title": {
6412
+ color: [
6413
+ "var(--color-done-fg)",
6414
+ "var(--fgColor-done,var(--color-done-fg))"
6415
+ ]
6416
+ },
6417
+ "&.markdown-alert-warning": {
6418
+ borderLeftColor: "var(--borderColor-attention-emphasis,var(--color-attention-emphasis))"
6419
+ },
6420
+ "&.markdown-alert-warning .markdown-alert-title": {
6421
+ color: [
6422
+ "var(--color-attention-fg)",
6423
+ "var(--fgColor-attention,var(--color-attention-fg))"
6424
+ ]
6425
+ },
6426
+ "&.markdown-alert-caution": {
6427
+ borderLeftColor: "var(--borderColor-danger-emphasis,var(--color-danger-emphasis))"
6428
+ },
6429
+ "&.markdown-alert-caution .markdown-alert-title": {
6430
+ color: [
6431
+ "var(--color-danger-fg)",
6432
+ "var(--fgColor-danger,var(--color-danger-fg))"
6433
+ ]
6434
+ }
6086
6435
  }
6087
6436
  },
6088
6437
  variants: {
@@ -6320,6 +6669,8 @@ const recipes = {
6320
6669
  actionBtn,
6321
6670
  compoundNode,
6322
6671
  edgeActionBtn,
6672
+ edgeLabel,
6673
+ edgePath,
6323
6674
  elementNodeData,
6324
6675
  elementShapeRecipe,
6325
6676
  likec4tag,
@@ -6332,6 +6683,16 @@ function mixTransparent(color, percentage = 50) {
6332
6683
  }
6333
6684
  const semanticTokens = defineSemanticTokens({
6334
6685
  colors: {
6686
+ text: {
6687
+ DEFAULT: {
6688
+ description: "Default text color",
6689
+ value: mantine.colors.text
6690
+ },
6691
+ dimmed: {
6692
+ description: "Dimmed text color",
6693
+ value: mantine.colors.dimmed
6694
+ }
6695
+ },
6335
6696
  likec4: {
6336
6697
  background: {
6337
6698
  DEFAULT: {
@@ -6379,7 +6740,7 @@ const semanticTokens = defineSemanticTokens({
6379
6740
  description: "LikeC4 panel border color",
6380
6741
  value: {
6381
6742
  base: "transparent",
6382
- _light: mixTransparent(mantine.colors.defaultBorder, 30)
6743
+ _light: mantine.colors.gray[2]
6383
6744
  }
6384
6745
  },
6385
6746
  text: {
@@ -6500,7 +6861,7 @@ const semanticTokens = defineSemanticTokens({
6500
6861
  outline: {
6501
6862
  value: {
6502
6863
  _light: mantine.colors.orange[8],
6503
- _dark: mantine.colors.orange[6]
6864
+ _dark: mixTransparent(mantine.colors.orange[6], 80)
6504
6865
  }
6505
6866
  }
6506
6867
  },
@@ -6512,129 +6873,6 @@ const semanticTokens = defineSemanticTokens({
6512
6873
  }
6513
6874
  }
6514
6875
  });
6515
- const edgeLabel = defineSlotRecipe({
6516
- className: "likec4-edge-label",
6517
- slots: ["root", "stepNumber", "labelContents", "labelText", "labelTechnology"],
6518
- base: {
6519
- root: {
6520
- fontFamily: "likec4.relation",
6521
- paddingBlock: "1",
6522
- paddingInline: "1.5",
6523
- display: "flex",
6524
- flexDirection: "column",
6525
- alignItems: "center",
6526
- width: "max-content",
6527
- lineHeight: "[1.2]",
6528
- maxWidth: "100%",
6529
- gap: "0.5",
6530
- color: "var(--xy-edge-label-color)",
6531
- background: "var(--xy-edge-label-background-color)",
6532
- border: "0px solid transparent",
6533
- borderRadius: "4px"
6534
- },
6535
- stepNumber: {
6536
- alignSelf: "stretch",
6537
- flex: "0 0 auto",
6538
- fontWeight: 600,
6539
- fontSize: "14px",
6540
- padding: "1",
6541
- textAlign: "center",
6542
- minWidth: "22px",
6543
- borderTopLeftRadius: "4px",
6544
- borderBottomLeftRadius: "4px",
6545
- _only: {
6546
- borderRadius: "4px",
6547
- minWidth: "24px"
6548
- },
6549
- background: `[color-mix(in oklab, var(--likec4-palette-relation-label-bg), {colors.likec4.mixColor} 10%)]`,
6550
- fontVariantNumeric: "tabular-nums",
6551
- // _dark: {
6552
- [':where([data-likec4-color="gray"]) &']: {
6553
- _dark: {
6554
- background: `[color-mix(in oklab, var(--likec4-palette-relation-label-bg), {colors.likec4.mixColor} 15%)]`
6555
- }
6556
- }
6557
- },
6558
- labelContents: {
6559
- display: "contents",
6560
- _empty: {
6561
- display: "none !important"
6562
- }
6563
- },
6564
- labelText: {
6565
- whiteSpaceCollapse: "preserve-breaks",
6566
- fontSize: "14px",
6567
- margin: "0"
6568
- },
6569
- labelTechnology: {
6570
- textAlign: "center",
6571
- whiteSpaceCollapse: "preserve-breaks",
6572
- fontSize: "11px",
6573
- lineHeight: "[1]",
6574
- opacity: 0.75
6575
- }
6576
- },
6577
- variants: {
6578
- pointerEvents: {
6579
- none: {
6580
- root: {
6581
- pointerEvents: "none"
6582
- }
6583
- },
6584
- all: {
6585
- root: {
6586
- pointerEvents: "all"
6587
- }
6588
- }
6589
- },
6590
- cursor: {
6591
- pointer: {
6592
- root: {
6593
- cursor: "pointer"
6594
- }
6595
- },
6596
- default: {
6597
- root: {
6598
- cursor: "default"
6599
- }
6600
- }
6601
- },
6602
- isStepEdge: {
6603
- false: {},
6604
- true: {
6605
- root: {
6606
- flexDirection: "row",
6607
- gap: "1",
6608
- padding: "0"
6609
- },
6610
- labelContents: {
6611
- display: "flex",
6612
- flexDirection: "column",
6613
- alignItems: "center",
6614
- paddingTop: "0.5",
6615
- paddingRight: "1",
6616
- paddingBottom: "1",
6617
- gap: "0.5"
6618
- },
6619
- labelText: {
6620
- py: "0.5",
6621
- paddingRight: "0.5"
6622
- }
6623
- }
6624
- }
6625
- },
6626
- defaultVariants: {
6627
- pointerEvents: "all",
6628
- isStepEdge: false,
6629
- cursor: "default"
6630
- },
6631
- staticCss: [{
6632
- conditions: ["*"],
6633
- isStepEdge: ["*"],
6634
- cursor: ["*"],
6635
- pointerEvents: ["*"]
6636
- }]
6637
- });
6638
6876
  const navigationLink = defineSlotRecipe({
6639
6877
  className: "likec4-navlink",
6640
6878
  description: "Navigation Link (classes for Mantine NavLink)",
@@ -6702,10 +6940,32 @@ const navigationLink = defineSlotRecipe({
6702
6940
  });
6703
6941
  const slotRecipes = {
6704
6942
  __proto__: null,
6705
- edgeLabel,
6706
6943
  navigationLink
6707
6944
  };
6708
6945
  const textStyles = defineTextStyles({
6946
+ dimmed: {
6947
+ xxs: {
6948
+ value: {
6949
+ fontSize: "0.625rem",
6950
+ lineHeight: "1rem",
6951
+ color: "text.dimmed"
6952
+ }
6953
+ },
6954
+ xs: {
6955
+ value: {
6956
+ fontSize: "0.75rem",
6957
+ lineHeight: "1rem",
6958
+ color: "text.dimmed"
6959
+ }
6960
+ },
6961
+ sm: {
6962
+ value: {
6963
+ fontSize: "0.875rem",
6964
+ lineHeight: "1.25rem",
6965
+ color: "text.dimmed"
6966
+ }
6967
+ }
6968
+ },
6709
6969
  xxs: {
6710
6970
  value: {
6711
6971
  fontSize: "0.625rem",