@likec4/config 1.42.0 → 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export { C as ConfigFilenames, d as defineConfig, c as defineGenerators, e as defineStyle, f as defineTheme, g as defineThemeColor, i as isLikeC4Config, a as isLikeC4JsonConfig, b as isLikeC4NonJsonConfig, s as serializableLikeC4ProjectConfig, v as validateProjectConfig } from './shared/config.C9KUVBb7.mjs';
1
+ export { C as ConfigFilenames, d as defineConfig, c as defineGenerators, e as defineStyle, f as defineTheme, g as defineThemeColor, i as isLikeC4Config, a as isLikeC4JsonConfig, b as isLikeC4NonJsonConfig, s as serializableLikeC4ProjectConfig, v as validateProjectConfig } from './shared/config.oj-2w-Kh.mjs';
@@ -2,8 +2,8 @@ import { invariant } from '@likec4/core';
2
2
  import { bundleRequire } from 'bundle-require';
3
3
  import * as fs from 'node:fs/promises';
4
4
  import { dirname } from 'node:path';
5
- import { a as isLikeC4JsonConfig, v as validateProjectConfig, b as isLikeC4NonJsonConfig, d as defineConfig } from '../shared/config.C9KUVBb7.mjs';
6
- export { C as ConfigFilenames, c as defineGenerators, e as defineStyle, f as defineTheme, g as defineThemeColor, i as isLikeC4Config, s as serializableLikeC4ProjectConfig } from '../shared/config.C9KUVBb7.mjs';
5
+ import { a as isLikeC4JsonConfig, v as validateProjectConfig, b as isLikeC4NonJsonConfig, d as defineConfig } from '../shared/config.oj-2w-Kh.mjs';
6
+ export { C as ConfigFilenames, c as defineGenerators, e as defineStyle, f as defineTheme, g as defineThemeColor, i as isLikeC4Config, s as serializableLikeC4ProjectConfig } from '../shared/config.oj-2w-Kh.mjs';
7
7
  import { rootLogger } from '@likec4/log';
8
8
 
9
9
  const logger = rootLogger.getChild("config");
@@ -52,73 +52,46 @@ function t$1(t,n,r){let i=t.length-n.length;if(i===0)return t(...n);if(i===1)ret
52
52
 
53
53
  function t(...t){return t$1(n,t)}function n(e,t){let n={};for(let[r,i]of e.entries())n[i]=t(i,r,e);return n}
54
54
 
55
- const opacity = z__default.number().min(0, "Opacity must be between 0 and 100").max(100, "Opacity must be between 0 and 100").meta({
55
+ const opacity = z__default.int().min(0, "Opacity must be between 0 and 100").max(100, "Opacity must be between 0 and 100").meta({
56
56
  id: "Opacity",
57
- description: "Opacity 0%-100%"
58
- });
59
- const shape = z__default.literal(ElementShapes).meta({
60
- id: "ElementShape",
61
- description: "Element shape"
62
- });
63
- const border = z__default.literal(BorderStyles).meta({
64
- id: "BorderStyle",
65
- description: "Border style"
66
- });
67
- const size = z__default.literal(Sizes).meta({
68
- id: "ElementSize",
69
- description: "Element size"
70
- });
71
- const arrow = z__default.literal(RelationshipArrowTypes).meta({
72
- id: "ArrowType",
73
- description: "Relationship arrow type"
74
- });
75
- const line = z__default.literal(["dashed", "solid", "dotted"]).meta({
76
- id: "LineType",
77
- description: "Default line type for relationships"
78
- });
79
- const themeColor = z__default.literal(ThemeColors).meta({
80
- id: "ThemeColor",
81
- description: "Reserved theme color name"
57
+ description: "Opacity 0-100%"
82
58
  });
59
+ const shape = z__default.literal(ElementShapes).meta({ id: "ElementShape" });
60
+ const border = z__default.literal(BorderStyles).meta({ id: "BorderStyle" });
61
+ const size = z__default.literal(Sizes).meta({ id: "ElementSize" });
62
+ const arrow = z__default.literal(RelationshipArrowTypes).meta({ id: "ArrowType" });
63
+ const line = z__default.literal(["dashed", "solid", "dotted"]).meta({ id: "LineType" });
64
+ const themeColor = z__default.literal(ThemeColors).meta({ id: "ThemeColor" });
83
65
  const color = z__default.union([
84
66
  themeColor,
85
67
  z__default.string().nonempty("Color name cannot be empty")
86
- ]).transform((value) => value).meta({
87
- id: "ColorName",
88
- description: "Color name (Theme color name or custom color name)"
89
- });
68
+ ]).transform((value) => value).meta({ id: "ColorName" });
90
69
  const colorValue = z__default.string().nonempty("Color value cannot be empty").transform((value) => value).meta({
91
70
  id: "ColorLiteral",
92
71
  description: "Color value in any valid CSS format: hex, rgb, rgba, hsl, hsla ..."
93
72
  });
94
73
  const colorSchema = colorValue;
95
- const ElementColorValuesSchema = z__default.object({
74
+ const ElementColorValuesSchema = z__default.strictObject({
96
75
  fill: colorSchema.meta({ description: "Background color" }),
97
76
  stroke: colorSchema.meta({ description: "Stroke color (border, paths above background)" }),
98
77
  hiContrast: colorSchema.meta({ description: "High contrast text color (title)" }),
99
78
  loContrast: colorSchema.meta({ description: "Low contrast text color (description)" })
100
- }).meta({
101
- id: "ElementColorValues",
102
- description: "Specific element colors"
103
- }).transform((value) => value);
104
- const RelationshipColorValuesSchema = z__default.object({
79
+ }).meta({ id: "ElementColorValues" }).transform((value) => value);
80
+ const RelationshipColorValuesSchema = z__default.strictObject({
105
81
  line: colorSchema.meta({ description: "Line color" }),
106
82
  label: colorSchema.meta({ description: "Label text color" }),
107
83
  labelBg: colorSchema.optional().default("rgba(0, 0, 0, 0)").meta({ description: "Label background color" })
108
- }).meta({
109
- id: "RelationshipColorValues",
110
- description: "Specefic relationship colors"
111
- }).transform((value) => value);
84
+ }).meta({ id: "RelationshipColorValues" }).transform((value) => value);
112
85
  const ThemeColorValuesSchema = z__default.union([
113
86
  colorSchema,
114
- z__default.object({
115
- elements: z__default.union([colorSchema, ElementColorValuesSchema]).transform((value) => {
87
+ z__default.strictObject({
88
+ elements: z__default.union([colorSchema, ElementColorValuesSchema]).meta({ description: "Element color value (or a breakdown of specific color values)" }).transform((value) => {
116
89
  if (typeof value === "string") {
117
90
  return computeColorValues(value).elements;
118
91
  }
119
92
  return value;
120
93
  }),
121
- relationships: z__default.union([colorSchema, RelationshipColorValuesSchema]).transform((value) => {
94
+ relationships: z__default.union([colorSchema, RelationshipColorValuesSchema]).meta({ description: "Relationship color value (or a breakdown of specific color values)" }).transform((value) => {
122
95
  if (typeof value === "string") {
123
96
  return computeColorValues(value).relationships;
124
97
  }
@@ -144,19 +117,25 @@ const ThemeColorsSchema = z__default.union([
144
117
  )
145
118
  ]).meta({
146
119
  id: "ThemeColors",
147
- description: "Override of theme colors"
120
+ description: "Override theme colors"
148
121
  });
149
- const DimensionsSchema = z__default.object({
150
- width: z__default.number(),
151
- height: z__default.number()
122
+ const DimensionsSchema = z__default.strictObject({
123
+ width: z__default.number().min(50),
124
+ height: z__default.number().min(50)
152
125
  }).meta({
153
126
  id: "Dimensions",
154
127
  description: "Dimensions"
155
128
  });
156
- const LikeC4Config_Styles_Theme = z__default.object({
157
- colors: ThemeColorsSchema,
158
- sizes: z__default.object(t(Sizes, () => DimensionsSchema.optional())).meta({ description: "Map of theme sizes." })
159
- }).partial().meta({
129
+ const LikeC4Config_Styles_Theme_Sizes = z__default.strictObject(
130
+ t(Sizes, () => DimensionsSchema.optional())
131
+ ).meta({
132
+ id: "ThemeSizes",
133
+ description: "Override theme sizes"
134
+ });
135
+ const LikeC4Config_Styles_Theme = z__default.strictObject({
136
+ colors: ThemeColorsSchema.optional(),
137
+ sizes: LikeC4Config_Styles_Theme_Sizes.optional()
138
+ }).meta({
160
139
  id: "ThemeCustomization",
161
140
  description: "Theme customization"
162
141
  }).transform(({ colors, sizes }) => {
@@ -165,33 +144,53 @@ const LikeC4Config_Styles_Theme = z__default.object({
165
144
  sizes: sizes ? exact(sizes) : void 0
166
145
  });
167
146
  });
168
- const LikeC4Config_Styles_Defaults = z__default.object({
169
- color,
170
- opacity,
171
- border,
172
- size,
173
- shape,
174
- group: z__default.object({
175
- color,
176
- opacity,
177
- border
178
- }).partial(),
179
- relationship: z__default.object({
180
- color,
181
- line,
182
- arrow
183
- }).partial()
184
- }).partial().meta({
147
+ const LikeC4Config_Styles_Defaults_Group = z__default.strictObject({
148
+ color: color.optional().meta({
149
+ description: "Default color for groups\n(must be a valid color name from the theme)"
150
+ }),
151
+ opacity: opacity.optional().meta({ description: "Default opacity for groups" }),
152
+ border: border.optional().meta({ description: "Default border for groups" })
153
+ }).meta({
154
+ id: "GroupDefaultStyleValues",
155
+ description: "Override default values for group style properties\nThese values will be used if such property is not defined"
156
+ });
157
+ const LikeC4Config_Styles_Defaults_Relationship = z__default.strictObject({
158
+ color: color.optional().meta({
159
+ description: "Default color for relationships\n(must be a valid color name from the theme)"
160
+ }),
161
+ line: line.optional().meta({ description: "Default line style for relationships" }),
162
+ arrow: arrow.optional().meta({ description: "Default arrow style for relationships" })
163
+ }).meta({
164
+ id: "RelationshipDefaultStyleValues",
165
+ description: "Override default values for relationship style properties\nThese values will be used if such property is not defined"
166
+ });
167
+ const LikeC4Config_Styles_Defaults = z__default.strictObject({
168
+ color: color.optional().meta({
169
+ description: "Default color for elements\n(must be a valid color name from the theme)"
170
+ }),
171
+ opacity: opacity.optional().meta({
172
+ description: "Default opacity (0-100%) for elements when displayed as a group (like a container)"
173
+ }),
174
+ border: border.optional().meta({
175
+ description: "Default border style for elements when displayed as a group (like a container)"
176
+ }),
177
+ size: size.optional().meta({ description: "Default size for elements" }),
178
+ shape: shape.optional().meta({ description: "Default shape for elements" }),
179
+ group: LikeC4Config_Styles_Defaults_Group.optional().meta({ description: "Default style values for groups" }),
180
+ relationship: LikeC4Config_Styles_Defaults_Relationship.optional().meta({
181
+ description: "Default style values for relationships"
182
+ })
183
+ }).meta({
185
184
  id: "DefaultStyleValues",
186
185
  description: "Override default values for style properties\nThese values will be used if such property is not defined"
187
186
  });
188
- const LikeC4StylesConfigSchema = z__default.object({
189
- theme: LikeC4Config_Styles_Theme,
190
- defaults: LikeC4Config_Styles_Defaults
187
+ const LikeC4StylesConfigSchema = z__default.strictObject({
188
+ theme: LikeC4Config_Styles_Theme.optional(),
189
+ defaults: LikeC4Config_Styles_Defaults.optional()
191
190
  // customCss: z
192
191
  // .array(z.string())
193
192
  // .meta({ description: 'List of custom CSS files' }),
194
- }).partial().meta({
193
+ }).meta({
195
194
  id: "StylesConfiguration",
196
195
  description: "Project styles customization"
197
196
  }).transform(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@likec4/config",
3
- "version": "1.42.0",
3
+ "version": "1.43.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://likec4.dev",
6
6
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -62,10 +62,10 @@
62
62
  "type-fest": "^4.41.0"
63
63
  },
64
64
  "peerDependencies": {
65
- "esbuild": "^0.25.9",
65
+ "esbuild": "^0.25.11",
66
66
  "vscode-uri": "3.1.0",
67
- "@likec4/core": "1.42.0",
68
- "@likec4/log": "1.42.0"
67
+ "@likec4/core": "1.43.0",
68
+ "@likec4/log": "1.43.0"
69
69
  },
70
70
  "peerDependenciesMeta": {
71
71
  "vscode-uri": {
@@ -73,18 +73,18 @@
73
73
  }
74
74
  },
75
75
  "devDependencies": {
76
- "@types/node": "~20.19.11",
77
- "remeda": "^2.31.1",
76
+ "@types/node": "~20.19.22",
77
+ "remeda": "^2.32.0",
78
78
  "tsx": "4.20.6",
79
79
  "turbo": "2.5.8",
80
- "typescript": "5.9.2",
80
+ "typescript": "5.9.3",
81
81
  "unbuild": "3.5.0",
82
82
  "nano-spawn": "^1.0.3",
83
83
  "vitest": "3.2.4",
84
- "@likec4/core": "1.42.0",
85
- "@likec4/log": "1.42.0",
86
- "@likec4/devops": "1.41.0",
87
- "@likec4/tsconfig": "1.42.0"
84
+ "@likec4/log": "1.43.0",
85
+ "@likec4/core": "1.43.0",
86
+ "@likec4/tsconfig": "1.43.0",
87
+ "@likec4/devops": "1.42.0"
88
88
  },
89
89
  "scripts": {
90
90
  "typecheck": "tsc -b --verbose",
package/schema.json CHANGED
@@ -68,7 +68,8 @@
68
68
  }
69
69
  ]
70
70
  }
71
- }
71
+ },
72
+ "additionalProperties": false
72
73
  },
73
74
  "ThemeCustomization": {
74
75
  "id": "ThemeCustomization",
@@ -83,51 +84,18 @@
83
84
  ]
84
85
  },
85
86
  "sizes": {
86
- "description": "Map of theme sizes.",
87
- "type": "object",
88
- "properties": {
89
- "xs": {
90
- "allOf": [
91
- {
92
- "$ref": "#/definitions/Dimensions"
93
- }
94
- ]
95
- },
96
- "sm": {
97
- "allOf": [
98
- {
99
- "$ref": "#/definitions/Dimensions"
100
- }
101
- ]
102
- },
103
- "md": {
104
- "allOf": [
105
- {
106
- "$ref": "#/definitions/Dimensions"
107
- }
108
- ]
109
- },
110
- "lg": {
111
- "allOf": [
112
- {
113
- "$ref": "#/definitions/Dimensions"
114
- }
115
- ]
116
- },
117
- "xl": {
118
- "allOf": [
119
- {
120
- "$ref": "#/definitions/Dimensions"
121
- }
122
- ]
87
+ "allOf": [
88
+ {
89
+ "$ref": "#/definitions/ThemeSizes"
123
90
  }
124
- }
91
+ ]
125
92
  }
126
- }
93
+ },
94
+ "additionalProperties": false
127
95
  },
128
96
  "ThemeColors": {
129
97
  "id": "ThemeColors",
130
- "description": "Override of theme colors",
98
+ "description": "Override theme colors",
131
99
  "anyOf": [
132
100
  {
133
101
  "type": "object",
@@ -228,7 +196,6 @@
228
196
  },
229
197
  "ColorName": {
230
198
  "id": "ColorName",
231
- "description": "Color name (Theme color name or custom color name)",
232
199
  "anyOf": [
233
200
  {
234
201
  "$ref": "#/definitions/ThemeColor"
@@ -241,7 +208,6 @@
241
208
  },
242
209
  "ThemeColor": {
243
210
  "id": "ThemeColor",
244
- "description": "Reserved theme color name",
245
211
  "type": "string",
246
212
  "enum": [
247
213
  "amber",
@@ -268,6 +234,7 @@
268
234
  "type": "object",
269
235
  "properties": {
270
236
  "elements": {
237
+ "description": "Element color value (or a breakdown of specific color values)",
271
238
  "anyOf": [
272
239
  {
273
240
  "$ref": "#/definitions/ColorLiteral"
@@ -282,6 +249,7 @@
282
249
  ]
283
250
  },
284
251
  "relationships": {
252
+ "description": "Relationship color value (or a breakdown of specific color values)",
285
253
  "anyOf": [
286
254
  {
287
255
  "$ref": "#/definitions/ColorLiteral"
@@ -299,7 +267,8 @@
299
267
  "required": [
300
268
  "elements",
301
269
  "relationships"
302
- ]
270
+ ],
271
+ "additionalProperties": false
303
272
  }
304
273
  ]
305
274
  },
@@ -311,7 +280,6 @@
311
280
  },
312
281
  "ElementColorValues": {
313
282
  "id": "ElementColorValues",
314
- "description": "Specific element colors",
315
283
  "type": "object",
316
284
  "properties": {
317
285
  "fill": {
@@ -352,11 +320,11 @@
352
320
  "stroke",
353
321
  "hiContrast",
354
322
  "loContrast"
355
- ]
323
+ ],
324
+ "additionalProperties": false
356
325
  },
357
326
  "RelationshipColorValues": {
358
327
  "id": "RelationshipColorValues",
359
- "description": "Specefic relationship colors",
360
328
  "type": "object",
361
329
  "properties": {
362
330
  "line": {
@@ -387,7 +355,51 @@
387
355
  "required": [
388
356
  "line",
389
357
  "label"
390
- ]
358
+ ],
359
+ "additionalProperties": false
360
+ },
361
+ "ThemeSizes": {
362
+ "id": "ThemeSizes",
363
+ "description": "Override theme sizes",
364
+ "type": "object",
365
+ "properties": {
366
+ "xs": {
367
+ "allOf": [
368
+ {
369
+ "$ref": "#/definitions/Dimensions"
370
+ }
371
+ ]
372
+ },
373
+ "sm": {
374
+ "allOf": [
375
+ {
376
+ "$ref": "#/definitions/Dimensions"
377
+ }
378
+ ]
379
+ },
380
+ "md": {
381
+ "allOf": [
382
+ {
383
+ "$ref": "#/definitions/Dimensions"
384
+ }
385
+ ]
386
+ },
387
+ "lg": {
388
+ "allOf": [
389
+ {
390
+ "$ref": "#/definitions/Dimensions"
391
+ }
392
+ ]
393
+ },
394
+ "xl": {
395
+ "allOf": [
396
+ {
397
+ "$ref": "#/definitions/Dimensions"
398
+ }
399
+ ]
400
+ }
401
+ },
402
+ "additionalProperties": false
391
403
  },
392
404
  "Dimensions": {
393
405
  "id": "Dimensions",
@@ -395,16 +407,19 @@
395
407
  "type": "object",
396
408
  "properties": {
397
409
  "width": {
398
- "type": "number"
410
+ "type": "number",
411
+ "minimum": 50
399
412
  },
400
413
  "height": {
401
- "type": "number"
414
+ "type": "number",
415
+ "minimum": 50
402
416
  }
403
417
  },
404
418
  "required": [
405
419
  "width",
406
420
  "height"
407
- ]
421
+ ],
422
+ "additionalProperties": false
408
423
  },
409
424
  "DefaultStyleValues": {
410
425
  "id": "DefaultStyleValues",
@@ -412,6 +427,7 @@
412
427
  "type": "object",
413
428
  "properties": {
414
429
  "color": {
430
+ "description": "Default color for elements\n(must be a valid color name from the theme)",
415
431
  "allOf": [
416
432
  {
417
433
  "$ref": "#/definitions/ColorName"
@@ -419,6 +435,7 @@
419
435
  ]
420
436
  },
421
437
  "opacity": {
438
+ "description": "Default opacity (0-100%) for elements when displayed as a group (like a container)",
422
439
  "allOf": [
423
440
  {
424
441
  "$ref": "#/definitions/Opacity"
@@ -426,6 +443,7 @@
426
443
  ]
427
444
  },
428
445
  "border": {
446
+ "description": "Default border style for elements when displayed as a group (like a container)",
429
447
  "allOf": [
430
448
  {
431
449
  "$ref": "#/definitions/BorderStyle"
@@ -433,6 +451,7 @@
433
451
  ]
434
452
  },
435
453
  "size": {
454
+ "description": "Default size for elements",
436
455
  "allOf": [
437
456
  {
438
457
  "$ref": "#/definitions/ElementSize"
@@ -440,6 +459,7 @@
440
459
  ]
441
460
  },
442
461
  "shape": {
462
+ "description": "Default shape for elements",
443
463
  "allOf": [
444
464
  {
445
465
  "$ref": "#/definitions/ElementShape"
@@ -447,69 +467,33 @@
447
467
  ]
448
468
  },
449
469
  "group": {
450
- "type": "object",
451
- "properties": {
452
- "color": {
453
- "allOf": [
454
- {
455
- "$ref": "#/definitions/ColorName"
456
- }
457
- ]
458
- },
459
- "opacity": {
460
- "allOf": [
461
- {
462
- "$ref": "#/definitions/Opacity"
463
- }
464
- ]
465
- },
466
- "border": {
467
- "allOf": [
468
- {
469
- "$ref": "#/definitions/BorderStyle"
470
- }
471
- ]
470
+ "description": "Default style values for groups",
471
+ "allOf": [
472
+ {
473
+ "$ref": "#/definitions/GroupDefaultStyleValues"
472
474
  }
473
- }
475
+ ]
474
476
  },
475
477
  "relationship": {
476
- "type": "object",
477
- "properties": {
478
- "color": {
479
- "allOf": [
480
- {
481
- "$ref": "#/definitions/ColorName"
482
- }
483
- ]
484
- },
485
- "line": {
486
- "allOf": [
487
- {
488
- "$ref": "#/definitions/LineType"
489
- }
490
- ]
491
- },
492
- "arrow": {
493
- "allOf": [
494
- {
495
- "$ref": "#/definitions/ArrowType"
496
- }
497
- ]
478
+ "description": "Default style values for relationships",
479
+ "allOf": [
480
+ {
481
+ "$ref": "#/definitions/RelationshipDefaultStyleValues"
498
482
  }
499
- }
483
+ ]
500
484
  }
501
- }
485
+ },
486
+ "additionalProperties": false
502
487
  },
503
488
  "Opacity": {
504
489
  "id": "Opacity",
505
- "description": "Opacity 0%-100%",
506
- "type": "number",
490
+ "description": "Opacity 0-100%",
491
+ "type": "integer",
507
492
  "minimum": 0,
508
493
  "maximum": 100
509
494
  },
510
495
  "BorderStyle": {
511
496
  "id": "BorderStyle",
512
- "description": "Border style",
513
497
  "type": "string",
514
498
  "enum": [
515
499
  "solid",
@@ -520,7 +504,6 @@
520
504
  },
521
505
  "ElementSize": {
522
506
  "id": "ElementSize",
523
- "description": "Element size",
524
507
  "type": "string",
525
508
  "enum": [
526
509
  "xs",
@@ -532,7 +515,6 @@
532
515
  },
533
516
  "ElementShape": {
534
517
  "id": "ElementShape",
535
- "description": "Element shape",
536
518
  "type": "string",
537
519
  "enum": [
538
520
  "rectangle",
@@ -544,9 +526,72 @@
544
526
  "queue"
545
527
  ]
546
528
  },
529
+ "GroupDefaultStyleValues": {
530
+ "id": "GroupDefaultStyleValues",
531
+ "description": "Override default values for group style properties\nThese values will be used if such property is not defined",
532
+ "type": "object",
533
+ "properties": {
534
+ "color": {
535
+ "description": "Default color for groups\n(must be a valid color name from the theme)",
536
+ "allOf": [
537
+ {
538
+ "$ref": "#/definitions/ColorName"
539
+ }
540
+ ]
541
+ },
542
+ "opacity": {
543
+ "description": "Default opacity for groups",
544
+ "allOf": [
545
+ {
546
+ "$ref": "#/definitions/Opacity"
547
+ }
548
+ ]
549
+ },
550
+ "border": {
551
+ "description": "Default border for groups",
552
+ "allOf": [
553
+ {
554
+ "$ref": "#/definitions/BorderStyle"
555
+ }
556
+ ]
557
+ }
558
+ },
559
+ "additionalProperties": false
560
+ },
561
+ "RelationshipDefaultStyleValues": {
562
+ "id": "RelationshipDefaultStyleValues",
563
+ "description": "Override default values for relationship style properties\nThese values will be used if such property is not defined",
564
+ "type": "object",
565
+ "properties": {
566
+ "color": {
567
+ "description": "Default color for relationships\n(must be a valid color name from the theme)",
568
+ "allOf": [
569
+ {
570
+ "$ref": "#/definitions/ColorName"
571
+ }
572
+ ]
573
+ },
574
+ "line": {
575
+ "description": "Default line style for relationships",
576
+ "allOf": [
577
+ {
578
+ "$ref": "#/definitions/LineType"
579
+ }
580
+ ]
581
+ },
582
+ "arrow": {
583
+ "description": "Default arrow style for relationships",
584
+ "allOf": [
585
+ {
586
+ "$ref": "#/definitions/ArrowType"
587
+ }
588
+ ]
589
+ }
590
+ },
591
+ "additionalProperties": false
592
+ },
547
593
  "LineType": {
548
594
  "id": "LineType",
549
- "description": "Default line type for relationships",
550
595
  "type": "string",
551
596
  "enum": [
552
597
  "dashed",
@@ -556,7 +601,6 @@
556
601
  },
557
602
  "ArrowType": {
558
603
  "id": "ArrowType",
559
- "description": "Relationship arrow type",
560
604
  "type": "string",
561
605
  "enum": [
562
606
  "none",