@likec4/core 1.44.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 (74) hide show
  1. package/dist/builder/index.d.mts +15 -13
  2. package/dist/builder/index.mjs +33 -17
  3. package/dist/compute-view/index.d.mts +8 -7
  4. package/dist/compute-view/index.mjs +7 -6
  5. package/dist/compute-view/relationships-view/index.d.mts +8 -7
  6. package/dist/compute-view/relationships-view/index.mjs +2 -2
  7. package/dist/geometry/index.d.mts +109 -0
  8. package/dist/geometry/index.mjs +328 -0
  9. package/dist/index.d.mts +29 -7
  10. package/dist/index.mjs +10 -8
  11. package/dist/model/connection/deployment/index.d.mts +10 -9
  12. package/dist/model/connection/deployment/index.mjs +2 -2
  13. package/dist/model/connection/index.d.mts +11 -10
  14. package/dist/model/connection/index.mjs +3 -3
  15. package/dist/model/connection/model/index.d.mts +10 -9
  16. package/dist/model/connection/model/index.mjs +2 -2
  17. package/dist/model/index.d.mts +13 -26
  18. package/dist/model/index.mjs +4 -4
  19. package/dist/shared/{core.Bv3cd-jC.mjs → core.3ZhnKAlZ.mjs} +9 -5
  20. package/dist/shared/{core.CKNmSm2W.d.mts → core.5gPDaaG5.d.mts} +9 -15
  21. package/dist/shared/{core.BnOetIAR.d.mts → core.9U0HL3oG.d.mts} +3 -3
  22. package/dist/shared/{core.M9ayqQZa.mjs → core.BK-tI3Q3.mjs} +2 -3
  23. package/dist/shared/{core.DjAM-S6a.d.mts → core.BLG-ADpi.d.mts} +16 -14
  24. package/dist/shared/core.BPGOjone.d.mts +46 -0
  25. package/dist/shared/{core.DIE3F6sw.mjs → core.BYdtmqY5.mjs} +1 -2
  26. package/dist/shared/core.BhNcrwzK.mjs +7 -0
  27. package/dist/shared/{core.CDOKQTW6.d.mts → core.BkSYCfRg.d.mts} +2 -2
  28. package/dist/shared/core.BkVA6gjl.mjs +5 -0
  29. package/dist/shared/{core.5ZQ-r3Oa.d.mts → core.BqtAzeAh.d.mts} +1 -1
  30. package/dist/shared/{core.DEieYfbG.mjs → core.BspBF3SJ.mjs} +22 -70
  31. package/dist/shared/{core.BnDbAOR2.d.mts → core.Byj60hH6.d.mts} +3 -3
  32. package/dist/shared/{core.CR3PmPzr.mjs → core.CBLX4mT8.mjs} +3811 -15032
  33. package/dist/shared/{core.DX-WYEPA.d.mts → core.CDdf8izT.d.mts} +4 -2
  34. package/dist/shared/core.CLSZtnFh.mjs +69 -0
  35. package/dist/shared/{core.bKIs4oDO.mjs → core.CQPEY2wQ.mjs} +5 -4
  36. package/dist/shared/{core.WwMWeiFL.d.mts → core.CQYL_Z-_.d.mts} +3 -3
  37. package/dist/shared/{core.6VsRBhGY.mjs → core.CdNCAwq7.mjs} +1 -1
  38. package/dist/shared/{core.DrUt0Lbi.mjs → core.CmGY9blO.mjs} +198 -291
  39. package/dist/shared/core.Coi_LOUZ.mjs +7 -0
  40. package/dist/shared/{core.C_Ni6yHl.mjs → core.D0WZutNd.mjs} +3 -1
  41. package/dist/shared/{core.DTJYgLXI.d.mts → core.D4Y4U8Lp.d.mts} +3 -3
  42. package/dist/shared/{core.BMtVqKl7.d.mts → core.DE-g9oFF.d.mts} +22 -46
  43. package/dist/shared/{core.23WeDKcI.mjs → core.DJpiszim.mjs} +265 -233
  44. package/dist/shared/{core.h4TqqSC0.mjs → core.DU8pv3Q6.mjs} +71 -1174
  45. package/dist/shared/{core.CHwVhuc9.mjs → core.DbQpDoJS.mjs} +12 -15
  46. package/dist/shared/{core.CbsSAn1j.mjs → core.DbfO90vF.mjs} +1 -12
  47. package/dist/shared/{core.C0Ye2OCr.mjs → core.DqlrMlsf.mjs} +1 -1
  48. package/dist/shared/core.Qv7vZIwZ.mjs +1282 -0
  49. package/dist/shared/core.oSV6SRfk.mjs +13 -0
  50. package/dist/shared/{core.BuQZczj6.mjs → core.om36dXXW.mjs} +5 -2
  51. package/dist/shared/{core.8mmHFn9g.d.mts → core.or6-EHsb.d.mts} +2 -2
  52. package/dist/shared/{core.DFCHU59b.mjs → core.xeuDd__E.mjs} +3 -4
  53. package/dist/styles/index.d.mts +7 -6
  54. package/dist/styles/index.mjs +4 -4
  55. package/dist/types/_aux.d.mts +2 -2
  56. package/dist/types/expression-model.d.mts +3 -3
  57. package/dist/types/expression.d.mts +3 -3
  58. package/dist/types/fqnRef.d.mts +2 -2
  59. package/dist/types/fqnRef.mjs +1 -1
  60. package/dist/types/index.d.mts +11 -9
  61. package/dist/types/index.mjs +6 -166
  62. package/dist/types/scalar.d.mts +1 -1
  63. package/dist/types/scalar.mjs +1 -1
  64. package/dist/utils/graphology/index.mjs +1 -1
  65. package/dist/utils/index.d.mts +3 -3
  66. package/dist/utils/index.mjs +9 -8
  67. package/dist/utils/iterable/index.d.mts +17 -1
  68. package/dist/utils/iterable/index.mjs +17 -1
  69. package/geometry/package.json +4 -0
  70. package/package.json +20 -12
  71. package/dist/shared/core.B9BjmjuH.mjs +0 -9
  72. package/dist/shared/core.BR4zXDH-.mjs +0 -13
  73. package/dist/shared/core.BdPcbSkN.mjs +0 -118
  74. package/dist/shared/core.OHD4KXm9.mjs +0 -5
@@ -0,0 +1,13 @@
1
+ import { i as invariant } from './core.D4npX2q8.mjs';
2
+
3
+ function stringHash(str) {
4
+ let hash = 5381;
5
+ const len = str.length;
6
+ invariant(len > 0, "stringHash: empty string");
7
+ for (let i = 0; i < len; i++) {
8
+ hash = hash * 33 ^ str.charCodeAt(i);
9
+ }
10
+ return (hash >>> 0).toString(36);
11
+ }
12
+
13
+ export { stringHash as s };
@@ -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 { a as LikeC4StylesConfig, b as LikeC4Theme, L as LikeC4StyleDefaults, U as ElementColorValues, V as RelationshipColorValues, D as ThemeColor, T as ThemeColorValues, p as TextSize, r as SpacingSize, q as ShapeSize } from './core.BnOetIAR.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 { m as LikeC4ProjectStylesConfig, K as ComputedNodeStyle } from './core.BMtVqKl7.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,10 +1,9 @@
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';
4
- import { t as t$3 } from './core.OHD4KXm9.mjs';
2
+ import { b as requireIterator, r as requireForeach } from './core.CBLX4mT8.mjs';
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';
7
- import { g as commonAncestor, k as compareFqnHierarchically } from './core.6VsRBhGY.mjs';
6
+ import { g as commonAncestor, k as compareFqnHierarchically } from './core.CdNCAwq7.mjs';
8
7
  import { e } from './core.RfnaEmgA.mjs';
9
8
  import { i as invariant } from './core.D4npX2q8.mjs';
10
9
 
@@ -1,13 +1,14 @@
1
- import { T as Tag } from '../shared/core.DX-WYEPA.mjs';
2
- import { T as TagSpecification } from '../shared/core.BMtVqKl7.mjs';
3
- import { C as ColorLiteral, T as ThemeColorValues, L as LikeC4StyleDefaults, U as ElementColorValues, V as RelationshipColorValues } from '../shared/core.BnOetIAR.mjs';
4
- export { s as BorderStyle, B as BorderStyles, Q as Color, J as CustomColor, I as CustomColorDefinitions, u as ElementShape, t as ElementShapes, H as HexColor, a as LikeC4StylesConfig, b as LikeC4Theme, y as RelationshipArrowType, x as RelationshipArrowTypes, v as RelationshipLineType, q as ShapeSize, o as Size, S as Sizes, r as SpacingSize, p as TextSize, D as ThemeColor, z as ThemeColors, M as isCustomColor, G as isThemeColor } from '../shared/core.BnOetIAR.mjs';
5
- export { L as LikeC4Styles } from '../shared/core.8mmHFn9g.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.CDOKQTW6.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)
@@ -1,12 +1,12 @@
1
1
  import { t as t$5 } from '../shared/core.q10OP9oJ.mjs';
2
- import { t as t$3 } from '../shared/core.OHD4KXm9.mjs';
3
- import { t as t$2, e as e$1, a as t$4 } from '../shared/core.B9BjmjuH.mjs';
2
+ import { t as t$3, c as compareNatural } from '../shared/core.3ZhnKAlZ.mjs';
3
+ import { t as t$2, e as e$1 } from '../shared/core.Coi_LOUZ.mjs';
4
4
  import { e } from '../shared/core.BKlholso.mjs';
5
5
  import { t as t$6 } from '../shared/core.CbT8JVYL.mjs';
6
6
  import { t as t$1 } from '../shared/core.BsSXS-_R.mjs';
7
- import { c as compareNatural } from '../shared/core.Bv3cd-jC.mjs';
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, a as AnyComputed, b as AnyLayouted, $ as AnyOnStage, c as AnyParsed, Z as AnySpec, d as Aux, x as DeploymentFqn, D as DeploymentId, y as DeploymentKind, z as EdgeId, o as ElementId, n 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, S 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, m as StrictViewId, T as Tag, r as Tags, U as Unknown, e as UnknownComputed, f as UnknownLayouted, g 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, h as preferSummary, Y as setProject, a1 as setStage, t as toComputed, a3 as toLayouted, a2 as toParsed } from '../shared/core.CDOKQTW6.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, Q as Color, v as RelationshipLineType, y as RelationshipArrowType, P as PredicateSelector, u as ElementShape, s as BorderStyle, q as ShapeSize } from '../shared/core.BnOetIAR.mjs';
2
- import { A as Any, m as StrictViewId, n as ElementKind, T as Tag } from '../shared/core.CDOKQTW6.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 { E as Expression, F as FqnExpr, P as PredicateSelector, R as RelationExpr } from '../shared/core.BnOetIAR.mjs';
2
- import '../shared/core.CDOKQTW6.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, o as ElementId, P as ProjectId, F as Fqn, D as DeploymentId } from '../shared/core.CDOKQTW6.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, a as AnyComputed, b as AnyLayouted, c as AnyParsed, d as Aux, E as ExtractOnStage, L as LooseLiteral, M as ModelStage, S as SpecAux, U as Unknown, e as UnknownComputed, f as UnknownLayouted, g as UnknownParsed, l as _layout, j as _stage, k as _type, _ as aux, i as isOnStage, p as preferDescription, h as preferSummary } from '../shared/core.CDOKQTW6.mjs';
4
- import { s as BorderStyle, u as ElementShape, D as ThemeColor } from '../shared/core.BnOetIAR.mjs';
5
- export { A as AndOperator, B as BorderStyles, Q as Color, C as ColorLiteral, J as CustomColor, I as CustomColorDefinitions, U as ElementColorValues, t as ElementShapes, c as EqualOperator, E as Expression, m as Filterable, F as FqnExpr, H as HexColor, K as KindEqual, L as LikeC4StyleDefaults, a as LikeC4StylesConfig, b as LikeC4Theme, N as NotOperator, n as OperatorPredicate, O as OrOperator, f as Participant, g as ParticipantOperator, P as PredicateSelector, R as RelationExpr, y as RelationshipArrowType, x as RelationshipArrowTypes, V as RelationshipColorValues, v as RelationshipLineType, q as ShapeSize, o as Size, S as Sizes, r as SpacingSize, d as TagEqual, p as TextSize, T as ThemeColorValues, z as ThemeColors, W as WhereOperator, k as isAndOperator, M as isCustomColor, e as isKindEqual, j as isNotOperator, l as isOrOperator, h as isParticipantOperator, i as isTagEqual, G as isThemeColor, w as whereOperatorAsPredicate } from '../shared/core.BnOetIAR.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.BMtVqKl7.mjs';
9
- export { A as AbstractRelationship, q as AnyExcludePredicate, p as AnyIncludePredicate, r as AnyViewRuleStyle, B as BBox, H as BaseParsedViewProperties, F as BaseViewProperties, W as ComputedDeploymentView, Y as ComputedDynamicView, Q as ComputedEdge, U as ComputedElementView, O as ComputedNode, K 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, l as LikeC4ProjectStyleDefaults, m 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, C as ViewManualLayout, x as ViewRuleAutoLayout, t as ViewRuleGlobalPredicateRef, V as ViewRuleGlobalStyle, D as ViewType, J as ViewWithHash, I 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.BMtVqKl7.mjs';
10
- import { p as LayoutedView } from '../shared/core.CKNmSm2W.mjs';
11
- export { t as AnyView, n as AuxFromDump, A as AuxFromLikeC4ModelData, C as ComputedLikeC4ModelData, r as ComputedView, d as DeployedInstance, e as DeploymentElement, f as DeploymentElementRef, D as DeploymentNode, j as DeploymentRelation, h as DeploymentRelationship, Y as DeploymentViewExcludePredicate, X as DeploymentViewIncludePredicate, Z as DeploymentViewPredicate, $ as DeploymentViewRule, _ as DeploymentViewRuleStyle, J as DiagramEdge, U as DiagramEdgeDriftReason, I as DiagramNode, T as DiagramNodeDriftReason, K as LayoutType, N as LayoutedDeploymentView, O as LayoutedDynamicView, M as LayoutedElementView, L as LayoutedLikeC4ModelData, Q as LayoutedViewDriftReason, c as LikeC4ModelData, l as LikeC4ModelDump, o as LikeC4View, a0 as ParsedDeploymentView, P as ParsedLikeC4ModelData, o as ParsedView, s as ProcessedView, m as ProjectDump, R as RichText, a as RichTextEmpty, b as RichTextOrEmpty, k as SpecTypesFromDump, S as SpecificationDump, W as ViewManualLayoutSnapshot, V as ViewOnStage, v as ViewRule, w as ViewRulePredicate, u as ViewWithType, z as isComputedView, g as isDeployedInstance, i as isDeploymentNode, G as isDeploymentView, q as isDiagramView, H as isDynamicView, B as isElementView, F as isExtendsElementView, q as isLayoutedView, E as isScopedElementView, x as isViewRulePredicate, y as isViewRuleStyle } from '../shared/core.CKNmSm2W.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 {
@@ -1,177 +1,17 @@
1
- export { R as RichText, e as exact } from '../shared/core.M9ayqQZa.mjs';
1
+ export { R as RichText, e as exact } from '../shared/core.BK-tI3Q3.mjs';
2
2
  export { preferDescription, preferSummary } from './_aux.mjs';
3
3
  export { b as _layout, _ as _stage, a as _type, j as isAndOperator, n as isComputedView, d as isDeployedInstance, c as isDeploymentNode, s as isDeploymentView, o as isDiagramView, t as isDynamicView, p as isElementView, r as isExtendsElementView, f as isKindEqual, o as isLayoutedView, h as isNotOperator, i as isOnStage, k as isOrOperator, g as isParticipantOperator, q as isScopedElementView, e as isTagEqual, l as isViewRulePredicate, m as isViewRuleStyle, w as whereOperatorAsPredicate } from '../shared/core.DH7TXqXf.mjs';
4
4
  export { Expression, FqnExpr, RelationExpr } from './expression.mjs';
5
5
  export { ModelExpression, ModelFqnExpr, ModelRelationExpr } from './expression-model.mjs';
6
6
  export { FqnRef } from './fqnRef.mjs';
7
- import { a as t } from '../shared/core.BsSXS-_R.mjs';
8
- import { i as invariant } from '../shared/core.D4npX2q8.mjs';
9
- export { e as ensureSizes } from '../shared/core.DEieYfbG.mjs';
10
- export { D as DeploymentFqn, E as EdgeId, F as Fqn, a as GlobalFqn, G as GroupElementKind, N as NodeId, P as ProjectId, R as RelationId, S as StepEdgeKind, V as ViewId, g as extractStep, f as flattenMarkdownOrString, b as isGlobalFqn, i as isGroupElementKind, e as isStepEdgeId, s as scalar, c as splitGlobalFqn, d as stepEdgeId } from '../shared/core.C_Ni6yHl.mjs';
11
- export { g as getParallelStepsPrefix, b as isAutoLayoutDirection, d as isDynamicStep, e as isDynamicStepsParallel, f as isDynamicStepsSeries, c as isViewRuleAutoLayout, a as isViewRuleGlobalPredicateRef, i as isViewRuleGlobalStyle, h as isViewRuleGroup } from '../shared/core.BuQZczj6.mjs';
12
-
13
- var BBox;
14
- ((BBox2) => {
15
- function center({ x, y, width, height }) {
16
- return {
17
- x: x + width / 2,
18
- y: y + height / 2
19
- };
20
- }
21
- BBox2.center = center;
22
- function fromPoints(points) {
23
- const { x1, y1, x2, y2 } = RectBox.fromPoints(points);
24
- return {
25
- x: x1,
26
- y: y1,
27
- width: x2 - x1,
28
- height: y2 - y1
29
- };
30
- }
31
- BBox2.fromPoints = fromPoints;
32
- function merge(...boxes) {
33
- invariant(t(boxes, 1), "No boxes provided");
34
- if (boxes.length === 1) {
35
- return boxes[0];
36
- }
37
- let minX = Infinity;
38
- let minY = Infinity;
39
- let maxX = -Infinity;
40
- let maxY = -Infinity;
41
- for (const box of boxes) {
42
- minX = Math.min(minX, box.x);
43
- minY = Math.min(minY, box.y);
44
- maxX = Math.max(maxX, box.x + box.width);
45
- maxY = Math.max(maxY, box.y + box.height);
46
- }
47
- return {
48
- x: minX,
49
- y: minY,
50
- width: maxX - minX,
51
- height: maxY - minY
52
- };
53
- }
54
- BBox2.merge = merge;
55
- function fromRectBox(rect) {
56
- return {
57
- x: Math.min(rect.x1, rect.x2),
58
- y: Math.min(rect.y1, rect.y2),
59
- width: Math.abs(rect.x2 - rect.x1),
60
- height: Math.abs(rect.y2 - rect.y1)
61
- };
62
- }
63
- BBox2.fromRectBox = fromRectBox;
64
- function toRectBox(box) {
65
- return {
66
- x1: box.x,
67
- y1: box.y,
68
- x2: box.x + box.width,
69
- y2: box.y + box.height
70
- };
71
- }
72
- BBox2.toRectBox = toRectBox;
73
- function expand(box, plus) {
74
- if (plus === 0) {
75
- return box;
76
- }
77
- return {
78
- x: box.x - plus,
79
- y: box.y - plus,
80
- width: box.width + plus * 2,
81
- height: box.height + plus * 2
82
- };
83
- }
84
- BBox2.expand = expand;
85
- function shrink(box, minus) {
86
- if (minus === 0) {
87
- return box;
88
- }
89
- return {
90
- x: box.x + minus,
91
- y: box.y + minus,
92
- width: box.width - minus * 2,
93
- height: box.height - minus * 2
94
- };
95
- }
96
- BBox2.shrink = shrink;
97
- function includes(a, b) {
98
- if (a === b) {
99
- return true;
100
- }
101
- return a.x <= b.x && a.y <= b.y && a.x + a.width >= b.x + b.width && a.y + a.height >= b.y + b.height;
102
- }
103
- BBox2.includes = includes;
104
- })(BBox || (BBox = {}));
105
- var RectBox;
106
- ((RectBox2) => {
107
- function center({ x1, y1, x2, y2 }) {
108
- return {
109
- x: (x1 + x2) / 2,
110
- y: (y1 + y2) / 2
111
- };
112
- }
113
- RectBox2.center = center;
114
- function fromPoints(points) {
115
- invariant(points.length > 0, "At least one point is required");
116
- let minX = Infinity;
117
- let minY = Infinity;
118
- let maxX = -Infinity;
119
- let maxY = -Infinity;
120
- for (const [x, y] of points) {
121
- minX = Math.min(minX, x);
122
- minY = Math.min(minY, y);
123
- maxX = Math.max(maxX, x);
124
- maxY = Math.max(maxY, y);
125
- }
126
- return {
127
- x1: minX,
128
- y1: minY,
129
- x2: maxX,
130
- y2: maxY
131
- };
132
- }
133
- RectBox2.fromPoints = fromPoints;
134
- function merge(...boxes) {
135
- invariant(boxes.length > 0, "No boxes provided");
136
- let minX = Infinity;
137
- let minY = Infinity;
138
- let maxX = -Infinity;
139
- let maxY = -Infinity;
140
- for (const box of boxes) {
141
- minX = Math.min(minX, box.x1);
142
- minY = Math.min(minY, box.y1);
143
- maxX = Math.max(maxX, box.x2);
144
- maxY = Math.max(maxY, box.y2);
145
- }
146
- return {
147
- x1: minX,
148
- y1: minY,
149
- x2: maxX,
150
- y2: maxY
151
- };
152
- }
153
- RectBox2.merge = merge;
154
- function toBBox(box) {
155
- return {
156
- x: box.x1,
157
- y: box.y1,
158
- width: box.x2 - box.x1,
159
- height: box.y2 - box.y1
160
- };
161
- }
162
- RectBox2.toBBox = toBBox;
163
- function includes(a, b) {
164
- if (a === b) {
165
- return true;
166
- }
167
- return a.x1 <= b.x1 && a.y1 <= b.y1 && a.x2 >= b.x2 && a.y2 >= b.y2;
168
- }
169
- RectBox2.includes = includes;
170
- })(RectBox || (RectBox = {}));
7
+ export { e as ensureSizes } from '../shared/core.BspBF3SJ.mjs';
8
+ export { D as DeploymentFqn, E as EdgeId, F as Fqn, a as GlobalFqn, G as GroupElementKind, d as NodeId, N as NoneIcon, P as ProjectId, R as RelationId, S as StepEdgeKind, V as ViewId, h as extractStep, f as flattenMarkdownOrString, b as isGlobalFqn, i as isGroupElementKind, g as isStepEdgeId, s as scalar, c as splitGlobalFqn, e as stepEdgeId } from '../shared/core.D0WZutNd.mjs';
9
+ export { g as getParallelStepsPrefix, b as isAutoLayoutDirection, d as isDynamicStep, e as isDynamicStepsParallel, f as isDynamicStepsSeries, c as isViewRuleAutoLayout, a as isViewRuleGlobalPredicateRef, i as isViewRuleGlobalStyle, h as isViewRuleGroup, j as isViewRuleRank } from '../shared/core.om36dXXW.mjs';
10
+ export { BBox, RectBox, Vector, vector } from '../geometry/index.mjs';
171
11
 
172
12
  function isTagColorSpecified(spec) {
173
13
  const color = typeof spec === "string" ? spec : spec.color;
174
14
  return color.startsWith("#") || color.startsWith("rgb");
175
15
  }
176
16
 
177
- export { BBox, RectBox, isTagColorSpecified };
17
+ export { isTagColorSpecified };
@@ -1,2 +1,2 @@
1
1
  import 'type-fest';
2
- export { A as AnyFqn, B as BuiltInIcon, D as DeploymentFqn, b as DeploymentKind, j as EdgeId, E as ElementKind, F as Fqn, 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, h as splitGlobalFqn, l as stepEdgeId } from '../shared/core.DX-WYEPA.mjs';
2
+ export { A as AnyFqn, B as BuiltInIcon, D as DeploymentFqn, b as DeploymentKind, k as EdgeId, E as ElementKind, F as Fqn, 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, h as splitGlobalFqn, m as stepEdgeId } from '../shared/core.CDdf8izT.mjs';
@@ -1,4 +1,4 @@
1
1
  import '../shared/core.CqAJJpK_.mjs';
2
2
  import '../shared/core.BKlholso.mjs';
3
3
  import '../shared/core.D4npX2q8.mjs';
4
- export { D as DeploymentFqn, E as EdgeId, F as Fqn, a as GlobalFqn, G as GroupElementKind, N as NodeId, P as ProjectId, R as RelationId, S as StepEdgeKind, V as ViewId, g as extractStep, f as flattenMarkdownOrString, b as isGlobalFqn, i as isGroupElementKind, e as isStepEdgeId, c as splitGlobalFqn, d as stepEdgeId } from '../shared/core.C_Ni6yHl.mjs';
4
+ export { D as DeploymentFqn, E as EdgeId, F as Fqn, a as GlobalFqn, G as GroupElementKind, d as NodeId, N as NoneIcon, P as ProjectId, R as RelationId, S as StepEdgeKind, V as ViewId, h as extractStep, f as flattenMarkdownOrString, b as isGlobalFqn, i as isGroupElementKind, g as isStepEdgeId, c as splitGlobalFqn, e as stepEdgeId } from '../shared/core.D0WZutNd.mjs';
@@ -1 +1 @@
1
- export { G as Graph } from '../../shared/core.DrUt0Lbi.mjs';
1
+ export { G as Graph } from '../../shared/core.CmGY9blO.mjs';
@@ -1,9 +1,9 @@
1
1
  export { D as DefaultMap } from '../shared/core.CywrQs86.mjs';
2
- export { B as BiMap, D as DefaultWeakMap, L as LinkedList, M as MultiMap, Q as Queue, a as ancestorsFqn, l as commonAncestor, o as compareByFqnHierarchically, q as compareFqnHierarchically, h as hasProp, r as hierarchyDistance, t as hierarchyLevel, i as invariant, b as isAncestor, v as isAnyOf, c as isDescendantOf, d as isNonEmptyArray, e as isSameHierarchy, f as isString, m as memoizeProp, n as nameFromFqn, j as nonNullable, g as nonexhaustive, p as parentFqn, u as sortByFqnHierarchically, s as sortNaturalByFqn, k as sortParentsFirst } from '../shared/core.5ZQ-r3Oa.mjs';
2
+ export { B as BiMap, D as DefaultWeakMap, L as LinkedList, M as MultiMap, Q as Queue, a as ancestorsFqn, l as commonAncestor, o as compareByFqnHierarchically, q as compareFqnHierarchically, h as hasProp, r as hierarchyDistance, t as hierarchyLevel, i as invariant, b as isAncestor, v as isAnyOf, c as isDescendantOf, d as isNonEmptyArray, e as isSameHierarchy, f as isString, m as memoizeProp, n as nameFromFqn, j as nonNullable, g as nonexhaustive, p as parentFqn, u as sortByFqnHierarchically, s as sortNaturalByFqn, k as sortParentsFirst } from '../shared/core.BqtAzeAh.mjs';
3
3
  import { N as NonEmptyArray } from '../shared/core.DB0Ue5Wx.mjs';
4
- export { ifilter, ifind, ifirst, iflat, ihead, imap, ireduce, isome, iunique, toArray, toSet } from './iterable/index.mjs';
4
+ export { ifilter, ifind, ifirst, iflat, iflatMap, ihead, imap, ireduce, isome, iunique, toArray, toSet } from './iterable/index.mjs';
5
5
  export { i as isIterable } from '../shared/core.DXhDWKFZ.mjs';
6
- import '../shared/core.DX-WYEPA.mjs';
6
+ import '../shared/core.CDdf8izT.mjs';
7
7
  import 'type-fest';
8
8
 
9
9
  /**
@@ -1,21 +1,22 @@
1
1
  export { i as invariant, a as nonNullable, n as nonexhaustive } from '../shared/core.D4npX2q8.mjs';
2
- export { S as Stack, c as commonHead, a as compareRelations, o as objectHash } from '../shared/core.DFCHU59b.mjs';
3
- export { c as compareNatural, a as compareNaturalHierarchically } from '../shared/core.Bv3cd-jC.mjs';
4
- export { a as ancestorsFqn, g as commonAncestor, j as compareByFqnHierarchically, k as compareFqnHierarchically, h as hasProp, l as hierarchyDistance, m as hierarchyLevel, i as isAncestor, q as isAnyOf, b as isDescendantOf, c as isNonEmptyArray, d as isSameHierarchy, e as isString, n as nameFromFqn, p as parentFqn, o as sortByFqnHierarchically, s as sortNaturalByFqn, f as sortParentsFirst } from '../shared/core.6VsRBhGY.mjs';
2
+ export { S as Stack, c as commonHead, a as compareRelations, o as objectHash } from '../shared/core.xeuDd__E.mjs';
3
+ export { c as compareNatural, b as compareNaturalHierarchically } from '../shared/core.3ZhnKAlZ.mjs';
4
+ export { a as ancestorsFqn, g as commonAncestor, j as compareByFqnHierarchically, k as compareFqnHierarchically, h as hasProp, l as hierarchyDistance, m as hierarchyLevel, i as isAncestor, q as isAnyOf, b as isDescendantOf, c as isNonEmptyArray, d as isSameHierarchy, e as isString, n as nameFromFqn, p as parentFqn, o as sortByFqnHierarchically, s as sortNaturalByFqn, f as sortParentsFirst } from '../shared/core.CdNCAwq7.mjs';
5
5
  export { g as getOrCreate } from '../shared/core.DcS-0zys.mjs';
6
- export { m as memoizeProp } from '../shared/core.BR4zXDH-.mjs';
7
- export { d as difference, e as equalsSet, i as intersection, a as stringHash, s as symmetricDifference, u as union } from '../shared/core.CbsSAn1j.mjs';
8
- export { b as BiMap, d as DefaultWeakMap, l as LinkedList, m as MultiMap, q as Queue } from '../shared/core.DIE3F6sw.mjs';
6
+ export { m as memoizeProp } from '../shared/core.CLSZtnFh.mjs';
7
+ export { d as difference, e as equalsSet, i as intersection, s as symmetricDifference, u as union } from '../shared/core.DbfO90vF.mjs';
8
+ export { s as stringHash } from '../shared/core.oSV6SRfk.mjs';
9
+ export { b as BiMap, d as DefaultWeakMap, l as LinkedList, m as MultiMap, q as Queue } from '../shared/core.BYdtmqY5.mjs';
9
10
  export { D as DefaultMap } from '../shared/core.BbE4y-yl.mjs';
10
11
  export { i as ifilter } from '../shared/core.DRJma0Ol.mjs';
11
12
  export { i as ifind } from '../shared/core.CmPXpJ8l.mjs';
12
- export { ifirst, ireduce } from './iterable/index.mjs';
13
+ export { ifirst, iflatMap, ireduce } from './iterable/index.mjs';
13
14
  export { i as iflat, a as iunique } from '../shared/core.C4x8aaWa.mjs';
14
15
  export { i as ihead } from '../shared/core.uFk_o9X6.mjs';
15
16
  export { i as imap, a as toArray, t as toSet } from '../shared/core.C3JowhaZ.mjs';
16
17
  export { i as isIterable } from '../shared/core.RfnaEmgA.mjs';
17
18
  export { i as isome } from '../shared/core.FZ305VYd.mjs';
18
- export { m as markdownToHtml, a as markdownToText } from '../shared/core.CR3PmPzr.mjs';
19
+ export { m as markdownToHtml, a as markdownToText } from '../shared/core.CBLX4mT8.mjs';
19
20
 
20
21
  function e(e,t){let n=Math.ceil(e),r=Math.floor(t);if(r<n)throw RangeError(`randomInteger: The range [${e.toString()},${t.toString()}] contains no integer`);return Math.floor(Math.random()*(r-n+1)+n)}
21
22
 
@@ -58,6 +58,22 @@ declare function ifirst<T>(iterable: Iterable<T>, count: number): IteratorLike<T
58
58
  declare function iflat(): <T>(iterable: Iterable<IteratorLike<T>>) => IteratorLike<T>;
59
59
  declare function iflat<T>(iterable: Iterable<IteratorLike<T>>): IteratorLike<T>;
60
60
 
61
+ type FlatMapFunction<T, S> = (item: T) => Iterable<S>;
62
+ /**
63
+ * Maps an iterable using a mapper function and flattens the result by one level.
64
+ * Composable first version of `iflatMap`.
65
+ * @signature
66
+ * iflatMap(mapper)(data)
67
+ */
68
+ declare function iflatMap<T, S>(mapper: FlatMapFunction<T, S>): (iterable: Iterable<T>) => IteratorLike<S>;
69
+ /**
70
+ * Maps an iterable using a mapper function and flattens the result by one level.
71
+ * Data first version of `iflatMap`.
72
+ * @signature
73
+ * iflatMap(data, mapper)
74
+ */
75
+ declare function iflatMap<T, S>(iterable: Iterable<T>, mapper: FlatMapFunction<T, S>): IteratorLike<S>;
76
+
61
77
  declare function ihead<T>(): (iterable: Iterable<T>) => T | undefined;
62
78
  /**
63
79
  * Finds the first element in the iterable that satisfies the predicate.
@@ -113,4 +129,4 @@ declare function toSet<T>(iterable: Iterable<T>): Set<T>;
113
129
  declare function iunique(): <T>(iterable: Iterable<T>) => IteratorLike<T>;
114
130
  declare function iunique<T>(iterable: Iterable<T>): IteratorLike<T>;
115
131
 
116
- export { ifilter, ifind, ifirst, iflat, ihead, imap, ireduce, isome, iunique, toArray, toSet };
132
+ export { ifilter, ifind, ifirst, iflat, iflatMap, ihead, imap, ireduce, isome, iunique, toArray, toSet };
@@ -29,6 +29,22 @@ function ifirst(arg1, arg2) {
29
29
  return _first(arg1);
30
30
  }
31
31
 
32
+ function iflatMap(arg1, arg2) {
33
+ const mapper = arg2 ?? arg1;
34
+ invariant(e(mapper));
35
+ function* _flatMap(iter) {
36
+ for (const value of iter) {
37
+ const mapped = mapper(value);
38
+ yield* mapped;
39
+ }
40
+ return;
41
+ }
42
+ if (!arg2) {
43
+ return _flatMap;
44
+ }
45
+ return _flatMap(arg1);
46
+ }
47
+
32
48
  function ireduce(arg1, arg2, arg3) {
33
49
  const reducer = e$1(arg3) ? arg2 : arg1;
34
50
  const initialValue = arg3 ?? arg2;
@@ -43,4 +59,4 @@ function ireduce(arg1, arg2, arg3) {
43
59
  return e$1(arg3) ? _reduce(arg1) : _reduce;
44
60
  }
45
61
 
46
- export { ifirst, ireduce };
62
+ export { ifirst, iflatMap, ireduce };
@@ -0,0 +1,4 @@
1
+ {
2
+ "types": "../dist/geometry/index.d.mts",
3
+ "module": "../dist/geometry/index.mjs"
4
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@likec4/core",
3
- "version": "1.44.0",
3
+ "version": "1.46.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://likec4.dev",
6
6
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -39,6 +39,14 @@
39
39
  "default": "./dist/builder/index.mjs"
40
40
  }
41
41
  },
42
+ "./geometry": {
43
+ "sources": "./src/geometry/index.ts",
44
+ "default": {
45
+ "types": "./dist/geometry/index.d.mts",
46
+ "import": "./dist/geometry/index.mjs",
47
+ "default": "./dist/geometry/index.mjs"
48
+ }
49
+ },
42
50
  "./compute-view/relationships": {
43
51
  "sources": "./src/compute-view/relationships-view/index.ts",
44
52
  "default": {
@@ -105,20 +113,20 @@
105
113
  "type-fest": "^4.41.0"
106
114
  },
107
115
  "devDependencies": {
108
- "@dagrejs/dagre": "1.1.5",
109
- "@mantine/colors-generator": "8.3.7",
110
- "@types/chroma-js": "^3.1.1",
116
+ "@dagrejs/dagre": "1.1.8",
117
+ "@mantine/colors-generator": "8.3.9",
118
+ "@types/chroma-js": "^3.1.2",
111
119
  "@types/extend": "3.0.4",
112
120
  "@types/hast": "3.0.4",
113
121
  "@types/mdast": "4.0.4",
114
122
  "@types/natural-compare-lite": "^1.4.2",
115
- "@types/node": "~20.19.22",
123
+ "@types/node": "~22.19.1",
116
124
  "@types/object-hash": "^3.0.6",
117
125
  "@types/unist": "3.0.3",
118
- "chroma-js": "^3.1.2",
126
+ "chroma-js": "^3.2.0",
119
127
  "defu": "^6.1.4",
120
128
  "fdir": "6.4.0",
121
- "graphology": "^0.25.4",
129
+ "graphology": "^0.26.0",
122
130
  "graphology-dag": "^0.4.1",
123
131
  "graphology-types": "^0.24.8",
124
132
  "immer": "^10.2.0",
@@ -128,21 +136,21 @@
128
136
  "natural-compare-lite": "^1.4.0",
129
137
  "object-hash": "^3.0.0",
130
138
  "obliterator": "^2.0.5",
131
- "oxlint": "1.28.0",
139
+ "oxlint": "1.31.0",
132
140
  "rehype-format": "5.0.1",
133
- "rehype-raw": "7.0.0",
134
141
  "rehype-sanitize": "^6.0.0",
135
142
  "rehype-stringify": "10.0.1",
136
143
  "remark-gfm": "4.0.1",
144
+ "remark-github-blockquote-alert": "^2.0.0",
137
145
  "remark-parse": "11.0.0",
138
146
  "remark-rehype": "11.1.2",
139
147
  "remeda": "^2.32.0",
140
- "turbo": "2.6.0",
148
+ "turbo": "2.6.3",
141
149
  "typescript": "5.9.3",
142
150
  "unbuild": "3.5.0",
143
151
  "unified": "11.0.5",
144
- "vitest": "4.0.8",
145
- "@likec4/tsconfig": "1.44.0",
152
+ "vitest": "4.0.15",
153
+ "@likec4/tsconfig": "1.46.0",
146
154
  "@likec4/devops": "1.42.0"
147
155
  },
148
156
  "scripts": {
@@ -1,9 +0,0 @@
1
- import { t as t$3 } from './core.BsSXS-_R.mjs';
2
-
3
- function t$2(...t){return t$3(Object.entries,t)}
4
-
5
- function e(e,...n){return typeof e==`string`||typeof e==`number`||typeof e==`symbol`?r=>t$1(r,e,...n):t$1(e,...n)}function t$1(e,...t){let n=e;for(let e of t){if(n==null)return;n=n[e];}return n}
6
-
7
- function t(...t){return t$3(n,t)}function n(e,t){let n=[...e];return n.sort(t),n}
8
-
9
- export { t as a, e, t$2 as t };