@likec4/language-server 1.20.2 → 1.21.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.
Files changed (51) hide show
  1. package/README.md +1 -1
  2. package/dist/ast.d.ts +16 -0
  3. package/dist/ast.js +42 -10
  4. package/dist/bundled.mjs +4230 -4096
  5. package/dist/formatting/LikeC4Formatter.js +6 -3
  6. package/dist/generated/ast.d.ts +76 -24
  7. package/dist/generated/ast.js +103 -25
  8. package/dist/generated/grammar.js +1 -1
  9. package/dist/logger.d.ts +3 -0
  10. package/dist/logger.js +0 -4
  11. package/dist/lsp/CompletionProvider.js +2 -1
  12. package/dist/lsp/SemanticTokenProvider.js +50 -2
  13. package/dist/model/model-builder.js +57 -3
  14. package/dist/model/model-parser.d.ts +6 -0
  15. package/dist/model/model-parser.js +1 -0
  16. package/dist/model/parser/Base.js +11 -5
  17. package/dist/model/parser/DeploymentModelParser.d.ts +1 -0
  18. package/dist/model/parser/DeploymentViewParser.d.ts +1 -0
  19. package/dist/model/parser/DeploymentViewParser.js +3 -0
  20. package/dist/model/parser/FqnRefParser.d.ts +1 -0
  21. package/dist/model/parser/FqnRefParser.js +10 -0
  22. package/dist/model/parser/GlobalsParser.d.ts +1 -0
  23. package/dist/model/parser/ModelParser.d.ts +2 -1
  24. package/dist/model/parser/ModelParser.js +26 -1
  25. package/dist/model/parser/PredicatesParser.js +19 -1
  26. package/dist/model/parser/ViewsParser.d.ts +1 -0
  27. package/dist/references/scope-provider.d.ts +1 -1
  28. package/dist/references/scope-provider.js +1 -1
  29. package/dist/test/testServices.d.ts +1 -0
  30. package/dist/test/testServices.js +8 -0
  31. package/dist/utils/elementRef.d.ts +3 -3
  32. package/dist/validation/index.d.ts +1 -1
  33. package/package.json +12 -12
  34. package/src/ast.ts +55 -9
  35. package/src/formatting/LikeC4Formatter.ts +7 -1
  36. package/src/generated/ast.ts +200 -49
  37. package/src/generated/grammar.ts +1 -1
  38. package/src/like-c4.langium +45 -7
  39. package/src/logger.ts +3 -4
  40. package/src/lsp/CompletionProvider.ts +1 -0
  41. package/src/lsp/SemanticTokenProvider.ts +56 -1
  42. package/src/model/model-builder.ts +65 -6
  43. package/src/model/model-parser.ts +1 -0
  44. package/src/model/parser/Base.ts +11 -5
  45. package/src/model/parser/DeploymentViewParser.ts +3 -0
  46. package/src/model/parser/FqnRefParser.ts +11 -0
  47. package/src/model/parser/ModelParser.ts +30 -1
  48. package/src/model/parser/PredicatesParser.ts +19 -1
  49. package/src/references/scope-provider.ts +9 -9
  50. package/src/test/testServices.ts +18 -9
  51. package/src/utils/elementRef.ts +3 -3
@@ -126,7 +126,7 @@ export class LikeC4Formatter extends AbstractFormatter {
126
126
  this.on(node, ast.isDeploymentView)?.keywords("deployment", "view").append(FormattingOptions.oneSpace);
127
127
  }
128
128
  formatLeafProperty(node) {
129
- if (ast.isElementStringProperty(node) || ast.isRelationStringProperty(node) || ast.isViewStringProperty(node) || ast.isNotationProperty(node) || ast.isSpecificationElementStringProperty(node) || ast.isSpecificationRelationshipStringProperty(node) || ast.isColorProperty(node) || ast.isLineProperty(node) || ast.isArrowProperty(node) || ast.isIconProperty(node) || ast.isShapeProperty(node) || ast.isBorderProperty(node) || ast.isOpacityProperty(node) || ast.isMultipleProperty(node)) {
129
+ if (ast.isElementStringProperty(node) || ast.isRelationStringProperty(node) || ast.isViewStringProperty(node) || ast.isNotationProperty(node) || ast.isSpecificationElementStringProperty(node) || ast.isSpecificationRelationshipStringProperty(node) || ast.isColorProperty(node) || ast.isLineProperty(node) || ast.isArrowProperty(node) || ast.isIconProperty(node) || ast.isShapeProperty(node) || ast.isBorderProperty(node) || ast.isOpacityProperty(node) || ast.isMultipleProperty(node) || ast.isShapeSizeProperty(node) || ast.isPaddingSizeProperty(node) || ast.isTextSizeProperty(node)) {
130
130
  const formatter = this.getNodeFormatter(node);
131
131
  const colon = formatter.keyword(":");
132
132
  const propertyName = formatter.keywords(
@@ -142,7 +142,10 @@ export class LikeC4Formatter extends AbstractFormatter {
142
142
  "shape",
143
143
  "border",
144
144
  "opacity",
145
- "multiple"
145
+ "multiple",
146
+ "size",
147
+ "padding",
148
+ "textSize"
146
149
  );
147
150
  if (colon.nodes.length === 0) {
148
151
  propertyName.append(FormattingOptions.oneSpace);
@@ -278,7 +281,7 @@ export class LikeC4Formatter extends AbstractFormatter {
278
281
  }
279
282
  }
280
283
  formatWhereExpressionV2(node) {
281
- if (ast.isRelationPredicateOrWhereV2(node)) {
284
+ if (ast.isRelationPredicateOrWhereV2(node) || ast.isElementPredicateOrWhereV2(node)) {
282
285
  const formatter = this.getNodeFormatter(node);
283
286
  formatter.keyword("where").append(FormattingOptions.oneSpace);
284
287
  }
@@ -26,7 +26,7 @@ export declare const LikeC4Terminals: {
26
26
  Hex: RegExp;
27
27
  };
28
28
  export type LikeC4TerminalNames = keyof typeof LikeC4Terminals;
29
- export type LikeC4KeywordNames = "(" | ")" | "*" | "," | "->" | "-[" | ":" | ";" | "<-" | "<->" | "BottomTop" | "LeftRight" | "RightLeft" | "TopBottom" | "]->" | "amber" | "and" | "autoLayout" | "blue" | "border" | "browser" | "color" | "crow" | "cylinder" | "dashed" | "deployment" | "deploymentNode" | "description" | "diamond" | "dot" | "dotted" | "dynamic" | "dynamicPredicateGroup" | "element" | "element.kind" | "element.tag" | "exclude" | "extend" | "extends" | "false" | "global" | "gray" | "green" | "group" | "head" | "icon" | "icons" | "include" | "indigo" | "instance" | "instanceOf" | "is" | "kind" | "likec4lib" | "line" | "link" | "metadata" | "mobile" | "model" | "multiple" | "muted" | "navigateTo" | "node" | "none" | "normal" | "not" | "notation" | "notes" | "odiamond" | "odot" | "of" | "onormal" | "opacity" | "open" | "or" | "par" | "parallel" | "person" | "predicate" | "predicateGroup" | "primary" | "queue" | "rectangle" | "red" | "relationship" | "secondary" | "shape" | "sky" | "slate" | "solid" | "source" | "specification" | "storage" | "style" | "styleGroup" | "tag" | "tail" | "target" | "technology" | "title" | "true" | "vee" | "view" | "views" | "where" | "with" | "{" | "}";
29
+ export type LikeC4KeywordNames = "(" | ")" | "*" | "," | "->" | "-[" | ":" | ";" | "<-" | "<->" | "BottomTop" | "LeftRight" | "RightLeft" | "TopBottom" | "]->" | "amber" | "and" | "autoLayout" | "blue" | "border" | "browser" | "color" | "crow" | "cylinder" | "dashed" | "deployment" | "deploymentNode" | "description" | "diamond" | "dot" | "dotted" | "dynamic" | "dynamicPredicateGroup" | "element" | "element.kind" | "element.tag" | "exclude" | "extend" | "extends" | "false" | "global" | "gray" | "green" | "group" | "head" | "icon" | "icons" | "include" | "indigo" | "instance" | "instanceOf" | "is" | "kind" | "large" | "lg" | "likec4lib" | "line" | "link" | "md" | "medium" | "metadata" | "mobile" | "model" | "multiple" | "muted" | "navigateTo" | "node" | "none" | "normal" | "not" | "notation" | "notes" | "odiamond" | "odot" | "of" | "onormal" | "opacity" | "open" | "or" | "padding" | "par" | "parallel" | "person" | "predicate" | "predicateGroup" | "primary" | "queue" | "rectangle" | "red" | "relationship" | "secondary" | "shape" | "size" | "sky" | "slate" | "sm" | "small" | "solid" | "source" | "specification" | "storage" | "style" | "styleGroup" | "tag" | "tail" | "target" | "technology" | "textSize" | "title" | "true" | "vee" | "view" | "views" | "where" | "with" | "xl" | "xlarge" | "xs" | "xsmall" | "{" | "}";
30
30
  export type LikeC4TokenNames = LikeC4TerminalNames | LikeC4KeywordNames;
31
31
  export type ArrowType = 'crow' | 'diamond' | 'dot' | 'none' | 'normal' | 'odiamond' | 'odot' | 'onormal' | 'open' | 'vee';
32
32
  export declare function isArrowType(item: unknown): item is ArrowType;
@@ -61,14 +61,20 @@ export declare function isElementPredicate(item: unknown): item is ElementPredic
61
61
  export type ElementPredicateOrWhere = ElementExpression | ElementPredicateWhere;
62
62
  export declare const ElementPredicateOrWhere = "ElementPredicateOrWhere";
63
63
  export declare function isElementPredicateOrWhere(item: unknown): item is ElementPredicateOrWhere;
64
+ export type ElementPredicateOrWhereV2 = ElementPredicateWhereV2 | FqnExpr;
65
+ export declare const ElementPredicateOrWhereV2 = "ElementPredicateOrWhereV2";
66
+ export declare function isElementPredicateOrWhereV2(item: unknown): item is ElementPredicateOrWhereV2;
64
67
  export type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
65
68
  export declare const ElementProperty = "ElementProperty";
66
69
  export declare function isElementProperty(item: unknown): item is ElementProperty;
67
70
  export type ElementShape = 'browser' | 'cylinder' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
68
71
  export declare function isElementShape(item: unknown): item is ElementShape;
69
- export type ExpressionV2 = FqnExpr | RelationPredicateOrWhereV2;
72
+ export type ExpressionV2 = ElementPredicateOrWhereV2 | RelationPredicateOrWhereV2;
70
73
  export declare const ExpressionV2 = "ExpressionV2";
71
74
  export declare function isExpressionV2(item: unknown): item is ExpressionV2;
75
+ export type ExtendElementProperty = LinkProperty | MetadataProperty;
76
+ export declare const ExtendElementProperty = "ExtendElementProperty";
77
+ export declare function isExtendElementProperty(item: unknown): item is ExtendElementProperty;
72
78
  export type FqnExpr = FqnRefExpr | WildcardExpression;
73
79
  export declare const FqnExpr = "FqnExpr";
74
80
  export declare function isFqnExpr(item: unknown): item is FqnExpr;
@@ -77,7 +83,7 @@ export declare const FqnReferenceable = "FqnReferenceable";
77
83
  export declare function isFqnReferenceable(item: unknown): item is FqnReferenceable;
78
84
  export type IconId = string;
79
85
  export declare function isIconId(item: unknown): item is IconId;
80
- export type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | ThemeColor | string;
86
+ export type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | SizeValue | ThemeColor | string;
81
87
  export declare function isId(item: unknown): item is Id;
82
88
  export type LikeC4View = DeploymentView | DynamicView | ElementView;
83
89
  export declare const LikeC4View = "LikeC4View";
@@ -116,10 +122,15 @@ export declare function isRelationProperty(item: unknown): item is RelationPrope
116
122
  export type RelationshipStyleProperty = ArrowProperty | ColorProperty | LineProperty;
117
123
  export declare const RelationshipStyleProperty = "RelationshipStyleProperty";
118
124
  export declare function isRelationshipStyleProperty(item: unknown): item is RelationshipStyleProperty;
125
+ export type SizeProperty = PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty;
126
+ export declare const SizeProperty = "SizeProperty";
127
+ export declare function isSizeProperty(item: unknown): item is SizeProperty;
128
+ export type SizeValue = 'large' | 'lg' | 'md' | 'medium' | 'sm' | 'small' | 'xl' | 'xlarge' | 'xs' | 'xsmall';
129
+ export declare function isSizeValue(item: unknown): item is SizeValue;
119
130
  export type StringProperty = ElementStringProperty | MetadataAttribute | NotationProperty | NotesProperty | RelationStringProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty;
120
131
  export declare const StringProperty = "StringProperty";
121
132
  export declare function isStringProperty(item: unknown): item is StringProperty;
122
- export type StyleProperty = BorderProperty | ColorProperty | IconProperty | MultipleProperty | OpacityProperty | ShapeProperty;
133
+ export type StyleProperty = BorderProperty | ColorProperty | IconProperty | MultipleProperty | OpacityProperty | PaddingSizeProperty | ShapeProperty | ShapeSizeProperty | TextSizeProperty;
123
134
  export declare const StyleProperty = "StyleProperty";
124
135
  export declare function isStyleProperty(item: unknown): item is StyleProperty;
125
136
  export type TagId = string;
@@ -455,6 +466,14 @@ export interface ElementPredicateWhere extends AstNode {
455
466
  }
456
467
  export declare const ElementPredicateWhere = "ElementPredicateWhere";
457
468
  export declare function isElementPredicateWhere(item: unknown): item is ElementPredicateWhere;
469
+ export interface ElementPredicateWhereV2 extends AstNode {
470
+ readonly $container: DeploymentViewRulePredicateExpression;
471
+ readonly $type: 'ElementPredicateWhereV2';
472
+ subject: FqnExpr;
473
+ where?: WhereElementExpression;
474
+ }
475
+ export declare const ElementPredicateWhereV2 = "ElementPredicateWhereV2";
476
+ export declare function isElementPredicateWhereV2(item: unknown): item is ElementPredicateWhereV2;
458
477
  export interface ElementPredicateWith extends AstNode {
459
478
  readonly $container: DynamicViewPredicateIterator | Predicates;
460
479
  readonly $type: 'ElementPredicateWith';
@@ -539,7 +558,7 @@ export interface ExtendElement extends AstNode {
539
558
  readonly $container: Model;
540
559
  readonly $type: 'ExtendElement';
541
560
  body: ExtendElementBody;
542
- element: FqnElementRef;
561
+ element: StrictFqnElementRef;
543
562
  }
544
563
  export declare const ExtendElement = "ExtendElement";
545
564
  export declare function isExtendElement(item: unknown): item is ExtendElement;
@@ -547,17 +566,11 @@ export interface ExtendElementBody extends AstNode {
547
566
  readonly $container: ExtendElement;
548
567
  readonly $type: 'ExtendElementBody';
549
568
  elements: Array<Element | Relation>;
569
+ props: Array<ExtendElementProperty>;
570
+ tags?: Tags;
550
571
  }
551
572
  export declare const ExtendElementBody = "ExtendElementBody";
552
573
  export declare function isExtendElementBody(item: unknown): item is ExtendElementBody;
553
- export interface FqnElementRef extends AstNode {
554
- readonly $container: ExtendElement | FqnElementRef;
555
- readonly $type: 'FqnElementRef';
556
- el: Reference<Element>;
557
- parent?: FqnElementRef;
558
- }
559
- export declare const FqnElementRef = "FqnElementRef";
560
- export declare function isFqnElementRef(item: unknown): item is FqnElementRef;
561
574
  export interface FqnExpressions extends AstNode {
562
575
  readonly $container: DeploymentViewRuleStyle | FqnExpressions;
563
576
  readonly $type: 'FqnExpressions';
@@ -575,7 +588,7 @@ export interface FqnRef extends AstNode {
575
588
  export declare const FqnRef = "FqnRef";
576
589
  export declare function isFqnRef(item: unknown): item is FqnRef;
577
590
  export interface FqnRefExpr extends AstNode {
578
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
591
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | ElementPredicateWhereV2 | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
579
592
  readonly $type: 'FqnRefExpr';
580
593
  ref: FqnRef;
581
594
  selector?: string;
@@ -709,7 +722,7 @@ export interface LineProperty extends AstNode {
709
722
  export declare const LineProperty = "LineProperty";
710
723
  export declare function isLineProperty(item: unknown): item is LineProperty;
711
724
  export interface LinkProperty extends AstNode {
712
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | RelationBody;
725
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | RelationBody;
713
726
  readonly $type: 'LinkProperty';
714
727
  key: 'link';
715
728
  title?: string;
@@ -726,7 +739,7 @@ export interface MetadataAttribute extends AstNode {
726
739
  export declare const MetadataAttribute = "MetadataAttribute";
727
740
  export declare function isMetadataAttribute(item: unknown): item is MetadataAttribute;
728
741
  export interface MetadataBody extends AstNode {
729
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | RelationBody;
742
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | ElementBody | ExtendElementBody | RelationBody;
730
743
  readonly $type: 'MetadataBody';
731
744
  props: Array<MetadataAttribute>;
732
745
  }
@@ -815,6 +828,14 @@ export interface OutgoingRelationExpression extends AstNode {
815
828
  }
816
829
  export declare const OutgoingRelationExpression = "OutgoingRelationExpression";
817
830
  export declare function isOutgoingRelationExpression(item: unknown): item is OutgoingRelationExpression;
831
+ export interface PaddingSizeProperty extends AstNode {
832
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
833
+ readonly $type: 'PaddingSizeProperty';
834
+ key: 'padding';
835
+ value: SizeValue;
836
+ }
837
+ export declare const PaddingSizeProperty = "PaddingSizeProperty";
838
+ export declare function isPaddingSizeProperty(item: unknown): item is PaddingSizeProperty;
818
839
  export interface Predicates extends AstNode {
819
840
  readonly $container: ExcludePredicate | IncludePredicate | Predicates;
820
841
  readonly $type: 'Predicates';
@@ -907,6 +928,14 @@ export interface ShapeProperty extends AstNode {
907
928
  }
908
929
  export declare const ShapeProperty = "ShapeProperty";
909
930
  export declare function isShapeProperty(item: unknown): item is ShapeProperty;
931
+ export interface ShapeSizeProperty extends AstNode {
932
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
933
+ readonly $type: 'ShapeSizeProperty';
934
+ key: 'size';
935
+ value: SizeValue;
936
+ }
937
+ export declare const ShapeSizeProperty = "ShapeSizeProperty";
938
+ export declare function isShapeSizeProperty(item: unknown): item is ShapeSizeProperty;
910
939
  export interface SpecificationColor extends AstNode {
911
940
  readonly $container: SpecificationRule;
912
941
  readonly $type: 'SpecificationColor';
@@ -974,6 +1003,14 @@ export interface SpecificationTag extends AstNode {
974
1003
  }
975
1004
  export declare const SpecificationTag = "SpecificationTag";
976
1005
  export declare function isSpecificationTag(item: unknown): item is SpecificationTag;
1006
+ export interface StrictFqnElementRef extends AstNode {
1007
+ readonly $container: ExtendElement | StrictFqnElementRef;
1008
+ readonly $type: 'StrictFqnElementRef';
1009
+ el: Reference<Element>;
1010
+ parent?: StrictFqnElementRef;
1011
+ }
1012
+ export declare const StrictFqnElementRef = "StrictFqnElementRef";
1013
+ export declare function isStrictFqnElementRef(item: unknown): item is StrictFqnElementRef;
977
1014
  export interface Tag extends AstNode {
978
1015
  readonly $container: SpecificationTag;
979
1016
  readonly $type: 'Tag';
@@ -982,13 +1019,21 @@ export interface Tag extends AstNode {
982
1019
  export declare const Tag = "Tag";
983
1020
  export declare function isTag(item: unknown): item is Tag;
984
1021
  export interface Tags extends AstNode {
985
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | Relation | RelationBody | Tags;
1022
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendElementBody | Relation | RelationBody | Tags;
986
1023
  readonly $type: 'Tags';
987
1024
  prev?: Tags;
988
1025
  values: Array<Reference<Tag>>;
989
1026
  }
990
1027
  export declare const Tags = "Tags";
991
1028
  export declare function isTags(item: unknown): item is Tags;
1029
+ export interface TextSizeProperty extends AstNode {
1030
+ readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
1031
+ readonly $type: 'TextSizeProperty';
1032
+ key: 'textSize';
1033
+ value: SizeValue;
1034
+ }
1035
+ export declare const TextSizeProperty = "TextSizeProperty";
1036
+ export declare function isTextSizeProperty(item: unknown): item is TextSizeProperty;
992
1037
  export interface ViewRef extends AstNode {
993
1038
  readonly $container: NavigateToProperty;
994
1039
  readonly $type: 'ViewRef';
@@ -1045,7 +1090,7 @@ export interface ViewStringProperty extends AstNode {
1045
1090
  export declare const ViewStringProperty = "ViewStringProperty";
1046
1091
  export declare function isViewStringProperty(item: unknown): item is ViewStringProperty;
1047
1092
  export interface WhereBinaryExpression extends AstNode {
1048
- readonly $container: ElementPredicateWhere | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
1093
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
1049
1094
  readonly $type: 'WhereBinaryExpression';
1050
1095
  left: WhereElementExpression | WhereRelationExpression;
1051
1096
  operator: 'and' | 'or';
@@ -1054,23 +1099,23 @@ export interface WhereBinaryExpression extends AstNode {
1054
1099
  export declare const WhereBinaryExpression = "WhereBinaryExpression";
1055
1100
  export declare function isWhereBinaryExpression(item: unknown): item is WhereBinaryExpression;
1056
1101
  export interface WhereElementKind extends AstNode {
1057
- readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
1102
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
1058
1103
  readonly $type: 'WhereElementKind';
1059
1104
  not: boolean;
1060
1105
  operator: 'is' | string;
1061
- value?: Reference<ElementKind>;
1106
+ value?: Reference<DeploymentNodeOrElementKind>;
1062
1107
  }
1063
1108
  export declare const WhereElementKind = "WhereElementKind";
1064
1109
  export declare function isWhereElementKind(item: unknown): item is WhereElementKind;
1065
1110
  export interface WhereElementNegation extends AstNode {
1066
- readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
1111
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
1067
1112
  readonly $type: 'WhereElementNegation';
1068
1113
  value: WhereElementExpression;
1069
1114
  }
1070
1115
  export declare const WhereElementNegation = "WhereElementNegation";
1071
1116
  export declare function isWhereElementNegation(item: unknown): item is WhereElementNegation;
1072
1117
  export interface WhereElementTag extends AstNode {
1073
- readonly $container: ElementPredicateWhere | WhereBinaryExpression | WhereElementNegation;
1118
+ readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
1074
1119
  readonly $type: 'WhereElementTag';
1075
1120
  not: boolean;
1076
1121
  operator: 'is' | string;
@@ -1124,7 +1169,7 @@ export interface WhereRelationTag extends AstNode {
1124
1169
  export declare const WhereRelationTag = "WhereRelationTag";
1125
1170
  export declare function isWhereRelationTag(item: unknown): item is WhereRelationTag;
1126
1171
  export interface WildcardExpression extends AstNode {
1127
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
1172
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWhereV2 | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
1128
1173
  readonly $type: 'WildcardExpression';
1129
1174
  isWildcard: boolean;
1130
1175
  }
@@ -1172,7 +1217,9 @@ export type LikeC4AstType = {
1172
1217
  ElementKindExpression: ElementKindExpression;
1173
1218
  ElementPredicate: ElementPredicate;
1174
1219
  ElementPredicateOrWhere: ElementPredicateOrWhere;
1220
+ ElementPredicateOrWhereV2: ElementPredicateOrWhereV2;
1175
1221
  ElementPredicateWhere: ElementPredicateWhere;
1222
+ ElementPredicateWhereV2: ElementPredicateWhereV2;
1176
1223
  ElementPredicateWith: ElementPredicateWith;
1177
1224
  ElementProperty: ElementProperty;
1178
1225
  ElementRef: ElementRef;
@@ -1187,7 +1234,7 @@ export type LikeC4AstType = {
1187
1234
  ExpressionV2: ExpressionV2;
1188
1235
  ExtendElement: ExtendElement;
1189
1236
  ExtendElementBody: ExtendElementBody;
1190
- FqnElementRef: FqnElementRef;
1237
+ ExtendElementProperty: ExtendElementProperty;
1191
1238
  FqnExpr: FqnExpr;
1192
1239
  FqnExpressions: FqnExpressions;
1193
1240
  FqnRef: FqnRef;
@@ -1224,6 +1271,7 @@ export type LikeC4AstType = {
1224
1271
  OpacityProperty: OpacityProperty;
1225
1272
  OutgoingRelationExpr: OutgoingRelationExpr;
1226
1273
  OutgoingRelationExpression: OutgoingRelationExpression;
1274
+ PaddingSizeProperty: PaddingSizeProperty;
1227
1275
  Predicate: Predicate;
1228
1276
  Predicates: Predicates;
1229
1277
  Referenceable: Referenceable;
@@ -1244,6 +1292,8 @@ export type LikeC4AstType = {
1244
1292
  RelationshipKind: RelationshipKind;
1245
1293
  RelationshipStyleProperty: RelationshipStyleProperty;
1246
1294
  ShapeProperty: ShapeProperty;
1295
+ ShapeSizeProperty: ShapeSizeProperty;
1296
+ SizeProperty: SizeProperty;
1247
1297
  SpecificationColor: SpecificationColor;
1248
1298
  SpecificationDeploymentNodeKind: SpecificationDeploymentNodeKind;
1249
1299
  SpecificationElementKind: SpecificationElementKind;
@@ -1252,10 +1302,12 @@ export type LikeC4AstType = {
1252
1302
  SpecificationRelationshipStringProperty: SpecificationRelationshipStringProperty;
1253
1303
  SpecificationRule: SpecificationRule;
1254
1304
  SpecificationTag: SpecificationTag;
1305
+ StrictFqnElementRef: StrictFqnElementRef;
1255
1306
  StringProperty: StringProperty;
1256
1307
  StyleProperty: StyleProperty;
1257
1308
  Tag: Tag;
1258
1309
  Tags: Tags;
1310
+ TextSizeProperty: TextSizeProperty;
1259
1311
  ViewProperty: ViewProperty;
1260
1312
  ViewRef: ViewRef;
1261
1313
  ViewRule: ViewRule;
@@ -66,6 +66,10 @@ export const ElementPredicateOrWhere = "ElementPredicateOrWhere";
66
66
  export function isElementPredicateOrWhere(item) {
67
67
  return reflection.isInstance(item, ElementPredicateOrWhere);
68
68
  }
69
+ export const ElementPredicateOrWhereV2 = "ElementPredicateOrWhereV2";
70
+ export function isElementPredicateOrWhereV2(item) {
71
+ return reflection.isInstance(item, ElementPredicateOrWhereV2);
72
+ }
69
73
  export const ElementProperty = "ElementProperty";
70
74
  export function isElementProperty(item) {
71
75
  return reflection.isInstance(item, ElementProperty);
@@ -77,6 +81,10 @@ export const ExpressionV2 = "ExpressionV2";
77
81
  export function isExpressionV2(item) {
78
82
  return reflection.isInstance(item, ExpressionV2);
79
83
  }
84
+ export const ExtendElementProperty = "ExtendElementProperty";
85
+ export function isExtendElementProperty(item) {
86
+ return reflection.isInstance(item, ExtendElementProperty);
87
+ }
80
88
  export const FqnExpr = "FqnExpr";
81
89
  export function isFqnExpr(item) {
82
90
  return reflection.isInstance(item, FqnExpr);
@@ -89,7 +97,7 @@ export function isIconId(item) {
89
97
  return typeof item === "string" && /(aws|azure|gcp|tech):[-\w]*/.test(item);
90
98
  }
91
99
  export function isId(item) {
92
- return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || isParticipant(item) || item === "element" || item === "model" || item === "group" || item === "node" || item === "deployment" || item === "instance" || typeof item === "string" && /[_]*[a-zA-Z][-\w]*/.test(item);
100
+ return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || isParticipant(item) || isSizeValue(item) || item === "element" || item === "model" || item === "group" || item === "node" || item === "deployment" || item === "instance" || typeof item === "string" && /[_]*[a-zA-Z][-\w]*/.test(item);
93
101
  }
94
102
  export const LikeC4View = "LikeC4View";
95
103
  export function isLikeC4View(item) {
@@ -141,6 +149,13 @@ export const RelationshipStyleProperty = "RelationshipStyleProperty";
141
149
  export function isRelationshipStyleProperty(item) {
142
150
  return reflection.isInstance(item, RelationshipStyleProperty);
143
151
  }
152
+ export const SizeProperty = "SizeProperty";
153
+ export function isSizeProperty(item) {
154
+ return reflection.isInstance(item, SizeProperty);
155
+ }
156
+ export function isSizeValue(item) {
157
+ return item === "xs" || item === "sm" || item === "md" || item === "lg" || item === "xl" || item === "xsmall" || item === "small" || item === "medium" || item === "large" || item === "xlarge";
158
+ }
144
159
  export const StringProperty = "StringProperty";
145
160
  export function isStringProperty(item) {
146
161
  return reflection.isInstance(item, StringProperty);
@@ -345,6 +360,10 @@ export const ElementPredicateWhere = "ElementPredicateWhere";
345
360
  export function isElementPredicateWhere(item) {
346
361
  return reflection.isInstance(item, ElementPredicateWhere);
347
362
  }
363
+ export const ElementPredicateWhereV2 = "ElementPredicateWhereV2";
364
+ export function isElementPredicateWhereV2(item) {
365
+ return reflection.isInstance(item, ElementPredicateWhereV2);
366
+ }
348
367
  export const ElementPredicateWith = "ElementPredicateWith";
349
368
  export function isElementPredicateWith(item) {
350
369
  return reflection.isInstance(item, ElementPredicateWith);
@@ -393,10 +412,6 @@ export const ExtendElementBody = "ExtendElementBody";
393
412
  export function isExtendElementBody(item) {
394
413
  return reflection.isInstance(item, ExtendElementBody);
395
414
  }
396
- export const FqnElementRef = "FqnElementRef";
397
- export function isFqnElementRef(item) {
398
- return reflection.isInstance(item, FqnElementRef);
399
- }
400
415
  export const FqnExpressions = "FqnExpressions";
401
416
  export function isFqnExpressions(item) {
402
417
  return reflection.isInstance(item, FqnExpressions);
@@ -525,6 +540,10 @@ export const OutgoingRelationExpression = "OutgoingRelationExpression";
525
540
  export function isOutgoingRelationExpression(item) {
526
541
  return reflection.isInstance(item, OutgoingRelationExpression);
527
542
  }
543
+ export const PaddingSizeProperty = "PaddingSizeProperty";
544
+ export function isPaddingSizeProperty(item) {
545
+ return reflection.isInstance(item, PaddingSizeProperty);
546
+ }
528
547
  export const Predicates = "Predicates";
529
548
  export function isPredicates(item) {
530
549
  return reflection.isInstance(item, Predicates);
@@ -569,6 +588,10 @@ export const ShapeProperty = "ShapeProperty";
569
588
  export function isShapeProperty(item) {
570
589
  return reflection.isInstance(item, ShapeProperty);
571
590
  }
591
+ export const ShapeSizeProperty = "ShapeSizeProperty";
592
+ export function isShapeSizeProperty(item) {
593
+ return reflection.isInstance(item, ShapeSizeProperty);
594
+ }
572
595
  export const SpecificationColor = "SpecificationColor";
573
596
  export function isSpecificationColor(item) {
574
597
  return reflection.isInstance(item, SpecificationColor);
@@ -601,6 +624,10 @@ export const SpecificationTag = "SpecificationTag";
601
624
  export function isSpecificationTag(item) {
602
625
  return reflection.isInstance(item, SpecificationTag);
603
626
  }
627
+ export const StrictFqnElementRef = "StrictFqnElementRef";
628
+ export function isStrictFqnElementRef(item) {
629
+ return reflection.isInstance(item, StrictFqnElementRef);
630
+ }
604
631
  export const Tag = "Tag";
605
632
  export function isTag(item) {
606
633
  return reflection.isInstance(item, Tag);
@@ -609,6 +636,10 @@ export const Tags = "Tags";
609
636
  export function isTags(item) {
610
637
  return reflection.isInstance(item, Tags);
611
638
  }
639
+ export const TextSizeProperty = "TextSizeProperty";
640
+ export function isTextSizeProperty(item) {
641
+ return reflection.isInstance(item, TextSizeProperty);
642
+ }
612
643
  export const ViewRef = "ViewRef";
613
644
  export function isViewRef(item) {
614
645
  return reflection.isInstance(item, ViewRef);
@@ -679,7 +710,7 @@ export function isWildcardExpression(item) {
679
710
  }
680
711
  export class LikeC4AstReflection extends AbstractAstReflection {
681
712
  getAllTypes() {
682
- return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentNodeOrElementKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRulePredicateExpression, DeploymentViewRuleStyle, DirectedRelationExpr, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewPredicateIterator, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExpressionV2, ExtendElement, ExtendElementBody, FqnElementRef, FqnExpr, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, InOutRelationExpr, InOutRelationExpression, IncludePredicate, IncomingRelationExpr, IncomingRelationExpression, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelViews, MultipleProperty, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, OutgoingRelationExpression, Predicate, Predicates, Referenceable, Relation, RelationBody, RelationExpr, RelationExpression, RelationNavigateToProperty, RelationPredicate, RelationPredicateOrWhere, RelationPredicateOrWhereV2, RelationPredicateWhere, RelationPredicateWhereV2, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StringProperty, StyleProperty, Tag, Tags, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationParticipantKind, WhereRelationParticipantTag, WhereRelationTag, WhereTagEqual, WildcardExpression];
713
+ return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentNodeOrElementKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRulePredicateExpression, DeploymentViewRuleStyle, DirectedRelationExpr, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewPredicateIterator, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateOrWhereV2, ElementPredicateWhere, ElementPredicateWhereV2, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExpressionV2, ExtendElement, ExtendElementBody, ExtendElementProperty, FqnExpr, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, InOutRelationExpr, InOutRelationExpression, IncludePredicate, IncomingRelationExpr, IncomingRelationExpression, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelViews, MultipleProperty, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, OutgoingRelationExpression, PaddingSizeProperty, Predicate, Predicates, Referenceable, Relation, RelationBody, RelationExpr, RelationExpression, RelationNavigateToProperty, RelationPredicate, RelationPredicateOrWhere, RelationPredicateOrWhereV2, RelationPredicateWhere, RelationPredicateWhereV2, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, ShapeSizeProperty, SizeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StrictFqnElementRef, StringProperty, StyleProperty, Tag, Tags, TextSizeProperty, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationParticipantKind, WhereRelationParticipantTag, WhereRelationTag, WhereTagEqual, WildcardExpression];
683
714
  }
684
715
  computeIsSubtype(subtype, supertype) {
685
716
  switch (subtype) {
@@ -751,6 +782,14 @@ export class LikeC4AstReflection extends AbstractAstReflection {
751
782
  case ElementPredicateWith: {
752
783
  return this.isSubtype(ElementPredicate, supertype);
753
784
  }
785
+ case ElementPredicateOrWhereV2:
786
+ case RelationPredicateOrWhereV2: {
787
+ return this.isSubtype(ExpressionV2, supertype);
788
+ }
789
+ case ElementPredicateWhereV2:
790
+ case FqnExpr: {
791
+ return this.isSubtype(ElementPredicateOrWhereV2, supertype);
792
+ }
754
793
  case ElementStringProperty: {
755
794
  return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StringProperty, supertype);
756
795
  }
@@ -765,10 +804,6 @@ export class LikeC4AstReflection extends AbstractAstReflection {
765
804
  case Referenceable: {
766
805
  return this.isSubtype(FqnReferenceable, supertype);
767
806
  }
768
- case FqnExpr:
769
- case RelationPredicateOrWhereV2: {
770
- return this.isSubtype(ExpressionV2, supertype);
771
- }
772
807
  case FqnRefExpr: {
773
808
  return this.isSubtype(FqnExpr, supertype);
774
809
  }
@@ -776,7 +811,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
776
811
  return this.isSubtype(ElementProperty, supertype) || this.isSubtype(StyleProperty, supertype);
777
812
  }
778
813
  case LinkProperty: {
779
- return this.isSubtype(ElementProperty, supertype) || this.isSubtype(RelationProperty, supertype) || this.isSubtype(ViewProperty, supertype);
814
+ return this.isSubtype(ElementProperty, supertype) || this.isSubtype(ExtendElementProperty, supertype) || this.isSubtype(RelationProperty, supertype) || this.isSubtype(ViewProperty, supertype);
780
815
  }
781
816
  case MetadataAttribute:
782
817
  case NotationProperty:
@@ -789,7 +824,12 @@ export class LikeC4AstReflection extends AbstractAstReflection {
789
824
  return this.isSubtype(MetadataProperty, supertype);
790
825
  }
791
826
  case MetadataProperty: {
792
- return this.isSubtype(ElementProperty, supertype) || this.isSubtype(RelationProperty, supertype);
827
+ return this.isSubtype(ElementProperty, supertype) || this.isSubtype(ExtendElementProperty, supertype) || this.isSubtype(RelationProperty, supertype);
828
+ }
829
+ case PaddingSizeProperty:
830
+ case ShapeSizeProperty:
831
+ case TextSizeProperty: {
832
+ return this.isSubtype(SizeProperty, supertype) || this.isSubtype(StyleProperty, supertype);
793
833
  }
794
834
  case RelationExpr:
795
835
  case RelationPredicateWhereV2: {
@@ -889,12 +929,11 @@ export class LikeC4AstReflection extends AbstractAstReflection {
889
929
  return DynamicView;
890
930
  }
891
931
  case "Element:kind":
892
- case "ElementKindExpression:kind":
893
- case "WhereElementKind:value": {
932
+ case "ElementKindExpression:kind": {
894
933
  return ElementKind;
895
934
  }
896
935
  case "ElementRef:el":
897
- case "FqnElementRef:el": {
936
+ case "StrictFqnElementRef:el": {
898
937
  return Element;
899
938
  }
900
939
  case "ElementTagExpression:tag":
@@ -922,6 +961,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
922
961
  case "ViewRuleGlobalStyle:style": {
923
962
  return GlobalStyleId;
924
963
  }
964
+ case "WhereElementKind:value":
925
965
  case "WhereRelationParticipantKind:value": {
926
966
  return DeploymentNodeOrElementKind;
927
967
  }
@@ -1259,6 +1299,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1259
1299
  ]
1260
1300
  };
1261
1301
  }
1302
+ case ElementPredicateWhereV2: {
1303
+ return {
1304
+ name: ElementPredicateWhereV2,
1305
+ properties: [
1306
+ { name: "subject" },
1307
+ { name: "where" }
1308
+ ]
1309
+ };
1310
+ }
1262
1311
  case ElementPredicateWith: {
1263
1312
  return {
1264
1313
  name: ElementPredicateWith,
@@ -1362,16 +1411,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1362
1411
  return {
1363
1412
  name: ExtendElementBody,
1364
1413
  properties: [
1365
- { name: "elements", defaultValue: [] }
1366
- ]
1367
- };
1368
- }
1369
- case FqnElementRef: {
1370
- return {
1371
- name: FqnElementRef,
1372
- properties: [
1373
- { name: "el" },
1374
- { name: "parent" }
1414
+ { name: "elements", defaultValue: [] },
1415
+ { name: "props", defaultValue: [] },
1416
+ { name: "tags" }
1375
1417
  ]
1376
1418
  };
1377
1419
  }
@@ -1665,6 +1707,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1665
1707
  ]
1666
1708
  };
1667
1709
  }
1710
+ case PaddingSizeProperty: {
1711
+ return {
1712
+ name: PaddingSizeProperty,
1713
+ properties: [
1714
+ { name: "key" },
1715
+ { name: "value" }
1716
+ ]
1717
+ };
1718
+ }
1668
1719
  case Predicates: {
1669
1720
  return {
1670
1721
  name: Predicates,
@@ -1768,6 +1819,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1768
1819
  ]
1769
1820
  };
1770
1821
  }
1822
+ case ShapeSizeProperty: {
1823
+ return {
1824
+ name: ShapeSizeProperty,
1825
+ properties: [
1826
+ { name: "key" },
1827
+ { name: "value" }
1828
+ ]
1829
+ };
1830
+ }
1771
1831
  case SpecificationColor: {
1772
1832
  return {
1773
1833
  name: SpecificationColor,
@@ -1843,6 +1903,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1843
1903
  ]
1844
1904
  };
1845
1905
  }
1906
+ case StrictFqnElementRef: {
1907
+ return {
1908
+ name: StrictFqnElementRef,
1909
+ properties: [
1910
+ { name: "el" },
1911
+ { name: "parent" }
1912
+ ]
1913
+ };
1914
+ }
1846
1915
  case Tag: {
1847
1916
  return {
1848
1917
  name: Tag,
@@ -1860,6 +1929,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
1860
1929
  ]
1861
1930
  };
1862
1931
  }
1932
+ case TextSizeProperty: {
1933
+ return {
1934
+ name: TextSizeProperty,
1935
+ properties: [
1936
+ { name: "key" },
1937
+ { name: "value" }
1938
+ ]
1939
+ };
1940
+ }
1863
1941
  case ViewRef: {
1864
1942
  return {
1865
1943
  name: ViewRef,