@likec4/styles 1.57.0 → 1.59.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/preset/preset.mjs DELETED
@@ -1,4075 +0,0 @@
1
- import { t as __exportAll } from "./_chunks/rolldown-runtime.mjs";
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";
4
- import { t as createPreset } from "./_chunks/libs/pandacss-preset-radix-colors.mjs";
5
- import { defineAnimationStyles, defineKeyframes, defineLayerStyles, defineParts, definePattern, definePreset, defineRecipe, defineSemanticTokens, defineSlotRecipe, defineTextStyles, defineTokens, defineUtility } from "@pandacss/dev";
6
- //#region ../preset/src/animations.ts
7
- const keyframes = defineKeyframes({
8
- "indicatorOpacity": {
9
- "0%": { opacity: .8 },
10
- "100%": { opacity: .3 }
11
- },
12
- "xyedgeAnimated": {
13
- "0%": { strokeDashoffset: 36 },
14
- "100%": { strokeDashoffset: 0 }
15
- }
16
- });
17
- const animationStyles = defineAnimationStyles({
18
- "indicator": { value: {
19
- animationDuration: ".8s",
20
- animationIterationCount: "infinite",
21
- animationDirection: "alternate",
22
- animationName: "indicatorOpacity",
23
- animationTimingFunction: "{easings.in}"
24
- } },
25
- "xyedgeAnimated": { value: {
26
- animationDuration: ".8s",
27
- animationIterationCount: "infinite",
28
- animationTimingFunction: "linear",
29
- animationFillMode: "both",
30
- animationName: "xyedgeAnimated"
31
- } }
32
- });
33
- //#endregion
34
- //#region ../preset/src/defaults/vars.ts
35
- const vars = {
36
- font: "--likec4-app-font",
37
- spacing: "--likec4-spacing",
38
- textsize: "--likec4-text-size",
39
- palette: {
40
- fill: "--likec4-palette-fill",
41
- stroke: "--likec4-palette-stroke",
42
- hiContrast: "--likec4-palette-hiContrast",
43
- loContrast: "--likec4-palette-loContrast",
44
- relationStroke: "--likec4-palette-relation-stroke",
45
- relationStrokeSelected: "--likec4-palette-relation-stroke-selected",
46
- relationLabel: "--likec4-palette-relation-label",
47
- relationLabelBg: "--likec4-palette-relation-label-bg",
48
- outline: "--likec4-palette-outline"
49
- },
50
- icon: {
51
- size: "--likec4-icon-size",
52
- color: "--likec4-icon-color"
53
- }
54
- };
55
- function readName(key) {
56
- let path = key.includes(".") ? key.split(".") : [key];
57
- if (!t(path, 1)) return;
58
- let name = e(vars, ...path);
59
- return e$1(name) ? name : void 0;
60
- }
61
- /**
62
- * Returns a CSS variable declaration string.
63
- *
64
- * If `defaultTo` is not provided, returns a string like `var(--likec4-palette-fill)`.
65
- * If `defaultTo` is a Vars or string, returns a string like `var(--likec4-palette-fill, var(--default-to))`.
66
- *
67
- * @param key - The name of the CSS variable to generate.
68
- * @param defaultTo - An optional string, Vars, or object to use as the default value.
69
- * @returns A CSS variable declaration string.
70
- */
71
- function __v(key, defaultTo) {
72
- let name = readName(key);
73
- if (!name) throw new Error(`Unknown var: ${key}`);
74
- if (!defaultTo) return `var(${name})`;
75
- const defaultValue = readName(defaultTo);
76
- if (defaultValue) return `var(${name}, var(${defaultValue}))`;
77
- return `var(${name}, ${defaultTo})`;
78
- }
79
- //#endregion
80
- //#region ../preset/src/const.ts
81
- const root = ".likec4-root";
82
- //#endregion
83
- //#region ../preset/src/defaults/element-colors.ts
84
- const blue$1 = {
85
- fill: "#3b82f6",
86
- stroke: "#2563eb",
87
- hiContrast: "#eff6ff",
88
- loContrast: "#bfdbfe"
89
- };
90
- const sky$1 = {
91
- fill: "#0284c7",
92
- stroke: "#0369a1",
93
- hiContrast: "#f0f9ff",
94
- loContrast: "#B6ECF7"
95
- };
96
- const slate$1 = {
97
- fill: "#64748b",
98
- stroke: "#475569",
99
- hiContrast: "#f8fafc",
100
- loContrast: "#cbd5e1"
101
- };
102
- const ElementColors = {
103
- primary: blue$1,
104
- blue: blue$1,
105
- secondary: sky$1,
106
- sky: sky$1,
107
- muted: slate$1,
108
- slate: slate$1,
109
- gray: {
110
- fill: "#737373",
111
- stroke: "#525252",
112
- hiContrast: "#fafafa",
113
- loContrast: "#d4d4d4"
114
- },
115
- red: {
116
- fill: "#AC4D39",
117
- stroke: "#853A2D",
118
- hiContrast: "#FBD3CB",
119
- loContrast: "#f5b2a3"
120
- },
121
- green: {
122
- fill: "#428a4f",
123
- stroke: "#2d5d39",
124
- hiContrast: "#f8fafc",
125
- loContrast: "#c2f0c2"
126
- },
127
- amber: {
128
- fill: "#A35829",
129
- stroke: "#7E451D",
130
- hiContrast: "#FFE0C2",
131
- loContrast: "#f9b27c"
132
- },
133
- indigo: {
134
- fill: "#6366f1",
135
- stroke: "#4f46e5",
136
- hiContrast: "#eef2ff",
137
- loContrast: "#c7d2fe"
138
- }
139
- };
140
- //#endregion
141
- //#region ../preset/src/defaults/relationship-colors.ts
142
- const gray = {
143
- line: "#8D8D8D",
144
- labelBg: "#18191B",
145
- label: "#C9C9C9"
146
- };
147
- const slate = {
148
- line: "#64748b",
149
- labelBg: "#0f172a",
150
- label: "#cbd5e1"
151
- };
152
- const blue = {
153
- line: "#3b82f6",
154
- labelBg: "#172554",
155
- label: "#eff5fd"
156
- };
157
- const sky = {
158
- line: "#0ea5e9",
159
- labelBg: "#082f49",
160
- label: "#d4f2ff"
161
- };
162
- const RelationshipColors = {
163
- amber: {
164
- line: "#b45309",
165
- labelBg: "#78350f",
166
- label: "#FFE0C2"
167
- },
168
- blue,
169
- gray,
170
- green: {
171
- line: "#15803d",
172
- labelBg: "#052e16",
173
- label: "#bbfcd3"
174
- },
175
- indigo: {
176
- line: "#6366f1",
177
- labelBg: "#1e1b4b",
178
- label: "#cbd0fd"
179
- },
180
- muted: slate,
181
- primary: blue,
182
- red: {
183
- line: "#AC4D39",
184
- labelBg: "#b91c1c",
185
- label: "#fcd9d2"
186
- },
187
- secondary: sky,
188
- sky,
189
- slate
190
- };
191
- //#endregion
192
- //#region ../preset/src/defaults/sizes.ts
193
- const defaultSizes = {
194
- sizes: {
195
- xs: {
196
- width: 180,
197
- height: 100
198
- },
199
- sm: {
200
- width: 240,
201
- height: 135
202
- },
203
- md: {
204
- width: 320,
205
- height: 180
206
- },
207
- lg: {
208
- width: 420,
209
- height: 234
210
- },
211
- xl: {
212
- width: 520,
213
- height: 290
214
- }
215
- },
216
- spacing: {
217
- xs: 8,
218
- sm: 10,
219
- md: 16,
220
- lg: 24,
221
- xl: 32
222
- },
223
- /**
224
- * Text sizes for titles
225
- * https://typescale.com/
226
- *
227
- * Scale: 1.2
228
- * Base: 16px
229
- */
230
- textSizes: {
231
- xs: 13.33,
232
- sm: 16,
233
- md: 19.2,
234
- lg: 23.04,
235
- xl: 27.65
236
- },
237
- iconSizes: {
238
- xs: 24,
239
- sm: 36,
240
- md: 60,
241
- lg: 82,
242
- xl: 90
243
- }
244
- };
245
- //#endregion
246
- //#region ../preset/src/defaults/types.ts
247
- const ElementShapes = [
248
- "rectangle",
249
- "person",
250
- "browser",
251
- "mobile",
252
- "cylinder",
253
- "storage",
254
- "queue",
255
- "bucket",
256
- "document",
257
- "component"
258
- ];
259
- const ThemeColors = [
260
- "amber",
261
- "blue",
262
- "gray",
263
- "slate",
264
- "green",
265
- "indigo",
266
- "muted",
267
- "primary",
268
- "red",
269
- "secondary",
270
- "sky"
271
- ];
272
- const DefaultTagColors = [
273
- "tomato",
274
- "grass",
275
- "blue",
276
- "ruby",
277
- "orange",
278
- "indigo",
279
- "pink",
280
- "teal",
281
- "purple",
282
- "amber",
283
- "crimson",
284
- "red",
285
- "lime",
286
- "yellow",
287
- "violet"
288
- ];
289
- 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;
290
- //#endregion
291
- //#region ../preset/src/defaults/index.ts
292
- const defaultTheme = {
293
- colors: ThemeColors.reduce((acc, key) => {
294
- acc[key] = {
295
- elements: ElementColors[key],
296
- relationships: RelationshipColors[key]
297
- };
298
- return acc;
299
- }, {}),
300
- ...defaultSizes
301
- };
302
- //#endregion
303
- //#region ../preset/src/conditions.ts
304
- const shapeSizeCondition = (key) => `shapeSize${t$1(key)}`;
305
- const conditions = { extend: {
306
- ...t$2(defaultTheme.sizes, t$3((_, key) => `:where([data-likec4-shape-size='${key}']) &`), t$4(shapeSizeCondition)),
307
- ...t$5(ElementShapes, (shape) => ["shape" + t$1(shape), `:where([data-likec4-shape='${shape}']) &`]),
308
- light: "[data-mantine-color-scheme=\"light\"] &",
309
- dark: "[data-mantine-color-scheme=\"dark\"] &",
310
- notDisabled: "&:not(:is(:disabled, [disabled], [data-disabled]))",
311
- reduceGraphics: [`${root}:is([data-likec4-reduced-graphics])`, " &"].join(""),
312
- reduceGraphicsOnPan: [
313
- `${root}:is(`,
314
- "[data-likec4-reduced-graphics]",
315
- "[data-likec4-diagram-panning=\"true\"]",
316
- ") &"
317
- ].join(""),
318
- noReduceGraphics: [
319
- `${root}:not(`,
320
- "[data-likec4-reduced-graphics]",
321
- ") &"
322
- ].join(""),
323
- whenPanning: `${root}:is([data-likec4-diagram-panning="true"]) &`,
324
- smallZoom: ":where([data-likec4-zoom-small=\"true\"]) &",
325
- compoundTransparent: ":where([data-compound-transparent]) &",
326
- edgeActive: ":where([data-likec4-edge-active=\"true\"]) &",
327
- whenHovered: ":where([data-likec4-hovered=\"true\"]) &",
328
- whenSelectable: ":where(.react-flow__node, .react-flow__edge, .likec4-edge-container):is(.selectable) &",
329
- whenSelected: ":where(.react-flow__node, .react-flow__edge, .likec4-edge-container):is(.selected) &",
330
- whenDimmed: ":where(.react-flow__node, .react-flow__edge):has([data-likec4-dimmed]) &",
331
- whenFocused: ":where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) &"
332
- } };
333
- //#endregion
334
- //#region ../preset/src/generated.ts
335
- const breakpoints = {
336
- xs: "36em",
337
- sm: "48em",
338
- md: "62em",
339
- lg: "75em",
340
- xl: "88em"
341
- };
342
- const tokens$1 = { colors: { mantine: { colors: {
343
- primary: {
344
- DEFAULT: {
345
- description: "Mantine color primaryColors",
346
- value: "var(--mantine-primary-color-6)"
347
- },
348
- filled: {
349
- description: "Mantine color primaryColors filled",
350
- value: "var(--mantine-primary-color-filled)"
351
- },
352
- filledHover: {
353
- description: "Mantine color primaryColors filled hover",
354
- value: "var(--mantine-primary-color-filled-hover)"
355
- },
356
- light: {
357
- description: "Mantine color primaryColors light",
358
- value: "var(--mantine-primary-color-light)"
359
- },
360
- lightHover: {
361
- description: "Mantine color primaryColors light hover",
362
- value: "var(--mantine-primary-color-light-hover)"
363
- },
364
- lightColor: {
365
- description: "Mantine color primaryColors light color",
366
- value: "var(--mantine-primary-color-light-color)"
367
- },
368
- outline: {
369
- description: "Mantine color primaryColors outline",
370
- value: "var(--mantine-primary-color-outline)"
371
- },
372
- outlineHover: {
373
- description: "Mantine color primaryColors outline hover",
374
- value: "var(--mantine-primary-color-outline-hover)"
375
- }
376
- },
377
- "primary[0]": {
378
- description: "Mantine color primaryColors.0",
379
- value: "var(--mantine-primary-color-0)"
380
- },
381
- "primary[1]": {
382
- description: "Mantine color primaryColors.1",
383
- value: "var(--mantine-primary-color-1)"
384
- },
385
- "primary[2]": {
386
- description: "Mantine color primaryColors.2",
387
- value: "var(--mantine-primary-color-2)"
388
- },
389
- "primary[3]": {
390
- description: "Mantine color primaryColors.3",
391
- value: "var(--mantine-primary-color-3)"
392
- },
393
- "primary[4]": {
394
- description: "Mantine color primaryColors.4",
395
- value: "var(--mantine-primary-color-4)"
396
- },
397
- "primary[5]": {
398
- description: "Mantine color primaryColors.5",
399
- value: "var(--mantine-primary-color-5)"
400
- },
401
- "primary[6]": {
402
- description: "Mantine color primaryColors.6",
403
- value: "var(--mantine-primary-color-6)"
404
- },
405
- "primary[7]": {
406
- description: "Mantine color primaryColors.7",
407
- value: "var(--mantine-primary-color-7)"
408
- },
409
- "primary[8]": {
410
- description: "Mantine color primaryColors.8",
411
- value: "var(--mantine-primary-color-8)"
412
- },
413
- "primary[9]": {
414
- description: "Mantine color primaryColors.9",
415
- value: "var(--mantine-primary-color-9)"
416
- },
417
- white: { value: "var(--mantine-color-white)" },
418
- text: { value: "var(--mantine-color-text)" },
419
- body: { value: "var(--mantine-color-body)" },
420
- dimmed: { value: "var(--mantine-color-dimmed)" },
421
- defaultBorder: { value: "var(--mantine-color-default-border)" },
422
- defaultColor: { value: "var(--mantine-color-default-color)" },
423
- defaultHover: { value: "var(--mantine-color-default-hover)" },
424
- default: { value: "var(--mantine-color-default)" },
425
- error: { value: "var(--mantine-color-error)" },
426
- placeholder: { value: "var(--mantine-color-placeholder)" },
427
- gray: {
428
- DEFAULT: {
429
- description: "Mantine color gray",
430
- value: "var(--mantine-color-gray-6)"
431
- },
432
- filled: {
433
- description: "Mantine color gray filled",
434
- value: "var(--mantine-color-gray-filled)"
435
- },
436
- filledHover: {
437
- description: "Mantine color gray filled hover",
438
- value: "var(--mantine-color-gray-filled-hover)"
439
- },
440
- light: {
441
- description: "Mantine color gray light",
442
- value: "var(--mantine-color-gray-light)"
443
- },
444
- lightHover: {
445
- description: "Mantine color gray light hover",
446
- value: "var(--mantine-color-gray-light-hover)"
447
- },
448
- lightColor: {
449
- description: "Mantine color gray light color",
450
- value: "var(--mantine-color-gray-light-color)"
451
- },
452
- outline: {
453
- description: "Mantine color gray outline",
454
- value: "var(--mantine-color-gray-outline)"
455
- },
456
- outlineHover: {
457
- description: "Mantine color gray outline hover",
458
- value: "var(--mantine-color-gray-outline-hover)"
459
- }
460
- },
461
- "gray[0]": {
462
- description: "Mantine color gray.0",
463
- value: "var(--mantine-color-gray-0)"
464
- },
465
- "gray[1]": {
466
- description: "Mantine color gray.1",
467
- value: "var(--mantine-color-gray-1)"
468
- },
469
- "gray[2]": {
470
- description: "Mantine color gray.2",
471
- value: "var(--mantine-color-gray-2)"
472
- },
473
- "gray[3]": {
474
- description: "Mantine color gray.3",
475
- value: "var(--mantine-color-gray-3)"
476
- },
477
- "gray[4]": {
478
- description: "Mantine color gray.4",
479
- value: "var(--mantine-color-gray-4)"
480
- },
481
- "gray[5]": {
482
- description: "Mantine color gray.5",
483
- value: "var(--mantine-color-gray-5)"
484
- },
485
- "gray[6]": {
486
- description: "Mantine color gray.6",
487
- value: "var(--mantine-color-gray-6)"
488
- },
489
- "gray[7]": {
490
- description: "Mantine color gray.7",
491
- value: "var(--mantine-color-gray-7)"
492
- },
493
- "gray[8]": {
494
- description: "Mantine color gray.8",
495
- value: "var(--mantine-color-gray-8)"
496
- },
497
- "gray[9]": {
498
- description: "Mantine color gray.9",
499
- value: "var(--mantine-color-gray-9)"
500
- },
501
- dark: {
502
- DEFAULT: {
503
- description: "Mantine color dark",
504
- value: "var(--mantine-color-dark-6)"
505
- },
506
- filled: {
507
- description: "Mantine color dark filled",
508
- value: "var(--mantine-color-dark-filled)"
509
- },
510
- filledHover: {
511
- description: "Mantine color dark filled hover",
512
- value: "var(--mantine-color-dark-filled-hover)"
513
- },
514
- light: {
515
- description: "Mantine color dark light",
516
- value: "var(--mantine-color-dark-light)"
517
- },
518
- lightHover: {
519
- description: "Mantine color dark light hover",
520
- value: "var(--mantine-color-dark-light-hover)"
521
- },
522
- lightColor: {
523
- description: "Mantine color dark light color",
524
- value: "var(--mantine-color-dark-light-color)"
525
- },
526
- outline: {
527
- description: "Mantine color dark outline",
528
- value: "var(--mantine-color-dark-outline)"
529
- },
530
- outlineHover: {
531
- description: "Mantine color dark outline hover",
532
- value: "var(--mantine-color-dark-outline-hover)"
533
- }
534
- },
535
- "dark[0]": {
536
- description: "Mantine color dark.0",
537
- value: "var(--mantine-color-dark-0)"
538
- },
539
- "dark[1]": {
540
- description: "Mantine color dark.1",
541
- value: "var(--mantine-color-dark-1)"
542
- },
543
- "dark[2]": {
544
- description: "Mantine color dark.2",
545
- value: "var(--mantine-color-dark-2)"
546
- },
547
- "dark[3]": {
548
- description: "Mantine color dark.3",
549
- value: "var(--mantine-color-dark-3)"
550
- },
551
- "dark[4]": {
552
- description: "Mantine color dark.4",
553
- value: "var(--mantine-color-dark-4)"
554
- },
555
- "dark[5]": {
556
- description: "Mantine color dark.5",
557
- value: "var(--mantine-color-dark-5)"
558
- },
559
- "dark[6]": {
560
- description: "Mantine color dark.6",
561
- value: "var(--mantine-color-dark-6)"
562
- },
563
- "dark[7]": {
564
- description: "Mantine color dark.7",
565
- value: "var(--mantine-color-dark-7)"
566
- },
567
- "dark[8]": {
568
- description: "Mantine color dark.8",
569
- value: "var(--mantine-color-dark-8)"
570
- },
571
- "dark[9]": {
572
- description: "Mantine color dark.9",
573
- value: "var(--mantine-color-dark-9)"
574
- },
575
- orange: {
576
- DEFAULT: {
577
- description: "Mantine color orange",
578
- value: "var(--mantine-color-orange-6)"
579
- },
580
- filled: {
581
- description: "Mantine color orange filled",
582
- value: "var(--mantine-color-orange-filled)"
583
- },
584
- filledHover: {
585
- description: "Mantine color orange filled hover",
586
- value: "var(--mantine-color-orange-filled-hover)"
587
- },
588
- light: {
589
- description: "Mantine color orange light",
590
- value: "var(--mantine-color-orange-light)"
591
- },
592
- lightHover: {
593
- description: "Mantine color orange light hover",
594
- value: "var(--mantine-color-orange-light-hover)"
595
- },
596
- lightColor: {
597
- description: "Mantine color orange light color",
598
- value: "var(--mantine-color-orange-light-color)"
599
- },
600
- outline: {
601
- description: "Mantine color orange outline",
602
- value: "var(--mantine-color-orange-outline)"
603
- },
604
- outlineHover: {
605
- description: "Mantine color orange outline hover",
606
- value: "var(--mantine-color-orange-outline-hover)"
607
- }
608
- },
609
- "orange[0]": {
610
- description: "Mantine color orange.0",
611
- value: "var(--mantine-color-orange-0)"
612
- },
613
- "orange[1]": {
614
- description: "Mantine color orange.1",
615
- value: "var(--mantine-color-orange-1)"
616
- },
617
- "orange[2]": {
618
- description: "Mantine color orange.2",
619
- value: "var(--mantine-color-orange-2)"
620
- },
621
- "orange[3]": {
622
- description: "Mantine color orange.3",
623
- value: "var(--mantine-color-orange-3)"
624
- },
625
- "orange[4]": {
626
- description: "Mantine color orange.4",
627
- value: "var(--mantine-color-orange-4)"
628
- },
629
- "orange[5]": {
630
- description: "Mantine color orange.5",
631
- value: "var(--mantine-color-orange-5)"
632
- },
633
- "orange[6]": {
634
- description: "Mantine color orange.6",
635
- value: "var(--mantine-color-orange-6)"
636
- },
637
- "orange[7]": {
638
- description: "Mantine color orange.7",
639
- value: "var(--mantine-color-orange-7)"
640
- },
641
- "orange[8]": {
642
- description: "Mantine color orange.8",
643
- value: "var(--mantine-color-orange-8)"
644
- },
645
- "orange[9]": {
646
- description: "Mantine color orange.9",
647
- value: "var(--mantine-color-orange-9)"
648
- },
649
- teal: {
650
- DEFAULT: {
651
- description: "Mantine color teal",
652
- value: "var(--mantine-color-teal-6)"
653
- },
654
- filled: {
655
- description: "Mantine color teal filled",
656
- value: "var(--mantine-color-teal-filled)"
657
- },
658
- filledHover: {
659
- description: "Mantine color teal filled hover",
660
- value: "var(--mantine-color-teal-filled-hover)"
661
- },
662
- light: {
663
- description: "Mantine color teal light",
664
- value: "var(--mantine-color-teal-light)"
665
- },
666
- lightHover: {
667
- description: "Mantine color teal light hover",
668
- value: "var(--mantine-color-teal-light-hover)"
669
- },
670
- lightColor: {
671
- description: "Mantine color teal light color",
672
- value: "var(--mantine-color-teal-light-color)"
673
- },
674
- outline: {
675
- description: "Mantine color teal outline",
676
- value: "var(--mantine-color-teal-outline)"
677
- },
678
- outlineHover: {
679
- description: "Mantine color teal outline hover",
680
- value: "var(--mantine-color-teal-outline-hover)"
681
- }
682
- },
683
- "teal[0]": {
684
- description: "Mantine color teal.0",
685
- value: "var(--mantine-color-teal-0)"
686
- },
687
- "teal[1]": {
688
- description: "Mantine color teal.1",
689
- value: "var(--mantine-color-teal-1)"
690
- },
691
- "teal[2]": {
692
- description: "Mantine color teal.2",
693
- value: "var(--mantine-color-teal-2)"
694
- },
695
- "teal[3]": {
696
- description: "Mantine color teal.3",
697
- value: "var(--mantine-color-teal-3)"
698
- },
699
- "teal[4]": {
700
- description: "Mantine color teal.4",
701
- value: "var(--mantine-color-teal-4)"
702
- },
703
- "teal[5]": {
704
- description: "Mantine color teal.5",
705
- value: "var(--mantine-color-teal-5)"
706
- },
707
- "teal[6]": {
708
- description: "Mantine color teal.6",
709
- value: "var(--mantine-color-teal-6)"
710
- },
711
- "teal[7]": {
712
- description: "Mantine color teal.7",
713
- value: "var(--mantine-color-teal-7)"
714
- },
715
- "teal[8]": {
716
- description: "Mantine color teal.8",
717
- value: "var(--mantine-color-teal-8)"
718
- },
719
- "teal[9]": {
720
- description: "Mantine color teal.9",
721
- value: "var(--mantine-color-teal-9)"
722
- },
723
- red: {
724
- DEFAULT: {
725
- description: "Mantine color red",
726
- value: "var(--mantine-color-red-6)"
727
- },
728
- filled: {
729
- description: "Mantine color red filled",
730
- value: "var(--mantine-color-red-filled)"
731
- },
732
- filledHover: {
733
- description: "Mantine color red filled hover",
734
- value: "var(--mantine-color-red-filled-hover)"
735
- },
736
- light: {
737
- description: "Mantine color red light",
738
- value: "var(--mantine-color-red-light)"
739
- },
740
- lightHover: {
741
- description: "Mantine color red light hover",
742
- value: "var(--mantine-color-red-light-hover)"
743
- },
744
- lightColor: {
745
- description: "Mantine color red light color",
746
- value: "var(--mantine-color-red-light-color)"
747
- },
748
- outline: {
749
- description: "Mantine color red outline",
750
- value: "var(--mantine-color-red-outline)"
751
- },
752
- outlineHover: {
753
- description: "Mantine color red outline hover",
754
- value: "var(--mantine-color-red-outline-hover)"
755
- }
756
- },
757
- "red[0]": {
758
- description: "Mantine color red.0",
759
- value: "var(--mantine-color-red-0)"
760
- },
761
- "red[1]": {
762
- description: "Mantine color red.1",
763
- value: "var(--mantine-color-red-1)"
764
- },
765
- "red[2]": {
766
- description: "Mantine color red.2",
767
- value: "var(--mantine-color-red-2)"
768
- },
769
- "red[3]": {
770
- description: "Mantine color red.3",
771
- value: "var(--mantine-color-red-3)"
772
- },
773
- "red[4]": {
774
- description: "Mantine color red.4",
775
- value: "var(--mantine-color-red-4)"
776
- },
777
- "red[5]": {
778
- description: "Mantine color red.5",
779
- value: "var(--mantine-color-red-5)"
780
- },
781
- "red[6]": {
782
- description: "Mantine color red.6",
783
- value: "var(--mantine-color-red-6)"
784
- },
785
- "red[7]": {
786
- description: "Mantine color red.7",
787
- value: "var(--mantine-color-red-7)"
788
- },
789
- "red[8]": {
790
- description: "Mantine color red.8",
791
- value: "var(--mantine-color-red-8)"
792
- },
793
- "red[9]": {
794
- description: "Mantine color red.9",
795
- value: "var(--mantine-color-red-9)"
796
- },
797
- green: {
798
- DEFAULT: {
799
- description: "Mantine color green",
800
- value: "var(--mantine-color-green-6)"
801
- },
802
- filled: {
803
- description: "Mantine color green filled",
804
- value: "var(--mantine-color-green-filled)"
805
- },
806
- filledHover: {
807
- description: "Mantine color green filled hover",
808
- value: "var(--mantine-color-green-filled-hover)"
809
- },
810
- light: {
811
- description: "Mantine color green light",
812
- value: "var(--mantine-color-green-light)"
813
- },
814
- lightHover: {
815
- description: "Mantine color green light hover",
816
- value: "var(--mantine-color-green-light-hover)"
817
- },
818
- lightColor: {
819
- description: "Mantine color green light color",
820
- value: "var(--mantine-color-green-light-color)"
821
- },
822
- outline: {
823
- description: "Mantine color green outline",
824
- value: "var(--mantine-color-green-outline)"
825
- },
826
- outlineHover: {
827
- description: "Mantine color green outline hover",
828
- value: "var(--mantine-color-green-outline-hover)"
829
- }
830
- },
831
- "green[0]": {
832
- description: "Mantine color green.0",
833
- value: "var(--mantine-color-green-0)"
834
- },
835
- "green[1]": {
836
- description: "Mantine color green.1",
837
- value: "var(--mantine-color-green-1)"
838
- },
839
- "green[2]": {
840
- description: "Mantine color green.2",
841
- value: "var(--mantine-color-green-2)"
842
- },
843
- "green[3]": {
844
- description: "Mantine color green.3",
845
- value: "var(--mantine-color-green-3)"
846
- },
847
- "green[4]": {
848
- description: "Mantine color green.4",
849
- value: "var(--mantine-color-green-4)"
850
- },
851
- "green[5]": {
852
- description: "Mantine color green.5",
853
- value: "var(--mantine-color-green-5)"
854
- },
855
- "green[6]": {
856
- description: "Mantine color green.6",
857
- value: "var(--mantine-color-green-6)"
858
- },
859
- "green[7]": {
860
- description: "Mantine color green.7",
861
- value: "var(--mantine-color-green-7)"
862
- },
863
- "green[8]": {
864
- description: "Mantine color green.8",
865
- value: "var(--mantine-color-green-8)"
866
- },
867
- "green[9]": {
868
- description: "Mantine color green.9",
869
- value: "var(--mantine-color-green-9)"
870
- },
871
- yellow: {
872
- DEFAULT: {
873
- description: "Mantine color yellow",
874
- value: "var(--mantine-color-yellow-6)"
875
- },
876
- filled: {
877
- description: "Mantine color yellow filled",
878
- value: "var(--mantine-color-yellow-filled)"
879
- },
880
- filledHover: {
881
- description: "Mantine color yellow filled hover",
882
- value: "var(--mantine-color-yellow-filled-hover)"
883
- },
884
- light: {
885
- description: "Mantine color yellow light",
886
- value: "var(--mantine-color-yellow-light)"
887
- },
888
- lightHover: {
889
- description: "Mantine color yellow light hover",
890
- value: "var(--mantine-color-yellow-light-hover)"
891
- },
892
- lightColor: {
893
- description: "Mantine color yellow light color",
894
- value: "var(--mantine-color-yellow-light-color)"
895
- },
896
- outline: {
897
- description: "Mantine color yellow outline",
898
- value: "var(--mantine-color-yellow-outline)"
899
- },
900
- outlineHover: {
901
- description: "Mantine color yellow outline hover",
902
- value: "var(--mantine-color-yellow-outline-hover)"
903
- }
904
- },
905
- "yellow[0]": {
906
- description: "Mantine color yellow.0",
907
- value: "var(--mantine-color-yellow-0)"
908
- },
909
- "yellow[1]": {
910
- description: "Mantine color yellow.1",
911
- value: "var(--mantine-color-yellow-1)"
912
- },
913
- "yellow[2]": {
914
- description: "Mantine color yellow.2",
915
- value: "var(--mantine-color-yellow-2)"
916
- },
917
- "yellow[3]": {
918
- description: "Mantine color yellow.3",
919
- value: "var(--mantine-color-yellow-3)"
920
- },
921
- "yellow[4]": {
922
- description: "Mantine color yellow.4",
923
- value: "var(--mantine-color-yellow-4)"
924
- },
925
- "yellow[5]": {
926
- description: "Mantine color yellow.5",
927
- value: "var(--mantine-color-yellow-5)"
928
- },
929
- "yellow[6]": {
930
- description: "Mantine color yellow.6",
931
- value: "var(--mantine-color-yellow-6)"
932
- },
933
- "yellow[7]": {
934
- description: "Mantine color yellow.7",
935
- value: "var(--mantine-color-yellow-7)"
936
- },
937
- "yellow[8]": {
938
- description: "Mantine color yellow.8",
939
- value: "var(--mantine-color-yellow-8)"
940
- },
941
- "yellow[9]": {
942
- description: "Mantine color yellow.9",
943
- value: "var(--mantine-color-yellow-9)"
944
- }
945
- } } } };
946
- const mantine = {
947
- scale: "var(--mantine-scale)",
948
- cursorType: "var(--mantine-cursor-type)",
949
- webkitFontSmoothing: "var(--mantine-webkit-font-smoothing)",
950
- mozFontSmoothing: "var(--mantine-moz-font-smoothing)",
951
- lineHeight: "var(--mantine-line-height)",
952
- fontFamily: "var(--mantine-font-family)",
953
- fontFamilyMonospace: "var(--mantine-font-family-monospace)",
954
- fontFamilyHeadings: "var(--mantine-font-family-headings)",
955
- headingFontWeight: "var(--mantine-heading-font-weight)",
956
- radiusDefault: "var(--mantine-radius-default)",
957
- breakpoints: {
958
- xs: "36em",
959
- sm: "48em",
960
- md: "62em",
961
- lg: "75em",
962
- xl: "88em"
963
- },
964
- fontSizes: {
965
- xs: "var(--mantine-font-size-xs)",
966
- sm: "var(--mantine-font-size-sm)",
967
- md: "var(--mantine-font-size-md)",
968
- lg: "var(--mantine-font-size-lg)",
969
- xl: "var(--mantine-font-size-xl)"
970
- },
971
- lineHeights: {
972
- xs: "var(--mantine-line-height-xs)",
973
- sm: "var(--mantine-line-height-sm)",
974
- md: "var(--mantine-line-height-md)",
975
- lg: "var(--mantine-line-height-lg)",
976
- xl: "var(--mantine-line-height-xl)"
977
- },
978
- shadows: {
979
- xs: "var(--mantine-shadow-xs)",
980
- sm: "var(--mantine-shadow-sm)",
981
- md: "var(--mantine-shadow-md)",
982
- lg: "var(--mantine-shadow-lg)",
983
- xl: "var(--mantine-shadow-xl)"
984
- },
985
- radius: {
986
- xs: "var(--mantine-radius-xs)",
987
- sm: "var(--mantine-radius-sm)",
988
- md: "var(--mantine-radius-md)",
989
- lg: "var(--mantine-radius-lg)",
990
- xl: "var(--mantine-radius-xl)"
991
- },
992
- headings: {
993
- h1: {
994
- fontSize: "var(--mantine-h1-font-size)",
995
- lineHeight: "var(--mantine-h1-line-height)",
996
- fontWeight: "var(--mantine-h1-font-weight)"
997
- },
998
- h2: {
999
- fontSize: "var(--mantine-h2-font-size)",
1000
- lineHeight: "var(--mantine-h2-line-height)",
1001
- fontWeight: "var(--mantine-h2-font-weight)"
1002
- },
1003
- h3: {
1004
- fontSize: "var(--mantine-h3-font-size)",
1005
- lineHeight: "var(--mantine-h3-line-height)",
1006
- fontWeight: "var(--mantine-h3-font-weight)"
1007
- },
1008
- h4: {
1009
- fontSize: "var(--mantine-h4-font-size)",
1010
- lineHeight: "var(--mantine-h4-line-height)",
1011
- fontWeight: "var(--mantine-h4-font-weight)"
1012
- },
1013
- h5: {
1014
- fontSize: "var(--mantine-h5-font-size)",
1015
- lineHeight: "var(--mantine-h5-line-height)",
1016
- fontWeight: "var(--mantine-h5-font-weight)"
1017
- },
1018
- h6: {
1019
- fontSize: "var(--mantine-h6-font-size)",
1020
- lineHeight: "var(--mantine-h6-line-height)",
1021
- fontWeight: "var(--mantine-h6-font-weight)"
1022
- }
1023
- },
1024
- spacing: {
1025
- xs: "var(--mantine-spacing-xs)",
1026
- sm: "var(--mantine-spacing-sm)",
1027
- md: "var(--mantine-spacing-md)",
1028
- lg: "var(--mantine-spacing-lg)",
1029
- xl: "var(--mantine-spacing-xl)"
1030
- },
1031
- colors: {
1032
- primary: "var(--mantine-primary-color-filled)",
1033
- primaryColors: {
1034
- "0": "var(--mantine-primary-color-0)",
1035
- "1": "var(--mantine-primary-color-1)",
1036
- "2": "var(--mantine-primary-color-2)",
1037
- "3": "var(--mantine-primary-color-3)",
1038
- "4": "var(--mantine-primary-color-4)",
1039
- "5": "var(--mantine-primary-color-5)",
1040
- "6": "var(--mantine-primary-color-6)",
1041
- "7": "var(--mantine-primary-color-7)",
1042
- "8": "var(--mantine-primary-color-8)",
1043
- "9": "var(--mantine-primary-color-9)",
1044
- filled: "var(--mantine-primary-color-filled)",
1045
- filledHover: "var(--mantine-primary-color-filled-hover)",
1046
- light: "var(--mantine-primary-color-light)",
1047
- lightHover: "var(--mantine-primary-color-light-hover)",
1048
- lightColor: "var(--mantine-primary-color-light-color)",
1049
- outline: "var(--mantine-primary-color-outline)",
1050
- outlineHover: "var(--mantine-primary-color-outline-hover)"
1051
- },
1052
- white: "var(--mantine-color-white)",
1053
- black: "var(--mantine-color-black)",
1054
- text: "var(--mantine-color-text)",
1055
- body: "var(--mantine-color-body)",
1056
- error: "var(--mantine-color-error)",
1057
- placeholder: "var(--mantine-color-placeholder)",
1058
- anchor: "var(--mantine-color-anchor)",
1059
- default: "var(--mantine-color-default)",
1060
- defaultHover: "var(--mantine-color-default-hover)",
1061
- defaultColor: "var(--mantine-color-default-color)",
1062
- defaultBorder: "var(--mantine-color-default-border)",
1063
- dimmed: "var(--mantine-color-dimmed)",
1064
- disabledBody: "var(--mantine-color-disabled)",
1065
- disabledText: "var(--mantine-color-disabled-color)",
1066
- disabledBorder: "var(--mantine-color-disabled-border)",
1067
- dark: {
1068
- "0": "var(--mantine-color-dark-0)",
1069
- "1": "var(--mantine-color-dark-1)",
1070
- "2": "var(--mantine-color-dark-2)",
1071
- "3": "var(--mantine-color-dark-3)",
1072
- "4": "var(--mantine-color-dark-4)",
1073
- "5": "var(--mantine-color-dark-5)",
1074
- "6": "var(--mantine-color-dark-6)",
1075
- "7": "var(--mantine-color-dark-7)",
1076
- "8": "var(--mantine-color-dark-8)",
1077
- "9": "var(--mantine-color-dark-9)",
1078
- filled: "var(--mantine-color-dark-filled)",
1079
- filledHover: "var(--mantine-color-dark-filled-hover)",
1080
- light: "var(--mantine-color-dark-light)",
1081
- lightHover: "var(--mantine-color-dark-light-hover)",
1082
- lightColor: "var(--mantine-color-dark-light-color)",
1083
- outline: "var(--mantine-color-dark-outline)",
1084
- outlineHover: "var(--mantine-color-dark-outline-hover)"
1085
- },
1086
- gray: {
1087
- "0": "var(--mantine-color-gray-0)",
1088
- "1": "var(--mantine-color-gray-1)",
1089
- "2": "var(--mantine-color-gray-2)",
1090
- "3": "var(--mantine-color-gray-3)",
1091
- "4": "var(--mantine-color-gray-4)",
1092
- "5": "var(--mantine-color-gray-5)",
1093
- "6": "var(--mantine-color-gray-6)",
1094
- "7": "var(--mantine-color-gray-7)",
1095
- "8": "var(--mantine-color-gray-8)",
1096
- "9": "var(--mantine-color-gray-9)",
1097
- filled: "var(--mantine-color-gray-filled)",
1098
- filledHover: "var(--mantine-color-gray-filled-hover)",
1099
- light: "var(--mantine-color-gray-light)",
1100
- lightHover: "var(--mantine-color-gray-light-hover)",
1101
- lightColor: "var(--mantine-color-gray-light-color)",
1102
- outline: "var(--mantine-color-gray-outline)",
1103
- outlineHover: "var(--mantine-color-gray-outline-hover)"
1104
- },
1105
- red: {
1106
- "0": "var(--mantine-color-red-0)",
1107
- "1": "var(--mantine-color-red-1)",
1108
- "2": "var(--mantine-color-red-2)",
1109
- "3": "var(--mantine-color-red-3)",
1110
- "4": "var(--mantine-color-red-4)",
1111
- "5": "var(--mantine-color-red-5)",
1112
- "6": "var(--mantine-color-red-6)",
1113
- "7": "var(--mantine-color-red-7)",
1114
- "8": "var(--mantine-color-red-8)",
1115
- "9": "var(--mantine-color-red-9)",
1116
- filled: "var(--mantine-color-red-filled)",
1117
- filledHover: "var(--mantine-color-red-filled-hover)",
1118
- light: "var(--mantine-color-red-light)",
1119
- lightHover: "var(--mantine-color-red-light-hover)",
1120
- lightColor: "var(--mantine-color-red-light-color)",
1121
- outline: "var(--mantine-color-red-outline)",
1122
- outlineHover: "var(--mantine-color-red-outline-hover)"
1123
- },
1124
- pink: {
1125
- "0": "var(--mantine-color-pink-0)",
1126
- "1": "var(--mantine-color-pink-1)",
1127
- "2": "var(--mantine-color-pink-2)",
1128
- "3": "var(--mantine-color-pink-3)",
1129
- "4": "var(--mantine-color-pink-4)",
1130
- "5": "var(--mantine-color-pink-5)",
1131
- "6": "var(--mantine-color-pink-6)",
1132
- "7": "var(--mantine-color-pink-7)",
1133
- "8": "var(--mantine-color-pink-8)",
1134
- "9": "var(--mantine-color-pink-9)",
1135
- filled: "var(--mantine-color-pink-filled)",
1136
- filledHover: "var(--mantine-color-pink-filled-hover)",
1137
- light: "var(--mantine-color-pink-light)",
1138
- lightHover: "var(--mantine-color-pink-light-hover)",
1139
- lightColor: "var(--mantine-color-pink-light-color)",
1140
- outline: "var(--mantine-color-pink-outline)",
1141
- outlineHover: "var(--mantine-color-pink-outline-hover)"
1142
- },
1143
- grape: {
1144
- "0": "var(--mantine-color-grape-0)",
1145
- "1": "var(--mantine-color-grape-1)",
1146
- "2": "var(--mantine-color-grape-2)",
1147
- "3": "var(--mantine-color-grape-3)",
1148
- "4": "var(--mantine-color-grape-4)",
1149
- "5": "var(--mantine-color-grape-5)",
1150
- "6": "var(--mantine-color-grape-6)",
1151
- "7": "var(--mantine-color-grape-7)",
1152
- "8": "var(--mantine-color-grape-8)",
1153
- "9": "var(--mantine-color-grape-9)",
1154
- filled: "var(--mantine-color-grape-filled)",
1155
- filledHover: "var(--mantine-color-grape-filled-hover)",
1156
- light: "var(--mantine-color-grape-light)",
1157
- lightHover: "var(--mantine-color-grape-light-hover)",
1158
- lightColor: "var(--mantine-color-grape-light-color)",
1159
- outline: "var(--mantine-color-grape-outline)",
1160
- outlineHover: "var(--mantine-color-grape-outline-hover)"
1161
- },
1162
- violet: {
1163
- "0": "var(--mantine-color-violet-0)",
1164
- "1": "var(--mantine-color-violet-1)",
1165
- "2": "var(--mantine-color-violet-2)",
1166
- "3": "var(--mantine-color-violet-3)",
1167
- "4": "var(--mantine-color-violet-4)",
1168
- "5": "var(--mantine-color-violet-5)",
1169
- "6": "var(--mantine-color-violet-6)",
1170
- "7": "var(--mantine-color-violet-7)",
1171
- "8": "var(--mantine-color-violet-8)",
1172
- "9": "var(--mantine-color-violet-9)",
1173
- filled: "var(--mantine-color-violet-filled)",
1174
- filledHover: "var(--mantine-color-violet-filled-hover)",
1175
- light: "var(--mantine-color-violet-light)",
1176
- lightHover: "var(--mantine-color-violet-light-hover)",
1177
- lightColor: "var(--mantine-color-violet-light-color)",
1178
- outline: "var(--mantine-color-violet-outline)",
1179
- outlineHover: "var(--mantine-color-violet-outline-hover)"
1180
- },
1181
- indigo: {
1182
- "0": "var(--mantine-color-indigo-0)",
1183
- "1": "var(--mantine-color-indigo-1)",
1184
- "2": "var(--mantine-color-indigo-2)",
1185
- "3": "var(--mantine-color-indigo-3)",
1186
- "4": "var(--mantine-color-indigo-4)",
1187
- "5": "var(--mantine-color-indigo-5)",
1188
- "6": "var(--mantine-color-indigo-6)",
1189
- "7": "var(--mantine-color-indigo-7)",
1190
- "8": "var(--mantine-color-indigo-8)",
1191
- "9": "var(--mantine-color-indigo-9)",
1192
- filled: "var(--mantine-color-indigo-filled)",
1193
- filledHover: "var(--mantine-color-indigo-filled-hover)",
1194
- light: "var(--mantine-color-indigo-light)",
1195
- lightHover: "var(--mantine-color-indigo-light-hover)",
1196
- lightColor: "var(--mantine-color-indigo-light-color)",
1197
- outline: "var(--mantine-color-indigo-outline)",
1198
- outlineHover: "var(--mantine-color-indigo-outline-hover)"
1199
- },
1200
- blue: {
1201
- "0": "var(--mantine-color-blue-0)",
1202
- "1": "var(--mantine-color-blue-1)",
1203
- "2": "var(--mantine-color-blue-2)",
1204
- "3": "var(--mantine-color-blue-3)",
1205
- "4": "var(--mantine-color-blue-4)",
1206
- "5": "var(--mantine-color-blue-5)",
1207
- "6": "var(--mantine-color-blue-6)",
1208
- "7": "var(--mantine-color-blue-7)",
1209
- "8": "var(--mantine-color-blue-8)",
1210
- "9": "var(--mantine-color-blue-9)",
1211
- filled: "var(--mantine-color-blue-filled)",
1212
- filledHover: "var(--mantine-color-blue-filled-hover)",
1213
- light: "var(--mantine-color-blue-light)",
1214
- lightHover: "var(--mantine-color-blue-light-hover)",
1215
- lightColor: "var(--mantine-color-blue-light-color)",
1216
- outline: "var(--mantine-color-blue-outline)",
1217
- outlineHover: "var(--mantine-color-blue-outline-hover)"
1218
- },
1219
- cyan: {
1220
- "0": "var(--mantine-color-cyan-0)",
1221
- "1": "var(--mantine-color-cyan-1)",
1222
- "2": "var(--mantine-color-cyan-2)",
1223
- "3": "var(--mantine-color-cyan-3)",
1224
- "4": "var(--mantine-color-cyan-4)",
1225
- "5": "var(--mantine-color-cyan-5)",
1226
- "6": "var(--mantine-color-cyan-6)",
1227
- "7": "var(--mantine-color-cyan-7)",
1228
- "8": "var(--mantine-color-cyan-8)",
1229
- "9": "var(--mantine-color-cyan-9)",
1230
- filled: "var(--mantine-color-cyan-filled)",
1231
- filledHover: "var(--mantine-color-cyan-filled-hover)",
1232
- light: "var(--mantine-color-cyan-light)",
1233
- lightHover: "var(--mantine-color-cyan-light-hover)",
1234
- lightColor: "var(--mantine-color-cyan-light-color)",
1235
- outline: "var(--mantine-color-cyan-outline)",
1236
- outlineHover: "var(--mantine-color-cyan-outline-hover)"
1237
- },
1238
- teal: {
1239
- "0": "var(--mantine-color-teal-0)",
1240
- "1": "var(--mantine-color-teal-1)",
1241
- "2": "var(--mantine-color-teal-2)",
1242
- "3": "var(--mantine-color-teal-3)",
1243
- "4": "var(--mantine-color-teal-4)",
1244
- "5": "var(--mantine-color-teal-5)",
1245
- "6": "var(--mantine-color-teal-6)",
1246
- "7": "var(--mantine-color-teal-7)",
1247
- "8": "var(--mantine-color-teal-8)",
1248
- "9": "var(--mantine-color-teal-9)",
1249
- filled: "var(--mantine-color-teal-filled)",
1250
- filledHover: "var(--mantine-color-teal-filled-hover)",
1251
- light: "var(--mantine-color-teal-light)",
1252
- lightHover: "var(--mantine-color-teal-light-hover)",
1253
- lightColor: "var(--mantine-color-teal-light-color)",
1254
- outline: "var(--mantine-color-teal-outline)",
1255
- outlineHover: "var(--mantine-color-teal-outline-hover)"
1256
- },
1257
- green: {
1258
- "0": "var(--mantine-color-green-0)",
1259
- "1": "var(--mantine-color-green-1)",
1260
- "2": "var(--mantine-color-green-2)",
1261
- "3": "var(--mantine-color-green-3)",
1262
- "4": "var(--mantine-color-green-4)",
1263
- "5": "var(--mantine-color-green-5)",
1264
- "6": "var(--mantine-color-green-6)",
1265
- "7": "var(--mantine-color-green-7)",
1266
- "8": "var(--mantine-color-green-8)",
1267
- "9": "var(--mantine-color-green-9)",
1268
- filled: "var(--mantine-color-green-filled)",
1269
- filledHover: "var(--mantine-color-green-filled-hover)",
1270
- light: "var(--mantine-color-green-light)",
1271
- lightHover: "var(--mantine-color-green-light-hover)",
1272
- lightColor: "var(--mantine-color-green-light-color)",
1273
- outline: "var(--mantine-color-green-outline)",
1274
- outlineHover: "var(--mantine-color-green-outline-hover)"
1275
- },
1276
- lime: {
1277
- "0": "var(--mantine-color-lime-0)",
1278
- "1": "var(--mantine-color-lime-1)",
1279
- "2": "var(--mantine-color-lime-2)",
1280
- "3": "var(--mantine-color-lime-3)",
1281
- "4": "var(--mantine-color-lime-4)",
1282
- "5": "var(--mantine-color-lime-5)",
1283
- "6": "var(--mantine-color-lime-6)",
1284
- "7": "var(--mantine-color-lime-7)",
1285
- "8": "var(--mantine-color-lime-8)",
1286
- "9": "var(--mantine-color-lime-9)",
1287
- filled: "var(--mantine-color-lime-filled)",
1288
- filledHover: "var(--mantine-color-lime-filled-hover)",
1289
- light: "var(--mantine-color-lime-light)",
1290
- lightHover: "var(--mantine-color-lime-light-hover)",
1291
- lightColor: "var(--mantine-color-lime-light-color)",
1292
- outline: "var(--mantine-color-lime-outline)",
1293
- outlineHover: "var(--mantine-color-lime-outline-hover)"
1294
- },
1295
- yellow: {
1296
- "0": "var(--mantine-color-yellow-0)",
1297
- "1": "var(--mantine-color-yellow-1)",
1298
- "2": "var(--mantine-color-yellow-2)",
1299
- "3": "var(--mantine-color-yellow-3)",
1300
- "4": "var(--mantine-color-yellow-4)",
1301
- "5": "var(--mantine-color-yellow-5)",
1302
- "6": "var(--mantine-color-yellow-6)",
1303
- "7": "var(--mantine-color-yellow-7)",
1304
- "8": "var(--mantine-color-yellow-8)",
1305
- "9": "var(--mantine-color-yellow-9)",
1306
- filled: "var(--mantine-color-yellow-filled)",
1307
- filledHover: "var(--mantine-color-yellow-filled-hover)",
1308
- light: "var(--mantine-color-yellow-light)",
1309
- lightHover: "var(--mantine-color-yellow-light-hover)",
1310
- lightColor: "var(--mantine-color-yellow-light-color)",
1311
- outline: "var(--mantine-color-yellow-outline)",
1312
- outlineHover: "var(--mantine-color-yellow-outline-hover)"
1313
- },
1314
- orange: {
1315
- "0": "var(--mantine-color-orange-0)",
1316
- "1": "var(--mantine-color-orange-1)",
1317
- "2": "var(--mantine-color-orange-2)",
1318
- "3": "var(--mantine-color-orange-3)",
1319
- "4": "var(--mantine-color-orange-4)",
1320
- "5": "var(--mantine-color-orange-5)",
1321
- "6": "var(--mantine-color-orange-6)",
1322
- "7": "var(--mantine-color-orange-7)",
1323
- "8": "var(--mantine-color-orange-8)",
1324
- "9": "var(--mantine-color-orange-9)",
1325
- filled: "var(--mantine-color-orange-filled)",
1326
- filledHover: "var(--mantine-color-orange-filled-hover)",
1327
- light: "var(--mantine-color-orange-light)",
1328
- lightHover: "var(--mantine-color-orange-light-hover)",
1329
- lightColor: "var(--mantine-color-orange-light-color)",
1330
- outline: "var(--mantine-color-orange-outline)",
1331
- outlineHover: "var(--mantine-color-orange-outline-hover)"
1332
- }
1333
- },
1334
- rtlSelector: "[dir=\"rtl\"] &",
1335
- darkSelector: "[data-mantine-color-scheme=\"dark\"] &",
1336
- lightSelector: "[data-mantine-color-scheme=\"light\"] &"
1337
- };
1338
- //#endregion
1339
- //#region ../preset/src/helpers.ts
1340
- /**
1341
- * Changes the alpha channel of a color
1342
- * @param color color value or CSS variable
1343
- * @param percentage Alpha channel value
1344
- * @returns
1345
- */
1346
- function alpha(color, percentage = 50) {
1347
- let alpha = percentage;
1348
- if (typeof percentage === "number") {
1349
- if (percentage > 0 && percentage < 1) percentage *= 100;
1350
- alpha = `${percentage}%`;
1351
- }
1352
- return `oklch(from ${color} l c h / ${alpha})`;
1353
- }
1354
- function rem(pixels) {
1355
- return `${pixels}px`;
1356
- }
1357
- //#endregion
1358
- //#region ../preset/src/globalCss.ts
1359
- const sizeConditions = {
1360
- ...t$5(t$6(defaultTheme.textSizes), (size) => [`:where([data-likec4-text-size='${size}'])`, { [vars.textsize]: `{fontSizes.likec4.${size}}` }]),
1361
- ...t$5(t$6(defaultTheme.spacing), (size) => [`:where([data-likec4-spacing='${size}'])`, { [vars.spacing]: `{spacing.likec4.${size}}` }])
1362
- };
1363
- const globalCss = { extend: {
1364
- ":where(:root,:host)": { ["--likec4-app-font-default"]: `'IBM Plex Sans Variable',ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"` },
1365
- ...sizeConditions,
1366
- ".likec4-shadow-root": {
1367
- display: "contents",
1368
- color: "var(--colors-text)",
1369
- "& dialog": { color: "var(--colors-text)" }
1370
- },
1371
- ".likec4-edge-label-container": {
1372
- top: 0,
1373
- left: 0,
1374
- position: "absolute",
1375
- width: "auto",
1376
- height: "auto",
1377
- display: {
1378
- _reduceGraphicsOnPan: "none",
1379
- _smallZoom: "none"
1380
- },
1381
- willChange: "transform",
1382
- zIndex: "likec4.diagram.edge.label"
1383
- },
1384
- ":where(.likec4-relationship-details) .likec4-edge-label-container > :first-child": { maxWidth: "350px" },
1385
- ".likec4-relationship-details :is(.likec4-edge-label__text, .likec4-edge-label__technology)": {
1386
- display: "-webkit-box!",
1387
- WebkitBoxOrient: "vertical!",
1388
- WebkitLineClamp: "1!",
1389
- overflow: "hidden!"
1390
- },
1391
- ".likec4-root": {
1392
- overflow: "hidden",
1393
- position: "relative",
1394
- padding: 0,
1395
- margin: 0,
1396
- width: "100%",
1397
- height: "100%",
1398
- border: "0px solid transparent",
1399
- background: "transparent",
1400
- containerName: "likec4-root",
1401
- containerType: "size",
1402
- _print: {
1403
- "& .react-flow__background": { display: "none" },
1404
- "& .react-flow": {
1405
- background: "transparent !important",
1406
- "--xy-background-color": "transparent !important"
1407
- },
1408
- "& *": {
1409
- colorAdjust: "exact!",
1410
- printColorAdjust: "exact!"
1411
- }
1412
- },
1413
- "& .mantine-ActionIcon-icon .tabler-icon": {
1414
- width: "75%",
1415
- height: "75%"
1416
- },
1417
- "& .react-flow": {
1418
- "--xy-background-color": "var(--colors-likec4-background)",
1419
- "--xy-background-pattern-color": "var(--colors-likec4-background-pattern, var(--colors-likec4-background))",
1420
- "&:is(.not-initialized)": { opacity: 0 },
1421
- "&:is(.bg-transparent)": {
1422
- background: "transparent !important",
1423
- "--xy-background-color": "transparent !important"
1424
- },
1425
- "& .react-flow__pane": { userSelect: "none" },
1426
- "& :is(.react-flow__nodes, .react-flow__edges, .react-flow__edgelabel-renderer, .react-flow__viewport-portal)": { display: "contents" },
1427
- "& .react-flow__node.draggable:has(.likec4-compound-node)": { cursor: "default" },
1428
- "& .likec4-node-handle-center": {
1429
- top: "50%!",
1430
- left: "50%!",
1431
- right: "unset!",
1432
- bottom: "unset!",
1433
- visibility: "hidden!",
1434
- width: "5px!",
1435
- height: "5px!",
1436
- transform: "translate(-50%, -50%)!"
1437
- }
1438
- },
1439
- "& :where(.react-flow__node, .react-flow__edge):has([data-likec4-dimmed])": { opacity: .25 },
1440
- "& .likec4-edge-label-container:is([data-likec4-dimmed])": { opacity: .25 },
1441
- "& :where(.react-flow__edge, .likec4-edge-container, .likec4-edge-label-container)": {
1442
- "--xy-edge-stroke-width": 3,
1443
- "--xy-edge-stroke": __v("palette.relationStroke"),
1444
- "--xy-edge-stroke-selected": __v("palette.relationStrokeSelected"),
1445
- "--xy-edge-label-color": {
1446
- base: __v("palette.relationLabel"),
1447
- _light: `oklch(from ${__v("palette.relationLabel")} calc(l + 0.1) c h)`
1448
- },
1449
- "--xy-edge-label-background-color": {
1450
- base: alpha(__v("palette.relationLabelBg"), 85),
1451
- _light: alpha(__v("palette.relationLabelBg"), 65)
1452
- },
1453
- "&:is([data-likec4-hovered=\"true\"], [data-edge-active=\"true\"])": {
1454
- "--xy-edge-stroke-width": 4,
1455
- "--xy-edge-stroke": __v("palette.relationStrokeSelected")
1456
- }
1457
- },
1458
- "&:is([data-likec4-reduced-graphics=\"true\"]) .hide-on-reduced-graphics": { display: "none!" },
1459
- "&:not([data-likec4-reduced-graphics=\"true\"])": {
1460
- "& :where(.react-flow__node, .react-flow__edge):has([data-likec4-dimmed])": { filter: "grayscale(85%)" },
1461
- "& :where(.react-flow__node, .react-flow__edge):has([data-likec4-dimmed=\"true\"])": {
1462
- transitionProperty: "opacity, filter",
1463
- transitionTimingFunction: "cubic-bezier(0.50, 0, 0.2, 1)",
1464
- transitionDuration: "400ms"
1465
- },
1466
- "& .likec4-edge-label-container:is([data-likec4-dimmed])": { filter: "grayscale(85%)" },
1467
- "& .likec4-edge-label-container:is([data-likec4-dimmed=\"true\"])": {
1468
- transitionProperty: "opacity, filter",
1469
- transitionTimingFunction: "cubic-bezier(0.50, 0, 0.2, 1)",
1470
- transitionDuration: "400ms"
1471
- },
1472
- "& :where(.react-flow__edgelabel-renderer) > *": { mixBlendMode: {
1473
- base: "luminosity",
1474
- _light: "hard-light",
1475
- _print: "normal!"
1476
- } },
1477
- "& :where(.react-flow__edges) > svg": { mixBlendMode: {
1478
- base: "multiply",
1479
- _dark: "plus-lighter",
1480
- _print: "normal!"
1481
- } },
1482
- "&:has(.react-flow__node-seq-parallel) :where(.react-flow__edges > svg)": { mixBlendMode: { _light: "color-burn" } },
1483
- "& .react-flow__node-seq-parallel": { mixBlendMode: {
1484
- _dark: "luminosity",
1485
- _light: "color-burn",
1486
- _print: "normal!"
1487
- } }
1488
- }
1489
- },
1490
- ":where(.likec4-static-view, .relationships-browser, .likec4-relationship-details) .react-flow .react-flow__attribution": { display: "none" }
1491
- } };
1492
- //#endregion
1493
- //#region ../preset/src/globalVars.ts
1494
- const globalVars = { extend: {
1495
- [vars.font]: "var(--likec4-app-font-default)",
1496
- [vars.spacing]: "/*-*/ /*-*/",
1497
- [vars.textsize]: rem(defaultTheme.textSizes.md),
1498
- [vars.palette.fill]: defaultTheme.colors.primary.elements.fill,
1499
- [vars.palette.stroke]: defaultTheme.colors.primary.elements.stroke,
1500
- [vars.palette.hiContrast]: defaultTheme.colors.primary.elements.hiContrast,
1501
- [vars.palette.loContrast]: defaultTheme.colors.primary.elements.loContrast,
1502
- [vars.palette.relationStroke]: defaultTheme.colors.gray.relationships.line,
1503
- [vars.palette.relationLabel]: defaultTheme.colors.gray.relationships.label,
1504
- [vars.palette.relationLabelBg]: defaultTheme.colors.gray.relationships.labelBg,
1505
- [vars.palette.relationStrokeSelected]: __v("palette.relationStroke"),
1506
- "--mantine-scale": "1",
1507
- [vars.palette.outline]: __v("palette.loContrast"),
1508
- "--text-fz": "/*-*/ /*-*/",
1509
- [vars.icon.color]: "/*-*/ /*-*/",
1510
- [vars.icon.size]: "/*-*/ /*-*/"
1511
- } };
1512
- //#endregion
1513
- //#region ../preset/src/layer-styles.ts
1514
- const layerStyles = /* @__PURE__ */ defineLayerStyles({ likec4: {
1515
- tag: {
1516
- description: "LikeC4 tag layer",
1517
- value: {
1518
- color: "likec4.tag.text",
1519
- backgroundColor: "likec4.tag.bg",
1520
- _hover: { backgroundColor: "likec4.tag.bg.hover" },
1521
- border: "none",
1522
- borderRadius: 3
1523
- }
1524
- },
1525
- panel: {
1526
- DEFAULT: {
1527
- description: "LikeC4 panel layer",
1528
- value: {
1529
- padding: "1",
1530
- borderRadius: "0",
1531
- backgroundColor: "likec4.panel.bg",
1532
- border: "1px solid {colors.likec4.panel.border}",
1533
- "@/sm": {
1534
- boxShadow: "lg",
1535
- borderRadius: "md",
1536
- paddingInline: "2"
1537
- },
1538
- _reduceGraphicsOnPan: { boxShadow: "none" }
1539
- }
1540
- },
1541
- action: {
1542
- DEFAULT: {
1543
- description: "LikeC4 panel action layer",
1544
- value: {
1545
- color: {
1546
- base: "likec4.panel.action",
1547
- _disabled: "likec4.panel.action.disabled",
1548
- _notDisabled: { _hover: "likec4.panel.action.hover" }
1549
- },
1550
- cursor: {
1551
- base: "pointer",
1552
- _disabled: "not-allowed"
1553
- },
1554
- paddingInline: "xxs",
1555
- paddingBlock: "xxs",
1556
- border: "transparent",
1557
- borderRadius: "sm",
1558
- backgroundColor: { _notDisabled: { _hover: "likec4.panel.action.bg.hover" } }
1559
- }
1560
- },
1561
- filled: {
1562
- description: "LikeC4 action panel filled layer",
1563
- value: {
1564
- color: {
1565
- base: "likec4.panel.action",
1566
- _disabled: "likec4.panel.action.disabled",
1567
- _notDisabled: { _hover: "likec4.panel.action.hover" }
1568
- },
1569
- cursor: {
1570
- base: "pointer",
1571
- _disabled: "not-allowed"
1572
- },
1573
- paddingInline: "xxs",
1574
- paddingBlock: "xxs",
1575
- border: "transparent",
1576
- borderRadius: "sm",
1577
- backgroundColor: {
1578
- base: "likec4.panel.action.bg",
1579
- _disabled: "likec4.panel.action.bg",
1580
- _notDisabled: { _hover: "likec4.panel.action.bg.hover" }
1581
- }
1582
- }
1583
- }
1584
- }
1585
- },
1586
- dropdown: {
1587
- description: "LikeC4 dropdown layer",
1588
- value: {
1589
- padding: "2",
1590
- backgroundColor: "likec4.dropdown.bg",
1591
- border: "1px solid {colors.likec4.dropdown.border}",
1592
- boxShadow: "lg",
1593
- borderRadius: "md"
1594
- }
1595
- }
1596
- } });
1597
- //#endregion
1598
- //#region ../preset/src/pattens/index.ts
1599
- const patterns = { extend: {
1600
- vstack: { defaultValues: {
1601
- alignItems: "stretch",
1602
- gap: "sm"
1603
- } },
1604
- hstack: { defaultValues: { gap: "sm" } },
1605
- box: { jsx: ["Box", "MarkdownBlock"] },
1606
- txt: definePattern({
1607
- properties: {
1608
- inline: {
1609
- description: "Whether the text should be inline (default: false)",
1610
- type: "boolean"
1611
- },
1612
- dimmed: {
1613
- description: "Whether the text should be dimmed (default: false)",
1614
- type: "boolean"
1615
- },
1616
- noUserSelect: {
1617
- description: "Whether the text should not be selectable (default: false)",
1618
- type: "boolean"
1619
- },
1620
- lh: {
1621
- type: "token",
1622
- value: "lineHeights"
1623
- },
1624
- size: {
1625
- type: "enum",
1626
- value: [
1627
- "xxs",
1628
- "xs",
1629
- "sm",
1630
- "md",
1631
- "lg",
1632
- "xl"
1633
- ]
1634
- },
1635
- likec4color: {
1636
- type: "enum",
1637
- value: [...ThemeColors]
1638
- }
1639
- },
1640
- defaultValues: {
1641
- inline: false,
1642
- dimmed: false,
1643
- size: "md",
1644
- noUserSelect: false
1645
- },
1646
- transform(props, _helpers) {
1647
- const { inline, size, dimmed, lh, likec4color, noUserSelect, ...rest } = props;
1648
- if (dimmed && likec4color) throw new Error("dimmed and likec4color are mutually exclusive");
1649
- return {
1650
- userSelect: "all",
1651
- cursor: "default",
1652
- textStyle: dimmed ? `dimmed.${size}` : size,
1653
- ...inline && { display: "inline-block" },
1654
- ...lh && { lineHeight: lh },
1655
- ...likec4color && { "data-likec4-color": likec4color },
1656
- ...noUserSelect && { userSelect: "none" },
1657
- ...rest
1658
- };
1659
- },
1660
- jsxElement: "div",
1661
- jsxName: "Txt",
1662
- jsx: ["Txt"]
1663
- })
1664
- } };
1665
- //#endregion
1666
- //#region ../preset/src/radixColors.ts
1667
- const radixColorsPreset = /* @__PURE__ */ createPreset({
1668
- autoP3: false,
1669
- darkMode: { condition: "[data-mantine-color-scheme=\"dark\"] &" },
1670
- colorScales: [...DefaultTagColors]
1671
- });
1672
- const actionButtons = defineRecipe({
1673
- className: "action-buttons",
1674
- description: "Action Buttons Container within Diagram Node (Bottom-Center)",
1675
- base: defineParts({
1676
- root: { selector: "&" },
1677
- container: { selector: "& > div" }
1678
- })({
1679
- root: {
1680
- display: "flex",
1681
- flexDirection: "row",
1682
- position: "absolute",
1683
- top: "calc(100% - 30px)",
1684
- transform: "translateX(-50%)",
1685
- left: `50%`,
1686
- width: "auto",
1687
- minHeight: 30,
1688
- zIndex: 1,
1689
- justifyContent: "center",
1690
- alignItems: "center",
1691
- _smallZoom: { display: "none" }
1692
- },
1693
- container: {
1694
- display: "flex",
1695
- flexDirection: "row",
1696
- gap: "1.5",
1697
- justifyContent: "center",
1698
- alignItems: "center"
1699
- }
1700
- }),
1701
- staticCss: [{ conditions: ["*"] }]
1702
- });
1703
- const actionBtn = defineRecipe({
1704
- className: "action-btn",
1705
- description: "Action Button within Diagram Node (Bottom-Center)",
1706
- base: {
1707
- color: "var(--actionbtn-color)",
1708
- opacity: .75,
1709
- "--actionbtn-color": "var(--likec4-palette-loContrast)",
1710
- "--actionbtn-color-hovered": "var(--likec4-palette-loContrast)",
1711
- "--actionbtn-color-hovered-btn": "var(--likec4-palette-hiContrast)",
1712
- "--actionbtn-bg-idle": `color-mix(in oklab , var(--likec4-palette-fill), transparent 99%)`,
1713
- "--actionbtn-bg-hovered": `color-mix(in oklab , var(--likec4-palette-fill) 65%, var(--likec4-palette-stroke))`,
1714
- "--actionbtn-bg-hovered-btn": `color-mix(in oklab , var(--likec4-palette-fill) 50%, var(--likec4-palette-stroke))`,
1715
- "--ai-bg": `var(--actionbtn-bg-idle)`,
1716
- background: `var(--ai-bg)`,
1717
- _whenSelectable: {
1718
- pointerEvents: "all",
1719
- cursor: "pointer"
1720
- },
1721
- _whenHovered: {
1722
- opacity: 1,
1723
- color: "var(--actionbtn-color-hovered)",
1724
- "--ai-bg": `var(--actionbtn-bg-hovered)`
1725
- },
1726
- _hover: {
1727
- opacity: 1,
1728
- color: "var(--actionbtn-color-hovered-btn)",
1729
- "--ai-bg": `var(--actionbtn-bg-hovered-btn)`
1730
- },
1731
- _reduceGraphicsOnPan: { display: "none" },
1732
- _smallZoom: { display: "none" },
1733
- "& *": { pointerEvents: "none" },
1734
- _print: { display: "none" }
1735
- },
1736
- variants: {
1737
- variant: {
1738
- transparent: { "--actionbtn-bg-hovered": `var(--actionbtn-bg-idle)` },
1739
- filled: { boxShadow: {
1740
- base: "1px 1px 3px 0px transparent",
1741
- _whenHovered: "1px 1px 3px 0px rgba(0, 0, 0, 0.2)",
1742
- _reduceGraphics: "none"
1743
- } }
1744
- },
1745
- size: {
1746
- sm: { ["--ai-size"]: `22px` },
1747
- md: { ["--ai-size"]: `28px` }
1748
- },
1749
- radius: {
1750
- sm: { "--ai-radius": `{radii.sm}` },
1751
- md: { "--ai-radius": `{radii.md}` }
1752
- }
1753
- },
1754
- defaultVariants: {
1755
- size: "md",
1756
- radius: "md",
1757
- variant: "filled"
1758
- },
1759
- staticCss: [{
1760
- size: ["*"],
1761
- radius: ["*"],
1762
- variant: ["*"],
1763
- conditions: ["*"]
1764
- }]
1765
- });
1766
- //#endregion
1767
- //#region ../preset/src/recipes/compoundNode.ts
1768
- const borderWidth = {
1769
- var: "--_border-width",
1770
- ref: "var(--_border-width)"
1771
- };
1772
- const borderRadius$1 = {
1773
- var: "--_border-radius",
1774
- ref: "var(--_border-radius)"
1775
- };
1776
- const compoundTransparency = {
1777
- var: "--_compound-transparency",
1778
- ref: "var(--_compound-transparency)"
1779
- };
1780
- const borderTransparency = {
1781
- var: "--_border-transparency",
1782
- ref: "var(--_border-transparency)"
1783
- };
1784
- const indicatorSpacing = {
1785
- var: "--_indicator-spacing",
1786
- ref: "var(--_indicator-spacing)"
1787
- };
1788
- const compoundColor = {
1789
- var: "--_compound-color",
1790
- ref: "var(--_compound-color)"
1791
- };
1792
- const parts$5 = defineParts({
1793
- root: { selector: "&" },
1794
- titleContainer: { selector: "& .likec4-compound-title-container" },
1795
- title: { selector: "& .likec4-compound-title" },
1796
- icon: { selector: "& .likec4-compound-icon" },
1797
- navigationBtn: { selector: "& .likec4-compound-navigation" },
1798
- detailsBtn: { selector: "& .likec4-compound-details" },
1799
- actionBtn: { selector: "& .action-btn" }
1800
- });
1801
- const iconSize = "20px";
1802
- const compoundNode = defineRecipe({
1803
- className: "likec4-compound-node",
1804
- base: parts$5({
1805
- root: {
1806
- position: "relative",
1807
- width: "100%",
1808
- height: "100%",
1809
- padding: "0",
1810
- margin: "0",
1811
- pointerEvents: "none",
1812
- backgroundClip: "padding-box",
1813
- borderStyle: "solid",
1814
- borderWidth: borderWidth.ref,
1815
- borderRadius: borderRadius$1.ref,
1816
- boxSizing: "border-box",
1817
- [vars.palette.outline]: {
1818
- base: `oklch(from ${__v("palette.stroke")} calc(l - 0.15) c h)`,
1819
- _dark: `oklch(from ${__v("palette.stroke")} calc(l + 0.2) c h)`
1820
- },
1821
- [borderWidth.var]: "3px",
1822
- [borderRadius$1.var]: "6px",
1823
- [compoundTransparency.var]: "100%",
1824
- [borderTransparency.var]: "100%",
1825
- [indicatorSpacing.var]: `calc(${borderWidth.ref} + 1px)`,
1826
- [vars.icon.color]: compoundColor.ref,
1827
- color: compoundColor.ref,
1828
- _before: {
1829
- position: "absolute",
1830
- content: "\" \"",
1831
- top: `calc(1px - ${indicatorSpacing.ref} - ${borderWidth.ref})`,
1832
- left: `calc(1px - ${indicatorSpacing.ref} - ${borderWidth.ref})`,
1833
- width: `calc(100% + 2 * (${indicatorSpacing.ref} + ${borderWidth.ref} - 1px))`,
1834
- height: `calc(100% + 2 * (${indicatorSpacing.ref} + ${borderWidth.ref} - 1px))`,
1835
- borderStyle: "solid",
1836
- borderWidth: `calc(${borderWidth.ref} + 1px)`,
1837
- borderRadius: `calc(${borderRadius$1.ref} + 4px)`,
1838
- borderColor: __v("palette.outline"),
1839
- pointerEvents: "none",
1840
- display: {
1841
- base: "none",
1842
- _whenFocused: "block",
1843
- _whenSelected: "block"
1844
- },
1845
- animationStyle: "indicator",
1846
- animationPlayState: {
1847
- base: "paused",
1848
- _whenFocused: "running",
1849
- _whenSelected: "running",
1850
- _whenPanning: "paused"
1851
- }
1852
- },
1853
- [`&:has(.likec4-compound-navigation) .likec4-compound-title-container`]: { paddingLeft: "[24px]" }
1854
- },
1855
- titleContainer: {
1856
- position: "absolute",
1857
- display: "flex",
1858
- alignItems: "center",
1859
- gap: "1.5",
1860
- left: "2.5",
1861
- top: "0.5",
1862
- right: "30px",
1863
- width: "auto",
1864
- minHeight: "28px",
1865
- color: compoundColor.ref,
1866
- [`:where(.react-flow__node.draggable) &`]: {
1867
- pointerEvents: "all",
1868
- cursor: "grab"
1869
- }
1870
- },
1871
- title: {
1872
- flex: "1",
1873
- fontFamily: "likec4.compound",
1874
- fontWeight: 600,
1875
- fontSize: "15px",
1876
- textTransform: "uppercase",
1877
- letterSpacing: "0.25px",
1878
- lineHeight: "1"
1879
- },
1880
- icon: {
1881
- flex: `0 0 ${iconSize}`,
1882
- height: `${iconSize}`,
1883
- width: `${iconSize}`,
1884
- display: "flex",
1885
- alignItems: "center",
1886
- justifyContent: "center",
1887
- mixBlendMode: {
1888
- base: "hard-light",
1889
- _reduceGraphicsOnPan: "normal",
1890
- _print: "normal!"
1891
- },
1892
- [`& svg, & img`]: {
1893
- width: "100%",
1894
- height: "auto",
1895
- maxHeight: "100%",
1896
- pointerEvents: "none",
1897
- filter: {
1898
- base: [
1899
- "drop-shadow(0 0 3px rgb(0 0 0 / 12%))",
1900
- "drop-shadow(0 1px 8px rgb(0 0 0 / 8%))",
1901
- "drop-shadow(1px 1px 16px rgb(0 0 0 / 3%))"
1902
- ].join("\n"),
1903
- _reduceGraphicsOnPan: "none"
1904
- }
1905
- },
1906
- [`& img`]: { objectFit: "contain" }
1907
- },
1908
- actionBtn: {
1909
- "--actionbtn-color": `oklch(from ${compoundColor.ref} calc(l - 0.1) c h)`,
1910
- "--actionbtn-color-hovered": compoundColor.ref,
1911
- "--actionbtn-color-hovered-btn": `oklch(from ${compoundColor.ref} calc(l + 0.2) c h)`,
1912
- opacity: {
1913
- base: .6,
1914
- _whenHovered: .75,
1915
- _whenSelected: .75,
1916
- _hover: 1
1917
- },
1918
- _noReduceGraphics: { transition: "fast" },
1919
- _print: { display: "none" }
1920
- },
1921
- navigationBtn: {
1922
- position: "absolute",
1923
- top: "0.5",
1924
- left: "0.5",
1925
- _smallZoom: { display: "none" },
1926
- _print: { display: "none" }
1927
- },
1928
- detailsBtn: {
1929
- position: "absolute",
1930
- top: "0.5",
1931
- right: "0.5",
1932
- _smallZoom: { display: "none" },
1933
- _print: { display: "none" }
1934
- }
1935
- }),
1936
- variants: {
1937
- isTransparent: {
1938
- false: parts$5({ root: {
1939
- boxShadow: {
1940
- _noReduceGraphics: "0 4px 10px 0.5px rgb(0 0 0/10%) , 0 2px 2px -1px rgb(0 0 0/40%)",
1941
- _whenSelected: "none",
1942
- _whenPanning: "none !important"
1943
- },
1944
- backgroundColor: __v("palette.fill"),
1945
- borderColor: __v("palette.stroke"),
1946
- [compoundColor.var]: alpha(__v("palette.hiContrast"), 90)
1947
- } }),
1948
- true: parts$5({ root: {
1949
- backgroundColor: alpha(__v("palette.fill"), compoundTransparency.ref),
1950
- borderColor: alpha(__v("palette.stroke"), borderTransparency.ref),
1951
- [compoundColor.var]: `color-mix(in oklch, ${__v("palette.hiContrast")}, ${__v("palette.stroke")} 10%)`
1952
- } })
1953
- },
1954
- inverseColor: {
1955
- true: parts$5({
1956
- root: {
1957
- "--_mix": `color-mix(in oklch, ${__v("palette.hiContrast")}, ${__v("palette.stroke")} 60%)`,
1958
- [compoundColor.var]: {
1959
- base: "oklch(from var(--_mix) calc(l - 0.2) c h)",
1960
- _dark: "oklch(from var(--_mix) calc(l + 0.2) c h)"
1961
- }
1962
- },
1963
- actionBtn: {
1964
- "--actionbtn-color": compoundColor.ref,
1965
- _light: {
1966
- "--actionbtn-color-hovered": __v("palette.stroke"),
1967
- "--actionbtn-color-hovered-btn": __v("palette.hiContrast"),
1968
- "--actionbtn-bg-hovered": alpha(__v("palette.fill"), 30),
1969
- "--actionbtn-bg-hovered-btn": __v("palette.fill")
1970
- }
1971
- }
1972
- }),
1973
- false: {}
1974
- },
1975
- borderStyle: {
1976
- solid: parts$5({ root: { borderStyle: "solid" } }),
1977
- dashed: parts$5({ root: { borderStyle: "dashed" } }),
1978
- dotted: parts$5({ root: { borderStyle: "dotted" } }),
1979
- none: parts$5({ root: {
1980
- borderColor: "transparent!",
1981
- backgroundClip: "border-box!",
1982
- [indicatorSpacing.var]: `calc(${borderWidth.ref} * 2)`
1983
- } })
1984
- }
1985
- },
1986
- defaultVariants: {
1987
- isTransparent: false,
1988
- inverseColor: false,
1989
- borderStyle: "none"
1990
- },
1991
- staticCss: [{
1992
- isTransparent: ["*"],
1993
- inverseColor: ["*"],
1994
- borderStyle: ["*"]
1995
- }]
1996
- });
1997
- //#endregion
1998
- //#region ../preset/src/recipes/edgeActionBtn.ts
1999
- const edgeActionBtn = defineRecipe({
2000
- className: "likec4-edge-action-btn",
2001
- description: "Action Button within Diagram Edge Label",
2002
- base: {
2003
- pointerEvents: "all",
2004
- color: `var(--xy-edge-label-color)`,
2005
- cursor: "pointer",
2006
- opacity: .75,
2007
- transition: "fast",
2008
- translate: "auto",
2009
- "--ai-bg": "transparent",
2010
- "--ai-hover": `color-mix(in oklab , var(--xy-edge-label-background-color), {colors.likec4.mixColor} 10%)`,
2011
- "--ai-size": `28px`,
2012
- "--ai-radius": `{radii.sm}`,
2013
- _hover: {
2014
- translateY: "[2px]",
2015
- scale: 1.15
2016
- },
2017
- _active: {
2018
- translateY: "[-1px]",
2019
- scale: "0.9"
2020
- },
2021
- _whenHovered: {
2022
- "--ai-bg": "var(--xy-edge-label-background-color)",
2023
- opacity: 1
2024
- },
2025
- "& .tabler-icon": {
2026
- width: "80%",
2027
- height: "80%",
2028
- strokeWidth: "2"
2029
- },
2030
- _print: { display: "none" }
2031
- },
2032
- variants: {},
2033
- defaultVariants: {},
2034
- staticCss: [{ conditions: ["*"] }]
2035
- });
2036
- //#endregion
2037
- //#region ../preset/src/recipes/edgeLabel.ts
2038
- const parts$4 = defineParts({
2039
- root: { selector: "&" },
2040
- stepNumber: { selector: "& .likec4-edge-label__step-number" },
2041
- contents: { selector: "& .likec4-edge-label__contents" },
2042
- label: { selector: "& .likec4-edge-label__text" },
2043
- technology: { selector: "& .likec4-edge-label__technology" }
2044
- });
2045
- const edgeLabel = defineRecipe({
2046
- className: "likec4-edge-label",
2047
- jsx: [],
2048
- base: parts$4({
2049
- root: {
2050
- fontFamily: "likec4.relation",
2051
- paddingBlock: "1",
2052
- paddingInline: "1.5",
2053
- display: "flex",
2054
- flexDirection: "column",
2055
- alignItems: "center",
2056
- width: "max-content",
2057
- maxWidth: "100%",
2058
- gap: "0.5",
2059
- color: "var(--xy-edge-label-color)",
2060
- background: "var(--xy-edge-label-background-color)",
2061
- border: "0px solid transparent",
2062
- borderRadius: "4px"
2063
- },
2064
- stepNumber: {
2065
- alignSelf: "stretch",
2066
- flex: "0 0 auto",
2067
- fontWeight: 600,
2068
- fontSize: "14px",
2069
- padding: "1",
2070
- textAlign: "center",
2071
- minWidth: "22px",
2072
- borderTopLeftRadius: "4px",
2073
- borderBottomLeftRadius: "4px",
2074
- _only: {
2075
- borderRadius: "4px",
2076
- minWidth: "24px"
2077
- },
2078
- background: `color-mix(in oklab, var(--xy-edge-label-background-color), {colors.likec4.mixColor} 12%)`,
2079
- fontVariantNumeric: "tabular-nums",
2080
- [":where([data-likec4-color=\"gray\"]) &"]: { _dark: { background: `color-mix(in oklab, var(--xy-edge-label-background-color), {colors.likec4.mixColor} 15%)` } }
2081
- },
2082
- contents: {
2083
- display: "contents",
2084
- _empty: { display: "none !important" }
2085
- },
2086
- label: {
2087
- whiteSpaceCollapse: "preserve-breaks",
2088
- overflowWrap: "anywhere",
2089
- fontSize: "14px",
2090
- lineHeight: "1.2",
2091
- margin: "0"
2092
- },
2093
- technology: {
2094
- textAlign: "center",
2095
- whiteSpaceCollapse: "preserve-breaks",
2096
- overflowWrap: "anywhere",
2097
- fontSize: "11px",
2098
- lineHeight: "1",
2099
- opacity: .75
2100
- }
2101
- }),
2102
- variants: {
2103
- pointerEvents: {
2104
- none: parts$4({ root: { pointerEvents: "none" } }),
2105
- all: parts$4({ root: { pointerEvents: "all" } })
2106
- },
2107
- cursor: {
2108
- pointer: parts$4({ root: { cursor: "pointer" } }),
2109
- default: parts$4({ root: { cursor: "default" } })
2110
- },
2111
- isStepEdge: {
2112
- false: {},
2113
- true: parts$4({
2114
- root: {
2115
- flexDirection: "row",
2116
- gap: "1",
2117
- padding: "0"
2118
- },
2119
- contents: {
2120
- display: "flex",
2121
- flexDirection: "column",
2122
- alignItems: "center",
2123
- paddingTop: "0.5",
2124
- paddingRight: "1",
2125
- paddingBottom: "1",
2126
- gap: "0.5"
2127
- },
2128
- label: {
2129
- py: "0.5",
2130
- paddingRight: "0.5"
2131
- }
2132
- })
2133
- }
2134
- },
2135
- defaultVariants: {
2136
- pointerEvents: "all",
2137
- isStepEdge: false,
2138
- cursor: "default"
2139
- },
2140
- staticCss: [{
2141
- conditions: ["*"],
2142
- isStepEdge: ["*"],
2143
- cursor: ["*"],
2144
- pointerEvents: ["*"]
2145
- }]
2146
- });
2147
- //#endregion
2148
- //#region ../preset/src/recipes/edgePath.ts
2149
- const edgePath = defineSlotRecipe({
2150
- description: "Recipe for Edge Path",
2151
- slots: [
2152
- "path",
2153
- "pathBg",
2154
- "markersCtx",
2155
- "middlePoint"
2156
- ],
2157
- className: "likec4-edge",
2158
- jsx: [],
2159
- base: {
2160
- path: {
2161
- fill: "none",
2162
- strokeDashoffset: 0,
2163
- _noReduceGraphics: {
2164
- animationStyle: "xyedgeAnimated",
2165
- animationPlayState: "paused",
2166
- transition: "stroke 130ms ease-out,stroke-width 130ms ease-out"
2167
- },
2168
- [`:where([data-edge-dir='back']) &`]: { animationDirection: "reverse" },
2169
- _whenHovered: { _noReduceGraphics: {
2170
- animationPlayState: "running",
2171
- animationDelay: "450ms"
2172
- } },
2173
- [`:where(.selected, [data-edge-active='true'], [data-edge-animated='true']) &`]: { _noReduceGraphics: {
2174
- animationPlayState: "running",
2175
- animationDelay: "0ms"
2176
- } },
2177
- _whenDimmed: { animationPlayState: "paused" },
2178
- _smallZoom: { animationName: "none" },
2179
- _whenPanning: {
2180
- strokeDasharray: "none !important",
2181
- animationPlayState: "paused"
2182
- }
2183
- },
2184
- pathBg: {
2185
- pointerEvents: "none",
2186
- fill: "none",
2187
- strokeWidth: "calc(var(--xy-edge-stroke-width) + 2)",
2188
- strokeOpacity: {
2189
- base: .08,
2190
- _dark: .25
2191
- },
2192
- _noReduceGraphics: {
2193
- transitionProperty: "stroke-width, stroke-opacity",
2194
- transitionDuration: "fast",
2195
- transitionTimingFunction: "inOut"
2196
- },
2197
- _whenHovered: {
2198
- transitionTimingFunction: "out",
2199
- strokeWidth: "calc(var(--xy-edge-stroke-width) + 4)",
2200
- strokeOpacity: {
2201
- base: .2,
2202
- _dark: .45
2203
- }
2204
- },
2205
- _whenSelected: {
2206
- strokeWidth: "calc(var(--xy-edge-stroke-width) + 6)",
2207
- strokeOpacity: {
2208
- base: .25,
2209
- _dark: .5
2210
- },
2211
- _whenHovered: { strokeOpacity: {
2212
- base: .4,
2213
- _dark: .65
2214
- } }
2215
- }
2216
- },
2217
- markersCtx: {
2218
- fill: "[var(--xy-edge-stroke)]",
2219
- stroke: "[var(--xy-edge-stroke)]"
2220
- },
2221
- middlePoint: {
2222
- visibility: "hidden",
2223
- offsetDistance: "50%",
2224
- cx: 0,
2225
- cy: 0,
2226
- r: 4,
2227
- pointerEvents: "none"
2228
- }
2229
- },
2230
- staticCss: [{ conditions: ["*"] }]
2231
- });
2232
- //#endregion
2233
- //#region ../preset/src/recipes/elementNode.ts
2234
- const elementNode = defineRecipe({
2235
- className: "likec4-element-node",
2236
- jsx: ["ElementNodeContainer", "ElementNode"],
2237
- base: {
2238
- position: "relative",
2239
- width: "full",
2240
- height: "full",
2241
- padding: "0",
2242
- margin: "0",
2243
- display: "flex",
2244
- alignItems: "center",
2245
- justifyContent: "center",
2246
- pointerEvents: "none",
2247
- _focusVisible: { outline: "none" },
2248
- _whenSelectable: {
2249
- pointerEvents: "all",
2250
- _before: {
2251
- content: "\" \"",
2252
- position: "absolute",
2253
- top: "calc(100% - 4px)",
2254
- left: "0",
2255
- width: "full",
2256
- height: "24px",
2257
- background: "transparent",
2258
- pointerEvents: "all"
2259
- }
2260
- },
2261
- _reduceGraphicsOnPan: { _before: { display: "none" } },
2262
- [`:where(.react-flow__node.selectable:not(.dragging)) &`]: { cursor: "pointer" },
2263
- [`&:is([data-likec4-shape="document"])`]: { paddingBottom: "16px" }
2264
- },
2265
- staticCss: [{ conditions: ["*"] }]
2266
- });
2267
- //#endregion
2268
- //#region ../preset/src/recipes/elementNodeData.ts
2269
- const parts$3 = defineParts({
2270
- root: { selector: "&" },
2271
- icon: { selector: "& [data-likec4-icon]" },
2272
- content: { selector: "& .likec4-element-node-content" },
2273
- title: { selector: "& [data-likec4-node-title]" },
2274
- description: { selector: "& [data-likec4-node-description]" },
2275
- technology: { selector: "& [data-likec4-node-technology]" }
2276
- });
2277
- const hasIcon = "&:has([data-likec4-icon])";
2278
- const textAlign = "--__text-align";
2279
- const varTextAlign = `var(${textAlign})`;
2280
- const elementNodeData = defineRecipe({
2281
- className: "likec4-element-node-data",
2282
- jsx: [
2283
- "ElementNodeData",
2284
- "ElementNodeData.Root",
2285
- "ElementTitle",
2286
- "Root"
2287
- ],
2288
- base: parts$3({
2289
- root: {
2290
- position: "relative",
2291
- flex: "1",
2292
- height: "fit-content",
2293
- width: "fit-content",
2294
- maxHeight: "100%",
2295
- maxWidth: "100%",
2296
- margin: "auto",
2297
- display: "flex",
2298
- alignItems: "center",
2299
- justifyContent: "center",
2300
- flexDirection: "row",
2301
- paddingTop: __v("spacing"),
2302
- paddingBottom: __v("spacing"),
2303
- paddingLeft: `calc(${__v("spacing")} + 8px)`,
2304
- paddingRight: `calc(${__v("spacing")} + 8px)`,
2305
- overflow: "hidden",
2306
- pointerEvents: "none",
2307
- gap: "3",
2308
- [textAlign]: "center",
2309
- _shapeQueue: {
2310
- paddingLeft: "46px",
2311
- paddingRight: "16px"
2312
- },
2313
- _shapeMobile: {
2314
- paddingLeft: "46px",
2315
- paddingRight: "16px"
2316
- },
2317
- _shapeCylinder: { paddingTop: "30px" },
2318
- _shapeStorage: { paddingTop: "30px" },
2319
- _shapeBrowser: {
2320
- paddingTop: "32px",
2321
- paddingBottom: "28px"
2322
- },
2323
- _shapeBucket: {
2324
- paddingLeft: `calc(${__v("spacing")} + 20px)`,
2325
- paddingRight: `calc(${__v("spacing")} + 20px)`
2326
- },
2327
- _shapeComponent: { paddingLeft: `calc(${__v("spacing")} + 30px)` },
2328
- _shapeSizeXs: { [vars.icon.size]: `${defaultSizes.iconSizes.xs}px` },
2329
- _shapeSizeSm: { [vars.icon.size]: `${defaultSizes.iconSizes.sm}px` },
2330
- _shapeSizeMd: { [vars.icon.size]: `${defaultSizes.iconSizes.md}px` },
2331
- _shapeSizeLg: {
2332
- [vars.icon.size]: `${defaultSizes.iconSizes.lg}px`,
2333
- gap: "4"
2334
- },
2335
- _shapeSizeXl: {
2336
- [vars.icon.size]: `${defaultSizes.iconSizes.xl}px`,
2337
- gap: "4"
2338
- },
2339
- [hasIcon]: { gap: "4" }
2340
- },
2341
- icon: {
2342
- flex: `0 0 ${__v("icon.size", "48px")}`,
2343
- height: __v("icon.size", "48px"),
2344
- width: __v("icon.size", "48px"),
2345
- display: "flex",
2346
- alignSelf: "flex-start",
2347
- alignItems: "center",
2348
- justifyContent: "center",
2349
- pointerEvents: "none",
2350
- color: __v("icon.color", "palette.hiContrast"),
2351
- "& svg, & img": {
2352
- width: "100%",
2353
- height: "auto",
2354
- maxHeight: "100%",
2355
- transition: "fast",
2356
- filter: {
2357
- base: ["drop-shadow(0 1px 3px rgb(0 0 0 / 20%))"].join("\n"),
2358
- _whenHovered: ["drop-shadow(0 2px 4px rgb(0 0 0 / 30%))"].join("\n"),
2359
- _reduceGraphicsOnPan: "none!"
2360
- }
2361
- },
2362
- "& img": { objectFit: "contain" }
2363
- },
2364
- content: {
2365
- height: "fit-content",
2366
- width: "fit-content",
2367
- maxHeight: "100%",
2368
- maxWidth: "100%",
2369
- flex: "0 1 auto",
2370
- display: "flex",
2371
- flexDirection: "column",
2372
- alignItems: "stretch",
2373
- justifyContent: "center",
2374
- flexWrap: "nowrap",
2375
- overflow: "hidden",
2376
- gap: "2",
2377
- "&:has([data-likec4-node-description]):has([data-likec4-node-technology])": { gap: "1.5" }
2378
- },
2379
- title: {
2380
- flex: "0 0 auto",
2381
- fontFamily: "likec4.element",
2382
- fontWeight: "medium",
2383
- fontSize: __v("textsize"),
2384
- lineHeight: "sm",
2385
- textWrapStyle: "balance",
2386
- whiteSpace: "preserve-breaks",
2387
- textAlign: varTextAlign,
2388
- color: __v("palette.hiContrast"),
2389
- lineClamp: {
2390
- base: 3,
2391
- _shapeSizeXs: 2,
2392
- _shapeSizeSm: 2
2393
- }
2394
- },
2395
- description: {
2396
- flexGrow: "0",
2397
- flexShrink: "1",
2398
- fontFamily: "likec4.element",
2399
- fontWeight: "420",
2400
- fontSize: `calc(${__v("textsize")} * 0.74)`,
2401
- lineHeight: "xs",
2402
- textWrapStyle: "pretty",
2403
- "--text-fz": `calc(${__v("textsize")} * 0.74)`,
2404
- color: __v("palette.loContrast"),
2405
- textAlign: varTextAlign,
2406
- textOverflow: "ellipsis",
2407
- overflow: "hidden",
2408
- lineClamp: {
2409
- base: "5",
2410
- _shapeSizeSm: "3"
2411
- },
2412
- display: {
2413
- _shapeSizeXs: "none!",
2414
- _smallZoom: "none!"
2415
- },
2416
- "& a": { pointerEvents: "all" },
2417
- "& .markdown-alert": { mixBlendMode: "screen" }
2418
- },
2419
- technology: {
2420
- flex: "0 0 auto",
2421
- fontFamily: "likec4.element",
2422
- fontWeight: "normal",
2423
- fontSize: `calc(${__v("textsize")} * 0.635)`,
2424
- lineHeight: "xs",
2425
- "--text-fz": `calc(${__v("textsize")} * 0.635)`,
2426
- color: __v("palette.loContrast"),
2427
- textAlign: varTextAlign,
2428
- textWrap: "balance",
2429
- opacity: {
2430
- base: .92,
2431
- _whenHovered: 1
2432
- },
2433
- display: {
2434
- _shapeSizeXs: "none!",
2435
- _shapeSizeSm: "none!",
2436
- _smallZoom: "none!"
2437
- }
2438
- }
2439
- }),
2440
- variants: {
2441
- iconPosition: {
2442
- left: parts$3({ root: { [hasIcon]: {
2443
- [textAlign]: "left",
2444
- "& .likec4-element-node-content": {
2445
- minWidth: `calc(50% + calc(${__v("icon.size")} / 2))`,
2446
- alignItems: "flex-start"
2447
- }
2448
- } } }),
2449
- right: parts$3({ root: { [hasIcon]: {
2450
- flexDirection: "row-reverse",
2451
- [textAlign]: "right",
2452
- gap: "4",
2453
- "& .likec4-element-node-content": {
2454
- minWidth: `calc(50% - calc(${__v("icon.size")} / 2))`,
2455
- alignItems: "flex-end"
2456
- }
2457
- } } }),
2458
- top: parts$3({
2459
- root: { [hasIcon]: {
2460
- flexDirection: "column",
2461
- gap: "2",
2462
- height: "100%",
2463
- "& .likec4-element-node-content": {
2464
- minHeight: `calc(50% - ${__v("icon.size")})`,
2465
- justifyContent: "flex-start"
2466
- }
2467
- } },
2468
- icon: { alignSelf: "center" }
2469
- }),
2470
- bottom: parts$3({
2471
- root: { [hasIcon]: {
2472
- flexDirection: "column-reverse",
2473
- gap: "2",
2474
- height: "100%",
2475
- "& .likec4-element-node-content": {
2476
- justifyContent: "flex-end",
2477
- minHeight: `calc(50% - ${__v("icon.size")})`
2478
- }
2479
- } },
2480
- icon: { alignSelf: "center" }
2481
- })
2482
- },
2483
- withIconColor: {
2484
- true: parts$3({ icon: { "& svg": { color: __v("icon.color", "palette.stroke") } } }),
2485
- false: parts$3({ icon: { mixBlendMode: {
2486
- base: "hard-light",
2487
- _reduceGraphicsOnPan: "normal"
2488
- } } })
2489
- }
2490
- },
2491
- defaultVariants: {
2492
- iconPosition: "left",
2493
- withIconColor: false
2494
- },
2495
- staticCss: [{
2496
- withIconColor: ["*"],
2497
- iconPosition: ["*"],
2498
- conditions: ["*"]
2499
- }]
2500
- });
2501
- //#endregion
2502
- //#region ../preset/src/recipes/elementShape.ts
2503
- const parts$2 = defineParts({
2504
- root: { selector: "&" },
2505
- outline: { selector: "& .likec4-shape-outline" },
2506
- multipleHtml: { selector: "& .likec4-shape-multiple" },
2507
- componentTopLeftRect: { selector: "& .top-left-rect" },
2508
- multipleSvg: { selector: "&:is([data-likec4-shape-multiple=\"true\"])" }
2509
- });
2510
- const elementShapeRecipe = defineRecipe({
2511
- description: "Recipe for Diagram node shape",
2512
- className: "likec4-element-shape",
2513
- base: parts$2({
2514
- root: {
2515
- top: "0",
2516
- left: "0",
2517
- position: "absolute",
2518
- width: "100%",
2519
- height: "100%",
2520
- pointerEvents: "none",
2521
- overflow: "visible",
2522
- [vars.palette.outline]: {
2523
- base: `oklch(from ${__v("palette.stroke")} calc(l * 0.9) c h)`,
2524
- _dark: `oklch(from ${__v("palette.stroke")} calc(l * 1.2) calc(c * 1.05) h)`
2525
- },
2526
- ["--likec4-outline-size"]: `4px`
2527
- },
2528
- outline: {
2529
- opacity: .8,
2530
- transitionBehavior: "allow-discrete",
2531
- visibility: {
2532
- base: "hidden",
2533
- _smallZoom: "hidden",
2534
- _whenSelected: "visible",
2535
- _whenFocused: "visible",
2536
- _groupFocusVisible: "visible"
2537
- },
2538
- animationPlayState: {
2539
- base: "paused",
2540
- _whenSelected: "running",
2541
- _whenFocused: "running",
2542
- _groupFocusVisible: "running",
2543
- _whenPanning: "paused"
2544
- },
2545
- pointerEvents: "none"
2546
- }
2547
- }),
2548
- variants: {
2549
- shapetype: {
2550
- html: parts$2({
2551
- root: {
2552
- backgroundColor: "var(--likec4-palette-fill)",
2553
- border: "none",
2554
- borderRadius: "6px",
2555
- boxShadow: {
2556
- base: [
2557
- "0 2px 1px 0 rgb(0 0 0 / 21%)",
2558
- "0 1px 1px 0 color-mix(in oklab, var(--likec4-palette-stroke) 40%, transparent)",
2559
- "0 5px 3px 0 rgb(0 0 0 / 10%)"
2560
- ].join(","),
2561
- _whenHovered: {
2562
- base: `rgba(38, 57, 77, 95%) 0px 20px 30px -10px`,
2563
- _dark: `rgba(10, 11, 16, 90%) 0px 20px 30px -10px`
2564
- },
2565
- _whenSelected: "none",
2566
- _smallZoom: "none",
2567
- _whenPanning: "none"
2568
- },
2569
- transition: {
2570
- base: "background-color 150ms, box-shadow 130ms",
2571
- _reduceGraphicsOnPan: "none"
2572
- },
2573
- transitionTimingFunction: "out",
2574
- transitionDelay: "0ms"
2575
- },
2576
- multipleHtml: {
2577
- position: "absolute",
2578
- content: "\" \"",
2579
- top: "16px",
2580
- left: "16px",
2581
- width: "calc(100% - 6px)",
2582
- height: "calc(100% - 6px)",
2583
- backgroundColor: "var(--likec4-palette-fill)",
2584
- borderRadius: "6px",
2585
- zIndex: -1,
2586
- filter: "brightness(0.5) !important",
2587
- visibility: {
2588
- base: "visible",
2589
- _smallZoom: "hidden",
2590
- _whenSelected: "hidden",
2591
- _whenFocused: "hidden",
2592
- _reduceGraphicsOnPan: "hidden"
2593
- },
2594
- transition: "normal",
2595
- _whenHovered: { transform: "translate(-14px, -14px)" }
2596
- },
2597
- outline: {
2598
- position: "absolute",
2599
- content: "\" \"",
2600
- top: `[calc(-1 * var(--likec4-outline-size) - 1px)]`,
2601
- left: `[calc(-1 * var(--likec4-outline-size) - 1px)]`,
2602
- width: `[calc(100% + 2 * var(--likec4-outline-size) + 2px)]`,
2603
- height: `[calc(100% + 2 * var(--likec4-outline-size) + 2px)]`,
2604
- borderStyle: "solid",
2605
- borderWidth: "var(--likec4-outline-size)",
2606
- borderRadius: "11px",
2607
- borderColor: "var(--likec4-palette-outline)",
2608
- animationStyle: "indicator"
2609
- }
2610
- }),
2611
- svg: parts$2({
2612
- root: {
2613
- fill: "var(--likec4-palette-fill)",
2614
- stroke: "var(--likec4-palette-stroke)",
2615
- transition: `fill 120ms {easings.in}, filter 130ms {easings.in}`,
2616
- transitionTimingFunction: {
2617
- base: "out",
2618
- _whenHovered: "in"
2619
- },
2620
- transitionDelay: "0ms",
2621
- filter: {
2622
- base: [
2623
- "drop-shadow(0 2px 1px rgba(0, 0, 0, 0.21))",
2624
- "drop-shadow(0 1px 1px color-mix(in oklab, var(--likec4-palette-stroke) 40%, transparent))",
2625
- "drop-shadow(0 5px 3px rgba(0, 0, 0, 0.1))"
2626
- ].join("\n"),
2627
- _whenHovered: [
2628
- "drop-shadow(0 2px 1px rgba(0, 0, 0, 0.12))",
2629
- "drop-shadow(0px 4px 2px rgba(0, 0, 0, 0.12))",
2630
- "drop-shadow(0px 8px 4px rgba(0, 0, 0, 0.12))",
2631
- "drop-shadow(0px 16px 8px rgba(0, 0, 0, 0.1))",
2632
- "drop-shadow(0px 32px 16px rgba(0, 0, 0, 0.09))"
2633
- ].join("\n"),
2634
- _whenSelected: "none",
2635
- _smallZoom: "none",
2636
- _whenPanning: "none"
2637
- },
2638
- "& [data-likec4-fill=\"fill\"]": { fill: "var(--likec4-palette-fill)" },
2639
- "& [data-likec4-fill=\"stroke\"]": { fill: "var(--likec4-palette-stroke)" },
2640
- "& [data-likec4-fill=\"mix-stroke\"]": { fill: "color-mix(in oklab, var(--likec4-palette-stroke) 80%, var(--likec4-palette-fill))" }
2641
- },
2642
- componentTopLeftRect: {
2643
- "--mix-bg": "40%",
2644
- fill: "color-mix(in oklab, var(--likec4-palette-stroke) var(--mix-bg), var(--likec4-palette-fill))",
2645
- transition: `all 120ms {easings.in}`,
2646
- transitionDelay: "0ms",
2647
- strokeOpacity: .8,
2648
- _whenSelected: {
2649
- transitionTimingFunction: "out",
2650
- "--mix-bg": "60%",
2651
- strokeOpacity: 1
2652
- },
2653
- _whenHovered: {
2654
- transitionTimingFunction: "out",
2655
- "--mix-bg": "60%",
2656
- strokeOpacity: 1
2657
- }
2658
- },
2659
- multipleSvg: {
2660
- transformOrigin: {
2661
- base: "50% 50%",
2662
- _shapeQueue: "75% 25%",
2663
- _shapeCylinder: "50% 100%",
2664
- _shapeStorage: "50% 100%"
2665
- },
2666
- transform: {
2667
- base: "translate(14px, 14px) perspective(200px) translateZ(-4px)",
2668
- _whenHovered: "translate(2px, 2px) perspective(200px) translateZ(-4px)"
2669
- },
2670
- transitionBehavior: "allow-discrete",
2671
- transitionProperty: "fill, filter, transform",
2672
- transitionDuration: "faster",
2673
- filter: "brightness(0.5) !important",
2674
- stroke: "none",
2675
- display: {
2676
- _smallZoom: "none",
2677
- _reduceGraphicsOnPan: "none",
2678
- _whenSelected: "none",
2679
- _whenFocused: "none"
2680
- },
2681
- "& [data-likec4-fill=\"mix-stroke\"]": { fill: "var(--likec4-palette-fill)" }
2682
- },
2683
- outline: {
2684
- stroke: "var(--likec4-palette-outline)",
2685
- fill: "none",
2686
- strokeWidth: 4,
2687
- animationStyle: "indicator"
2688
- }
2689
- })
2690
- },
2691
- withBorder: {
2692
- true: {},
2693
- false: {}
2694
- },
2695
- withOutline: {
2696
- true: parts$2({ outline: { display: "block" } }),
2697
- false: parts$2({ outline: { display: "none" } })
2698
- }
2699
- },
2700
- defaultVariants: {
2701
- withBorder: false,
2702
- withOutline: false
2703
- },
2704
- compoundVariants: [{
2705
- shapetype: "html",
2706
- withBorder: true,
2707
- css: parts$2({
2708
- root: {
2709
- borderStyle: "solid",
2710
- borderWidth: "3px",
2711
- borderColor: "var(--likec4-palette-stroke)",
2712
- "--likec4-outline-size": "6px"
2713
- },
2714
- outline: { borderRadius: "10px" }
2715
- })
2716
- }],
2717
- staticCss: [{
2718
- shapetype: ["*"],
2719
- withOutline: ["*"],
2720
- withBorder: ["*"]
2721
- }]
2722
- });
2723
- //#endregion
2724
- //#region ../preset/src/recipes/likec4tag.ts
2725
- const likec4tag = defineRecipe({
2726
- className: "likec4-tag",
2727
- base: {
2728
- pointerEvents: "all",
2729
- display: "inline-flex",
2730
- alignItems: "center",
2731
- justifyContent: "center",
2732
- minWidth: 40,
2733
- width: "min-content",
2734
- transition: "fast",
2735
- fontSize: "xs",
2736
- gap: "[1px]",
2737
- cursor: "default",
2738
- fontFamily: "likec4",
2739
- fontWeight: "bold",
2740
- layerStyle: "likec4.tag",
2741
- whiteSpace: "nowrap",
2742
- px: "1",
2743
- py: "0"
2744
- },
2745
- variants: { autoTextColor: {
2746
- false: { "& > span": {
2747
- color: "likec4.tag.text",
2748
- _first: { opacity: .65 }
2749
- } },
2750
- true: { "& > span": {
2751
- color: "transparent",
2752
- filter: "invert(1) grayscale(1) brightness(1.3) contrast(1000)",
2753
- backgroundColor: "likec4.tag.bg",
2754
- backgroundClip: "text",
2755
- mixBlendMode: {
2756
- base: "plus-lighter",
2757
- _print: "normal!"
2758
- }
2759
- } }
2760
- } },
2761
- defaultVariants: { autoTextColor: false },
2762
- staticCss: [{
2763
- autoTextColor: ["true", "false"],
2764
- conditions: ["hover"]
2765
- }]
2766
- });
2767
- //#endregion
2768
- //#region ../preset/src/recipes/markdownBlock.ts
2769
- const markdownBlock = defineRecipe({
2770
- className: "likec4-markdown-block",
2771
- jsx: ["MarkdownBlock", "Markdown"],
2772
- description: "Block with Markdown content",
2773
- base: {
2774
- "--text-fz": "1em",
2775
- "--text-fz-sm": "calc(var(--text-fz) * var(--mantine-scale, 1) / 1.125)",
2776
- "--text-fz-md": "calc(var(--text-fz) * var(--mantine-scale, 1))",
2777
- "--typography-spacing": "calc(0.75 * var(--text-fz-md))",
2778
- "--text-fw-headings": "600",
2779
- "--code-background": {
2780
- base: mantine.colors.gray[2],
2781
- _dark: mantine.colors.dark[8]
2782
- },
2783
- "--code-color": {
2784
- base: mantine.colors.black,
2785
- _dark: mantine.colors.white
2786
- },
2787
- _dark: {
2788
- "--color-border-default": "#30363d",
2789
- "--color-accent-fg": "#58a6ff",
2790
- "--color-accent-emphasis": "#1f6feb",
2791
- "--color-danger-fg": "#f85149",
2792
- "--color-danger-emphasis": "#da3633",
2793
- "--color-attention-fg": "#d29922",
2794
- "--color-attention-emphasis": "#9e6a03",
2795
- "--color-done-fg": "#a371f7",
2796
- "--color-done-emphasis": "#8957e5",
2797
- "--color-success-fg": "#3fb950",
2798
- "--color-success-emphasis": "#238636"
2799
- },
2800
- _light: {
2801
- "--color-border-default": "#d0d7de",
2802
- "--color-accent-fg": "#0969da",
2803
- "--color-accent-emphasis": "#0969da",
2804
- "--color-danger-fg": "#d1242f",
2805
- "--color-danger-emphasis": "#cf222e",
2806
- "--color-attention-fg": "#9a6700",
2807
- "--color-attention-emphasis": "#9a6700",
2808
- "--color-done-fg": "#8250df",
2809
- "--color-done-emphasis": "#8250df",
2810
- "--color-success-fg": "#1a7f37",
2811
- "--color-success-emphasis": "#1f883d"
2812
- },
2813
- fontSize: "var(--text-fz-md)",
2814
- lineHeight: mantine.lineHeight,
2815
- "& :first-child": { marginTop: "0" },
2816
- "& :last-child": { marginBottom: "0" },
2817
- "& :where(h1, h2, h3, h4, h5, h6)": {
2818
- lineHeight: "1.5",
2819
- textWrap: "var(--mantine-heading-text-wrap)",
2820
- fontFamily: mantine.fontFamilyHeadings,
2821
- marginBottom: "var(--typography-spacing)"
2822
- },
2823
- "& :is(h1, h2, h3, h4, h5, h6):not(:first-child)": { marginTop: "var(--typography-spacing)" },
2824
- "& :is(h1)": {
2825
- fontSize: "calc(1.476 * var(--text-fz-md))",
2826
- fontWeight: "var(--text-fw-headings)"
2827
- },
2828
- "& :is(h2)": {
2829
- fontSize: "calc(1.383 * var(--text-fz-md))",
2830
- fontWeight: "var(--text-fw-headings)"
2831
- },
2832
- "& :is(h3)": {
2833
- fontSize: "calc(1.296 * var(--text-fz-md))",
2834
- fontWeight: "var(--text-fw-headings)"
2835
- },
2836
- "& :is(h4)": {
2837
- fontSize: "calc(1.215 * var(--text-fz-md))",
2838
- fontWeight: "var(--text-fw-headings)"
2839
- },
2840
- "& :is(h5)": {
2841
- fontSize: "calc(1.138 * var(--text-fz-md))",
2842
- fontWeight: "var(--text-fw-headings)"
2843
- },
2844
- "& :is(h6)": {
2845
- fontSize: "calc(1.067 * var(--text-fz-md))",
2846
- fontWeight: "var(--text-fw-headings)"
2847
- },
2848
- "& :where(img)": {
2849
- maxWidth: "100%",
2850
- marginBottom: "var(--typography-spacing)"
2851
- },
2852
- "& :where(p)": {
2853
- fontSize: "var(--text-fz-md)",
2854
- marginTop: "0",
2855
- marginBottom: "var(--typography-spacing)"
2856
- },
2857
- "& :where(strong)": { fontWeight: "550" },
2858
- "& :where(mark)": {
2859
- fontSize: "var(--text-fz-md)",
2860
- backgroundColor: mantine.colors.yellow[2],
2861
- color: "inherit",
2862
- _dark: {
2863
- backgroundColor: mantine.colors.yellow[5],
2864
- color: mantine.colors.black
2865
- }
2866
- },
2867
- "& :where(a)": {
2868
- fontSize: "var(--text-fz-md)",
2869
- color: mantine.colors.anchor,
2870
- textDecoration: "none",
2871
- fontWeight: "450",
2872
- _hover: { textDecoration: "underline" }
2873
- },
2874
- "& :where(hr)": {
2875
- marginTop: "calc(var(--typography-spacing) / 2)",
2876
- marginBottom: "calc(var(--typography-spacing) / 2)",
2877
- border: "none",
2878
- borderBottom: "1px solid",
2879
- borderColor: {
2880
- base: mantine.colors.gray[3],
2881
- _dark: mantine.colors.dark[3]
2882
- }
2883
- },
2884
- "& :where(pre)": {
2885
- px: "3",
2886
- py: "2",
2887
- lineHeight: mantine.lineHeights.xs,
2888
- margin: "0",
2889
- marginTop: "var(--typography-spacing)",
2890
- marginBottom: "var(--typography-spacing)",
2891
- overflowX: "auto",
2892
- fontFamily: "var(--mantine-font-family-monospace)",
2893
- fontSize: "var(--text-fz-sm)",
2894
- borderRadius: "sm",
2895
- backgroundColor: "var(--code-background)",
2896
- color: "var(--code-color)"
2897
- },
2898
- "& :where(code)": {
2899
- lineHeight: "1",
2900
- padding: "1px 4px",
2901
- borderRadius: "xs",
2902
- fontFamily: "var(--mantine-font-family-monospace)",
2903
- fontSize: "var(--text-fz-sm)",
2904
- backgroundColor: "var(--code-background)",
2905
- color: "var(--code-color)"
2906
- },
2907
- "& :where(pre code)": {
2908
- backgroundColor: "transparent",
2909
- padding: "0",
2910
- borderRadius: "0",
2911
- color: "inherit",
2912
- border: "0"
2913
- },
2914
- "& :where(ul, ol):not([data-type=\"taskList\"])": {
2915
- marginBottom: "var(--typography-spacing)",
2916
- paddingInlineStart: "var(--typography-spacing)",
2917
- listStylePosition: "inside"
2918
- },
2919
- "& :where(table)": {
2920
- width: "100%",
2921
- borderCollapse: "collapse",
2922
- captionSide: "bottom",
2923
- marginBottom: "var(--typography-spacing)",
2924
- _light: { ["--table-border-color"]: mantine.colors.gray["3"] },
2925
- _dark: { ["--table-border-color"]: "var(--mantine-color-dark-4)" },
2926
- "& :where(caption)": {
2927
- marginTop: "calc(.5 * var(--typography-spacing) + 1px)",
2928
- fontSize: "var(--text-fz-sm)",
2929
- color: "var(--mantine-color-dimmed)"
2930
- },
2931
- "& :where(th)": {
2932
- textAlign: "left",
2933
- fontWeight: "550",
2934
- fontSize: "var(--text-fz-sm)",
2935
- padding: "var(--typography-spacing)"
2936
- },
2937
- "& :where(thead th)": {
2938
- borderBottom: "1px solid",
2939
- borderColor: "var(--table-border-color)"
2940
- },
2941
- "& :where(tfoot th)": {
2942
- borderTop: "1px solid",
2943
- borderColor: "var(--table-border-color)"
2944
- },
2945
- "& :where(td)": {
2946
- padding: "var(--typography-spacing)",
2947
- borderBottom: "1px solid",
2948
- borderColor: "var(--table-border-color)",
2949
- fontSize: "var(--text-fz-sm)"
2950
- },
2951
- "& :where(tr:last-of-type td)": { borderBottom: "0" }
2952
- },
2953
- "& :where(blockquote)": {
2954
- fontSize: "var(--text-fz-md)",
2955
- margin: "0",
2956
- borderRadius: "var(--mantine-radius-sm)",
2957
- padding: "xs",
2958
- backgroundColor: {
2959
- base: mantine.colors.gray[1],
2960
- _dark: mantine.colors.dark[5]
2961
- },
2962
- "&:not(:first-child)": { marginTop: "var(--typography-spacing)" }
2963
- },
2964
- "& .markdown-alert": {
2965
- borderLeft: ".25em solid var(--borderColor-default, var(--color-border-default))",
2966
- color: "inherit",
2967
- marginBottom: "calc(var(--typography-spacing) * 1.5)",
2968
- paddingLeft: "1em",
2969
- paddingRight: ".5em",
2970
- "&:last-child": { marginBottom: "0!important" },
2971
- "& .markdown-alert-title": {
2972
- alignItems: "center",
2973
- display: "flex",
2974
- fontSize: "var(--text-fz-md)",
2975
- fontWeight: "550",
2976
- lineHeight: "1.5",
2977
- marginBottom: "0.1em",
2978
- gap: "2"
2979
- },
2980
- "& .markdown-alert-title svg": {
2981
- height: "var(--text-fz-md)",
2982
- fill: "currentColor"
2983
- },
2984
- "&.markdown-alert-note": { borderLeftColor: "var(--borderColor-accent-emphasis,var(--color-accent-emphasis))" },
2985
- "&.markdown-alert-note .markdown-alert-title": { color: ["var(--color-accent-fg)", "var(--fgColor-accent,var(--color-accent-fg))"] },
2986
- "&.markdown-alert-tip": { borderLeftColor: "var(--borderColor-success-emphasis,var(--color-success-emphasis))" },
2987
- "&.markdown-alert-tip .markdown-alert-title": { color: ["var(--color-success-fg)", "var(--fgColor-success,var(--color-success-fg))"] },
2988
- "&.markdown-alert-important": { borderLeftColor: "var(--borderColor-done-emphasis,var(--color-done-emphasis))" },
2989
- "&.markdown-alert-important .markdown-alert-title": { color: ["var(--color-done-fg)", "var(--fgColor-done,var(--color-done-fg))"] },
2990
- "&.markdown-alert-warning": { borderLeftColor: "var(--borderColor-attention-emphasis,var(--color-attention-emphasis))" },
2991
- "&.markdown-alert-warning .markdown-alert-title": { color: ["var(--color-attention-fg)", "var(--fgColor-attention,var(--color-attention-fg))"] },
2992
- "&.markdown-alert-caution": { borderLeftColor: "var(--borderColor-danger-emphasis,var(--color-danger-emphasis))" },
2993
- "&.markdown-alert-caution .markdown-alert-title": { color: ["var(--color-danger-fg)", "var(--fgColor-danger,var(--color-danger-fg))"] }
2994
- }
2995
- },
2996
- variants: {
2997
- /**
2998
- * When markdown block is used inside a diagram node, this variant should be used to apply the likec4 palette.
2999
- */
3000
- uselikec4palette: {
3001
- true: {
3002
- "--code-background": "color-mix(in oklab , var(--likec4-palette-stroke) 70%, transparent)",
3003
- "--code-color": "var(--likec4-palette-loContrast)",
3004
- "--typography-spacing": "calc(0.5 * var(--text-fz-md))",
3005
- "& :where(a)": {
3006
- color: "var(--likec4-palette-fill)/45",
3007
- mixBlendMode: {
3008
- base: "difference",
3009
- _print: "normal!"
3010
- }
3011
- },
3012
- "& :where(strong)": { color: `color-mix(in oklab, ${__v("palette.hiContrast")} 50%, ${__v("palette.loContrast")})` },
3013
- "& :where(blockquote)": {
3014
- padding: "xxs",
3015
- backgroundColor: alpha(__v("palette.stroke"), 65)
3016
- },
3017
- "& :where(hr)": { borderColor: alpha(__v("palette.stroke"), 85) }
3018
- },
3019
- false: {}
3020
- },
3021
- /**
3022
- * Markdown block can receive either markdown or plain text.
3023
- */
3024
- value: {
3025
- markdown: {},
3026
- plaintext: { "& :where(p)": { whiteSpace: "preserve-breaks" } }
3027
- }
3028
- },
3029
- defaultVariants: {
3030
- uselikec4palette: false,
3031
- value: "markdown"
3032
- },
3033
- staticCss: [{
3034
- uselikec4palette: ["*"],
3035
- value: ["plaintext"],
3036
- conditions: ["*"]
3037
- }]
3038
- });
3039
- //#endregion
3040
- //#region ../preset/src/recipes/navigationPanelActionIcon.ts
3041
- const navigationPanelActionIcon = defineRecipe({
3042
- className: "likec4-navigation-panel-icon",
3043
- jsx: ["PanelActionIcon"],
3044
- description: "ActionIcon for navigation panel",
3045
- base: {
3046
- color: {
3047
- base: "likec4.panel.action",
3048
- _disabled: "likec4.panel.action.disabled",
3049
- _notDisabled: { _hover: "likec4.panel.action.hover" }
3050
- },
3051
- _disabled: { opacity: .5 }
3052
- },
3053
- variants: {
3054
- variant: {
3055
- "default": { backgroundColor: {
3056
- base: "transparent",
3057
- _notDisabled: { _hover: "likec4.panel.action.bg.hover" }
3058
- } },
3059
- "filled": { backgroundColor: {
3060
- base: "likec4.panel.action.bg",
3061
- _notDisabled: { _hover: "likec4.panel.action.bg.hover" }
3062
- } }
3063
- },
3064
- type: {
3065
- "default": {},
3066
- "warning": { color: {
3067
- base: "likec4.panel.action.warning",
3068
- _hover: "likec4.panel.action.warning.hover"
3069
- } }
3070
- }
3071
- },
3072
- compoundVariants: [{
3073
- type: "warning",
3074
- variant: "filled",
3075
- css: { backgroundColor: {
3076
- base: "likec4.panel.action.warning.bg",
3077
- _hover: "likec4.panel.action.warning.bg.hover"
3078
- } }
3079
- }],
3080
- defaultVariants: {
3081
- variant: "default",
3082
- type: "default"
3083
- },
3084
- staticCss: [{
3085
- variant: ["*"],
3086
- conditions: ["*"]
3087
- }]
3088
- });
3089
- //#endregion
3090
- //#region ../preset/src/recipes/nodeNotes.ts
3091
- const parts$1 = defineParts({
3092
- root: { selector: "&" },
3093
- paper: { selector: "& .__paper" },
3094
- popover: { selector: "& .__popover" }
3095
- });
3096
- const nodeNotes = defineRecipe({
3097
- className: "likec4-node-notes",
3098
- jsx: ["NodeNotesr"],
3099
- base: parts$1({
3100
- root: {
3101
- position: "absolute",
3102
- top: "-20px",
3103
- left: "10px",
3104
- width: "120px",
3105
- height: "60px",
3106
- pointerEvents: "all",
3107
- userSelect: "none",
3108
- appearance: "none",
3109
- touchAction: "manipulation",
3110
- overflow: "visible",
3111
- "--paper-bg": `color-mix(in oklab, ${__v("palette.fill")} 10%, #DDD)`
3112
- },
3113
- paper: {
3114
- pointerEvents: "all",
3115
- position: "absolute",
3116
- top: "14px",
3117
- left: "10px",
3118
- width: "90px",
3119
- height: "120px",
3120
- boxShadow: ["inset 0 0 20px rgba(0, 0, 0, 0.25)", "0px 0px 3px 0px rgba(0, 0, 0, 0.35)"].join(", "),
3121
- backgroundColor: "oklch(from var(--paper-bg) calc(l - 0.1) c h)",
3122
- zIndex: -1,
3123
- transform: "rotateZ(-3deg)",
3124
- transformOrigin: "55% 90% 0",
3125
- overflow: "visible",
3126
- transition: "faster",
3127
- transitionDelay: "20ms",
3128
- _before: {
3129
- position: "absolute",
3130
- zIndex: -1,
3131
- content: "\" \"",
3132
- width: "100%",
3133
- height: "100%",
3134
- transform: "rotateZ(6deg) translate(-2px, 0px)",
3135
- transformOrigin: "45% 90% 0",
3136
- boxShadow: ["inset 0 0 20px rgba(0, 0, 0, 0.25)", "0px 0px 3px 0px rgba(0, 0, 0, 0.35)"].join(", "),
3137
- backgroundColor: "var(--paper-bg)"
3138
- },
3139
- _whenHovered: {
3140
- transform: "rotateZ(-4deg) scale(1.06)",
3141
- _before: { transform: "translate(-1px, -2px) rotateZ(6deg) scale(1.02)" }
3142
- }
3143
- },
3144
- popover: {
3145
- position: "absolute",
3146
- w: "auto",
3147
- h: "auto",
3148
- zIndex: 300,
3149
- top: "0",
3150
- left: "0",
3151
- display: "block",
3152
- pointerEvents: "all",
3153
- rounded: "sm",
3154
- backgroundColor: "likec4.overlay.body",
3155
- padding: "sm"
3156
- }
3157
- }),
3158
- variants: { opened: {
3159
- false: parts$1({}),
3160
- true: parts$1({})
3161
- } },
3162
- defaultVariants: { opened: false },
3163
- staticCss: [{ opened: ["*"] }]
3164
- });
3165
- //#endregion
3166
- //#region ../preset/src/recipes/overlay.ts
3167
- const backdropBlur = "--_blur";
3168
- const backdropOpacity = "--_opacity";
3169
- const level = "--_level";
3170
- const offset = "--_offset";
3171
- const inset = "--_inset";
3172
- const borderRadius = "--_border-radius";
3173
- const overlay = defineRecipe({
3174
- description: "Recipe for Overlay Dialog",
3175
- className: "likec4-overlay",
3176
- base: defineParts({
3177
- dialog: { selector: "&" },
3178
- body: { selector: "& .likec4-overlay-body" }
3179
- })({
3180
- dialog: {
3181
- boxSizing: "border-box",
3182
- margin: "0",
3183
- position: "fixed",
3184
- width: "100vw",
3185
- height: "100vh",
3186
- maxWidth: "100vw",
3187
- maxHeight: "100vh",
3188
- background: `likec4.overlay.border`,
3189
- shadow: "xl",
3190
- border: "transparent",
3191
- outline: "none",
3192
- borderRadius: `var(${borderRadius})`,
3193
- [backdropBlur]: "0px",
3194
- [level]: "0",
3195
- [offset]: "0px",
3196
- [inset]: "calc((1 + var(--_level) * 0.75) * var(--_offset))",
3197
- [backdropOpacity]: "0%",
3198
- [borderRadius]: "0px",
3199
- _backdrop: { cursor: "zoom-out" },
3200
- inset: "0",
3201
- padding: "0"
3202
- },
3203
- body: {
3204
- position: "relative",
3205
- containerName: "likec4-dialog",
3206
- containerType: "size",
3207
- border: `transparent`,
3208
- overflow: "hidden",
3209
- width: "100%",
3210
- height: "100%",
3211
- background: "likec4.overlay.body"
3212
- }
3213
- }),
3214
- variants: {
3215
- fullscreen: {
3216
- false: {
3217
- dialog: {
3218
- sm: {
3219
- inset: "[var(--_inset) var(--_inset) var(--_offset) var(--_inset)]",
3220
- width: "calc(100vw - 2 * var(--_inset))",
3221
- height: "calc(100vh - var(--_offset) - var(--_inset))",
3222
- [borderRadius]: "6px",
3223
- padding: "1.5",
3224
- [offset]: "{spacing.4}"
3225
- },
3226
- md: { [offset]: "{spacing.4}" },
3227
- lg: { [offset]: "{spacing.8}" },
3228
- xl: { [offset]: "{spacing.16}" }
3229
- },
3230
- body: { sm: { borderRadius: `calc(var(${borderRadius}) - 2px)` } }
3231
- },
3232
- true: { dialog: {
3233
- inset: "0",
3234
- padding: "0"
3235
- } }
3236
- },
3237
- withBackdrop: {
3238
- false: { dialog: { _backdrop: { display: "none" } } },
3239
- true: { dialog: { _backdrop: {
3240
- backdropFilter: `blur(var(${backdropBlur}))`,
3241
- background: `color-mix(in oklab, {colors.likec4.overlay.backdrop} var(${backdropOpacity}), transparent)`
3242
- } } }
3243
- }
3244
- },
3245
- defaultVariants: {
3246
- fullscreen: false,
3247
- withBackdrop: true
3248
- },
3249
- staticCss: [{
3250
- fullscreen: ["*"],
3251
- withBackdrop: ["*"]
3252
- }]
3253
- });
3254
- //#endregion
3255
- //#region ../preset/src/recipes/index.ts
3256
- var recipes_exports = /* @__PURE__ */ __exportAll({
3257
- actionBtn: () => actionBtn,
3258
- actionButtons: () => actionButtons,
3259
- compoundNode: () => compoundNode,
3260
- edgeActionBtn: () => edgeActionBtn,
3261
- edgeLabel: () => edgeLabel,
3262
- edgePath: () => edgePath,
3263
- elementNode: () => elementNode,
3264
- elementNodeData: () => elementNodeData,
3265
- elementShapeRecipe: () => elementShapeRecipe,
3266
- likec4tag: () => likec4tag,
3267
- markdownBlock: () => markdownBlock,
3268
- navigationPanelActionIcon: () => navigationPanelActionIcon,
3269
- nodeNotes: () => nodeNotes,
3270
- overlay: () => overlay
3271
- });
3272
- //#endregion
3273
- //#region ../preset/src/stot-recipes/navigationLink.ts
3274
- const navigationLink = defineSlotRecipe({
3275
- className: "likec4-navlink",
3276
- description: "Navigation Link (classes for Mantine NavLink)",
3277
- jsx: ["NavLink"],
3278
- slots: [
3279
- "root",
3280
- "body",
3281
- "section",
3282
- "label",
3283
- "description"
3284
- ],
3285
- base: {
3286
- root: {
3287
- rounded: "sm",
3288
- px: "xs",
3289
- py: "xxs",
3290
- backgroundColor: { _hover: { "&:not([data-active])": {
3291
- base: mantine.colors.gray[1],
3292
- _dark: mantine.colors.dark[5]
3293
- } } }
3294
- },
3295
- body: {
3296
- gap: "0.5",
3297
- display: "flex",
3298
- flexDirection: "column"
3299
- },
3300
- section: { "&:where([data-position=\"left\"])": { marginInlineEnd: "xxs" } },
3301
- label: {
3302
- display: "block",
3303
- fontSize: "sm",
3304
- fontWeight: "500",
3305
- lineHeight: 1.2
3306
- },
3307
- description: {
3308
- display: "block",
3309
- fontSize: "xxs",
3310
- lineHeight: 1.2
3311
- }
3312
- },
3313
- variants: { truncateLabel: {
3314
- "true": {
3315
- label: {
3316
- width: "100%",
3317
- truncate: true
3318
- },
3319
- description: {
3320
- width: "100%",
3321
- truncate: true
3322
- }
3323
- },
3324
- "false": {}
3325
- } },
3326
- defaultVariants: { truncateLabel: false },
3327
- staticCss: [{
3328
- truncateLabel: ["*"],
3329
- conditions: ["*"]
3330
- }]
3331
- });
3332
- //#endregion
3333
- //#region ../preset/src/stot-recipes/navigationPanel.ts
3334
- const navigationPanel = defineSlotRecipe({
3335
- className: "likec4-navigation-panel",
3336
- jsx: ["NavigationPanel", /NavigationPanel/],
3337
- slots: [
3338
- "root",
3339
- "body",
3340
- "logo",
3341
- "label",
3342
- "dropdown"
3343
- ],
3344
- description: "LikeC4 Navigation panel",
3345
- base: {
3346
- root: {
3347
- display: "flex",
3348
- flexDirection: "column",
3349
- alignItems: "flex-start",
3350
- pointerEvents: "none",
3351
- position: "absolute",
3352
- margin: "0",
3353
- width: "100%",
3354
- gap: "xxs",
3355
- height: "auto",
3356
- overflow: "hidden",
3357
- maxHeight: ["calc(100vh)", "calc(100cqh)"],
3358
- maxWidth: ["calc(100vw)", "calc(100cqw)"],
3359
- "@/sm": {
3360
- margin: "xs",
3361
- gap: "xs",
3362
- width: "max-content",
3363
- maxWidth: ["calc(100vw - 2 * {spacing.xs})", "calc(100cqw - 2 * {spacing.xs})"],
3364
- maxHeight: ["calc(100vh - 2 * {spacing.xs})", "calc(100cqh - 2 * {spacing.xs})"]
3365
- },
3366
- "@/md": {
3367
- margin: "sm",
3368
- width: "max-content",
3369
- maxWidth: ["calc(100vw - 2 * {spacing.md})", "calc(100cqw - 2 * {spacing.md})"],
3370
- maxHeight: ["calc(100vh - 2 * {spacing.md})", "calc(100cqh - 2 * {spacing.md})"]
3371
- },
3372
- _print: { display: "none" }
3373
- },
3374
- body: {
3375
- display: "flex",
3376
- flexDirection: "row",
3377
- alignItems: "center",
3378
- layerStyle: "likec4.panel",
3379
- position: "relative",
3380
- gap: "xs",
3381
- pointerEvents: "all",
3382
- width: "100%",
3383
- "@/sm": { width: "auto" },
3384
- minHeight: "40px",
3385
- cursor: "default"
3386
- },
3387
- logo: {
3388
- display: "flex",
3389
- flexDirection: "row",
3390
- padding: "0.5",
3391
- margin: "0",
3392
- background: "none",
3393
- border: "none",
3394
- cursor: "pointer",
3395
- width: {
3396
- base: "20px",
3397
- "@/sm": "64px"
3398
- },
3399
- ["& > [data-logo-icon]"]: { display: {
3400
- base: "block",
3401
- "@/sm": "none"
3402
- } },
3403
- ["& > [data-logo-full]"]: { display: {
3404
- base: "none",
3405
- "@/sm": "block"
3406
- } }
3407
- },
3408
- label: {
3409
- fontSize: "sm",
3410
- fontWeight: "500",
3411
- transition: "fast",
3412
- userSelect: "none",
3413
- color: "likec4.panel.text"
3414
- },
3415
- dropdown: {
3416
- display: "flex",
3417
- height: "auto",
3418
- width: "auto",
3419
- flex: "1",
3420
- flexGrow: 0,
3421
- overflow: "hidden",
3422
- layerStyle: "likec4.dropdown",
3423
- pointerEvents: "all"
3424
- }
3425
- },
3426
- variants: {
3427
- size: {
3428
- md: {},
3429
- lg: {
3430
- body: { "@/sm": {
3431
- gap: "sm",
3432
- minHeight: "48px",
3433
- paddingInline: "md",
3434
- _hover: { boxShadow: "xl" }
3435
- } },
3436
- label: { "@/sm": { fontSize: "md" } }
3437
- }
3438
- },
3439
- panelPosition: {
3440
- left: { root: {
3441
- top: "0",
3442
- left: "0"
3443
- } },
3444
- right: { root: {
3445
- top: "0",
3446
- right: "0"
3447
- } }
3448
- }
3449
- },
3450
- defaultVariants: {
3451
- size: "md",
3452
- panelPosition: "left"
3453
- },
3454
- staticCss: [{
3455
- size: ["*"],
3456
- panelPosition: ["*"]
3457
- }]
3458
- });
3459
- //#endregion
3460
- //#region ../preset/src/stot-recipes/index.ts
3461
- var stot_recipes_exports = /* @__PURE__ */ __exportAll({
3462
- navigationLink: () => navigationLink,
3463
- navigationPanel: () => navigationPanel
3464
- });
3465
- //#endregion
3466
- //#region ../preset/src/text-styles.ts
3467
- function defineTextStyles$1(definition) {
3468
- return defineTextStyles(definition);
3469
- }
3470
- const textStyles = defineTextStyles$1({
3471
- dimmed: {
3472
- DEFAULT: {
3473
- description: "Text style for dimmed content",
3474
- value: {
3475
- fontSize: "md",
3476
- lineHeight: "md",
3477
- color: "text.dimmed"
3478
- }
3479
- },
3480
- xxs: { value: {
3481
- fontSize: "xxs",
3482
- lineHeight: "xxs",
3483
- color: "text.dimmed"
3484
- } },
3485
- xs: { value: {
3486
- fontSize: "xs",
3487
- lineHeight: "xs",
3488
- color: "text.dimmed"
3489
- } },
3490
- sm: { value: {
3491
- fontSize: "sm",
3492
- lineHeight: "sm",
3493
- color: "text.dimmed"
3494
- } },
3495
- md: { value: {
3496
- fontSize: "md",
3497
- lineHeight: "md",
3498
- color: "text.dimmed"
3499
- } }
3500
- },
3501
- xxs: { value: {
3502
- fontSize: "xxs",
3503
- lineHeight: "xxs"
3504
- } },
3505
- xs: { value: {
3506
- fontSize: "xs",
3507
- lineHeight: "xs"
3508
- } },
3509
- sm: { value: {
3510
- fontSize: "sm",
3511
- lineHeight: "sm"
3512
- } },
3513
- md: { value: {
3514
- fontSize: "md",
3515
- lineHeight: "md"
3516
- } },
3517
- lg: { value: {
3518
- fontSize: "lg",
3519
- lineHeight: "lg"
3520
- } },
3521
- xl: { value: {
3522
- fontSize: "xl",
3523
- lineHeight: "xl"
3524
- } },
3525
- likec4: {
3526
- DEFAULT: {
3527
- description: "Text style for panel content",
3528
- value: {
3529
- fontSize: "md",
3530
- lineHeight: "md",
3531
- fontWeight: "normal",
3532
- color: "text"
3533
- }
3534
- },
3535
- panel: {
3536
- DEFAULT: {
3537
- description: "Text style for panel content",
3538
- value: {
3539
- fontSize: "sm",
3540
- lineHeight: "sm",
3541
- fontWeight: "medium",
3542
- color: "likec4.panel.text"
3543
- }
3544
- },
3545
- action: {
3546
- description: "Text style for panel action items",
3547
- value: {
3548
- fontSize: "sm",
3549
- lineHeight: "sm",
3550
- fontWeight: "medium",
3551
- color: {
3552
- base: "likec4.panel.action",
3553
- _hover: "likec4.panel.action.hover"
3554
- }
3555
- }
3556
- }
3557
- }
3558
- }
3559
- });
3560
- //#endregion
3561
- //#region ../preset/src/tokens-semantic.ts
3562
- const semanticTokens = defineSemanticTokens({ colors: defineSemanticTokens.colors({
3563
- white: { value: "#fff" },
3564
- black: { value: "#000" },
3565
- body: {
3566
- description: "Background color",
3567
- value: mantine.colors.body
3568
- },
3569
- text: {
3570
- DEFAULT: {
3571
- description: "Default text color",
3572
- value: mantine.colors.text
3573
- },
3574
- bright: {
3575
- description: "Bright text color",
3576
- value: "var(--mantine-color-bright)"
3577
- },
3578
- dimmed: {
3579
- description: "Dimmed text color",
3580
- value: alpha(mantine.colors.text, 60)
3581
- },
3582
- placeholder: {
3583
- description: "Placeholder text color",
3584
- value: mantine.colors.placeholder
3585
- }
3586
- },
3587
- default: {
3588
- DEFAULT: {
3589
- description: "Default color",
3590
- value: mantine.colors.default
3591
- },
3592
- color: {
3593
- description: "Default text color",
3594
- value: mantine.colors.defaultColor
3595
- },
3596
- border: {
3597
- description: "Default border color",
3598
- value: mantine.colors.defaultBorder
3599
- },
3600
- hover: {
3601
- description: "Default hover color",
3602
- value: mantine.colors.defaultHover
3603
- }
3604
- },
3605
- disabled: {
3606
- text: {
3607
- description: "Disabled text color",
3608
- value: mantine.colors.disabledText
3609
- },
3610
- border: {
3611
- description: "Disabled border color",
3612
- value: mantine.colors.disabledBorder
3613
- },
3614
- body: {
3615
- description: "Disabled body color",
3616
- value: mantine.colors.disabledBody
3617
- }
3618
- },
3619
- likec4: {
3620
- background: {
3621
- DEFAULT: {
3622
- description: "Background color",
3623
- value: mantine.colors.body
3624
- },
3625
- pattern: {
3626
- description: "Background pattern color",
3627
- value: {
3628
- base: mantine.colors.gray[4],
3629
- _dark: alpha(mantine.colors.dark[4], 70)
3630
- }
3631
- }
3632
- },
3633
- mixColor: {
3634
- description: "Color to be used in color-mix",
3635
- value: {
3636
- base: "#000",
3637
- _dark: "#fff"
3638
- }
3639
- },
3640
- tag: {
3641
- bg: {
3642
- DEFAULT: { value: `{colors.tomato.9}` },
3643
- hover: { value: `{colors.tomato.10}` }
3644
- },
3645
- border: { value: `{colors.tomato.8}` },
3646
- text: { value: `{colors.tomato.12}` }
3647
- },
3648
- panel: {
3649
- bg: { DEFAULT: {
3650
- description: "LikeC4 panel background color",
3651
- value: {
3652
- base: mantine.colors.body,
3653
- _dark: mantine.colors.dark[6]
3654
- }
3655
- } },
3656
- border: {
3657
- description: "LikeC4 panel border color",
3658
- value: {
3659
- base: "transparent",
3660
- _light: mantine.colors.gray[2]
3661
- }
3662
- },
3663
- text: {
3664
- DEFAULT: {
3665
- description: "LikeC4 panel text color",
3666
- value: alpha(mantine.colors.text, 85)
3667
- },
3668
- dimmed: {
3669
- description: "LikeC4 panel dimmed text color",
3670
- value: "{colors.text.dimmed}"
3671
- }
3672
- },
3673
- action: {
3674
- DEFAULT: {
3675
- description: "LikeC4 panel action text color (Links/Icons)",
3676
- value: alpha(mantine.colors.text, 90)
3677
- },
3678
- disabled: {
3679
- description: "LikeC4 action icon text color when disabled",
3680
- value: "{colors.text.dimmed}"
3681
- },
3682
- hover: {
3683
- description: "LikeC4 panel action text color on hover",
3684
- value: "var(--mantine-color-bright)"
3685
- },
3686
- bg: {
3687
- DEFAULT: {
3688
- description: "LikeC4 action icon background color",
3689
- value: {
3690
- base: mantine.colors.gray[1],
3691
- _dark: alpha(mantine.colors.dark[7], 70)
3692
- }
3693
- },
3694
- hover: {
3695
- description: "LikeC4 action icon background color on hover",
3696
- value: {
3697
- base: mantine.colors.gray[2],
3698
- _dark: mantine.colors.dark[8]
3699
- }
3700
- }
3701
- },
3702
- warning: {
3703
- DEFAULT: {
3704
- description: "LikeC4 action icon text color",
3705
- value: mantine.colors.orange[6]
3706
- },
3707
- hover: {
3708
- description: "LikeC4 action icon text color on hover",
3709
- value: {
3710
- base: mantine.colors.orange[7],
3711
- _dark: mantine.colors.orange[5]
3712
- }
3713
- },
3714
- bg: {
3715
- DEFAULT: {
3716
- description: "LikeC4 action icon background color",
3717
- value: {
3718
- base: alpha(mantine.colors.orange[1], 90),
3719
- _dark: alpha(mantine.colors.orange[9], 10)
3720
- }
3721
- },
3722
- hover: {
3723
- description: "LikeC4 action icon background color on hover",
3724
- value: {
3725
- base: alpha(mantine.colors.orange[3], 70),
3726
- _dark: alpha(mantine.colors.orange[9], 20)
3727
- }
3728
- }
3729
- }
3730
- }
3731
- }
3732
- },
3733
- dropdown: {
3734
- bg: { DEFAULT: {
3735
- description: "LikeC4 dropdown background color",
3736
- value: {
3737
- base: `#FFF`,
3738
- _dark: mantine.colors.dark[6]
3739
- }
3740
- } },
3741
- border: {
3742
- description: "LikeC4 dropdown border color",
3743
- value: "{colors.likec4.panel.border}"
3744
- }
3745
- },
3746
- overlay: {
3747
- backdrop: { DEFAULT: {
3748
- description: "LikeC4 overlay backdrop color",
3749
- value: {
3750
- base: `rgb(15 15 15)`,
3751
- _dark: `rgb(34 34 34)`
3752
- }
3753
- } },
3754
- body: { DEFAULT: {
3755
- description: "LikeC4 overlay body color",
3756
- value: {
3757
- base: mantine.colors.body,
3758
- _dark: mantine.colors.dark[6]
3759
- }
3760
- } },
3761
- border: {
3762
- description: "LikeC4 overlay border color",
3763
- value: alpha(mantine.colors.defaultBorder, 50)
3764
- }
3765
- },
3766
- walkthrough: { parallelFrame: {
3767
- description: "LikeC4 walkthrough parallel frame color",
3768
- value: {
3769
- _light: mantine.colors.orange[8],
3770
- _dark: mantine.colors.orange[6]
3771
- }
3772
- } },
3773
- compare: {
3774
- manual: {
3775
- DEFAULT: {
3776
- description: "LikeC4 Compare color for manual changes",
3777
- value: {
3778
- _light: mantine.colors.orange[8],
3779
- _dark: mantine.colors.orange[6]
3780
- }
3781
- },
3782
- outline: {
3783
- description: "LikeC4 Compare color for outline around nodes with manual changes",
3784
- value: {
3785
- _light: mantine.colors.orange[8],
3786
- _dark: alpha(mantine.colors.orange[6], 80)
3787
- }
3788
- }
3789
- },
3790
- latest: {
3791
- description: "LikeC4 Compare color for latest changes",
3792
- value: mantine.colors.green[6]
3793
- }
3794
- }
3795
- }
3796
- }) });
3797
- //#endregion
3798
- //#region ../preset/src/tokens.colors.ts
3799
- const colors = defineTokens.colors({
3800
- mantine: tokens$1.colors.mantine,
3801
- transparent: { value: "transparent" },
3802
- none: { value: "none" },
3803
- inherit: { value: "inherit" }
3804
- });
3805
- //#endregion
3806
- //#region ../preset/src/tokens.ts
3807
- const tokens = defineTokens({
3808
- fontSizes: {
3809
- "xxs": { value: "10px" },
3810
- xs: { value: "12px" },
3811
- sm: { value: "14px" },
3812
- md: { value: "16px" },
3813
- lg: { value: "18px" },
3814
- xl: { value: "20px" },
3815
- likec4: { ...t$3(defaultTheme.textSizes, (value, key) => ({
3816
- description: `LikeC4 Diagram Text Size: ${key}`,
3817
- value: rem(value)
3818
- })) }
3819
- },
3820
- lineHeights: {
3821
- "xxs": { value: "1.1" },
3822
- xs: { value: "1.2" },
3823
- sm: { value: "1.35" },
3824
- md: { value: "1.45" },
3825
- lg: { value: "1.55" },
3826
- xl: { value: "1.6" },
3827
- "1": { value: "1" }
3828
- },
3829
- sizes: {
3830
- "100%": { value: "100%" },
3831
- full: { value: "100%" }
3832
- },
3833
- borders: {
3834
- none: { value: "none" },
3835
- transparent: { value: "0px solid transparent" },
3836
- default: { value: `1px solid {colors.default.border}` }
3837
- },
3838
- borderWidths: {
3839
- "0": { value: "0px" },
3840
- "1": { value: "1px" },
3841
- "2": { value: "2px" },
3842
- "3": { value: "3px" },
3843
- "4": { value: "4px" }
3844
- },
3845
- spacing: {
3846
- "0": {
3847
- description: "Non-scalable spacing value - 0px",
3848
- value: "0px"
3849
- },
3850
- "0.5": {
3851
- description: "Non-scalable spacing value - (0.5 * 4px)",
3852
- value: "2px"
3853
- },
3854
- "1": {
3855
- description: "Non-scalable spacing value - (1 * 4px)",
3856
- value: "4px"
3857
- },
3858
- "1.5": {
3859
- description: "Non-scalable spacing value - (1.5 * 4px)",
3860
- value: "6px"
3861
- },
3862
- "2": {
3863
- description: "Non-scalable spacing value - (2 * 4px)",
3864
- value: "8px"
3865
- },
3866
- "2.5": {
3867
- description: "Non-scalable spacing value - (2.5 * 4px)",
3868
- value: "10px"
3869
- },
3870
- "3": {
3871
- description: "Non-scalable spacing value - (3 * 4px)",
3872
- value: "12px"
3873
- },
3874
- "3.5": {
3875
- description: "Non-scalable spacing value - (3.5 * 4px)",
3876
- value: "14px"
3877
- },
3878
- "4": {
3879
- description: "Non-scalable spacing value - (4 * 4px)",
3880
- value: "16px"
3881
- },
3882
- "4.5": {
3883
- description: "Non-scalable spacing value - (4.5 * 4px)",
3884
- value: "18px"
3885
- },
3886
- "5": {
3887
- description: "Non-scalable spacing value - (5 * 4px)",
3888
- value: "20px"
3889
- },
3890
- "6": {
3891
- description: "Non-scalable spacing value - (6 * 4px)",
3892
- value: "24px"
3893
- },
3894
- "7": {
3895
- description: "Non-scalable spacing value - (7 * 4px)",
3896
- value: "28px"
3897
- },
3898
- "8": {
3899
- description: "Non-scalable spacing value - (8 * 4px)",
3900
- value: "32px"
3901
- },
3902
- "9": {
3903
- description: "Non-scalable spacing value - (9 * 4px)",
3904
- value: "36px"
3905
- },
3906
- "10": {
3907
- description: "Non-scalable spacing value - (10 * 4px)",
3908
- value: "40px"
3909
- },
3910
- "12": {
3911
- description: "Non-scalable spacing value - (12 * 4px)",
3912
- value: "48px"
3913
- },
3914
- "16": {
3915
- description: "Non-scalable spacing value - (16 * 4px)",
3916
- value: "64px"
3917
- },
3918
- xxs: {
3919
- description: "Scalable spacing value - (8px * var(--scale)) (8px)",
3920
- value: "calc(8px * var(--mantine-scale))"
3921
- },
3922
- xs: {
3923
- description: "Scalable spacing value - (10px * var(--scale)) (10px)",
3924
- value: "calc(10px * var(--mantine-scale))"
3925
- },
3926
- sm: {
3927
- description: "Scalable spacing value - (12px * var(--scale)) (12px)",
3928
- value: "calc(12px * var(--mantine-scale))"
3929
- },
3930
- md: {
3931
- description: "Scalable spacing value - (16px * var(--scale)) (16px)",
3932
- value: "calc(16px * var(--mantine-scale))"
3933
- },
3934
- lg: {
3935
- description: "Scalable spacing value - (20px * var(--scale)) (20px)",
3936
- value: "calc(20px * var(--mantine-scale))"
3937
- },
3938
- xl: {
3939
- description: "Scalable spacing value - (32px * var(--scale)) (32px)",
3940
- value: "calc(32px * var(--mantine-scale))"
3941
- },
3942
- likec4: { ...t$3(defaultTheme.spacing, (value, key) => ({
3943
- description: `LikeC4 Diagram Spacing: ${key}`,
3944
- value: `${value}px`
3945
- })) }
3946
- },
3947
- radii: {
3948
- "0": { value: "0px" },
3949
- xs: { value: "2px" },
3950
- sm: { value: "4px" },
3951
- md: { value: "8px" },
3952
- lg: { value: "16px" },
3953
- xl: { value: "32px" }
3954
- },
3955
- colors,
3956
- fontWeights: {
3957
- normal: { value: "400" },
3958
- medium: { value: "500" },
3959
- bold: { value: "600" },
3960
- bolder: { value: "700" }
3961
- },
3962
- fonts: {
3963
- mono: { value: `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace` },
3964
- body: { value: "var(--likec4-app-font, var(--likec4-app-font-default))" },
3965
- likec4: {
3966
- DEFAULT: { value: "var(--likec4-app-font, var(--likec4-app-font-default))" },
3967
- element: { value: "var(--likec4-element-font, {fonts.likec4})" },
3968
- compound: { value: "var(--likec4-compound-font, {fonts.likec4})" },
3969
- relation: { value: "var(--likec4-relation-font, {fonts.likec4})" }
3970
- }
3971
- },
3972
- easings: {
3973
- default: { value: "cubic-bezier(0.4, 0, 0.2, 1)" },
3974
- in: { value: "cubic-bezier(0.4, 0, 1, 1)" },
3975
- out: { value: "cubic-bezier(0, 0, 0.40, 1)" },
3976
- inOut: { value: "cubic-bezier(0.50, 0, 0.2, 1)" }
3977
- },
3978
- durations: {
3979
- fastest: { value: "50ms" },
3980
- faster: { value: "100ms" },
3981
- fast: { value: "130ms" },
3982
- normal: { value: "170ms" },
3983
- slow: { value: "300ms" },
3984
- slower: { value: "400ms" },
3985
- slowest: { value: "500ms" }
3986
- },
3987
- shadows: {
3988
- none: { value: "none" },
3989
- xs: { value: "0 1px 3px rgb(0 0 0/5%), 0 1px 2px rgb(0 0 0/10%)" },
3990
- sm: { value: "0 1px 3px rgb(0 0 0/5%), 0 10px 15px -5px rgb(0 0 0/5%), 0 7px 7px -5px rgb(0 0 0/4%)" },
3991
- md: { value: "0 1px 3px rgb(0 0 0/5%), 0 20px 25px -5px rgb(0 0 0/5%), 0 10px 10px -5px rgb(0 0 0/4%)" },
3992
- lg: { value: "0 1px 3px rgb(0 0 0/5%), 0 28px 23px -7px rgb(0 0 0/5%), 0 12px 12px -7px rgb(0 0 0/4%)" },
3993
- xl: { value: "0 1px 3px rgb(0 0 0/5%), 0 36px 28px -7px rgb(0 0 0/5%), 0 17px 17px -7px rgb(0 0 0/4%)" }
3994
- },
3995
- zIndex: {
3996
- "-1": { value: "-1" },
3997
- "0": { value: "0" },
3998
- "1": { value: "1" },
3999
- likec4: {
4000
- diagram: {
4001
- edge: {
4002
- DEFAULT: { value: "20" },
4003
- label: { value: "25" },
4004
- controlPoint: { value: "30" }
4005
- },
4006
- node: {
4007
- compound: { value: "10" },
4008
- element: { value: "40" }
4009
- }
4010
- },
4011
- dropdown: { value: "200" },
4012
- panel: {
4013
- DEFAULT: { value: "100" },
4014
- dropdown: { value: "200" }
4015
- }
4016
- }
4017
- }
4018
- });
4019
- //#endregion
4020
- //#region ../preset/src/utilities.ts
4021
- const durationValues = [
4022
- "fastest",
4023
- "faster",
4024
- "fast",
4025
- "normal",
4026
- "slow",
4027
- "slower",
4028
- "slowest",
4029
- "none"
4030
- ];
4031
- const utilities = { extend: { transition: defineUtility({
4032
- values: durationValues,
4033
- className: "transition",
4034
- transform(value, { token }) {
4035
- if (value === "none") return { transition: "none" };
4036
- if (!durationValues.includes(value)) return { transition: value };
4037
- return {
4038
- transitionDuration: token(`durations.${value}`),
4039
- transitionTimingFunction: token("easings.inOut")
4040
- };
4041
- }
4042
- }) } };
4043
- //#endregion
4044
- //#region ../preset/src/index.ts
4045
- const theme = {
4046
- breakpoints,
4047
- textStyles,
4048
- layerStyles,
4049
- tokens,
4050
- semanticTokens,
4051
- recipes: recipes_exports,
4052
- slotRecipes: stot_recipes_exports,
4053
- containerNames: ["likec4-root", "likec4-dialog"],
4054
- containerSizes: {
4055
- xs: "384px",
4056
- sm: "640px",
4057
- md: "768px",
4058
- lg: "1024px"
4059
- },
4060
- keyframes,
4061
- animationStyles
4062
- };
4063
- var src_default = /* @__PURE__ */ definePreset({
4064
- name: "likec4",
4065
- presets: [radixColorsPreset],
4066
- globalVars,
4067
- globalCss,
4068
- staticCss: { extend: { themes: ["light", "dark"] } },
4069
- conditions,
4070
- patterns,
4071
- utilities,
4072
- theme: { extend: theme }
4073
- });
4074
- //#endregion
4075
- export { src_default as default, theme };