@likec4/core 1.47.0 → 1.49.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 (152) hide show
  1. package/LICENSE +1 -1
  2. package/dist/THIRD-PARTY-LICENSES.md +1012 -0
  3. package/dist/_chunks/Builder.view-element.mjs +2 -0
  4. package/dist/_chunks/LikeC4Model.d.mts +1283 -0
  5. package/dist/_chunks/RichText.mjs +1 -0
  6. package/dist/_chunks/_types.d.mts +777 -0
  7. package/dist/_chunks/_types2.d.mts +36 -0
  8. package/dist/_chunks/assignTagColors.mjs +1 -0
  9. package/dist/_chunks/calcDriftsFromSnapshot.mjs +1 -0
  10. package/dist/_chunks/guards.d.mts +2026 -0
  11. package/dist/_chunks/guards.mjs +4 -0
  12. package/dist/_chunks/index.d.mts +288 -0
  13. package/dist/_chunks/libs/@mantine/colors-generator.mjs +15 -0
  14. package/dist/_chunks/libs/@radix-ui/colors.mjs +1 -0
  15. package/dist/_chunks/libs/@ungap/structured-clone.mjs +1 -0
  16. package/dist/_chunks/libs/bail.mjs +1 -0
  17. package/dist/_chunks/libs/ccount.mjs +1 -0
  18. package/dist/_chunks/libs/character-entities-html4.mjs +1 -0
  19. package/dist/_chunks/libs/character-entities-legacy.mjs +1 -0
  20. package/dist/_chunks/libs/character-entities.mjs +2 -0
  21. package/dist/_chunks/libs/comma-separated-tokens.mjs +1 -0
  22. package/dist/_chunks/libs/decode-named-character-reference.mjs +1 -0
  23. package/dist/_chunks/libs/defu.mjs +1 -0
  24. package/dist/_chunks/libs/devlop.mjs +1 -0
  25. package/dist/_chunks/libs/escape-string-regexp.mjs +1 -0
  26. package/dist/_chunks/libs/extend.mjs +1 -0
  27. package/dist/_chunks/libs/graphology-dag.mjs +1 -0
  28. package/dist/_chunks/libs/graphology.mjs +1 -0
  29. package/dist/_chunks/libs/hast-util-sanitize.mjs +1 -0
  30. package/dist/_chunks/libs/hast-util-to-html.mjs +9 -0
  31. package/dist/_chunks/libs/is-plain-obj.mjs +1 -0
  32. package/dist/_chunks/libs/longest-streak.mjs +1 -0
  33. package/dist/_chunks/libs/markdown-table.mjs +2 -0
  34. package/dist/_chunks/libs/mdast-util-find-and-replace.mjs +1 -0
  35. package/dist/_chunks/libs/mdast-util-from-markdown.mjs +3 -0
  36. package/dist/_chunks/libs/mdast-util-gfm.mjs +15 -0
  37. package/dist/_chunks/libs/mdast-util-to-hast.mjs +11 -0
  38. package/dist/_chunks/libs/micromark-extension-gfm.mjs +1 -0
  39. package/dist/_chunks/libs/mnemonist.d.mts +164 -0
  40. package/dist/_chunks/libs/mnemonist.mjs +1 -0
  41. package/dist/_chunks/libs/natural-compare-lite.mjs +9 -0
  42. package/dist/_chunks/libs/ohash.mjs +1 -0
  43. package/dist/_chunks/libs/rehype-sanitize.mjs +1 -0
  44. package/dist/_chunks/libs/rehype-stringify.mjs +1 -0
  45. package/dist/_chunks/libs/remark-gfm.mjs +1 -0
  46. package/dist/_chunks/libs/remark-github-blockquote-alert.mjs +3 -0
  47. package/dist/_chunks/libs/remark-parse.mjs +1 -0
  48. package/dist/_chunks/libs/remark-rehype.mjs +1 -0
  49. package/dist/_chunks/libs/remeda.mjs +1 -0
  50. package/dist/_chunks/libs/trough.mjs +1 -0
  51. package/dist/_chunks/libs/unified.mjs +1 -0
  52. package/dist/_chunks/rolldown-runtime.mjs +1 -0
  53. package/dist/_chunks/theme.d.mts +148 -0
  54. package/dist/_chunks/to-text.d.mts +404 -0
  55. package/dist/_chunks/to-text.mjs +1 -0
  56. package/dist/_chunks/vector.d.mts +198 -0
  57. package/dist/_chunks/vector.mjs +1 -0
  58. package/dist/builder/index.d.mts +5 -775
  59. package/dist/builder/index.mjs +1 -1053
  60. package/dist/compute-view/index.d.mts +156 -56
  61. package/dist/compute-view/index.mjs +2 -229
  62. package/dist/geometry/index.d.mts +2 -109
  63. package/dist/geometry/index.mjs +1 -328
  64. package/dist/index.d.mts +14 -20
  65. package/dist/index.mjs +1 -18
  66. package/dist/model/index.d.mts +5 -57
  67. package/dist/model/index.mjs +1 -4
  68. package/dist/styles/index.d.mts +3 -117
  69. package/dist/styles/index.mjs +1 -63
  70. package/dist/types/index.d.mts +3 -47
  71. package/dist/types/index.mjs +1 -17
  72. package/dist/utils/graphology/index.d.mts +2 -1864
  73. package/dist/utils/graphology/index.mjs +1 -1
  74. package/dist/utils/index.d.mts +4 -124
  75. package/dist/utils/index.mjs +1 -44
  76. package/package.json +20 -24
  77. package/compute-view/relationships/package.json +0 -4
  78. package/dist/compute-view/relationships-view/index.d.mts +0 -51
  79. package/dist/compute-view/relationships-view/index.mjs +0 -185
  80. package/dist/model/connection/deployment/index.d.mts +0 -15
  81. package/dist/model/connection/deployment/index.mjs +0 -2
  82. package/dist/model/connection/index.d.mts +0 -75
  83. package/dist/model/connection/index.mjs +0 -3
  84. package/dist/model/connection/model/index.d.mts +0 -15
  85. package/dist/model/connection/model/index.mjs +0 -2
  86. package/dist/shared/core.3ZhnKAlZ.mjs +0 -106
  87. package/dist/shared/core.78IWAHAE.mjs +0 -332
  88. package/dist/shared/core.B85MJLTf.mjs +0 -5
  89. package/dist/shared/core.BFd1lU9R.mjs +0 -29
  90. package/dist/shared/core.BKlholso.mjs +0 -3
  91. package/dist/shared/core.BNN-3vPH.mjs +0 -1255
  92. package/dist/shared/core.BPGOjone.d.mts +0 -46
  93. package/dist/shared/core.BP_QHEXs.mjs +0 -785
  94. package/dist/shared/core.BbE4y-yl.mjs +0 -177
  95. package/dist/shared/core.Bdy3hhTc.mjs +0 -28382
  96. package/dist/shared/core.BfCKSW-g.d.mts +0 -1266
  97. package/dist/shared/core.BhNcrwzK.mjs +0 -7
  98. package/dist/shared/core.BkVA6gjl.mjs +0 -5
  99. package/dist/shared/core.BoYfZOBm.mjs +0 -3
  100. package/dist/shared/core.BsSXS-_R.mjs +0 -7
  101. package/dist/shared/core.C3JowhaZ.mjs +0 -32
  102. package/dist/shared/core.C4x8aaWa.mjs +0 -27
  103. package/dist/shared/core.CAgYpDtM.d.mts +0 -98
  104. package/dist/shared/core.CHf8VEa3.mjs +0 -1206
  105. package/dist/shared/core.CLSZtnFh.mjs +0 -69
  106. package/dist/shared/core.C_3y3eqV.d.mts +0 -139
  107. package/dist/shared/core.CbT8JVYL.mjs +0 -5
  108. package/dist/shared/core.CdNCAwq7.mjs +0 -176
  109. package/dist/shared/core.CmGY9blO.mjs +0 -6717
  110. package/dist/shared/core.CmPXpJ8l.mjs +0 -21
  111. package/dist/shared/core.Coi_LOUZ.mjs +0 -7
  112. package/dist/shared/core.CqAJJpK_.mjs +0 -3
  113. package/dist/shared/core.CywrQs86.d.mts +0 -31
  114. package/dist/shared/core.D00YbOhQ.d.mts +0 -300
  115. package/dist/shared/core.D0WZutNd.mjs +0 -94
  116. package/dist/shared/core.D4npX2q8.mjs +0 -18
  117. package/dist/shared/core.DB0Ue5Wx.d.mts +0 -70
  118. package/dist/shared/core.DC5IAaDT.d.mts +0 -334
  119. package/dist/shared/core.DE9qzhn8.d.mts +0 -83
  120. package/dist/shared/core.DGcIbsj4.mjs +0 -3946
  121. package/dist/shared/core.DH7TXqXf.mjs +0 -136
  122. package/dist/shared/core.DKhRkHRN.d.mts +0 -41
  123. package/dist/shared/core.DRJma0Ol.mjs +0 -22
  124. package/dist/shared/core.DU5SRqNF.mjs +0 -2209
  125. package/dist/shared/core.DXhDWKFZ.d.mts +0 -3
  126. package/dist/shared/core.DbfO90vF.mjs +0 -434
  127. package/dist/shared/core.DcS-0zys.mjs +0 -10
  128. package/dist/shared/core.Dh119QSP.mjs +0 -4995
  129. package/dist/shared/core.DjcWextK.mjs +0 -1371
  130. package/dist/shared/core.Dojz4bvg.d.mts +0 -504
  131. package/dist/shared/core.FZ305VYd.mjs +0 -21
  132. package/dist/shared/core.OtRNdMxy.d.mts +0 -352
  133. package/dist/shared/core.RfnaEmgA.mjs +0 -7
  134. package/dist/shared/core.btEq3i3f.mjs +0 -300
  135. package/dist/shared/core.oSV6SRfk.mjs +0 -13
  136. package/dist/shared/core.om36dXXW.mjs +0 -41
  137. package/dist/shared/core.osFs8tU7.d.mts +0 -466
  138. package/dist/shared/core.q10OP9oJ.mjs +0 -5
  139. package/dist/shared/core.tpvDGvdC.d.mts +0 -87
  140. package/dist/shared/core.uFk_o9X6.mjs +0 -13
  141. package/dist/types/_aux.d.mts +0 -4
  142. package/dist/types/_aux.mjs +0 -8
  143. package/dist/types/expression-model.d.mts +0 -190
  144. package/dist/types/expression-model.mjs +0 -109
  145. package/dist/types/expression.d.mts +0 -6
  146. package/dist/types/expression.mjs +0 -113
  147. package/dist/types/fqnRef.d.mts +0 -60
  148. package/dist/types/fqnRef.mjs +0 -45
  149. package/dist/types/scalar.d.mts +0 -2
  150. package/dist/types/scalar.mjs +0 -4
  151. package/dist/utils/iterable/index.d.mts +0 -132
  152. package/dist/utils/iterable/index.mjs +0 -62
@@ -0,0 +1 @@
1
+ import{n as __exportAll}from"./rolldown-runtime.mjs";import{t as defu}from"./libs/defu.mjs";import{B as e$5,I as e,M as e$3,N as e$4,O as e$2,T as t$4,V as t$1,et as t$2,it as t$5,k as e$1,rt as t$6,t as t$3,x as t}from"./libs/remeda.mjs";import{Q as invariant,et as nonexhaustive,h as memoizeProp,n as markdownToHtml,t as markdownToText}from"./to-text.mjs";import{i as import_lru_map,n as import_default_weak_map,t as import_default_map}from"./libs/mnemonist.mjs";import{a as indigo,c as pink,d as ruby,f as teal,h as yellow,i as grass,l as purple,m as violet,n as blue$2,o as lime,p as tomato,r as crimson,s as orange,t as amber,u as red}from"./libs/@radix-ui/colors.mjs";import{n as chroma_js_default,t as generateColors}from"./libs/@mantine/colors-generator.mjs";function exact(n){return t(n,n=>n===void 0)}function preferSummary(n){return n.summary??n.description}function preferDescription(n){return n.description??n.summary}function isOnStage(n,r){return n[_stage]===r}const _stage=`_stage`,_type=`_type`,_layout=`_layout`;var scalar_exports=__exportAll({DeploymentFqn:()=>DeploymentFqn,EdgeId:()=>EdgeId,Fqn:()=>Fqn,GlobalFqn:()=>GlobalFqn,GroupElementKind:()=>GroupElementKind,MarkdownOrString:()=>MarkdownOrString,NodeId:()=>NodeId,NoneIcon:()=>NoneIcon,ProjectId:()=>ProjectId,RelationId:()=>RelationId,StepEdgeKind:()=>StepEdgeKind,ViewId:()=>ViewId,extractStep:()=>extractStep,flattenMarkdownOrString:()=>flattenMarkdownOrString,isGlobalFqn:()=>isGlobalFqn,isGroupElementKind:()=>isGroupElementKind,isStepEdgeId:()=>isStepEdgeId,splitGlobalFqn:()=>splitGlobalFqn,stepEdgeId:()=>stepEdgeId});function ProjectId(n){return n}function MarkdownOrString(n){return typeof n==`string`?{txt:n}:n}function flattenMarkdownOrString(n){if(e(n))return null;let r=e$1(n)?n:n.txt??n.md;return e$2(r?.trim())?r:null}const NoneIcon=`none`;function Fqn(n,r){return r?r+`.`+n:n}const GroupElementKind=`@group`;function isGroupElementKind(n){return n.kind===GroupElementKind}function DeploymentFqn(n,r){return r?r+`.`+n:n}function ViewId(n){return n}function RelationId(n){return n}function GlobalFqn(n,r){return invariant(typeof n==`string`&&n!=``),`@`+n+`.`+r}function isGlobalFqn(n){return n.startsWith(`@`)}function splitGlobalFqn(n){if(!n.startsWith(`@`))return[null,n];let r=n.indexOf(`.`);if(r<2)throw Error(`Invalid global FQN`);return[n.slice(1,r),n.slice(r+1)]}function NodeId(n){return n}function EdgeId(n){return n}function stepEdgeId(n,r){let i=`step-${String(n).padStart(2,`0`)}`;return r?`${i}.${r}`:i}const StepEdgeKind=`@step`;function isStepEdgeId(n){return n.startsWith(`step-`)}function extractStep(n){if(!isStepEdgeId(n))throw Error(`Invalid step edge id: ${n}`);return parseFloat(n.slice(5))}let FqnRef;(function(n){function r(n){return`model`in n&&!(`project`in n)}n.isElementRef=r;function i(n){return`project`in n&&`model`in n}n.isImportRef=i;function a(n){if(e$1(n))throw Error(`Expected FqnRef, got: "${n}"`);if(i(n))return GlobalFqn(n.project,n.model);if(r(n))return n.model;throw Error(`Expected FqnRef.ModelRef or FqnRef.ImportRef`)}n.flatten=a;function o(n){return r(n)||i(n)}n.isModelRef=o;function s(n){return`deployment`in n&&`element`in n}n.isInsideInstanceRef=s;function c(n){return`deployment`in n&&!(`element`in n)}n.isDeploymentElementRef=c;function l(n){return c(n)||s(n)}n.isDeploymentRef=l})(FqnRef||={});let FqnExpr;(function(n){function r(n){return`wildcard`in n&&n.wildcard===!0}n.isWildcard=r;function i(n){return`ref`in n&&FqnRef.isModelRef(n.ref)}n.isModelRef=i;function a(n){return`ref`in n&&FqnRef.isDeploymentRef(n.ref)}n.isDeploymentRef=a;function o(n){return`elementKind`in n&&`isEqual`in n}n.isElementKindExpr=o;function s(n){return`elementTag`in n&&`isEqual`in n}n.isElementTagExpr=s;function c(n){return`where`in n&&u(n.where.expr)}n.isWhere=c;function l(n){return`custom`in n&&(u(n.custom.expr)||c(n.custom.expr))}n.isCustom=l;function u(n){return r(n)||i(n)||a(n)||o(n)||s(n)}n.is=u;function d(n){return l(n)&&(n=n.custom.expr),c(n)&&(n=n.where.expr),n}n.unwrap=d})(FqnExpr||={});let RelationExpr;(function(n){function r(n){return`source`in n&&`target`in n}n.isDirect=r;function i(n){return`incoming`in n}n.isIncoming=i;function a(n){return`outgoing`in n}n.isOutgoing=a;function o(n){return`inout`in n}n.isInOut=o;function s(n){return`where`in n&&(r(n.where.expr)||i(n.where.expr)||a(n.where.expr)||o(n.where.expr))}n.isWhere=s;function c(n){return`customRelation`in n}n.isCustom=c;function l(n){return r(n)||i(n)||a(n)||o(n)}n.is=l;function u(n){return c(n)&&(n=n.customRelation.expr),s(n)&&(n=n.where.expr),n}n.unwrap=u})(RelationExpr||={});let Expression;(function(n){function r(n){return`where`in n}n.isWhere=r;function i(n){return RelationExpr.isWhere(n)}n.isRelationWhere=i;function a(n){return FqnExpr.isWhere(n)}n.isFqnExprWhere=a;function o(n){return FqnExpr.is(n)||FqnExpr.isWhere(n)||FqnExpr.isCustom(n)}n.isFqnExpr=o;function s(n){return RelationExpr.is(n)||RelationExpr.isWhere(n)||RelationExpr.isCustom(n)}n.isRelation=s})(Expression||={});let ModelFqnExpr;(function(n){function r(n){return`wildcard`in n&&n.wildcard===!0}n.isWildcard=r;function i(n){return`ref`in n&&FqnRef.isModelRef(n.ref)}n.isModelRef=i;function a(n){return`elementKind`in n&&`isEqual`in n}n.isElementKindExpr=a;function o(n){return`elementTag`in n&&`isEqual`in n}n.isElementTagExpr=o;function s(n){return`where`in n&&l(n.where.expr)}n.isWhere=s;function c(n){return`custom`in n&&(l(n.custom.expr)||s(n.custom.expr))}n.isCustom=c;function l(n){return r(n)||i(n)||a(n)||o(n)}n.is=l;function u(n){return c(n)&&(n=n.custom.expr),s(n)&&(n=n.where.expr),n}n.unwrap=u})(ModelFqnExpr||={});let ModelRelationExpr;(function(n){function r(n){return`source`in n&&`target`in n}n.isDirect=r;function i(n){return`incoming`in n}n.isIncoming=i;function a(n){return`outgoing`in n}n.isOutgoing=a;function o(n){return`inout`in n}n.isInOut=o;function s(n){return`where`in n&&(r(n.where.expr)||i(n.where.expr)||a(n.where.expr)||o(n.where.expr))}n.isWhere=s;function c(n){return`customRelation`in n}n.isCustom=c;function l(n){return r(n)||i(n)||a(n)||o(n)}n.is=l;function u(n){return c(n)&&(n=n.customRelation.expr),s(n)&&(n=n.where.expr),n}n.unwrap=u})(ModelRelationExpr||={});let ModelExpression;(function(n){function r(n){return`where`in n}n.isWhere=r;function i(n){return ModelRelationExpr.isWhere(n)}n.isRelationWhere=i;function a(n){return ModelFqnExpr.isWhere(n)}n.isFqnExprWhere=a;function o(n){return ModelFqnExpr.is(n)||ModelFqnExpr.isWhere(n)||ModelFqnExpr.isCustom(n)}n.isFqnExpr=o;function s(n){return ModelRelationExpr.is(n)||ModelRelationExpr.isWhere(n)||ModelRelationExpr.isCustom(n)}n.isRelationExpr=s})(ModelExpression||={});function isDeploymentNode(n){return e$2(n.kind)&&!e$2(n.element)}function isDeployedInstance(n){return e$2(n.element)&&!e$2(n.kind)}const blue$1={fill:`#3b82f6`,stroke:`#2563eb`,hiContrast:`#eff6ff`,loContrast:`#bfdbfe`},sky$1={fill:`#0284c7`,stroke:`#0369a1`,hiContrast:`#f0f9ff`,loContrast:`#B6ECF7`},slate$1={fill:`#64748b`,stroke:`#475569`,hiContrast:`#f8fafc`,loContrast:`#cbd5e1`},ElementColors={primary:blue$1,blue:blue$1,secondary:sky$1,sky:sky$1,muted:slate$1,slate:slate$1,gray:{fill:`#737373`,stroke:`#525252`,hiContrast:`#fafafa`,loContrast:`#d4d4d4`},red:{fill:`#AC4D39`,stroke:`#853A2D`,hiContrast:`#FBD3CB`,loContrast:`#f5b2a3`},green:{fill:`#428a4f`,stroke:`#2d5d39`,hiContrast:`#f8fafc`,loContrast:`#c2f0c2`},amber:{fill:`#A35829`,stroke:`#7E451D`,hiContrast:`#FFE0C2`,loContrast:`#f9b27c`},indigo:{fill:`#6366f1`,stroke:`#4f46e5`,hiContrast:`#eef2ff`,loContrast:`#c7d2fe`}},gray={line:`#8D8D8D`,labelBg:`#18191B`,label:`#C9C9C9`},slate={line:`#64748b`,labelBg:`#0f172a`,label:`#cbd5e1`},blue={line:`#3b82f6`,labelBg:`#172554`,label:`#60a5fa`},sky={line:`#0ea5e9`,labelBg:`#082f49`,label:`#38bdf8`},RelationshipColors={amber:{line:`#b45309`,labelBg:`#78350f`,label:`#FFE0C2`},blue,gray,green:{line:`#15803d`,labelBg:`#052e16`,label:`#22c55e`},indigo:{line:`#6366f1`,labelBg:`#1e1b4b`,label:`#818cf8`},muted:slate,primary:blue,red:{line:`#AC4D39`,labelBg:`#b91c1c`,label:`#f5b2a3`},secondary:sky,sky,slate},defaultSizes={sizes:{xs:{width:180,height:100},sm:{width:240,height:135},md:{width:320,height:180},lg:{width:420,height:234},xl:{width:520,height:290}},spacing:{xs:8,sm:10,md:16,lg:24,xl:32},textSizes:{xs:13.33,sm:16,md:19.2,lg:23.04,xl:27.65},iconSizes:{xs:24,sm:36,md:60,lg:82,xl:90}},Sizes=[`xs`,`sm`,`md`,`lg`,`xl`],IconPositions=[`left`,`right`,`top`,`bottom`],BorderStyles=[`solid`,`dashed`,`dotted`,`none`],ElementShapes=[`rectangle`,`person`,`browser`,`mobile`,`cylinder`,`storage`,`queue`,`bucket`,`document`,`component`],ThemeColors=[`amber`,`blue`,`gray`,`slate`,`green`,`indigo`,`muted`,`primary`,`red`,`secondary`,`sky`],DefaultTagColors=[`tomato`,`grass`,`blue`,`ruby`,`orange`,`indigo`,`pink`,`teal`,`purple`,`amber`,`crimson`,`red`,`lime`,`yellow`,`violet`],DefaultTagColorValues={tomato:tomato.tomato9,grass:grass.grass9,blue:blue$2.blue9,ruby:ruby.ruby9,orange:orange.orange9,indigo:indigo.indigo9,pink:pink.pink9,teal:teal.teal9,purple:purple.purple9,amber:amber.amber9,crimson:crimson.crimson9,red:red.red9,lime:lime.lime9,yellow:yellow.yellow9,violet:violet.violet9};function isDefaultTagColor(n){return n in DefaultTagColorValues}const defaultTheme$1={colors:ThemeColors.reduce((n,r)=>(n[r]={elements:ElementColors[r],relationships:RelationshipColors[r]},n),{}),...defaultSizes};function computeColorValues(n){invariant(chroma_js_default.valid(n),`Invalid color: ${n}`);let r=generateColors(n),i=r[6],a=getContrastedColorsAPCA(i);return{elements:{fill:i,stroke:r[7],...a},relationships:{line:r[4],label:r[3],labelBg:r[9]}}}function getContrastedColorsAPCA(n){let r=chroma_js_default(n),i=r.brighten(2),a=r.darken(2),o,s,c,l;do o=i,s=a,i=i.brighten(1),a=a.darken(1),c=chroma_js_default.contrastAPCA(r,i),l=chroma_js_default.contrastAPCA(r,a);while(Math.abs(c)<60&&Math.abs(l)<60&&(!t$1(i,o)||!t$1(a,s)));return Math.abs(c)>Math.abs(l)?{hiContrast:i.brighten(.4).hex(),loContrast:i.hex()}:{hiContrast:a.darken(.4).hex(),loContrast:a.hex()}}function computeCompoundColorValues(n,r){let i=r??6,a=chroma_js_default(n.fill),o=chroma_js_default(n.stroke),s=a.luminance()>.8,c=t$2(t$3(chroma_js_default.scale(s?[a.darken(.02).desaturate(.05),a.darken(.1).desaturate(.1)]:[a.shade(.12,`lch`).desaturate(.05),a.shade(.35,`lch`).desaturate(.4)]).mode(`oklch`).correctLightness().colors(i,null),chroma_js_default.scale(s?[o.darken(.04).desaturate(.05),o.darken(.12).desaturate(.1)]:[o.shade(.15,`lch`).desaturate(.08),o.shade(.4,`lch`).desaturate(.4)]).mode(`oklch`).correctLightness().colors(i,null)),t$4(([r,i])=>({...n,fill:r.hex(),stroke:i.hex()})));return invariant(c.length===i,`Expected ${i} colors, got ${c.length}`),c}const styleDefaults={color:`primary`,size:`md`,opacity:15,shape:`rectangle`,group:{opacity:15,border:`dashed`},relationship:{color:`gray`,line:`dashed`,arrow:`normal`}},defaultTheme=defaultTheme$1,defaultStyle={theme:defaultTheme,defaults:styleDefaults};var LikeC4Styles=class n{theme;defaults;static DEFAULT=new n(defaultStyle);static from(i,o){if(!i&&!o)return this.DEFAULT;let{customCss:s,theme:c,defaults:l}={...i},d=defu({theme:c},{defaults:{...l}},{theme:{colors:{...o}}},defaultStyle);return e(s?.content)&&t$1(d,defaultStyle)?this.DEFAULT:new n(d,s)}constructor(n,r){this.config=n,this.customCss=r,this.theme=n.theme,this.defaults=n.defaults}get elementColors(){return this.theme.colors[this.defaults.color].elements}get relationshipColors(){return this.theme.colors[this.defaults.relationship.color].relationships}get groupColors(){let n=this.defaults.group?.color;if(!n)return this.elementColors;if(!this.isThemeColor(n))throw Error(`Default group color not found in theme: ${n}`);return memoizeProp(this,`defaultGroup`,()=>({...this.elementColors,...this.theme.colors[n].elements}))}isDefaultColor(n){return n===this.defaults.color}colors(n){return this.computeFrom(n??=this.defaults.color)}compoundColorsCache=new import_default_weak_map.default(n=>new import_default_map.default(r=>computeCompoundColorValues(n,r)));colorsForCompounds(n,r){return this.compoundColorsCache.get(n).get(r??6)}fontSize(n){return n??=this.defaults.text??this.defaults.size,this.theme.textSizes[n]}padding(n){return n??=this.defaults.padding??this.defaults.size,this.theme.spacing[n]}iconSize(n){return n??=this.defaults.size,this.theme.iconSizes[n]}isThemeColor(n){return n in this.theme.colors}nodeSizes(n){let r=ensureSizes(n,this.defaults.size);return{sizes:r,values:{sizes:this.theme.sizes[r.size],padding:this.padding(r.padding),textSize:this.fontSize(r.textSize),iconSize:this.iconSize(r.iconSize)}}}computeFrom(n){if(this.isThemeColor(n))return this.theme.colors[n];if(!chroma_js_default.valid(n))throw Error(`Invalid color value: "${n}" (not a theme color and not a valid CSS color)`);return computeColorValues(n)}equals(n){return n===this?!0:this.constructor===n.constructor?t$1(this.config,n.config)&&t$1(this.customCss??null,n.customCss??null):!1}tagColor(n){return this.isThemeColor(n)?this.theme.colors[n].elements:isDefaultTagColor(n)?this.computeFrom(DefaultTagColorValues[n]).elements:this.computeFrom(n).elements}};function ensureSizes({size:n,padding:r,textSize:i,iconSize:a,...o},s=defaultStyle.defaults.size){return n??=s,i??=n,r??=n,a??=n,{...o,size:n,padding:r,textSize:i,iconSize:a}}function isTagColorSpecified(n){let r=typeof n==`string`?n:n.color;return r.startsWith(`#`)||r.startsWith(`rgb`)}function isTagEqual(n){return`tag`in n}function isKindEqual(n){return`kind`in n}function isParticipantOperator(n){return`participant`in n}function isNotOperator(n){return`not`in n}function isAndOperator(n){return`and`in n}function isOrOperator(n){return`or`in n}function whereOperatorAsPredicate(n){switch(!0){case isParticipantOperator(n):{let r=n.participant;return participantIs(r,whereOperatorAsPredicate(n.operator))}case isTagEqual(n):{if(e$1(n.tag)||`eq`in n.tag){let r=e$1(n.tag)?n.tag:n.tag.eq;return n=>Array.isArray(n.tags)&&n.tags.includes(r)}let r=n.tag.neq;return n=>!Array.isArray(n.tags)||!n.tags.includes(r)}case isKindEqual(n):{if(e$1(n.kind)||`eq`in n.kind){let r=e$1(n.kind)?n.kind:n.kind.eq;return n=>n.kind===r}let r=n.kind.neq;return n=>e$3(n.kind)||n.kind!==r}case isNotOperator(n):return e$4(whereOperatorAsPredicate(n.not));case isAndOperator(n):return t$5(n.and.map(whereOperatorAsPredicate));case isOrOperator(n):return t$6(n.or.map(whereOperatorAsPredicate));default:nonexhaustive(n)}}function participantIs(n,r){return i=>{if(!i.source||!i.target)return!1;switch(n){case`source`:return r(i.source);case`target`:return r(i.target)}}}function isViewRulePredicate(n){return`include`in n||`exclude`in n}function isViewRuleStyle(n){return`targets`in n&&`style`in n}function isComputedView(n){return n._stage===`computed`}function isDiagramView(n){return n._stage===`layouted`}function isElementView(n){return n._type===`element`}function isScopedElementView(n){return isElementView(n)&&e$2(n.viewOf)}function isExtendsElementView(n){return isElementView(n)&&e$2(n.extends)}function isDeploymentView(n){return n._type===`deployment`}function isDynamicView(n){return n._type===`dynamic`}function isViewRuleGlobalStyle(n){return`styleId`in n}function isViewRuleGlobalPredicateRef(n){return`predicateId`in n}function isAutoLayoutDirection(n){return n===`TB`||n===`BT`||n===`LR`||n===`RL`}function isViewRuleAutoLayout(n){return`direction`in n}function getParallelStepsPrefix(n){return isStepEdgeId(n)&&n.includes(`.`)?n.slice(0,n.indexOf(`.`)+1):null}function isDynamicStep(n){return!!n&&!(`__series`in n||`__parallel`in n)}function isDynamicStepsParallel(n){return!!n&&`__parallel`in n&&e$5(n.__parallel)}function isDynamicStepsSeries(n){return!!n&&`__series`in n&&e$5(n.__series)}function isViewRuleGroup(n){return`title`in n&&`groupRules`in n&&Array.isArray(n.groupRules)}function isViewRuleRank(n){return`rank`in n&&Array.isArray(n.targets)}const symb_text=Symbol.for(`text`),symb_html=Symbol.for(`html`);var RichText=class n{static mdcache=new import_lru_map.default(500);static txtcache=new import_lru_map.default(500);static getOrCreateFromText(r){if(r=r.trimEnd(),r===``)return n.EMPTY;let i=n.txtcache.get(r);return i||(i=new n({txt:r}),n.txtcache.set(r,i),i)}static getOrCreateFromMarkdown(r){if(r=r.trimEnd(),r===``)return n.EMPTY;let i=n.mdcache.get(r);return i||(i=new n({md:r}),n.mdcache.set(r,i),i)}static memoize(r,i,a){return memoizeProp(r,i,()=>n.from(a))}static from(r){return r==null||r===n.EMPTY?n.EMPTY:r instanceof n?r:typeof r==`string`?this.getOrCreateFromText(r):`isEmpty`in r&&r.isEmpty?n.EMPTY:`md`in r?this.getOrCreateFromMarkdown(r.md):this.getOrCreateFromText(r.txt)}static EMPTY=new class extends n{isEmpty=!0;nonEmpty=!1;isMarkdown=!1;$source=null;constructor(){super({txt:``})}get text(){return null}get md(){return null}get html(){return null}};$source;isEmpty;nonEmpty;isMarkdown;constructor(n){this.isMarkdown=!1,typeof n==`string`?(this.$source={txt:n},this.isEmpty=n.trim()===``):(this.$source=n,this.isEmpty=!0,`md`in n?(this.isEmpty=n.md===``,this.isMarkdown=!0):this.isEmpty=n.txt===``),this.nonEmpty=!this.isEmpty}get text(){if(this.isEmpty||this.$source===null)return``;let n=this.$source;return`txt`in n?n.txt:memoizeProp(this,symb_text,()=>markdownToText(n.md))}get md(){if(this.isEmpty||this.$source===null)return``;let n=this.$source;if(`md`in n)return n.md;if(`txt`in n)return n.txt;nonexhaustive(n)}get html(){if(this.isEmpty||this.$source===null)return``;let n=this.$source;return`txt`in n?n.txt:memoizeProp(this,symb_html,()=>markdownToHtml(n.md))}equals(r){return this===r?!0:r instanceof n?this.isEmpty&&r.isEmpty?!0:this.isEmpty!==r.isEmpty||this.isMarkdown!==r.isMarkdown?!1:this.isMarkdown?this.$source?.md===r.$source?.md:this.$source?.txt===r.$source?.txt:!1}};export{GroupElementKind as $,LikeC4Styles as A,isDeployedInstance as B,isNotOperator as C,whereOperatorAsPredicate as D,isTagEqual as E,DefaultTagColors as F,Expression as G,ModelExpression as H,ElementShapes as I,FqnRef as J,FqnExpr as K,IconPositions as L,styleDefaults as M,computeColorValues as N,isTagColorSpecified as O,BorderStyles as P,GlobalFqn as Q,Sizes as R,isKindEqual as S,isParticipantOperator as T,ModelFqnExpr as U,isDeploymentNode as V,ModelRelationExpr as W,EdgeId as X,DeploymentFqn as Y,Fqn as Z,isExtendsElementView as _,_type as _t,isDynamicStep as a,StepEdgeKind as at,isViewRuleStyle as b,preferSummary as bt,isAutoLayoutDirection as c,flattenMarkdownOrString as ct,isViewRuleGlobalStyle as d,isStepEdgeId as dt,MarkdownOrString as et,isComputedView as f,scalar_exports as ft,isElementView as g,_stage as gt,isDynamicView as h,_layout as ht,getParallelStepsPrefix as i,RelationId as it,defaultTheme as j,ensureSizes as k,isViewRuleAutoLayout as l,isGlobalFqn as lt,isDiagramView as m,stepEdgeId as mt,isViewRuleGroup as n,NoneIcon as nt,isDynamicStepsParallel as o,ViewId as ot,isDeploymentView as p,splitGlobalFqn as pt,RelationExpr as q,isViewRuleRank as r,ProjectId as rt,isDynamicStepsSeries as s,extractStep as st,RichText as t,NodeId as tt,isViewRuleGlobalPredicateRef as u,isGroupElementKind as ut,isScopedElementView as v,isOnStage as vt,isOrOperator as w,isAndOperator as x,exact as xt,isViewRulePredicate as y,preferDescription as yt,ThemeColors as z};