@likec4/core 1.45.0 → 1.46.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 (61) hide show
  1. package/dist/builder/index.d.mts +8 -7
  2. package/dist/builder/index.mjs +6 -5
  3. package/dist/compute-view/index.d.mts +8 -7
  4. package/dist/compute-view/index.mjs +5 -5
  5. package/dist/compute-view/relationships-view/index.d.mts +8 -7
  6. package/dist/geometry/index.d.mts +109 -0
  7. package/dist/geometry/index.mjs +328 -0
  8. package/dist/index.d.mts +10 -8
  9. package/dist/index.mjs +9 -8
  10. package/dist/model/connection/deployment/index.d.mts +10 -9
  11. package/dist/model/connection/deployment/index.mjs +1 -1
  12. package/dist/model/connection/index.d.mts +11 -10
  13. package/dist/model/connection/index.mjs +1 -1
  14. package/dist/model/connection/model/index.d.mts +10 -9
  15. package/dist/model/index.d.mts +12 -11
  16. package/dist/model/index.mjs +2 -2
  17. package/dist/shared/{core.DnCLhN8C.d.mts → core.5gPDaaG5.d.mts} +5 -4
  18. package/dist/shared/{core.0zAQeenX.d.mts → core.9U0HL3oG.d.mts} +2 -2
  19. package/dist/shared/{core.M9ayqQZa.mjs → core.BK-tI3Q3.mjs} +2 -3
  20. package/dist/shared/{core.CpURdWRM.d.mts → core.BLG-ADpi.d.mts} +7 -6
  21. package/dist/shared/core.BPGOjone.d.mts +46 -0
  22. package/dist/shared/{core.DIE3F6sw.mjs → core.BYdtmqY5.mjs} +1 -2
  23. package/dist/shared/{core.B73yxfPi.d.mts → core.BkSYCfRg.d.mts} +1 -1
  24. package/dist/shared/{core.5ZQ-r3Oa.d.mts → core.BqtAzeAh.d.mts} +1 -1
  25. package/dist/shared/{core.DEieYfbG.mjs → core.BspBF3SJ.mjs} +22 -70
  26. package/dist/shared/{core.Cog93roC.d.mts → core.Byj60hH6.d.mts} +3 -3
  27. package/dist/shared/{core.CR3PmPzr.mjs → core.CBLX4mT8.mjs} +3811 -15032
  28. package/dist/shared/{core.DX-WYEPA.d.mts → core.CDdf8izT.d.mts} +4 -2
  29. package/dist/shared/core.CLSZtnFh.mjs +69 -0
  30. package/dist/shared/{core.t3qfsVvn.d.mts → core.CQYL_Z-_.d.mts} +3 -3
  31. package/dist/shared/{core.DrUt0Lbi.mjs → core.CmGY9blO.mjs} +198 -291
  32. package/dist/shared/{core.C_Ni6yHl.mjs → core.D0WZutNd.mjs} +3 -1
  33. package/dist/shared/{core.BGFjN3nv.d.mts → core.D4Y4U8Lp.d.mts} +3 -3
  34. package/dist/shared/{core.mUnpvHtA.d.mts → core.DE-g9oFF.d.mts} +19 -49
  35. package/dist/shared/{core.CWwSgOzF.mjs → core.DJpiszim.mjs} +48 -16
  36. package/dist/shared/{core.CRI1AjFj.mjs → core.DU8pv3Q6.mjs} +21 -19
  37. package/dist/shared/{core.D_f4F48-.mjs → core.DbQpDoJS.mjs} +2 -2
  38. package/dist/shared/{core.vzLtp8i3.mjs → core.Qv7vZIwZ.mjs} +1 -1
  39. package/dist/shared/{core.BuQZczj6.mjs → core.om36dXXW.mjs} +5 -2
  40. package/dist/shared/{core.Dvh1H0T2.d.mts → core.or6-EHsb.d.mts} +2 -2
  41. package/dist/shared/{core.DViDmiAu.mjs → core.xeuDd__E.mjs} +1 -2
  42. package/dist/styles/index.d.mts +7 -6
  43. package/dist/styles/index.mjs +1 -1
  44. package/dist/types/_aux.d.mts +2 -2
  45. package/dist/types/expression-model.d.mts +3 -3
  46. package/dist/types/expression.d.mts +3 -3
  47. package/dist/types/fqnRef.d.mts +2 -2
  48. package/dist/types/fqnRef.mjs +1 -1
  49. package/dist/types/index.d.mts +11 -9
  50. package/dist/types/index.mjs +6 -180
  51. package/dist/types/scalar.d.mts +1 -1
  52. package/dist/types/scalar.mjs +1 -1
  53. package/dist/utils/graphology/index.mjs +1 -1
  54. package/dist/utils/index.d.mts +3 -3
  55. package/dist/utils/index.mjs +5 -5
  56. package/dist/utils/iterable/index.d.mts +17 -1
  57. package/dist/utils/iterable/index.mjs +17 -1
  58. package/geometry/package.json +4 -0
  59. package/package.json +19 -11
  60. package/dist/shared/core.BR4zXDH-.mjs +0 -13
  61. package/dist/shared/core.BdPcbSkN.mjs +0 -118
@@ -1,55 +1,11 @@
1
1
  import { Tagged, NonEmptyTuple, IsNever, PartialDeep, WritableDeep, Except } from 'type-fest';
2
- import { h as ElementShape, C as Color, B as BorderStyle, e as ShapeSize, S as SpacingSize, d as TextSize, f as RelationshipLineType, g as RelationshipArrowType, T as ThemeColor, G as ColorLiteral, Q as CustomColorDefinitions, a as LikeC4Theme, b as LikeC4StyleDefaults } from './core.0zAQeenX.mjs';
3
- import { A as Any, s as WithOptionalTags, u as WithOptionalLinks, S as StrictViewId, m as _stage, n as _type, F as Fqn, R as RelationKind, W as WithDescriptionAndTech, v as WithMetadata, w as WithNotation, E as ElementKind, T as Tag, y as DeploymentKind, C as MetadataKey, G as WithTags, x as DeploymentFqn } from './core.B73yxfPi.mjs';
2
+ import { h as ElementShape, C as Color, B as BorderStyle, e as ShapeSize, S as SpacingSize, d as TextSize, f as RelationshipLineType, g as RelationshipArrowType, T as ThemeColor, G as ColorLiteral, Q as CustomColorDefinitions, a as LikeC4Theme, b as LikeC4StyleDefaults } from './core.9U0HL3oG.mjs';
3
+ import { A as Any, s as WithOptionalTags, u as WithOptionalLinks, S as StrictViewId, m as _stage, n as _type, F as Fqn, R as RelationKind, W as WithDescriptionAndTech, v as WithMetadata, w as WithNotation, E as ElementKind, T as Tag, y as DeploymentKind, C as MetadataKey, G as WithTags, x as DeploymentFqn } from './core.BkSYCfRg.mjs';
4
4
  import { N as NonEmptyArray, E as ExclusiveUnion, a as NonEmptyReadonlyArray, L as Link } from './core.DB0Ue5Wx.mjs';
5
- import { M as MarkdownOrString, I as Icon, d as RelationId, T as Tag$1, P as ProjectId, N as NodeId, j as EdgeId, m as StepEdgeKind } from './core.DX-WYEPA.mjs';
5
+ import { M as MarkdownOrString, I as Icon, d as RelationId, T as Tag$1, P as ProjectId, j as NodeId, k as EdgeId, n as StepEdgeKind } from './core.CDdf8izT.mjs';
6
6
  import { FqnRef } from '../types/fqnRef.mjs';
7
7
  import { ModelExpression, ModelFqnExpr } from '../types/expression-model.mjs';
8
-
9
- type Point = readonly [x: number, y: number];
10
- interface XYPoint {
11
- x: number;
12
- y: number;
13
- }
14
- interface BBox {
15
- x: number;
16
- y: number;
17
- width: number;
18
- height: number;
19
- }
20
- declare namespace BBox {
21
- function center({ x, y, width, height }: BBox): XYPoint;
22
- /**
23
- * Returns the four corner points of the box in clockwise order starting from top-left
24
- */
25
- function toPoints({ x, y, width, height }: BBox): [XYPoint, XYPoint, XYPoint, XYPoint];
26
- function fromPoints(points: Point[]): BBox;
27
- function merge(...boxes: BBox[]): BBox;
28
- function fromRectBox(rect: RectBox): BBox;
29
- function toRectBox(box: BBox): RectBox;
30
- function expand(box: BBox, plus: number): BBox;
31
- function shrink(box: BBox, minus: number): BBox;
32
- /**
33
- * Returns true if `a` includes `b` (i.e. `b` is inside `a`)
34
- */
35
- function includes(a: BBox, b: BBox): boolean;
36
- }
37
- interface RectBox {
38
- x1: number;
39
- y1: number;
40
- x2: number;
41
- y2: number;
42
- }
43
- declare namespace RectBox {
44
- function center({ x1, y1, x2, y2 }: RectBox): XYPoint;
45
- function fromPoints(points: Point[]): RectBox;
46
- function merge(...boxes: RectBox[]): RectBox;
47
- function toBBox(box: RectBox): BBox;
48
- /**
49
- * Returns true if `a` includes `b` (i.e. `b` is inside `a`)
50
- */
51
- function includes(a: RectBox, b: RectBox): boolean;
52
- }
8
+ import { P as Point, X as XYPoint, B as BBox } from './core.BPGOjone.mjs';
53
9
 
54
10
  interface AnyIncludePredicate<Expr> {
55
11
  include: Expr[];
@@ -82,6 +38,11 @@ interface ViewRuleGlobalPredicateRef {
82
38
  predicateId: GlobalPredicateId;
83
39
  }
84
40
  declare function isViewRuleGlobalPredicateRef(rule: object): rule is ViewRuleGlobalPredicateRef;
41
+ type RankValue = 'max' | 'min' | 'same' | 'sink' | 'source';
42
+ interface ViewRuleRank<Expr> {
43
+ targets: Expr[];
44
+ rank: RankValue;
45
+ }
85
46
  type AutoLayoutDirection = 'TB' | 'BT' | 'LR' | 'RL';
86
47
  declare function isAutoLayoutDirection(autoLayout: unknown): autoLayout is AutoLayoutDirection;
87
48
  interface ViewRuleAutoLayout {
@@ -185,6 +146,9 @@ interface ElementViewRuleGroup<A extends Any = Any> {
185
146
  declare function isViewRuleGroup<A extends Any>(rule: ElementViewRule<A>): rule is ElementViewRuleGroup<A>;
186
147
  interface ElementViewRuleStyle<A extends Any = Any> extends AnyViewRuleStyle<ModelFqnExpr<A>> {
187
148
  }
149
+ interface ElementViewRuleRank<A extends Any = Any> extends ViewRuleRank<ModelFqnExpr<A>> {
150
+ }
151
+ declare function isViewRuleRank<A extends Any>(rule: ElementViewRule<A>): rule is ElementViewRuleRank<A>;
188
152
  type ElementViewRule<A extends Any = Any> = ExclusiveUnion<{
189
153
  IncludePredicate: ElementViewIncludePredicate<A>;
190
154
  ExcludePredicate: ElementViewExcludePredicate<A>;
@@ -193,6 +157,7 @@ type ElementViewRule<A extends Any = Any> = ExclusiveUnion<{
193
157
  GlobalStyle: ViewRuleGlobalStyle;
194
158
  GlobalPredicateRef: ViewRuleGlobalPredicateRef;
195
159
  AutoLayout: ViewRuleAutoLayout;
160
+ Rank: ElementViewRuleRank<A>;
196
161
  }>;
197
162
  interface ParsedElementView<A extends Any = Any> extends BaseParsedViewProperties<A> {
198
163
  [_type]: 'element';
@@ -498,6 +463,10 @@ interface ComputedEdge<A extends Any = Any> extends WithOptionalTags<A> {
498
463
  */
499
464
  dir?: 'forward' | 'back' | 'both';
500
465
  }
466
+ interface ComputedRankConstraint {
467
+ type: RankValue;
468
+ nodes: NodeId[];
469
+ }
501
470
  interface BaseComputedViewProperties<A extends Any> extends BaseViewProperties<A>, ViewWithHash, ViewWithNotation {
502
471
  readonly [_stage]: 'computed';
503
472
  readonly autoLayout: ViewAutoLayout;
@@ -517,6 +486,7 @@ interface ComputedElementView<A extends Any = Any> extends BaseComputedViewPrope
517
486
  readonly [_type]: 'element';
518
487
  readonly viewOf?: Fqn<A>;
519
488
  readonly extends?: StrictViewId<A>;
489
+ readonly ranks?: ComputedRankConstraint[];
520
490
  }
521
491
  interface ComputedDeploymentView<A extends Any = Any> extends BaseComputedViewProperties<A> {
522
492
  readonly [_type]: 'deployment';
@@ -531,4 +501,4 @@ interface ComputedDynamicView<A extends Any = Any> extends BaseComputedViewPrope
531
501
  readonly variant: DynamicViewDisplayVariant;
532
502
  }
533
503
 
534
- export { type DynamicStepsParallel as $, type AbstractRelationship as A, BBox as B, type ComputedNodeStyle as C, type ViewManualLayout as D, type ElementStyle as E, type ViewType as F, type GlobalPredicateId as G, type BaseViewProperties as H, type BaseParsedViewProperties as I, type ViewWithNotation as J, type ViewWithHash as K, type LikeC4ProjectStylesConfig as L, type ModelGlobals as M, type NodeNotation as N, type ComputedNode as O, type Point as P, type ComputedEdge as Q, RectBox as R, type Specification as S, type TagSpecification as T, type ComputedElementView as U, type ViewRuleGlobalStyle as V, type ComputedDeploymentView as W, type XYPoint as X, type ComputedDynamicView as Y, type DynamicStep as Z, type DynamicStepsSeries as _, type GlobalPredicates as a, getParallelStepsPrefix as a0, type DynamicViewStep as a1, isDynamicStep as a2, isDynamicStepsParallel as a3, isDynamicStepsSeries as a4, type DynamicViewIncludeRule as a5, type DynamicViewRule as a6, type DynamicViewDisplayVariant as a7, type ParsedDynamicView as a8, type ElementViewIncludePredicate as a9, type ElementViewExcludePredicate as aa, type ElementViewPredicate as ab, type ElementViewRuleGroup as ac, isViewRuleGroup as ad, type ElementViewRuleStyle as ae, type ElementViewRule as af, type ParsedElementView as ag, type GlobalDynamicPredicates as b, type GlobalStyleID as c, type GlobalStyles as d, ensureSizes as e, type Element as f, type Relationship as g, type ModelRelation as h, type ElementSpecification as i, isTagColorSpecified as j, type RelationshipSpecification as k, type LikeC4ProjectTheme as l, type LikeC4ProjectStyleDefaults as m, type LikeC4ProjectManualLayoutsConfig as n, type LikeC4Project as o, type AnyIncludePredicate as p, type AnyExcludePredicate as q, type AnyViewRuleStyle as r, isViewRuleGlobalStyle as s, type ViewRuleGlobalPredicateRef as t, isViewRuleGlobalPredicateRef as u, type AutoLayoutDirection as v, isAutoLayoutDirection as w, type ViewRuleAutoLayout as x, isViewRuleAutoLayout as y, type ViewAutoLayout as z };
504
+ export { getParallelStepsPrefix as $, type AbstractRelationship as A, type ViewAutoLayout as B, type ComputedNodeStyle as C, type ViewManualLayout as D, type ElementStyle as E, type ViewType as F, type GlobalPredicateId as G, type BaseViewProperties as H, type BaseParsedViewProperties as I, type ViewWithNotation as J, type ViewWithHash as K, type LikeC4ProjectStylesConfig as L, type ModelGlobals as M, type NodeNotation as N, type ComputedNode as O, type ComputedEdge as P, type ComputedRankConstraint as Q, type Relationship as R, type Specification as S, type TagSpecification as T, type ComputedElementView as U, type ViewRuleGlobalStyle as V, type ComputedDeploymentView as W, type ComputedDynamicView as X, type DynamicStep as Y, type DynamicStepsSeries as Z, type DynamicStepsParallel as _, type GlobalPredicates as a, type DynamicViewStep as a0, isDynamicStep as a1, isDynamicStepsParallel as a2, isDynamicStepsSeries as a3, type DynamicViewIncludeRule as a4, type DynamicViewRule as a5, type DynamicViewDisplayVariant as a6, type ParsedDynamicView as a7, type ElementViewIncludePredicate as a8, type ElementViewExcludePredicate as a9, type ElementViewPredicate as aa, type ElementViewRuleGroup as ab, isViewRuleGroup as ac, type ElementViewRuleStyle as ad, type ElementViewRuleRank as ae, isViewRuleRank as af, type ElementViewRule as ag, type ParsedElementView as ah, type GlobalDynamicPredicates as b, type GlobalStyleID as c, type GlobalStyles as d, ensureSizes as e, type Element as f, type ModelRelation as g, type ElementSpecification as h, isTagColorSpecified as i, type RelationshipSpecification as j, type LikeC4ProjectTheme as k, type LikeC4ProjectStyleDefaults as l, type LikeC4ProjectManualLayoutsConfig as m, type LikeC4Project as n, type AnyIncludePredicate as o, type AnyExcludePredicate as p, type AnyViewRuleStyle as q, isViewRuleGlobalStyle as r, type ViewRuleGlobalPredicateRef as s, isViewRuleGlobalPredicateRef as t, type RankValue as u, type ViewRuleRank as v, type AutoLayoutDirection as w, isAutoLayoutDirection as x, type ViewRuleAutoLayout as y, isViewRuleAutoLayout as z };
@@ -1,28 +1,28 @@
1
- import { n as n$d, b as t$i, d as t$k, e as t$l, f as t$n, g as buildElementNotations, t as t$q } from './core.vzLtp8i3.mjs';
1
+ import { n as n$d, b as t$i, d as t$k, e as t$l, f as t$n, g as buildElementNotations, t as t$q } from './core.Qv7vZIwZ.mjs';
2
2
  import { t as t$a, a as t$b } from './core.BsSXS-_R.mjs';
3
3
  import { t as t$e } from './core.CbT8JVYL.mjs';
4
- import { a as t$c, t as t$j, i as isElementModel, b as isNestedElementOfDeployedInstanceModel, c as isDeployedInstanceModel, d as isDeploymentNodeModel, e as isDeploymentElementModel, L as LikeC4Model } from './core.CRI1AjFj.mjs';
5
- import { c as commonHead, t as t$f, o as objectHash, b as t$m, a as compareRelations, S as Stack } from './core.DViDmiAu.mjs';
4
+ import { a as t$c, t as t$j, i as isElementModel, b as isNestedElementOfDeployedInstanceModel, c as isDeployedInstanceModel, d as isDeploymentNodeModel, e as isDeploymentElementModel, L as LikeC4Model } from './core.DU8pv3Q6.mjs';
5
+ import { c as commonHead, t as t$f, o as objectHash, b as t$m, a as compareRelations, S as Stack } from './core.xeuDd__E.mjs';
6
6
  import { a as nonNullable, i as invariant, n as nonexhaustive } from './core.D4npX2q8.mjs';
7
- import { G as Graph } from './core.DrUt0Lbi.mjs';
8
- import { r as requireIterables, e as exact, t as t$o } from './core.M9ayqQZa.mjs';
9
- import { r as requireIterator } from './core.BdPcbSkN.mjs';
7
+ import { G as Graph } from './core.CmGY9blO.mjs';
8
+ import { r as requireIterables, e as exact, t as t$o } from './core.BK-tI3Q3.mjs';
9
+ import { b as requireIterator } from './core.CBLX4mT8.mjs';
10
10
  import { g as getDefaultExportFromCjs } from './core.B85MJLTf.mjs';
11
11
  import { n as n$c, t as t$d } from './core.3ZhnKAlZ.mjs';
12
12
  import { e as e$4 } from './core.BKlholso.mjs';
13
- import { f as flattenMarkdownOrString, i as isGroupElementKind, G as GroupElementKind, d as stepEdgeId } from './core.C_Ni6yHl.mjs';
13
+ import { f as flattenMarkdownOrString, i as isGroupElementKind, G as GroupElementKind, e as stepEdgeId } from './core.D0WZutNd.mjs';
14
14
  import { b as isDescendantOf, f as sortParentsFirst, i as isAncestor, p as parentFqn, j as compareByFqnHierarchically, c as isNonEmptyArray, n as nameFromFqn, o as sortByFqnHierarchically, g as commonAncestor, a as ancestorsFqn, d as isSameHierarchy } from './core.CdNCAwq7.mjs';
15
15
  import { d as difference, i as intersection, u as union, h as hasIntersection } from './core.DbfO90vF.mjs';
16
16
  import { e as e$8 } from './core.Coi_LOUZ.mjs';
17
- import { n as n$e } from './core.BhNcrwzK.mjs';
18
17
  import { w as whereOperatorAsPredicate, m as isViewRuleStyle, v as t$g, l as isViewRulePredicate, a as _type, _ as _stage, u as e$b, t as isDynamicView, s as isDeploymentView, p as isElementView } from './core.DH7TXqXf.mjs';
18
+ import { n as n$e } from './core.BhNcrwzK.mjs';
19
19
  import { e as e$6, a as iunique, i as iflat } from './core.C4x8aaWa.mjs';
20
- import { e as e$5, d as deploymentConnection, R as RelationshipsAccum, D as DeploymentConnectionModel } from './core.D_f4F48-.mjs';
20
+ import { e as e$5, d as deploymentConnection, R as RelationshipsAccum, D as DeploymentConnectionModel } from './core.DbQpDoJS.mjs';
21
21
  import { e as e$7 } from './core.BoYfZOBm.mjs';
22
22
  import { ModelFqnExpr, ModelRelationExpr, ModelExpression } from '../types/expression-model.mjs';
23
23
  import { FqnRef } from '../types/fqnRef.mjs';
24
24
  import { preferSummary } from '../types/_aux.mjs';
25
- import { a as t$h } from './core.DEieYfbG.mjs';
25
+ import { a as t$h } from './core.BspBF3SJ.mjs';
26
26
  import { FqnExpr, RelationExpr } from '../types/expression.mjs';
27
27
  import { f as findAscendingConnections, m as mergeConnections, d as differenceConnections, j as isNestedConnection, s as sortConnectionsByBoundaryHierarchy, o as findConnectionsBetween$3, p as findConnection$3, n as modelConnection, b as findDescendantConnections, a as findDeepestNestedConnection, i as isAnyInOut, k as isOutgoing, g as isIncoming, C as ConnectionModel } from './core.CQPEY2wQ.mjs';
28
28
  import { t as toSet, a as toArray, i as imap } from './core.C3JowhaZ.mjs';
@@ -31,7 +31,7 @@ import { i as ifilter } from './core.DRJma0Ol.mjs';
31
31
  import { C as Connection, c as customInspectSymbol } from './core.DqlrMlsf.mjs';
32
32
  import { i as isome } from './core.FZ305VYd.mjs';
33
33
  import { i as isIterable, e as e$9 } from './core.RfnaEmgA.mjs';
34
- import { j as e$a, c as isViewRuleAutoLayout, h as isViewRuleGroup, a as isViewRuleGlobalPredicateRef, i as isViewRuleGlobalStyle, e as isDynamicStepsParallel, f as isDynamicStepsSeries } from './core.BuQZczj6.mjs';
34
+ import { k as e$a, c as isViewRuleAutoLayout, h as isViewRuleGroup, a as isViewRuleGlobalPredicateRef, i as isViewRuleGlobalStyle, e as isDynamicStepsParallel, f as isDynamicStepsSeries, j as isViewRuleRank } from './core.om36dXXW.mjs';
35
35
  import { t as t$p } from './core.q10OP9oJ.mjs';
36
36
 
37
37
  function e$3(e){return ()=>e}
@@ -1353,13 +1353,13 @@ function elementExprToPredicate(target) {
1353
1353
  nonexhaustive(target);
1354
1354
  }
1355
1355
 
1356
- function applyViewRuleStyle(rule, predicates, nodes) {
1356
+ function applyViewRuleStyle(rule, predicate, nodes) {
1357
1357
  const { shape, color, icon, ...rest } = rule.style;
1358
1358
  const nonEmptyStyle = !e$5(rest);
1359
1359
  t$d(
1360
1360
  nodes,
1361
1361
  n$d(e$7(isGroupElementKind)),
1362
- n$d(t$g(predicates)),
1362
+ n$d(predicate),
1363
1363
  t$7((n) => {
1364
1364
  n.shape = shape ?? n.shape;
1365
1365
  n.color = color ?? n.color;
@@ -1384,7 +1384,11 @@ function applyViewRuleStyles(rules, nodes) {
1384
1384
  continue;
1385
1385
  }
1386
1386
  const predicates = rule.targets.map(elementExprToPredicate);
1387
- applyViewRuleStyle(rule, predicates, nodes);
1387
+ applyViewRuleStyle(
1388
+ rule,
1389
+ t$g(predicates),
1390
+ nodes
1391
+ );
1388
1392
  }
1389
1393
  return nodes;
1390
1394
  }
@@ -1830,7 +1834,11 @@ function applyDeploymentViewRuleStyles(rules, nodes) {
1830
1834
  continue;
1831
1835
  }
1832
1836
  const predicates = rule.targets.map(deploymentExpressionToPredicate);
1833
- applyViewRuleStyle(rule, predicates, nodes);
1837
+ applyViewRuleStyle(
1838
+ rule,
1839
+ t$g(predicates),
1840
+ nodes
1841
+ );
1834
1842
  }
1835
1843
  return nodes;
1836
1844
  }
@@ -4824,6 +4832,7 @@ function computeElementView(likec4model, {
4824
4832
  );
4825
4833
  const autoLayoutRule = t$8(rules, isViewRuleAutoLayout);
4826
4834
  const nodeNotations = buildElementNotations(nodes);
4835
+ const ranks = collectRankConstraints(rules, nodes);
4827
4836
  return calcViewLayoutHash({
4828
4837
  ...view,
4829
4838
  _stage: "computed",
@@ -4843,9 +4852,32 @@ function computeElementView(likec4model, {
4843
4852
  notation: {
4844
4853
  nodes: nodeNotations
4845
4854
  }
4846
- }
4855
+ },
4856
+ ...ranks.length > 0 && { ranks }
4847
4857
  });
4848
4858
  }
4859
+ function collectRankConstraints(rules, nodes) {
4860
+ const constraints = [];
4861
+ for (const rule of rules) {
4862
+ if (!isViewRuleRank(rule) || rule.targets.length === 0) {
4863
+ continue;
4864
+ }
4865
+ const isTargeted = t$g(rule.targets.map(elementExprToPredicate));
4866
+ const nodesInRank = t$d(
4867
+ nodes,
4868
+ n$d(isTargeted),
4869
+ t$e((n) => n.id)
4870
+ );
4871
+ if (!t$b(nodesInRank, 1)) {
4872
+ continue;
4873
+ }
4874
+ constraints.push({
4875
+ type: rule.rank,
4876
+ nodes: nodesInRank
4877
+ });
4878
+ }
4879
+ return constraints;
4880
+ }
4849
4881
  function assignElementsToGroups(memory) {
4850
4882
  if (memory.groups.length === 0) {
4851
4883
  return memory;
@@ -1,19 +1,19 @@
1
- import { t as t$3, e as e$2, a as DeploymentNodeModel, b as DeployedInstanceModel, c as DeploymentRelationModel, N as NestedElementOfDeployedInstanceModel } from './core.D_f4F48-.mjs';
2
- import { e as e$1 } from './core.BKlholso.mjs';
1
+ import { t as t$3, e as e$3, a as DeploymentNodeModel, b as DeployedInstanceModel, c as DeploymentRelationModel, N as NestedElementOfDeployedInstanceModel } from './core.DbQpDoJS.mjs';
2
+ import { e as e$2 } from './core.BKlholso.mjs';
3
3
  import { n as n$1 } from './core.BhNcrwzK.mjs';
4
- import { c as splitGlobalFqn, g as extractStep, e as isStepEdgeId, i as isGroupElementKind, b as isGlobalFqn, a as GlobalFqn } from './core.C_Ni6yHl.mjs';
4
+ import { c as splitGlobalFqn, h as extractStep, g as isStepEdgeId, i as isGroupElementKind, b as isGlobalFqn, a as GlobalFqn } from './core.D0WZutNd.mjs';
5
5
  import { m as hierarchyLevel, n as nameFromFqn, i as isAncestor, g as commonAncestor, s as sortNaturalByFqn, f as sortParentsFirst, p as parentFqn, a as ancestorsFqn } from './core.CdNCAwq7.mjs';
6
- import { m as memoizeProp } from './core.BR4zXDH-.mjs';
7
- import { R as RichText, e as exact } from './core.M9ayqQZa.mjs';
6
+ import { m as memoizeProp } from './core.CLSZtnFh.mjs';
7
+ import { R as RichText, e as exact } from './core.BK-tI3Q3.mjs';
8
8
  import { preferSummary, preferDescription } from '../types/_aux.mjs';
9
9
  import { i as ihead } from './core.uFk_o9X6.mjs';
10
10
  import { t as t$6, b as compareNaturalHierarchically, c as compareNatural } from './core.3ZhnKAlZ.mjs';
11
11
  import { t as t$2, a as t$4 } from './core.BsSXS-_R.mjs';
12
- import { t as t$5, e as e$3 } from './core.Coi_LOUZ.mjs';
12
+ import { t as t$5, e as e$4 } from './core.Coi_LOUZ.mjs';
13
13
  import { t as t$8 } from './core.CbT8JVYL.mjs';
14
14
  import { t as t$7 } from './core.BkVA6gjl.mjs';
15
- import { c as calcDriftsFromSnapshot, a as applyManualLayout, h as t$9 } from './core.vzLtp8i3.mjs';
16
- import { L as LikeC4Styles } from './core.DEieYfbG.mjs';
15
+ import { c as calcDriftsFromSnapshot, a as applyManualLayout, h as t$9 } from './core.Qv7vZIwZ.mjs';
16
+ import { L as LikeC4Styles } from './core.BspBF3SJ.mjs';
17
17
  import { g as getOrCreate } from './core.DcS-0zys.mjs';
18
18
  import { D as DefaultMap } from './core.BbE4y-yl.mjs';
19
19
  import { i as invariant, a as nonNullable } from './core.D4npX2q8.mjs';
@@ -24,6 +24,8 @@ import { i as ifilter } from './core.DRJma0Ol.mjs';
24
24
  import './core.DqlrMlsf.mjs';
25
25
  import './core.CQPEY2wQ.mjs';
26
26
 
27
+ function e$1(e){if(e==null||e===``)return true;if(typeof e!=`object`)return false;if(`length`in e&&typeof e.length==`number`)return e.length===0;if(`size`in e&&typeof e.size==`number`)return e.size===0;for(let t in e)return false;return Object.getOwnPropertySymbols(e).length===0}
28
+
27
29
  function t$1(...t){return t$2(n,t)}const n=e=>e.at(-1);
28
30
 
29
31
  function e(e,t,n){return typeof t==`number`||t===void 0?n=>n.split(e,t):e.split(t,n)}
@@ -262,13 +264,13 @@ class ElementModel {
262
264
  * @returns true if the element is deployed
263
265
  */
264
266
  isDeployed() {
265
- return e$1(ihead(this.deployments()));
267
+ return e$2(ihead(this.deployments()));
266
268
  }
267
269
  deployments() {
268
270
  return this.$model.deployment.instancesOf(this);
269
271
  }
270
272
  hasMetadata() {
271
- return !!this.$element.metadata && !e$2(this.$element.metadata);
273
+ return !!this.$element.metadata && !e$3(this.$element.metadata);
272
274
  }
273
275
  getMetadata(field) {
274
276
  if (field) {
@@ -647,13 +649,13 @@ class RelationshipModel {
647
649
  return `${this.source.id} -> ${this.target.id}`;
648
650
  }
649
651
  get title() {
650
- if (!e$1(this.$relationship.title)) {
652
+ if (!e$2(this.$relationship.title)) {
651
653
  return null;
652
654
  }
653
655
  return this.$relationship.title;
654
656
  }
655
657
  get technology() {
656
- if (!e$1(this.$relationship.technology)) {
658
+ if (!e$2(this.$relationship.technology)) {
657
659
  return null;
658
660
  }
659
661
  return this.$relationship.technology;
@@ -721,7 +723,7 @@ class RelationshipModel {
721
723
  return true;
722
724
  }
723
725
  hasMetadata() {
724
- return !!this.$relationship.metadata && !e$2(this.$relationship.metadata);
726
+ return !!this.$relationship.metadata && !e$3(this.$relationship.metadata);
725
727
  }
726
728
  getMetadata(field) {
727
729
  if (field) {
@@ -967,13 +969,13 @@ class NodeModel {
967
969
  * Check if this node references to logical model element.
968
970
  */
969
971
  hasElement() {
970
- return e$1(this.$node.modelRef);
972
+ return e$2(this.$node.modelRef);
971
973
  }
972
974
  /**
973
975
  * Check if this node references to deployment element (Node or Instance).
974
976
  */
975
977
  hasDeployment() {
976
- return e$1(this.$node.deploymentRef);
978
+ return e$2(this.$node.deploymentRef);
977
979
  }
978
980
  /**
979
981
  * Check if this node references to deployed instance
@@ -1331,7 +1333,7 @@ class LikeC4ViewModel {
1331
1333
  return this.#view[_type] === "element";
1332
1334
  }
1333
1335
  isScopedElementView() {
1334
- return this.#view[_type] === "element" && e$1(this.#view.viewOf);
1336
+ return this.#view[_type] === "element" && e$2(this.#view.viewOf);
1335
1337
  }
1336
1338
  isDeploymentView() {
1337
1339
  return this.#view[_type] === "deployment";
@@ -1428,7 +1430,7 @@ class LikeC4ViewsFolder {
1428
1430
  */
1429
1431
  get parent() {
1430
1432
  invariant(!this.isRoot, "Root view folder has no parent");
1431
- if (e$2(this.parentPath)) {
1433
+ if (e$1(this.parentPath)) {
1432
1434
  return null;
1433
1435
  }
1434
1436
  return this.$model.viewFolder(this.parentPath);
@@ -1601,7 +1603,7 @@ class LikeC4Model {
1601
1603
  }
1602
1604
  e(folderPath, VIEW_FOLDERS_SEPARATOR).reduce((segments, segment) => {
1603
1605
  const parent = segments.join(VIEW_FOLDERS_SEPARATOR);
1604
- const path = e$2(parent) ? segment : parent + VIEW_FOLDERS_SEPARATOR + segment;
1606
+ const path = e$3(parent) ? segment : parent + VIEW_FOLDERS_SEPARATOR + segment;
1605
1607
  const folder = getOrCreateFolder(path);
1606
1608
  this._viewFolderItems.get(parent).add(folder);
1607
1609
  segments.push(segment);
@@ -1978,7 +1980,7 @@ class LikeC4Model {
1978
1980
  })),
1979
1981
  t$7((a, b) => compareNatural(a.tag, b.tag)),
1980
1982
  t$9(
1981
- [e$3("count"), "desc"]
1983
+ [e$4("count"), "desc"]
1982
1984
  )
1983
1985
  ));
1984
1986
  }
@@ -5,8 +5,8 @@ import { e as e$1 } from './core.BKlholso.mjs';
5
5
  import { n as n$1 } from './core.BhNcrwzK.mjs';
6
6
  import { m as hierarchyLevel, g as commonAncestor, n as nameFromFqn, d as isSameHierarchy } from './core.CdNCAwq7.mjs';
7
7
  import { a as nonNullable, i as invariant } from './core.D4npX2q8.mjs';
8
- import { m as memoizeProp } from './core.BR4zXDH-.mjs';
9
- import { e as exact, R as RichText } from './core.M9ayqQZa.mjs';
8
+ import { m as memoizeProp } from './core.CLSZtnFh.mjs';
9
+ import { e as exact, R as RichText } from './core.BK-tI3Q3.mjs';
10
10
  import { preferSummary, preferDescription } from '../types/_aux.mjs';
11
11
  import { i as ihead } from './core.uFk_o9X6.mjs';
12
12
  import { s as stringHash } from './core.oSV6SRfk.mjs';
@@ -1,6 +1,6 @@
1
1
  import { a as t$8, t as t$9 } from './core.3ZhnKAlZ.mjs';
2
2
  import { t as t$7, a as t$c } from './core.BsSXS-_R.mjs';
3
- import { a as t$d } from './core.DEieYfbG.mjs';
3
+ import { a as t$d } from './core.BspBF3SJ.mjs';
4
4
  import { b as _layout, t as isDynamicView, u as e$3 } from './core.DH7TXqXf.mjs';
5
5
  import { e as e$4 } from './core.BKlholso.mjs';
6
6
  import { e as e$2, t as t$a } from './core.Coi_LOUZ.mjs';
@@ -1,4 +1,4 @@
1
- import { e as isStepEdgeId } from './core.C_Ni6yHl.mjs';
1
+ import { g as isStepEdgeId } from './core.D0WZutNd.mjs';
2
2
 
3
3
  function e(e){return Array.isArray(e)}
4
4
 
@@ -34,5 +34,8 @@ function isDynamicStepsSeries(step) {
34
34
  function isViewRuleGroup(rule) {
35
35
  return "title" in rule && "groupRules" in rule && Array.isArray(rule.groupRules);
36
36
  }
37
+ function isViewRuleRank(rule) {
38
+ return "rank" in rule && Array.isArray(rule.targets);
39
+ }
37
40
 
38
- export { isViewRuleGlobalPredicateRef as a, isAutoLayoutDirection as b, isViewRuleAutoLayout as c, isDynamicStep as d, isDynamicStepsParallel as e, isDynamicStepsSeries as f, getParallelStepsPrefix as g, isViewRuleGroup as h, isViewRuleGlobalStyle as i, e as j };
41
+ export { isViewRuleGlobalPredicateRef as a, isAutoLayoutDirection as b, isViewRuleAutoLayout as c, isDynamicStep as d, isDynamicStepsParallel as e, isDynamicStepsSeries as f, getParallelStepsPrefix as g, isViewRuleGroup as h, isViewRuleGlobalStyle as i, isViewRuleRank as j, e as k };
@@ -1,6 +1,6 @@
1
- import { L as LikeC4StylesConfig, a as LikeC4Theme, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues, T as ThemeColor, c as ThemeColorValues, d as TextSize, S as SpacingSize, e as ShapeSize } from './core.0zAQeenX.mjs';
1
+ import { L as LikeC4StylesConfig, a as LikeC4Theme, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues, T as ThemeColor, c as ThemeColorValues, d as TextSize, S as SpacingSize, e as ShapeSize } from './core.9U0HL3oG.mjs';
2
2
  import { LiteralUnion } from 'type-fest';
3
- import { L as LikeC4ProjectStylesConfig, C as ComputedNodeStyle } from './core.mUnpvHtA.mjs';
3
+ import { L as LikeC4ProjectStylesConfig, C as ComputedNodeStyle } from './core.DE-g9oFF.mjs';
4
4
 
5
5
  /**
6
6
  * Styles of a LikeC4 project
@@ -1,6 +1,5 @@
1
1
  import { g as getDefaultExportFromCjs } from './core.B85MJLTf.mjs';
2
- import { r as requireIterator } from './core.BdPcbSkN.mjs';
3
- import { r as requireForeach } from './core.CR3PmPzr.mjs';
2
+ import { b as requireIterator, r as requireForeach } from './core.CBLX4mT8.mjs';
4
3
  import { t as t$3 } from './core.3ZhnKAlZ.mjs';
5
4
  import { t as t$4 } from './core.CbT8JVYL.mjs';
6
5
  import { t as t$2 } from './core.BsSXS-_R.mjs';
@@ -1,13 +1,14 @@
1
- import { T as Tag } from '../shared/core.DX-WYEPA.mjs';
2
- import { T as TagSpecification } from '../shared/core.mUnpvHtA.mjs';
3
- import { G as ColorLiteral, c as ThemeColorValues, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues } from '../shared/core.0zAQeenX.mjs';
4
- export { B as BorderStyle, z as BorderStyles, C as Color, U as CustomColor, Q as CustomColorDefinitions, h as ElementShape, D as ElementShapes, H as HexColor, L as LikeC4StylesConfig, a as LikeC4Theme, g as RelationshipArrowType, I as RelationshipArrowTypes, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, d as TextSize, T as ThemeColor, J as ThemeColors, V as isCustomColor, M as isThemeColor } from '../shared/core.0zAQeenX.mjs';
5
- export { L as LikeC4Styles } from '../shared/core.Dvh1H0T2.mjs';
1
+ import { T as Tag } from '../shared/core.CDdf8izT.mjs';
2
+ import { T as TagSpecification } from '../shared/core.DE-g9oFF.mjs';
3
+ import { G as ColorLiteral, c as ThemeColorValues, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues } from '../shared/core.9U0HL3oG.mjs';
4
+ export { B as BorderStyle, z as BorderStyles, C as Color, U as CustomColor, Q as CustomColorDefinitions, h as ElementShape, D as ElementShapes, H as HexColor, L as LikeC4StylesConfig, a as LikeC4Theme, g as RelationshipArrowType, I as RelationshipArrowTypes, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, d as TextSize, T as ThemeColor, J as ThemeColors, V as isCustomColor, M as isThemeColor } from '../shared/core.9U0HL3oG.mjs';
5
+ export { L as LikeC4Styles } from '../shared/core.or6-EHsb.mjs';
6
6
  import 'type-fest';
7
- import '../shared/core.B73yxfPi.mjs';
7
+ import '../shared/core.BkSYCfRg.mjs';
8
8
  import '../shared/core.DB0Ue5Wx.mjs';
9
9
  import '../types/fqnRef.mjs';
10
10
  import '../types/expression-model.mjs';
11
+ import '../shared/core.BPGOjone.mjs';
11
12
 
12
13
  /**
13
14
  * Colors are taken from the styles presets of the LikeC4 (Radix Colors)
@@ -6,7 +6,7 @@ import { t as t$6 } from '../shared/core.CbT8JVYL.mjs';
6
6
  import { t as t$1 } from '../shared/core.BsSXS-_R.mjs';
7
7
  import { t as t$4 } from '../shared/core.BkVA6gjl.mjs';
8
8
  import { a as nonNullable } from '../shared/core.D4npX2q8.mjs';
9
- export { B as BorderStyles, E as ElementShapes, L as LikeC4Styles, R as RelationshipArrowTypes, S as Sizes, T as ThemeColors, c as computeColorValues, b as defaultTheme, f as isCustomColor, i as isThemeColor, s as styleDefaults } from '../shared/core.DEieYfbG.mjs';
9
+ export { B as BorderStyles, E as ElementShapes, L as LikeC4Styles, R as RelationshipArrowTypes, S as Sizes, T as ThemeColors, c as computeColorValues, d as defaultTheme, b as isCustomColor, i as isThemeColor, s as styleDefaults } from '../shared/core.BspBF3SJ.mjs';
10
10
 
11
11
  function t(...t){return t$1(n,t)}function n(e,t,n){let r={};for(let[i,a]of e.entries()){let o=t(a,i,e);r[o]=n(a,i,e);}return r}
12
12
 
@@ -1,4 +1,4 @@
1
1
  import 'type-fest';
2
2
  import '../shared/core.DB0Ue5Wx.mjs';
3
- export { q as AllKinds, A as Any, A as AnyAux, b as AnyComputed, c as AnyLayouted, $ as AnyOnStage, d as AnyParsed, Z as AnySpec, e as Aux, x as DeploymentFqn, D as DeploymentId, y as DeploymentKind, z as EdgeId, a as ElementId, E as ElementKind, F as Fqn, O as LooseDeploymentId, ae as LooseDeploymentKind, K as LooseElementId, ad as LooseElementKind, L as LooseLiteral, af as LooseRelationKind, I as LooseTag, ac as LooseTags, X as LooseViewId, H as Metadata, C as MetadataKey, B as Never, N as NodeId, ab as OrString, a0 as PickByStage, P as ProjectId, J as RelationId, R as RelationKind, a4 as Spec, f as SpecAux, Q as Stage, x as StrictDeploymentFqn, a8 as StrictDeploymentKind, a7 as StrictElementKind, F as StrictFqn, a5 as StrictProjectId, a9 as StrictRelationKind, a6 as StrictTag, S as StrictViewId, T as Tag, r as Tags, U as Unknown, g as UnknownComputed, h as UnknownLayouted, i as UnknownParsed, V as ViewId, W as WithDescriptionAndTech, aa as WithLinks, v as WithMetadata, w as WithNotation, u as WithOptionalLinks, s as WithOptionalTags, G as WithTags, p as preferDescription, j as preferSummary, Y as setProject, a1 as setStage, t as toComputed, a3 as toLayouted, a2 as toParsed } from '../shared/core.B73yxfPi.mjs';
4
- import '../shared/core.DX-WYEPA.mjs';
3
+ export { q as AllKinds, A as Any, A as AnyAux, b as AnyComputed, c as AnyLayouted, $ as AnyOnStage, d as AnyParsed, Z as AnySpec, e as Aux, x as DeploymentFqn, D as DeploymentId, y as DeploymentKind, z as EdgeId, a as ElementId, E as ElementKind, F as Fqn, O as LooseDeploymentId, ae as LooseDeploymentKind, K as LooseElementId, ad as LooseElementKind, L as LooseLiteral, af as LooseRelationKind, I as LooseTag, ac as LooseTags, X as LooseViewId, H as Metadata, C as MetadataKey, B as Never, N as NodeId, ab as OrString, a0 as PickByStage, P as ProjectId, J as RelationId, R as RelationKind, a4 as Spec, f as SpecAux, Q as Stage, x as StrictDeploymentFqn, a8 as StrictDeploymentKind, a7 as StrictElementKind, F as StrictFqn, a5 as StrictProjectId, a9 as StrictRelationKind, a6 as StrictTag, S as StrictViewId, T as Tag, r as Tags, U as Unknown, g as UnknownComputed, h as UnknownLayouted, i as UnknownParsed, V as ViewId, W as WithDescriptionAndTech, aa as WithLinks, v as WithMetadata, w as WithNotation, u as WithOptionalLinks, s as WithOptionalTags, G as WithTags, p as preferDescription, j as preferSummary, Y as setProject, a1 as setStage, t as toComputed, a3 as toLayouted, a2 as toParsed } from '../shared/core.BkSYCfRg.mjs';
4
+ import '../shared/core.CDdf8izT.mjs';
@@ -1,8 +1,8 @@
1
- import { W as WhereOperator, C as Color, f as RelationshipLineType, g as RelationshipArrowType, P as PredicateSelector, h as ElementShape, B as BorderStyle, e as ShapeSize } from '../shared/core.0zAQeenX.mjs';
2
- import { A as Any, S as StrictViewId, E as ElementKind, T as Tag } from '../shared/core.B73yxfPi.mjs';
1
+ import { W as WhereOperator, C as Color, f as RelationshipLineType, g as RelationshipArrowType, P as PredicateSelector, h as ElementShape, B as BorderStyle, e as ShapeSize } from '../shared/core.9U0HL3oG.mjs';
2
+ import { A as Any, S as StrictViewId, E as ElementKind, T as Tag } from '../shared/core.BkSYCfRg.mjs';
3
3
  import { E as ExclusiveUnion } from '../shared/core.DB0Ue5Wx.mjs';
4
4
  import { FqnRef } from './fqnRef.mjs';
5
- import { M as MarkdownOrString, I as Icon } from '../shared/core.DX-WYEPA.mjs';
5
+ import { M as MarkdownOrString, I as Icon } from '../shared/core.CDdf8izT.mjs';
6
6
  import 'type-fest';
7
7
 
8
8
  type AnyAux = Any;
@@ -1,6 +1,6 @@
1
- export { j as Expression, F as FqnExpr, P as PredicateSelector, i as RelationExpr } from '../shared/core.0zAQeenX.mjs';
2
- import '../shared/core.B73yxfPi.mjs';
1
+ export { j as Expression, F as FqnExpr, P as PredicateSelector, i as RelationExpr } from '../shared/core.9U0HL3oG.mjs';
2
+ import '../shared/core.BkSYCfRg.mjs';
3
3
  import '../shared/core.DB0Ue5Wx.mjs';
4
4
  import './fqnRef.mjs';
5
- import '../shared/core.DX-WYEPA.mjs';
5
+ import '../shared/core.CDdf8izT.mjs';
6
6
  import 'type-fest';
@@ -1,7 +1,7 @@
1
- import { A as Any, a as ElementId, P as ProjectId, F as Fqn, D as DeploymentId } from '../shared/core.B73yxfPi.mjs';
1
+ import { A as Any, a as ElementId, P as ProjectId, F as Fqn, D as DeploymentId } from '../shared/core.BkSYCfRg.mjs';
2
2
  import { E as ExclusiveUnion } from '../shared/core.DB0Ue5Wx.mjs';
3
3
  import 'type-fest';
4
- import '../shared/core.DX-WYEPA.mjs';
4
+ import '../shared/core.CDdf8izT.mjs';
5
5
 
6
6
  type AnyAux = Any;
7
7
  declare namespace FqnRef {
@@ -1,5 +1,5 @@
1
1
  import { e } from '../shared/core.CqAJJpK_.mjs';
2
- import { a as GlobalFqn } from '../shared/core.C_Ni6yHl.mjs';
2
+ import { a as GlobalFqn } from '../shared/core.D0WZutNd.mjs';
3
3
 
4
4
  var FqnRef;
5
5
  ((FqnRef2) => {
@@ -1,16 +1,18 @@
1
1
  import { N as NonEmptyArray } from '../shared/core.DB0Ue5Wx.mjs';
2
2
  export { C as Coalesce, E as ExclusiveUnion, I as IterableContainer, c as IteratorLike, K as KeysOf, L as Link, b as NTuple, a as NonEmptyReadonlyArray, P as Predicate, R as ReorderedArray, e as exact } from '../shared/core.DB0Ue5Wx.mjs';
3
- export { A as Any, A as AnyAux, b as AnyComputed, c as AnyLayouted, d as AnyParsed, e as Aux, k as ExtractOnStage, L as LooseLiteral, M as ModelStage, f as SpecAux, U as Unknown, g as UnknownComputed, h as UnknownLayouted, i as UnknownParsed, o as _layout, m as _stage, n as _type, _ as aux, l as isOnStage, p as preferDescription, j as preferSummary } from '../shared/core.B73yxfPi.mjs';
4
- import { B as BorderStyle, h as ElementShape, T as ThemeColor } from '../shared/core.0zAQeenX.mjs';
5
- export { A as AndOperator, z as BorderStyles, C as Color, G as ColorLiteral, U as CustomColor, Q as CustomColorDefinitions, E as ElementColorValues, D as ElementShapes, k as EqualOperator, j as Expression, u as Filterable, F as FqnExpr, H as HexColor, K as KindEqual, b as LikeC4StyleDefaults, L as LikeC4StylesConfig, a as LikeC4Theme, N as NotOperator, v as OperatorPredicate, O as OrOperator, o as Participant, p as ParticipantOperator, P as PredicateSelector, i as RelationExpr, g as RelationshipArrowType, I as RelationshipArrowTypes, R as RelationshipColorValues, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, l as TagEqual, d as TextSize, c as ThemeColorValues, J as ThemeColors, W as WhereOperator, s as isAndOperator, V as isCustomColor, n as isKindEqual, r as isNotOperator, t as isOrOperator, q as isParticipantOperator, m as isTagEqual, M as isThemeColor, w as whereOperatorAsPredicate } from '../shared/core.0zAQeenX.mjs';
3
+ export { A as Any, A as AnyAux, b as AnyComputed, c as AnyLayouted, d as AnyParsed, e as Aux, k as ExtractOnStage, L as LooseLiteral, M as ModelStage, f as SpecAux, U as Unknown, g as UnknownComputed, h as UnknownLayouted, i as UnknownParsed, o as _layout, m as _stage, n as _type, _ as aux, l as isOnStage, p as preferDescription, j as preferSummary } from '../shared/core.BkSYCfRg.mjs';
4
+ import { B as BorderStyle, h as ElementShape, T as ThemeColor } from '../shared/core.9U0HL3oG.mjs';
5
+ export { A as AndOperator, z as BorderStyles, C as Color, G as ColorLiteral, U as CustomColor, Q as CustomColorDefinitions, E as ElementColorValues, D as ElementShapes, k as EqualOperator, j as Expression, u as Filterable, F as FqnExpr, H as HexColor, K as KindEqual, b as LikeC4StyleDefaults, L as LikeC4StylesConfig, a as LikeC4Theme, N as NotOperator, v as OperatorPredicate, O as OrOperator, o as Participant, p as ParticipantOperator, P as PredicateSelector, i as RelationExpr, g as RelationshipArrowType, I as RelationshipArrowTypes, R as RelationshipColorValues, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, l as TagEqual, d as TextSize, c as ThemeColorValues, J as ThemeColors, W as WhereOperator, s as isAndOperator, V as isCustomColor, n as isKindEqual, r as isNotOperator, t as isOrOperator, q as isParticipantOperator, m as isTagEqual, M as isThemeColor, w as whereOperatorAsPredicate } from '../shared/core.9U0HL3oG.mjs';
6
6
  export { ModelExpression, ModelFqnExpr, ModelRelationExpr } from './expression-model.mjs';
7
7
  export { FqnRef } from './fqnRef.mjs';
8
- import { v as AutoLayoutDirection } from '../shared/core.mUnpvHtA.mjs';
9
- export { A as AbstractRelationship, q as AnyExcludePredicate, p as AnyIncludePredicate, r as AnyViewRuleStyle, B as BBox, I as BaseParsedViewProperties, H as BaseViewProperties, W as ComputedDeploymentView, Y as ComputedDynamicView, Q as ComputedEdge, U as ComputedElementView, O as ComputedNode, C as ComputedNodeStyle, Z as DynamicStep, $ as DynamicStepsParallel, _ as DynamicStepsSeries, a7 as DynamicViewDisplayVariant, a5 as DynamicViewIncludeRule, a6 as DynamicViewRule, a1 as DynamicViewStep, f as Element, i as ElementSpecification, E as ElementStyle, aa as ElementViewExcludePredicate, a9 as ElementViewIncludePredicate, ab as ElementViewPredicate, af as ElementViewRule, ac as ElementViewRuleGroup, ae as ElementViewRuleStyle, b as GlobalDynamicPredicates, G as GlobalPredicateId, a as GlobalPredicates, c as GlobalStyleID, d as GlobalStyles, o as LikeC4Project, n as LikeC4ProjectManualLayoutsConfig, m as LikeC4ProjectStyleDefaults, L as LikeC4ProjectStylesConfig, l as LikeC4ProjectTheme, M as ModelGlobals, h as ModelRelation, N as NodeNotation, a8 as ParsedDynamicView, ag as ParsedElementView, P as Point, R as RectBox, g as Relationship, k as RelationshipSpecification, S as Specification, T as TagSpecification, z as ViewAutoLayout, D as ViewManualLayout, x as ViewRuleAutoLayout, t as ViewRuleGlobalPredicateRef, V as ViewRuleGlobalStyle, F as ViewType, K as ViewWithHash, J as ViewWithNotation, X as XYPoint, e as ensureSizes, a0 as getParallelStepsPrefix, w as isAutoLayoutDirection, a2 as isDynamicStep, a3 as isDynamicStepsParallel, a4 as isDynamicStepsSeries, j as isTagColorSpecified, y as isViewRuleAutoLayout, u as isViewRuleGlobalPredicateRef, s as isViewRuleGlobalStyle, ad as isViewRuleGroup } from '../shared/core.mUnpvHtA.mjs';
10
- import { L as LayoutedView } from '../shared/core.DnCLhN8C.mjs';
11
- export { t as AnyView, o as AuxFromDump, A as AuxFromLikeC4ModelData, C as ComputedLikeC4ModelData, r as ComputedView, e as DeployedInstance, f as DeploymentElement, g as DeploymentElementRef, D as DeploymentNode, k as DeploymentRelation, j as DeploymentRelationship, Y as DeploymentViewExcludePredicate, X as DeploymentViewIncludePredicate, Z as DeploymentViewPredicate, $ as DeploymentViewRule, _ as DeploymentViewRuleStyle, K as DiagramEdge, W as DiagramEdgeDriftReason, J as DiagramNode, U as DiagramNodeDriftReason, M as LayoutType, O as LayoutedDeploymentView, Q as LayoutedDynamicView, N as LayoutedElementView, c as LayoutedLikeC4ModelData, T as LayoutedViewDriftReason, d as LikeC4ModelData, m as LikeC4ModelDump, p as LikeC4View, a0 as ParsedDeploymentView, P as ParsedLikeC4ModelData, p as ParsedView, s as ProcessedView, n as ProjectDump, R as RichText, a as RichTextEmpty, b as RichTextOrEmpty, l as SpecTypesFromDump, S as SpecificationDump, V as ViewManualLayoutSnapshot, u as ViewOnStage, w as ViewRule, x as ViewRulePredicate, v as ViewWithType, B as isComputedView, h as isDeployedInstance, i as isDeploymentNode, H as isDeploymentView, q as isDiagramView, I as isDynamicView, E as isElementView, G as isExtendsElementView, q as isLayoutedView, F as isScopedElementView, y as isViewRulePredicate, z as isViewRuleStyle } from '../shared/core.DnCLhN8C.mjs';
12
- import { F as Fqn, D as DeploymentFqn } from '../shared/core.DX-WYEPA.mjs';
13
- export { A as AnyFqn, B as BuiltInIcon, b as DeploymentKind, j as EdgeId, E as ElementKind, e as GlobalFqn, G as GroupElementKind, I as Icon, a as IconUrl, M as MarkdownOrString, N as NodeId, P as ProjectId, d as RelationId, R as RelationKind, c as RelationshipKind, k as StepEdgeId, S as StepEdgeIdLiteral, m as StepEdgeKind, T as Tag, V as ViewId, o as extractStep, f as flattenMarkdownOrString, g as isGlobalFqn, i as isGroupElementKind, n as isStepEdgeId, s as scalar, h as splitGlobalFqn, l as stepEdgeId } from '../shared/core.DX-WYEPA.mjs';
8
+ import { w as AutoLayoutDirection } from '../shared/core.DE-g9oFF.mjs';
9
+ export { A as AbstractRelationship, p as AnyExcludePredicate, o as AnyIncludePredicate, q as AnyViewRuleStyle, I as BaseParsedViewProperties, H as BaseViewProperties, W as ComputedDeploymentView, X as ComputedDynamicView, P as ComputedEdge, U as ComputedElementView, O as ComputedNode, C as ComputedNodeStyle, Q as ComputedRankConstraint, Y as DynamicStep, _ as DynamicStepsParallel, Z as DynamicStepsSeries, a6 as DynamicViewDisplayVariant, a4 as DynamicViewIncludeRule, a5 as DynamicViewRule, a0 as DynamicViewStep, f as Element, h as ElementSpecification, E as ElementStyle, a9 as ElementViewExcludePredicate, a8 as ElementViewIncludePredicate, aa as ElementViewPredicate, ag as ElementViewRule, ab as ElementViewRuleGroup, ae as ElementViewRuleRank, ad as ElementViewRuleStyle, b as GlobalDynamicPredicates, G as GlobalPredicateId, a as GlobalPredicates, c as GlobalStyleID, d as GlobalStyles, n as LikeC4Project, m as LikeC4ProjectManualLayoutsConfig, l as LikeC4ProjectStyleDefaults, L as LikeC4ProjectStylesConfig, k as LikeC4ProjectTheme, M as ModelGlobals, g as ModelRelation, N as NodeNotation, a7 as ParsedDynamicView, ah as ParsedElementView, u as RankValue, R as Relationship, j as RelationshipSpecification, S as Specification, T as TagSpecification, B as ViewAutoLayout, D as ViewManualLayout, y as ViewRuleAutoLayout, s as ViewRuleGlobalPredicateRef, V as ViewRuleGlobalStyle, v as ViewRuleRank, F as ViewType, K as ViewWithHash, J as ViewWithNotation, e as ensureSizes, $ as getParallelStepsPrefix, x as isAutoLayoutDirection, a1 as isDynamicStep, a2 as isDynamicStepsParallel, a3 as isDynamicStepsSeries, i as isTagColorSpecified, z as isViewRuleAutoLayout, t as isViewRuleGlobalPredicateRef, r as isViewRuleGlobalStyle, ac as isViewRuleGroup, af as isViewRuleRank } from '../shared/core.DE-g9oFF.mjs';
10
+ import { L as LayoutedView } from '../shared/core.5gPDaaG5.mjs';
11
+ export { t as AnyView, o as AuxFromDump, A as AuxFromLikeC4ModelData, C as ComputedLikeC4ModelData, r as ComputedView, e as DeployedInstance, f as DeploymentElement, g as DeploymentElementRef, D as DeploymentNode, k as DeploymentRelation, j as DeploymentRelationship, Y as DeploymentViewExcludePredicate, X as DeploymentViewIncludePredicate, Z as DeploymentViewPredicate, $ as DeploymentViewRule, _ as DeploymentViewRuleStyle, K as DiagramEdge, W as DiagramEdgeDriftReason, J as DiagramNode, U as DiagramNodeDriftReason, M as LayoutType, O as LayoutedDeploymentView, Q as LayoutedDynamicView, N as LayoutedElementView, c as LayoutedLikeC4ModelData, T as LayoutedViewDriftReason, d as LikeC4ModelData, m as LikeC4ModelDump, p as LikeC4View, a0 as ParsedDeploymentView, P as ParsedLikeC4ModelData, p as ParsedView, s as ProcessedView, n as ProjectDump, R as RichText, a as RichTextEmpty, b as RichTextOrEmpty, l as SpecTypesFromDump, S as SpecificationDump, V as ViewManualLayoutSnapshot, u as ViewOnStage, w as ViewRule, x as ViewRulePredicate, v as ViewWithType, B as isComputedView, h as isDeployedInstance, i as isDeploymentNode, H as isDeploymentView, q as isDiagramView, I as isDynamicView, E as isElementView, G as isExtendsElementView, q as isLayoutedView, F as isScopedElementView, y as isViewRulePredicate, z as isViewRuleStyle } from '../shared/core.5gPDaaG5.mjs';
12
+ import { F as Fqn, D as DeploymentFqn } from '../shared/core.CDdf8izT.mjs';
13
+ export { A as AnyFqn, B as BuiltInIcon, b as DeploymentKind, k as EdgeId, E as ElementKind, e as GlobalFqn, G as GroupElementKind, I as Icon, a as IconUrl, M as MarkdownOrString, j as NodeId, N as NoneIcon, P as ProjectId, d as RelationId, R as RelationKind, c as RelationshipKind, l as StepEdgeId, S as StepEdgeIdLiteral, n as StepEdgeKind, T as Tag, V as ViewId, p as extractStep, f as flattenMarkdownOrString, g as isGlobalFqn, i as isGroupElementKind, o as isStepEdgeId, s as scalar, h as splitGlobalFqn, m as stepEdgeId } from '../shared/core.CDdf8izT.mjs';
14
+ export { B as BBox, P as Point, R as RectBox, X as XYPoint } from '../shared/core.BPGOjone.mjs';
15
+ export { Vector, VectorValue, vector } from '../geometry/index.mjs';
14
16
  import 'type-fest';
15
17
 
16
18
  declare namespace ViewChange {