likec4 1.0.0-next.6 → 1.0.0-next.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__app__/src/_virtual/Animation.js +3 -0
- package/dist/__app__/src/_virtual/BezierFunctions.js +3 -0
- package/dist/__app__/src/_virtual/Canvas.js +3 -0
- package/dist/__app__/src/_virtual/Circle.js +3 -0
- package/dist/__app__/src/_virtual/Container.js +3 -0
- package/dist/__app__/src/_virtual/Context.js +3 -0
- package/dist/__app__/src/_virtual/Core.js +3 -0
- package/dist/__app__/src/_virtual/DragAndDrop.js +3 -0
- package/dist/__app__/src/_virtual/Ellipse.js +3 -0
- package/dist/__app__/src/_virtual/Factory.js +3 -0
- package/dist/__app__/src/_virtual/FastLayer.js +3 -0
- package/dist/__app__/src/_virtual/Global.js +3 -0
- package/dist/__app__/src/_virtual/Group.js +3 -0
- package/dist/__app__/src/_virtual/Image.js +3 -0
- package/dist/__app__/src/_virtual/Layer.js +3 -0
- package/dist/__app__/src/_virtual/Line.js +3 -0
- package/dist/__app__/src/_virtual/Node.js +3 -0
- package/dist/__app__/src/_virtual/Path.js +3 -0
- package/dist/__app__/src/_virtual/PointerEvents.js +3 -0
- package/dist/__app__/src/_virtual/Rect.js +3 -0
- package/dist/__app__/src/_virtual/Shape.js +3 -0
- package/dist/__app__/src/_virtual/Stage.js +3 -0
- package/dist/__app__/src/_virtual/Text.js +3 -0
- package/dist/__app__/src/_virtual/Tween.js +3 -0
- package/dist/__app__/src/_virtual/Util.js +3 -0
- package/dist/__app__/src/_virtual/Validators.js +3 -0
- package/dist/__app__/src/_virtual/_CoreInternals.js +3 -0
- package/dist/__app__/src/_virtual/_commonjsHelpers.js +11 -0
- package/dist/__app__/src/_virtual/_react.js +6 -0
- package/dist/__app__/src/_virtual/_scheduler.js +6 -0
- package/dist/__app__/src/_virtual/constants.js +3 -0
- package/dist/__app__/src/_virtual/index.js +3 -0
- package/dist/__app__/src/_virtual/index2.js +3 -0
- package/dist/__app__/src/_virtual/index3.js +3 -0
- package/dist/__app__/src/_virtual/index4.js +3 -0
- package/dist/__app__/src/_virtual/index5.js +3 -0
- package/dist/__app__/src/_virtual/react-reconciler-constants.production.min.js +3 -0
- package/dist/__app__/src/_virtual/use-sync-external-store-shim.production.min.js +3 -0
- package/dist/__app__/src/_virtual/with-selector.js +3 -0
- package/dist/__app__/src/_virtual/with-selector.production.min.js +3 -0
- package/dist/__app__/src/app.js +18 -4
- package/dist/__app__/src/main.js +13 -0
- package/dist/__app__/src/packages/core/src/colors/element.js +77 -0
- package/dist/__app__/src/packages/core/src/colors/index.js +11 -0
- package/dist/__app__/src/packages/core/src/colors/relationships.js +66 -0
- package/dist/__app__/src/packages/core/src/errors/index.js +46 -0
- package/dist/__app__/src/packages/core/src/types/element.js +11 -0
- package/dist/__app__/src/packages/core/src/types/relation.js +5 -0
- package/dist/__app__/src/packages/core/src/utils/fqn.js +27 -0
- package/dist/__app__/src/packages/core/src/utils/guards.js +5 -0
- package/dist/__app__/src/packages/diagram/src/LikeC4Diagram.css.js +8 -0
- package/dist/__app__/src/packages/diagram/src/LikeC4Diagram.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/LikeC4Diagram.js +115 -0
- package/dist/__app__/src/packages/diagram/src/StaticLikeC4Diagram.js +30 -0
- package/dist/__app__/src/packages/diagram/src/hooks/use-set-state.js +19 -0
- package/dist/__app__/src/packages/diagram/src/hooks/use-update-effect.js +22 -0
- package/dist/__app__/src/packages/diagram/src/icons/Link.js +29 -0
- package/dist/__app__/src/packages/diagram/src/icons/ZoomIn.js +30 -0
- package/dist/__app__/src/packages/diagram/src/index.css.js +6 -0
- package/dist/__app__/src/packages/diagram/src/index.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/mantine/EnsureMantine.js +23 -0
- package/dist/__app__/src/packages/diagram/src/state/DiagramState.js +64 -0
- package/dist/__app__/src/packages/diagram/src/theme.css.js +3 -0
- package/dist/__app__/src/packages/diagram/src/theme.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/ui/KeepAspectRatio.css.js +5 -0
- package/dist/__app__/src/packages/diagram/src/ui/KeepAspectRatio.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/ui/KeepAspectRatio.js +33 -0
- package/dist/__app__/src/packages/diagram/src/ui/OptionsPanel.css.js +5 -0
- package/dist/__app__/src/packages/diagram/src/ui/OptionsPanel.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/ui/OptionsPanel.js +42 -0
- package/dist/__app__/src/packages/diagram/src/ui/options/NodeOptions.js +234 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/FitviewOnDiagramChange.js +43 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/UpdateOnDiagramChange.js +66 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/XYFlowBackground.js +27 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/XYFlowEvents.js +93 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/XYFlowWrapper.js +121 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/const.js +8 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/diagram-to-xyflow.js +135 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/edges/RelationshipEdge.js +170 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/edges/edges.css.js +10 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/edges/edges.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/edges/utils.js +83 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/hooks/index.js +6 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/hooks/use-layout-/321/201onstraints.js +196 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/compound/CompoundNode.css.js +9 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/compound/CompoundNode.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/compound/CompoundNode.js +99 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/ElementIcon.js +40 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/ElementLink.css.js +6 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/ElementLink.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/ElementLink.js +58 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/ElementNode.js +155 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/ElementShapeSvg.js +182 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/element.css.js +16 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/element/element.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/nodes/shared/NavigateToBtn.js +25 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/types.js +21 -0
- package/dist/__app__/src/packages/diagram/src/xyflow/utils.js +8 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/Diagram.js +384 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/Edges.js +144 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/Nodes.js +255 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/icons/LinkIcon.js +52 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/icons/ZoomInIcon.js +78 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/nodes/NodeLinkBtn.js +144 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/nodes/NodeZoomBtn.js +181 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Browser.js +85 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Compound.js +49 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Cylinder.js +63 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Edge.js +153 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Mobile.js +51 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/NodeIcon.js +71 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/NodeLabel.js +40 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Person.js +47 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Queue.js +64 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/Rectangle.js +25 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/shapes/utils.js +14 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/springs.js +63 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/state/atoms.js +78 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/state/gestures.js +21 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/state/hooks.js +23 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/state/provider.js +11 -0
- package/dist/__app__/src/packages/diagrams/src/diagram/utils.js +17 -0
- package/dist/__app__/src/packages/diagrams/src/hooks/useDiagramApi.js +26 -0
- package/dist/__app__/src/packages/diagrams/src/hooks/useImageLoader.js +73 -0
- package/dist/__app__/src/packages/diagrams/src/konva-portal.js +38 -0
- package/dist/__app__/src/packages/diagrams/src/konva.js +25 -0
- package/dist/__app__/src/packages/likec4/app/src/app.css.js +1 -0
- package/dist/__app__/src/packages/likec4/app/src/components/ColorSchemeToggle.js +25 -0
- package/dist/__app__/src/packages/likec4/app/src/components/CopyToClipboard.js +17 -0
- package/dist/__app__/src/packages/likec4/app/src/components/DiagramNotFound.js +30 -0
- package/dist/__app__/src/packages/likec4/app/src/components/NotFound.css.js +89 -0
- package/dist/__app__/src/packages/likec4/app/src/components/NotFound.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/likec4/app/src/components/NotFound.js +27 -0
- package/dist/__app__/src/packages/likec4/app/src/components/sidebar/DiagramsTree.js +89 -0
- package/dist/__app__/src/packages/likec4/app/src/components/sidebar/Drawer.js +36 -0
- package/dist/__app__/src/packages/likec4/app/src/components/sidebar/data.js +12 -0
- package/dist/__app__/src/packages/likec4/app/src/components/sidebar/diagram-tree-styles.css.js +1 -0
- package/dist/__app__/src/packages/likec4/app/src/components/sidebar/sidebar-diagram-tree.js +37 -0
- package/dist/__app__/src/packages/likec4/app/src/components/view-page/DisplayModeSelector.js +20 -0
- package/dist/__app__/src/packages/likec4/app/src/components/view-page/Header.css.js +5 -0
- package/dist/__app__/src/packages/likec4/app/src/components/view-page/Header.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/likec4/app/src/components/view-page/Header.js +175 -0
- package/dist/__app__/src/packages/likec4/app/src/components/view-page/ShareDialog.js +113 -0
- package/dist/__app__/src/packages/likec4/app/src/data/index-page.js +21 -0
- package/dist/__app__/src/packages/likec4/app/src/pages/view-page/ViewAsReact.css.js +5 -0
- package/dist/__app__/src/packages/likec4/app/src/pages/view-page/ViewAsReact.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/likec4/app/src/pages/view-page/ViewAsReact.js +79 -0
- package/dist/__app__/src/packages/likec4/app/src/routeTree.gen.js +78 -0
- package/dist/__app__/src/packages/likec4/app/src/router.js +32 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/__root.js +70 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/embed._viewId.js +54 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/export._viewId.js +54 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/index.css.js +5 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/index.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/index.js +137 -0
- package/dist/__app__/src/{view._viewId.d2.lazy-JOneBz4s.js → packages/likec4/app/src/routes/view._viewId.d2.lazy.js} +9 -3
- package/dist/__app__/src/{view._viewId.dot.lazy-CC7yWEqW.js → packages/likec4/app/src/routes/view._viewId.dot.lazy.js} +10 -3
- package/dist/__app__/src/packages/likec4/app/src/routes/view._viewId.editor.js +47 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/view._viewId.index.js +43 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/view._viewId.js +77 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/view._viewId.mmd.lazy.js +63 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/view._viewId.react-legacy.lazy.js +40 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/view.css.js +6 -0
- package/dist/__app__/src/packages/likec4/app/src/routes/view.css.ts.vanilla.css.js +1 -0
- package/dist/__app__/src/packages/likec4/app/src/theme.js +21 -0
- package/dist/__app__/src/packages/likec4/app/src/useTransparentBackground.js +16 -0
- package/dist/__app__/src/style.css +1 -33979
- package/dist/cli/index.js +21 -21
- package/package.json +1 -1
- package/dist/__app__/src/app-C9-kyeaP.js +0 -46792
- package/dist/__app__/src/main.jsx +0 -30
- package/dist/__app__/src/react-resizable-panels.browser.esm-CjDu1qC_.js +0 -2319
- package/dist/__app__/src/view._viewId.mmd.lazy-f-HUW3xB.js +0 -102
- package/dist/__app__/src/view._viewId.react-legacy.lazy-FFbZK6l1.js +0 -17770
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
2
|
+
|
|
3
|
+
function getDefaultExportFromCjs (x) {
|
|
4
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function getDefaultExportFromNamespaceIfNotNamed (n) {
|
|
8
|
+
return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { commonjsGlobal, getDefaultExportFromCjs, getDefaultExportFromNamespaceIfNotNamed };
|
package/dist/__app__/src/app.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
|
-
import 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
import '
|
|
4
|
-
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import './node_modules/@fontsource/ibm-plex-sans/400.css.js';
|
|
3
|
+
import './node_modules/@fontsource/ibm-plex-sans/500.css.js';
|
|
4
|
+
import './node_modules/@fontsource/ibm-plex-sans/600.css.js';
|
|
5
|
+
import './node_modules/@radix-ui/themes/styles.css.js';
|
|
6
|
+
import './node_modules/@mantine/core/styles.css.js';
|
|
7
|
+
import './node_modules/@xyflow/react/dist/style.css.js';
|
|
8
|
+
import './packages/likec4/app/src/app.css.js';
|
|
9
|
+
import { RouterProvider } from './node_modules/@tanstack/react-router/dist/esm/RouterProvider.js';
|
|
10
|
+
import { useMemo } from 'react';
|
|
11
|
+
import { createRouter } from './packages/likec4/app/src/router.js';
|
|
12
|
+
|
|
13
|
+
function LikeC4App({ basepath }) {
|
|
14
|
+
const router = useMemo(() => createRouter(basepath), [basepath]);
|
|
15
|
+
return /* @__PURE__ */ jsx(RouterProvider, { router });
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { LikeC4App as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import './style.css'
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import ReactDOM from 'react-dom/client'
|
|
4
|
+
import LikeC4App from './app'
|
|
5
|
+
|
|
6
|
+
let BASE = import.meta.env.BASE_URL
|
|
7
|
+
if (!BASE.endsWith('/')) {
|
|
8
|
+
BASE = BASE + '/'
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
ReactDOM.createRoot(document.getElementById('like4-root')).render(
|
|
12
|
+
jsx(LikeC4App, { basepath: BASE })
|
|
13
|
+
)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const blue = {
|
|
2
|
+
fill: "#3b82f6",
|
|
3
|
+
stroke: "#2563eb",
|
|
4
|
+
hiContrast: "#eff6ff",
|
|
5
|
+
loContrast: "#bfdbfe"
|
|
6
|
+
};
|
|
7
|
+
const sky = {
|
|
8
|
+
fill: "#0284c7",
|
|
9
|
+
stroke: "#0369a1",
|
|
10
|
+
hiContrast: "#f0f9ff",
|
|
11
|
+
loContrast: "#B6ECF7"
|
|
12
|
+
};
|
|
13
|
+
const slate = {
|
|
14
|
+
fill: "#64748b",
|
|
15
|
+
stroke: "#475569",
|
|
16
|
+
hiContrast: "#f8fafc",
|
|
17
|
+
loContrast: "#cbd5e1"
|
|
18
|
+
};
|
|
19
|
+
const ElementColors = {
|
|
20
|
+
primary: blue,
|
|
21
|
+
blue,
|
|
22
|
+
secondary: sky,
|
|
23
|
+
sky,
|
|
24
|
+
muted: slate,
|
|
25
|
+
slate,
|
|
26
|
+
gray: {
|
|
27
|
+
// fill: colors.neutral[500],
|
|
28
|
+
// stroke: colors.neutral[600],
|
|
29
|
+
// hiContrast: colors.neutral[50],
|
|
30
|
+
// loContrast: colors.neutral[200],
|
|
31
|
+
fill: "#737373",
|
|
32
|
+
stroke: "#525252",
|
|
33
|
+
hiContrast: "#fafafa",
|
|
34
|
+
loContrast: "#d4d4d4"
|
|
35
|
+
},
|
|
36
|
+
red: {
|
|
37
|
+
// fill: colors.red[500],
|
|
38
|
+
// stroke: colors.red[600],
|
|
39
|
+
// hiContrast: colors.red[50],
|
|
40
|
+
// loContrast: colors.red[200],
|
|
41
|
+
fill: "#AC4D39",
|
|
42
|
+
// fill: '#b54548',
|
|
43
|
+
stroke: "#853A2D",
|
|
44
|
+
// hiContrast: '#fef2f2',
|
|
45
|
+
// loContrast: '#fecaca',
|
|
46
|
+
// hiContrast: '#191111', // colors.gray[900],
|
|
47
|
+
// loContrast: '#3b1219' // colors.gray[800],
|
|
48
|
+
hiContrast: "#FBD3CB",
|
|
49
|
+
// hiContrast: '#f8fafc',
|
|
50
|
+
// loContrast: '#fdd8d8' // radix black red 12
|
|
51
|
+
loContrast: "#FF977D"
|
|
52
|
+
},
|
|
53
|
+
green: {
|
|
54
|
+
fill: "#428a4f",
|
|
55
|
+
stroke: "#2d5d39",
|
|
56
|
+
hiContrast: "#f8fafc",
|
|
57
|
+
loContrast: "#c2f0c2"
|
|
58
|
+
},
|
|
59
|
+
amber: {
|
|
60
|
+
fill: "#A35829",
|
|
61
|
+
stroke: "#7E451D",
|
|
62
|
+
hiContrast: "#FFE0C2",
|
|
63
|
+
loContrast: "#FFA057"
|
|
64
|
+
},
|
|
65
|
+
indigo: {
|
|
66
|
+
// fill: colors.indigo[500],
|
|
67
|
+
// stroke: colors.indigo[600],
|
|
68
|
+
// hiContrast: colors.indigo[50],
|
|
69
|
+
// loContrast: colors.indigo[200],
|
|
70
|
+
fill: "#6366f1",
|
|
71
|
+
stroke: "#4f46e5",
|
|
72
|
+
hiContrast: "#eef2ff",
|
|
73
|
+
loContrast: "#c7d2fe"
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export { ElementColors };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ElementColors } from './element.js';
|
|
2
|
+
import { RelationshipColors } from './relationships.js';
|
|
3
|
+
|
|
4
|
+
const defaultTheme = {
|
|
5
|
+
elements: ElementColors,
|
|
6
|
+
relationships: RelationshipColors,
|
|
7
|
+
font: "Helvetica",
|
|
8
|
+
shadow: "#0a0a0a"
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { ElementColors, RelationshipColors, defaultTheme };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const gray = {
|
|
2
|
+
lineColor: "#6E6E6E",
|
|
3
|
+
labelBgColor: "#18191b",
|
|
4
|
+
labelColor: "#C6C6C6"
|
|
5
|
+
};
|
|
6
|
+
const slate = {
|
|
7
|
+
lineColor: "#64748b",
|
|
8
|
+
// 500
|
|
9
|
+
labelBgColor: "#0f172a",
|
|
10
|
+
// 900
|
|
11
|
+
labelColor: "#cbd5e1"
|
|
12
|
+
// 300
|
|
13
|
+
};
|
|
14
|
+
const blue = {
|
|
15
|
+
lineColor: "#3b82f6",
|
|
16
|
+
// 500
|
|
17
|
+
labelBgColor: "#172554",
|
|
18
|
+
// 950
|
|
19
|
+
labelColor: "#60a5fa"
|
|
20
|
+
// 400
|
|
21
|
+
};
|
|
22
|
+
const sky = {
|
|
23
|
+
lineColor: "#0ea5e9",
|
|
24
|
+
// 500
|
|
25
|
+
labelBgColor: "#082f49",
|
|
26
|
+
// 950
|
|
27
|
+
labelColor: "#38bdf8"
|
|
28
|
+
// 400
|
|
29
|
+
};
|
|
30
|
+
const RelationshipColors = {
|
|
31
|
+
amber: {
|
|
32
|
+
lineColor: "#b45309",
|
|
33
|
+
labelBgColor: "#78350f",
|
|
34
|
+
labelColor: "#FFE0C2"
|
|
35
|
+
},
|
|
36
|
+
blue,
|
|
37
|
+
gray,
|
|
38
|
+
green: {
|
|
39
|
+
lineColor: "#15803d",
|
|
40
|
+
// 700
|
|
41
|
+
labelBgColor: "#052e16",
|
|
42
|
+
// 950
|
|
43
|
+
labelColor: "#22c55e"
|
|
44
|
+
// 500
|
|
45
|
+
},
|
|
46
|
+
indigo: {
|
|
47
|
+
lineColor: "#6366f1",
|
|
48
|
+
// 500
|
|
49
|
+
labelBgColor: "#1e1b4b",
|
|
50
|
+
// 950
|
|
51
|
+
labelColor: "#818cf8"
|
|
52
|
+
// 400
|
|
53
|
+
},
|
|
54
|
+
muted: slate,
|
|
55
|
+
primary: blue,
|
|
56
|
+
red: {
|
|
57
|
+
lineColor: "#AC4D39",
|
|
58
|
+
labelBgColor: "#b91c1c",
|
|
59
|
+
labelColor: "#FF977D"
|
|
60
|
+
},
|
|
61
|
+
secondary: sky,
|
|
62
|
+
sky,
|
|
63
|
+
slate
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export { RelationshipColors };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import '../../../../node_modules/safe-stable-stringify/esm/wrapper.js';
|
|
2
|
+
import { CustomError } from '../../../../node_modules/ts-custom-error/dist/custom-error.js';
|
|
3
|
+
import cjsModule from '../../../../node_modules/safe-stable-stringify/index.js';
|
|
4
|
+
|
|
5
|
+
class BaseError extends CustomError {
|
|
6
|
+
constructor(message, options) {
|
|
7
|
+
super(message, options);
|
|
8
|
+
Object.defineProperty(this, "name", { value: "BaseError" });
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
class NullableError extends BaseError {
|
|
12
|
+
constructor(message, options) {
|
|
13
|
+
super(message, options);
|
|
14
|
+
Object.defineProperty(this, "name", { value: "NullableError" });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
class InvariantError extends BaseError {
|
|
18
|
+
constructor(message, options) {
|
|
19
|
+
super(message, options);
|
|
20
|
+
Object.defineProperty(this, "name", { value: "InvariantError" });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function nonNullable(value, message) {
|
|
24
|
+
if (typeof value === "undefined" || value == null) {
|
|
25
|
+
throw new NullableError(message ?? `Expected defined value, but received ${value}`);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
function invariant(condition, message) {
|
|
30
|
+
if (condition) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
throw new InvariantError(message ?? "Invariant failed");
|
|
34
|
+
}
|
|
35
|
+
class NonExhaustiveError extends BaseError {
|
|
36
|
+
constructor(message, options) {
|
|
37
|
+
super(message, options);
|
|
38
|
+
Object.defineProperty(this, "name", { value: "NonExhaustiveError" });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function nonexhaustive(value) {
|
|
42
|
+
const val = typeof value === "string" ? value : cjsModule(value);
|
|
43
|
+
throw new NonExhaustiveError(`NonExhaustive value: ${val}`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { BaseError, InvariantError, NonExhaustiveError, NullableError, invariant, nonNullable, nonexhaustive };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isString } from './guards.js';
|
|
2
|
+
|
|
3
|
+
function isAncestor(...args) {
|
|
4
|
+
const ancestor = isString(args[0]) ? args[0] : args[0].id;
|
|
5
|
+
const another = isString(args[1]) ? args[1] : args[1].id;
|
|
6
|
+
return another.startsWith(ancestor + ".");
|
|
7
|
+
}
|
|
8
|
+
function compareFqnHierarchically(a, b) {
|
|
9
|
+
const depthA = a.split(".").length;
|
|
10
|
+
const depthB = b.split(".").length;
|
|
11
|
+
switch (true) {
|
|
12
|
+
case depthA > depthB: {
|
|
13
|
+
return 1;
|
|
14
|
+
}
|
|
15
|
+
case depthA < depthB: {
|
|
16
|
+
return -1;
|
|
17
|
+
}
|
|
18
|
+
default: {
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function compareByFqnHierarchically(a, b) {
|
|
24
|
+
return compareFqnHierarchically(a.id, b.id);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { compareByFqnHierarchically, compareFqnHierarchically, isAncestor };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import './LikeC4Diagram.css.ts.vanilla.css.js';
|
|
2
|
+
|
|
3
|
+
var cssReactFlow = '_17jps3v0';
|
|
4
|
+
var cssDisablePan = '_17jps3v1';
|
|
5
|
+
var cssTransparentBg = '_17jps3v2';
|
|
6
|
+
var cssNoControls = '_17jps3v3';
|
|
7
|
+
|
|
8
|
+
export { cssDisablePan, cssNoControls, cssReactFlow, cssTransparentBg };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { ReactFlowProvider, Controls } from '../../../node_modules/@xyflow/react/dist/esm/index.js';
|
|
3
|
+
import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
|
|
4
|
+
import { useRef } from 'react';
|
|
5
|
+
import { scope } from './index.css.js';
|
|
6
|
+
import { cssReactFlow, cssNoControls, cssDisablePan, cssTransparentBg } from './LikeC4Diagram.css.js';
|
|
7
|
+
import { EnsureMantine } from './mantine/EnsureMantine.js';
|
|
8
|
+
import { KeepAspectRatio } from './ui/KeepAspectRatio.js';
|
|
9
|
+
import OptionsPanel from './ui/OptionsPanel.js';
|
|
10
|
+
import { diagramViewToXYFlowData } from './xyflow/diagram-to-xyflow.js';
|
|
11
|
+
import { FitviewOnDiagramChange } from './xyflow/FitviewOnDiagramChange.js';
|
|
12
|
+
import { UpdateOnDiagramChange } from './xyflow/UpdateOnDiagramChange.js';
|
|
13
|
+
import { XYFlowBackground } from './xyflow/XYFlowBackground.js';
|
|
14
|
+
import { XYFlowEventHandlers } from './xyflow/XYFlowEvents.js';
|
|
15
|
+
import { XYFlow } from './xyflow/XYFlowWrapper.js';
|
|
16
|
+
import { DiagramStateProvider } from './state/DiagramState.js';
|
|
17
|
+
|
|
18
|
+
function LikeC4Diagram({
|
|
19
|
+
view,
|
|
20
|
+
className,
|
|
21
|
+
fitView = true,
|
|
22
|
+
fitViewPadding = 0,
|
|
23
|
+
colorMode,
|
|
24
|
+
readonly = true,
|
|
25
|
+
pannable = true,
|
|
26
|
+
zoomable = true,
|
|
27
|
+
nodesSelectable = true,
|
|
28
|
+
nodesDraggable = !readonly,
|
|
29
|
+
background = "dots",
|
|
30
|
+
controls = false,
|
|
31
|
+
disableHovercards = false,
|
|
32
|
+
initialWidth,
|
|
33
|
+
initialHeight,
|
|
34
|
+
keepAspectRatio = false,
|
|
35
|
+
...eventHandlers
|
|
36
|
+
}) {
|
|
37
|
+
const initialRef = useRef();
|
|
38
|
+
if (!initialRef.current) {
|
|
39
|
+
const initial = diagramViewToXYFlowData(view);
|
|
40
|
+
initialRef.current = {
|
|
41
|
+
defaultNodes: initial.nodes,
|
|
42
|
+
defaultEdges: initial.edges,
|
|
43
|
+
initialWidth: initialWidth ?? view.width,
|
|
44
|
+
initialHeight: initialHeight ?? view.height
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const isBgWithPattern = background !== "transparent" && background !== "solid";
|
|
48
|
+
const isNodeInteractive = nodesDraggable || nodesSelectable || !!eventHandlers.onNavigateTo || !!eventHandlers.onNavigateTo;
|
|
49
|
+
return /* @__PURE__ */ jsx(EnsureMantine, { colorMode, children: /* @__PURE__ */ jsx(
|
|
50
|
+
ReactFlowProvider,
|
|
51
|
+
{
|
|
52
|
+
fitView,
|
|
53
|
+
...initialRef.current,
|
|
54
|
+
children: /* @__PURE__ */ jsx(
|
|
55
|
+
DiagramStateProvider,
|
|
56
|
+
{
|
|
57
|
+
isNodeInteractive,
|
|
58
|
+
view,
|
|
59
|
+
fitViewPadding,
|
|
60
|
+
readonly,
|
|
61
|
+
disableHovercards,
|
|
62
|
+
eventHandlers,
|
|
63
|
+
children: /* @__PURE__ */ jsxs(XYFlowEventHandlers, { eventHandlers, children: [
|
|
64
|
+
/* @__PURE__ */ jsx(
|
|
65
|
+
KeepAspectRatio,
|
|
66
|
+
{
|
|
67
|
+
enabled: keepAspectRatio,
|
|
68
|
+
width: view.width,
|
|
69
|
+
height: view.height,
|
|
70
|
+
children: /* @__PURE__ */ jsxs(
|
|
71
|
+
XYFlow,
|
|
72
|
+
{
|
|
73
|
+
className: clsx(
|
|
74
|
+
cssReactFlow,
|
|
75
|
+
scope,
|
|
76
|
+
controls === false && cssNoControls,
|
|
77
|
+
pannable !== true && cssDisablePan,
|
|
78
|
+
background === "transparent" && cssTransparentBg,
|
|
79
|
+
className
|
|
80
|
+
),
|
|
81
|
+
defaultNodes: initialRef.current.defaultNodes,
|
|
82
|
+
defaultEdges: initialRef.current.defaultEdges,
|
|
83
|
+
readonly,
|
|
84
|
+
nodesDraggable,
|
|
85
|
+
nodesSelectable,
|
|
86
|
+
pannable,
|
|
87
|
+
zoomable,
|
|
88
|
+
fitView,
|
|
89
|
+
colorMode,
|
|
90
|
+
fitViewPadding,
|
|
91
|
+
children: [
|
|
92
|
+
isBgWithPattern && /* @__PURE__ */ jsx(XYFlowBackground, { background }),
|
|
93
|
+
controls && /* @__PURE__ */ jsx(Controls, {}),
|
|
94
|
+
readonly !== true && /* @__PURE__ */ jsx(OptionsPanel, {}),
|
|
95
|
+
fitView && /* @__PURE__ */ jsx(FitviewOnDiagramChange, {})
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
}
|
|
100
|
+
),
|
|
101
|
+
/* @__PURE__ */ jsx(
|
|
102
|
+
UpdateOnDiagramChange,
|
|
103
|
+
{
|
|
104
|
+
view,
|
|
105
|
+
nodesDraggable
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
] })
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
}
|
|
112
|
+
) });
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export { LikeC4Diagram };
|