@flowconsole/web 0.0.0-beta-20260127184843

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 (53) hide show
  1. package/LICENSE +202 -0
  2. package/dist/_.contribution-CNMVP3ek.js +124160 -0
  3. package/dist/components/ArchitectureDiagram.d.ts +16 -0
  4. package/dist/components/FlowConsoleLogo.d.ts +3 -0
  5. package/dist/components/NavigationPanel/NavigationPanel.d.ts +29 -0
  6. package/dist/components/NavigationPanel/NavigationPanelControls.d.ts +22 -0
  7. package/dist/components/NavigationPanel/NavigationPanelDropdown.d.ts +15 -0
  8. package/dist/components/NavigationPanel/SearchOverlay.d.ts +11 -0
  9. package/dist/components/NavigationPanel/index.d.ts +2 -0
  10. package/dist/components/VerticalSplit.d.ts +15 -0
  11. package/dist/components/Workbench/CodeDiagramWorkbench.d.ts +7 -0
  12. package/dist/components/ui/index.d.ts +92 -0
  13. package/dist/csharp-BQi3szM0.js +326 -0
  14. package/dist/csharp.contribution-Er9Y3QJk.js +7 -0
  15. package/dist/diagram/graphvizLayoutService.d.ts +2 -0
  16. package/dist/diagram/registry.d.ts +3 -0
  17. package/dist/diagram/theme.d.ts +9 -0
  18. package/dist/diagram/types.d.ts +89 -0
  19. package/dist/diagram/utils/scopedModel.d.ts +3 -0
  20. package/dist/flowconsole-web.css +1 -0
  21. package/dist/flowconsole-web.js +5184 -0
  22. package/dist/flowconsole-web.umd.cjs +1110 -0
  23. package/dist/go-D1-I258M.js +218 -0
  24. package/dist/go.contribution-D2SBTWls.js +7 -0
  25. package/dist/hooks/hooks.d.ts +24 -0
  26. package/dist/index.d.ts +9 -0
  27. package/dist/java-OBvaP_SS.js +232 -0
  28. package/dist/java.contribution-BVkCm4-Q.js +8 -0
  29. package/dist/languages/csharp/csharp.d.ts +2 -0
  30. package/dist/languages/go/go.d.ts +2 -0
  31. package/dist/languages/index.d.ts +4 -0
  32. package/dist/languages/java/java.d.ts +2 -0
  33. package/dist/languages/parseResultMapper.d.ts +26 -0
  34. package/dist/languages/python/python.d.ts +2 -0
  35. package/dist/languages/runtime.d.ts +4 -0
  36. package/dist/languages/types.d.ts +25 -0
  37. package/dist/languages/typescript/diagramRuntime.d.ts +93 -0
  38. package/dist/languages/typescript/evaluateDiagramCode.d.ts +2 -0
  39. package/dist/languages/typescript/modelToReactflowMapper.d.ts +3 -0
  40. package/dist/languages/typescript/samples.d.ts +4 -0
  41. package/dist/languages/typescript/typescript.d.ts +2 -0
  42. package/dist/python-CRr7iztI.js +294 -0
  43. package/dist/python.contribution-DDUpm_jJ.js +8 -0
  44. package/dist/reactflow/edges/FloatingConnectionLine.d.ts +13 -0
  45. package/dist/reactflow/edges/RelationshipEdge.d.ts +13 -0
  46. package/dist/reactflow/nodes/ContainerNode.d.ts +3 -0
  47. package/dist/reactflow/nodes/ElementNode.d.ts +3 -0
  48. package/dist/reactflow/nodes/HiddenHandles.d.ts +1 -0
  49. package/dist/reactflow/utils/floating.d.ts +24 -0
  50. package/dist/theme/ThemeProvider.d.ts +13 -0
  51. package/dist/types/theme.d.ts +5 -0
  52. package/dist/vite.config.d.ts +2 -0
  53. package/package.json +94 -0
@@ -0,0 +1,16 @@
1
+ import { ArchitectureDiagramModel, ArchitectureEdgeTypes, ArchitectureNodeTypes } from '../diagram/types';
2
+ import { ThemeControls } from '../types/theme';
3
+ type ArchitectureDiagramProps = {
4
+ model: ArchitectureDiagramModel;
5
+ nodeTypes?: ArchitectureNodeTypes;
6
+ edgeTypes?: ArchitectureEdgeTypes;
7
+ editable?: boolean;
8
+ autoLayout?: boolean;
9
+ viewId?: string;
10
+ viewTitle?: string;
11
+ viewDescription?: string;
12
+ resolvedScheme?: 'light' | 'dark';
13
+ themeControls?: ThemeControls;
14
+ };
15
+ export declare function ArchitectureDiagram({ model, nodeTypes, edgeTypes, editable, autoLayout, viewId, viewTitle, viewDescription, themeControls, }: ArchitectureDiagramProps): import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const FlowConsoleLogo: ({ color }: {
2
+ color?: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { ArchitectureNode, ArchitectureDiagramModel, FlowDefinition } from '../../diagram/types';
2
+ import { ThemeControls } from '../../types/theme';
3
+ export type NavigationItem = {
4
+ id: string;
5
+ title: string;
6
+ description?: string;
7
+ badge?: string;
8
+ type: ArchitectureNode['type'];
9
+ shape?: string;
10
+ parentId?: string;
11
+ children: NavigationItem[];
12
+ };
13
+ type Props = {
14
+ model: ArchitectureDiagramModel;
15
+ viewId?: string;
16
+ viewTitle?: string;
17
+ viewDescription?: string;
18
+ flows?: FlowDefinition[];
19
+ activeFlowId?: string;
20
+ activeFlowStep?: number;
21
+ nodeTitles?: Map<string, string>;
22
+ onSelectFlow?: (id: string | undefined) => void;
23
+ onFlowStepChange?: (step: number) => void;
24
+ onNavigate?: (id: string) => void;
25
+ onToggleFlowPanel?: () => void;
26
+ themeControls?: ThemeControls;
27
+ };
28
+ export declare function NavigationPanel({ model, viewId, viewTitle, viewDescription, onNavigate, onToggleFlowPanel, themeControls, }: Props): import("react/jsx-runtime").JSX.Element;
29
+ export default NavigationPanel;
@@ -0,0 +1,22 @@
1
+ import { ThemeControls } from '../../types/theme';
2
+ type Crumb = {
3
+ id: string;
4
+ title: string;
5
+ };
6
+ type Props = {
7
+ breadcrumbs: Crumb[];
8
+ viewTitle?: string;
9
+ onToggle: () => void;
10
+ onBack: () => void;
11
+ onForward: () => void;
12
+ canBack: boolean;
13
+ canForward: boolean;
14
+ onOpenSearch?: () => void;
15
+ onOpenFlows?: () => void;
16
+ activeId?: string;
17
+ onTitleHoverStart?: () => void;
18
+ onTitleHoverEnd?: () => void;
19
+ themeControls?: ThemeControls;
20
+ };
21
+ export declare function NavigationPanelControls({ breadcrumbs, viewTitle, onToggle, onBack, onForward, canBack, canForward, onOpenSearch, onOpenFlows, activeId, onTitleHoverStart, onTitleHoverEnd, themeControls, }: Props): import("react/jsx-runtime").JSX.Element;
22
+ export default NavigationPanelControls;
@@ -0,0 +1,15 @@
1
+ import { RefObject } from 'react';
2
+ import { NavigationItem } from './NavigationPanel';
3
+ type Props = {
4
+ tree: NavigationItem[];
5
+ flat: NavigationItem[];
6
+ activeId?: string;
7
+ search: string;
8
+ onSearch: (value: string) => void;
9
+ expanded: Set<string>;
10
+ onToggleExpand: (id: string) => void;
11
+ onSelect: (id: string) => void;
12
+ searchInputRef?: RefObject<HTMLInputElement | null>;
13
+ };
14
+ export declare function NavigationPanelDropdown({ tree, flat, activeId, search, onSearch, expanded, onToggleExpand, onSelect, searchInputRef, }: Props): import("react/jsx-runtime").JSX.Element;
15
+ export default NavigationPanelDropdown;
@@ -0,0 +1,11 @@
1
+ import { NavigationItem } from './NavigationPanel';
2
+ type Props = {
3
+ opened: boolean;
4
+ onClose: () => void;
5
+ items: NavigationItem[];
6
+ tree: NavigationItem[];
7
+ activeId?: string;
8
+ onSelect: (id: string) => void;
9
+ };
10
+ export declare function SearchOverlay({ opened, onClose, items: _items, tree, activeId, onSelect }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export default SearchOverlay;
@@ -0,0 +1,2 @@
1
+ export * from './NavigationPanel';
2
+ export { default } from './NavigationPanel';
@@ -0,0 +1,15 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ type VerticalSplitPaneProps = {
3
+ children: ReactNode;
4
+ };
5
+ type VerticalSplitComponent = ((props: VerticalSplitProps) => ReactElement | null) & {
6
+ Pane: (props: VerticalSplitPaneProps) => ReactElement | null;
7
+ };
8
+ type VerticalSplitProps = {
9
+ children: ReactNode;
10
+ initialPercent?: number;
11
+ minPercent?: number;
12
+ maxPercent?: number;
13
+ };
14
+ export declare const VerticalSplit: VerticalSplitComponent;
15
+ export {};
@@ -0,0 +1,7 @@
1
+ import { ThemeControls } from '../../types/theme';
2
+ type Props = {
3
+ resolvedScheme?: 'light' | 'dark';
4
+ themeControls?: ThemeControls;
5
+ };
6
+ export declare function CodeDiagramWorkbench({ themeControls }: Props): import("react/jsx-runtime").JSX.Element;
7
+ export default CodeDiagramWorkbench;
@@ -0,0 +1,92 @@
1
+ import { ButtonHTMLAttributes, CSSProperties, HTMLAttributes, InputHTMLAttributes, JSX, ReactNode } from 'react';
2
+ type Spacing = number | string;
3
+ export declare const ActionIcon: import('react').ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
4
+ variant?: "light" | "subtle" | "filled";
5
+ color?: "blue" | string;
6
+ size?: "sm" | "md" | number;
7
+ } & import('react').RefAttributes<HTMLButtonElement>>;
8
+ type BadgeProps = HTMLAttributes<HTMLSpanElement> & {
9
+ variant?: 'light';
10
+ size?: 'sm' | 'md';
11
+ };
12
+ export declare function Badge({ variant, size, className, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
13
+ type GroupProps = HTMLAttributes<HTMLDivElement> & {
14
+ gap?: Spacing;
15
+ align?: CSSProperties['alignItems'];
16
+ justify?: CSSProperties['justifyContent'];
17
+ wrap?: CSSProperties['flexWrap'];
18
+ };
19
+ export declare function Group({ gap, align, justify, wrap, style, className, ...props }: GroupProps): import("react/jsx-runtime").JSX.Element;
20
+ type TextProps = HTMLAttributes<HTMLDivElement> & {
21
+ size?: 'xs' | 'sm' | 'md' | 'lg';
22
+ fw?: number;
23
+ c?: 'dimmed' | string;
24
+ px?: Spacing;
25
+ py?: Spacing;
26
+ };
27
+ export declare function Text({ size, fw, c, px, py, style, className, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
28
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> & {
29
+ size?: 'sm' | 'md';
30
+ leftSection?: ReactNode;
31
+ mb?: Spacing;
32
+ };
33
+ export declare const Input: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & {
34
+ size?: "sm" | "md";
35
+ leftSection?: ReactNode;
36
+ mb?: Spacing;
37
+ } & import('react').RefAttributes<HTMLInputElement>>;
38
+ type TextInputProps = Omit<InputProps, 'leftSection'>;
39
+ export declare const TextInput: import('react').ForwardRefExoticComponent<TextInputProps & import('react').RefAttributes<HTMLInputElement>>;
40
+ type TooltipProps = {
41
+ label?: ReactNode;
42
+ children: ReactNode;
43
+ openDelay?: number;
44
+ };
45
+ export declare function Tooltip({ label, children }: TooltipProps): import("react/jsx-runtime").JSX.Element;
46
+ type ScrollAreaProps = HTMLAttributes<HTMLDivElement> & {
47
+ h?: Spacing;
48
+ scrollbars?: 'x' | 'y' | 'xy';
49
+ type?: 'auto' | 'always';
50
+ styles?: {
51
+ viewport?: CSSProperties;
52
+ };
53
+ };
54
+ export declare function ScrollArea({ h, scrollbars, type, style, className, styles, ...props }: ScrollAreaProps): import("react/jsx-runtime").JSX.Element;
55
+ type ModalProps = {
56
+ opened: boolean;
57
+ onClose: () => void;
58
+ title?: ReactNode;
59
+ children: ReactNode;
60
+ fullScreen?: boolean;
61
+ overlayProps?: {
62
+ opacity?: number;
63
+ blur?: number;
64
+ };
65
+ transitionProps?: {
66
+ duration?: number;
67
+ };
68
+ styles?: {
69
+ header?: CSSProperties;
70
+ body?: CSSProperties;
71
+ };
72
+ };
73
+ export declare function Modal({ opened, onClose, title, children, fullScreen, overlayProps, styles, }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
74
+ type PopoverProps = {
75
+ opened?: boolean;
76
+ onClose?: () => void;
77
+ position?: string;
78
+ withArrow?: boolean;
79
+ offset?: number;
80
+ className?: string;
81
+ children: ReactNode;
82
+ };
83
+ type PopoverDropdownProps = HTMLAttributes<HTMLDivElement>;
84
+ type PopoverTargetProps = {
85
+ children: ReactNode;
86
+ };
87
+ type PopoverComponent = ((props: PopoverProps) => JSX.Element) & {
88
+ Target: (props: PopoverTargetProps) => JSX.Element;
89
+ Dropdown: (props: PopoverDropdownProps) => JSX.Element | null;
90
+ };
91
+ export declare const Popover: PopoverComponent;
92
+ export {};
@@ -0,0 +1,326 @@
1
+ const e = {
2
+ wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
3
+ comments: {
4
+ lineComment: "//",
5
+ blockComment: ["/*", "*/"]
6
+ },
7
+ brackets: [
8
+ ["{", "}"],
9
+ ["[", "]"],
10
+ ["(", ")"]
11
+ ],
12
+ autoClosingPairs: [
13
+ { open: "{", close: "}" },
14
+ { open: "[", close: "]" },
15
+ { open: "(", close: ")" },
16
+ { open: "'", close: "'", notIn: ["string", "comment"] },
17
+ { open: '"', close: '"', notIn: ["string", "comment"] }
18
+ ],
19
+ surroundingPairs: [
20
+ { open: "{", close: "}" },
21
+ { open: "[", close: "]" },
22
+ { open: "(", close: ")" },
23
+ { open: "<", close: ">" },
24
+ { open: "'", close: "'" },
25
+ { open: '"', close: '"' }
26
+ ],
27
+ folding: {
28
+ markers: {
29
+ start: new RegExp("^\\s*#region\\b"),
30
+ end: new RegExp("^\\s*#endregion\\b")
31
+ }
32
+ }
33
+ }, t = {
34
+ defaultToken: "",
35
+ tokenPostfix: ".cs",
36
+ brackets: [
37
+ { open: "{", close: "}", token: "delimiter.curly" },
38
+ { open: "[", close: "]", token: "delimiter.square" },
39
+ { open: "(", close: ")", token: "delimiter.parenthesis" },
40
+ { open: "<", close: ">", token: "delimiter.angle" }
41
+ ],
42
+ keywords: [
43
+ "extern",
44
+ "alias",
45
+ "using",
46
+ "bool",
47
+ "decimal",
48
+ "sbyte",
49
+ "byte",
50
+ "short",
51
+ "ushort",
52
+ "int",
53
+ "uint",
54
+ "long",
55
+ "ulong",
56
+ "char",
57
+ "float",
58
+ "double",
59
+ "object",
60
+ "dynamic",
61
+ "string",
62
+ "assembly",
63
+ "is",
64
+ "as",
65
+ "ref",
66
+ "out",
67
+ "this",
68
+ "base",
69
+ "new",
70
+ "typeof",
71
+ "void",
72
+ "checked",
73
+ "unchecked",
74
+ "default",
75
+ "delegate",
76
+ "var",
77
+ "const",
78
+ "if",
79
+ "else",
80
+ "switch",
81
+ "case",
82
+ "while",
83
+ "do",
84
+ "for",
85
+ "foreach",
86
+ "in",
87
+ "break",
88
+ "continue",
89
+ "goto",
90
+ "return",
91
+ "throw",
92
+ "try",
93
+ "catch",
94
+ "finally",
95
+ "lock",
96
+ "yield",
97
+ "from",
98
+ "let",
99
+ "where",
100
+ "join",
101
+ "on",
102
+ "equals",
103
+ "into",
104
+ "orderby",
105
+ "ascending",
106
+ "descending",
107
+ "select",
108
+ "group",
109
+ "by",
110
+ "namespace",
111
+ "partial",
112
+ "class",
113
+ "field",
114
+ "event",
115
+ "method",
116
+ "param",
117
+ "public",
118
+ "protected",
119
+ "internal",
120
+ "private",
121
+ "abstract",
122
+ "sealed",
123
+ "static",
124
+ "struct",
125
+ "readonly",
126
+ "volatile",
127
+ "virtual",
128
+ "override",
129
+ "params",
130
+ "get",
131
+ "set",
132
+ "add",
133
+ "remove",
134
+ "operator",
135
+ "true",
136
+ "false",
137
+ "implicit",
138
+ "explicit",
139
+ "interface",
140
+ "enum",
141
+ "null",
142
+ "async",
143
+ "await",
144
+ "fixed",
145
+ "sizeof",
146
+ "stackalloc",
147
+ "unsafe",
148
+ "nameof",
149
+ "when"
150
+ ],
151
+ namespaceFollows: ["namespace", "using"],
152
+ parenFollows: ["if", "for", "while", "switch", "foreach", "using", "catch", "when"],
153
+ operators: [
154
+ "=",
155
+ "??",
156
+ "||",
157
+ "&&",
158
+ "|",
159
+ "^",
160
+ "&",
161
+ "==",
162
+ "!=",
163
+ "<=",
164
+ ">=",
165
+ "<<",
166
+ "+",
167
+ "-",
168
+ "*",
169
+ "/",
170
+ "%",
171
+ "!",
172
+ "~",
173
+ "++",
174
+ "--",
175
+ "+=",
176
+ "-=",
177
+ "*=",
178
+ "/=",
179
+ "%=",
180
+ "&=",
181
+ "|=",
182
+ "^=",
183
+ "<<=",
184
+ ">>=",
185
+ ">>",
186
+ "=>"
187
+ ],
188
+ symbols: /[=><!~?:&|+\-*\/\^%]+/,
189
+ // escape sequences
190
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
191
+ // The main tokenizer for our languages
192
+ tokenizer: {
193
+ root: [
194
+ // identifiers and keywords
195
+ [
196
+ /\@?[a-zA-Z_]\w*/,
197
+ {
198
+ cases: {
199
+ "@namespaceFollows": {
200
+ token: "keyword.$0",
201
+ next: "@namespace"
202
+ },
203
+ "@keywords": {
204
+ token: "keyword.$0",
205
+ next: "@qualified"
206
+ },
207
+ "@default": { token: "identifier", next: "@qualified" }
208
+ }
209
+ }
210
+ ],
211
+ // whitespace
212
+ { include: "@whitespace" },
213
+ // delimiters and operators
214
+ [
215
+ /}/,
216
+ {
217
+ cases: {
218
+ "$S2==interpolatedstring": {
219
+ token: "string.quote",
220
+ next: "@pop"
221
+ },
222
+ "$S2==litinterpstring": {
223
+ token: "string.quote",
224
+ next: "@pop"
225
+ },
226
+ "@default": "@brackets"
227
+ }
228
+ }
229
+ ],
230
+ [/[{}()\[\]]/, "@brackets"],
231
+ [/[<>](?!@symbols)/, "@brackets"],
232
+ [
233
+ /@symbols/,
234
+ {
235
+ cases: {
236
+ "@operators": "delimiter",
237
+ "@default": ""
238
+ }
239
+ }
240
+ ],
241
+ // numbers
242
+ [/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/, "number.float"],
243
+ [/0[xX][0-9a-fA-F_]+/, "number.hex"],
244
+ [/0[bB][01_]+/, "number.hex"],
245
+ // binary: use same theme style as hex
246
+ [/[0-9_]+/, "number"],
247
+ // delimiter: after number because of .\d floats
248
+ [/[;,.]/, "delimiter"],
249
+ // strings
250
+ [/"([^"\\]|\\.)*$/, "string.invalid"],
251
+ // non-teminated string
252
+ [/"/, { token: "string.quote", next: "@string" }],
253
+ [/\$\@"/, { token: "string.quote", next: "@litinterpstring" }],
254
+ [/\@"/, { token: "string.quote", next: "@litstring" }],
255
+ [/\$"/, { token: "string.quote", next: "@interpolatedstring" }],
256
+ // characters
257
+ [/'[^\\']'/, "string"],
258
+ [/(')(@escapes)(')/, ["string", "string.escape", "string"]],
259
+ [/'/, "string.invalid"]
260
+ ],
261
+ qualified: [
262
+ [
263
+ /[a-zA-Z_][\w]*/,
264
+ {
265
+ cases: {
266
+ "@keywords": { token: "keyword.$0" },
267
+ "@default": "identifier"
268
+ }
269
+ }
270
+ ],
271
+ [/\./, "delimiter"],
272
+ ["", "", "@pop"]
273
+ ],
274
+ namespace: [
275
+ { include: "@whitespace" },
276
+ [/[A-Z]\w*/, "namespace"],
277
+ [/[\.=]/, "delimiter"],
278
+ ["", "", "@pop"]
279
+ ],
280
+ comment: [
281
+ [/[^\/*]+/, "comment"],
282
+ // [/\/\*/, 'comment', '@push' ], // no nested comments :-(
283
+ ["\\*/", "comment", "@pop"],
284
+ [/[\/*]/, "comment"]
285
+ ],
286
+ string: [
287
+ [/[^\\"]+/, "string"],
288
+ [/@escapes/, "string.escape"],
289
+ [/\\./, "string.escape.invalid"],
290
+ [/"/, { token: "string.quote", next: "@pop" }]
291
+ ],
292
+ litstring: [
293
+ [/[^"]+/, "string"],
294
+ [/""/, "string.escape"],
295
+ [/"/, { token: "string.quote", next: "@pop" }]
296
+ ],
297
+ litinterpstring: [
298
+ [/[^"{]+/, "string"],
299
+ [/""/, "string.escape"],
300
+ [/{{/, "string.escape"],
301
+ [/}}/, "string.escape"],
302
+ [/{/, { token: "string.quote", next: "root.litinterpstring" }],
303
+ [/"/, { token: "string.quote", next: "@pop" }]
304
+ ],
305
+ interpolatedstring: [
306
+ [/[^\\"{]+/, "string"],
307
+ [/@escapes/, "string.escape"],
308
+ [/\\./, "string.escape.invalid"],
309
+ [/{{/, "string.escape"],
310
+ [/}}/, "string.escape"],
311
+ [/{/, { token: "string.quote", next: "root.interpolatedstring" }],
312
+ [/"/, { token: "string.quote", next: "@pop" }]
313
+ ],
314
+ whitespace: [
315
+ [/^[ \t\v\f]*#((r)|(load))(?=\s)/, "directive.csx"],
316
+ [/^[ \t\v\f]*#\w.*$/, "namespace.cpp"],
317
+ [/[ \t\v\f\r\n]+/, ""],
318
+ [/\/\*/, "comment", "@comment"],
319
+ [/\/\/.*$/, "comment"]
320
+ ]
321
+ }
322
+ };
323
+ export {
324
+ e as conf,
325
+ t as language
326
+ };
@@ -0,0 +1,7 @@
1
+ import { r as s } from "./_.contribution-CNMVP3ek.js";
2
+ s({
3
+ id: "csharp",
4
+ extensions: [".cs", ".csx", ".cake"],
5
+ aliases: ["C#", "csharp"],
6
+ loader: () => import("./csharp-BQi3szM0.js")
7
+ });
@@ -0,0 +1,2 @@
1
+ import { ArchitectureDiagramModel } from './types';
2
+ export declare function layoutWithGraphviz(model: ArchitectureDiagramModel): Promise<ArchitectureDiagramModel>;
@@ -0,0 +1,3 @@
1
+ import { ArchitectureEdgeTypes, ArchitectureNodeTypes } from './types';
2
+ export declare const architectureNodeTypes: ArchitectureNodeTypes;
3
+ export declare const architectureEdgeTypes: ArchitectureEdgeTypes;
@@ -0,0 +1,9 @@
1
+ import { ElementTone, RelationshipKind } from './types';
2
+ export declare function toneToColor(tone?: ElementTone): "var(--diagram-success)" | "var(--diagram-warning)" | "var(--diagram-danger)" | "var(--diagram-muted)" | "var(--diagram-primary)";
3
+ export declare function relationshipStroke(kind?: RelationshipKind): {
4
+ stroke: string;
5
+ strokeDasharray: undefined;
6
+ } | {
7
+ stroke: string;
8
+ strokeDasharray: string;
9
+ };
@@ -0,0 +1,89 @@
1
+ import { Edge, EdgeTypes, Node, NodeTypes, Position } from '@xyflow/react';
2
+ export type ElementShape = 'person' | 'service' | 'database' | 'queue' | 'storage' | 'boundary';
3
+ export type ElementTone = 'primary' | 'muted' | 'success' | 'warning' | 'danger';
4
+ export type ElementStatus = 'operational' | 'degraded' | 'down';
5
+ type BaseNodeData = {
6
+ title: string;
7
+ subtitle?: string;
8
+ description?: string;
9
+ tags?: string[];
10
+ badge?: string;
11
+ tone?: ElementTone;
12
+ status?: ElementStatus;
13
+ flowHighlighted?: boolean;
14
+ flowCurrent?: 'source' | 'target';
15
+ };
16
+ export type ElementNodeData = BaseNodeData & {
17
+ shape?: ElementShape;
18
+ icon?: string;
19
+ clickable?: boolean;
20
+ };
21
+ export type ContainerNodeData = BaseNodeData & {
22
+ shape?: 'container';
23
+ footer?: string;
24
+ muted?: boolean;
25
+ expanded?: boolean;
26
+ childCount?: number;
27
+ showOpenButton?: boolean;
28
+ };
29
+ export type ArchitectureNodeData = ElementNodeData | ContainerNodeData;
30
+ export type RelationshipKind = 'sync' | 'async' | 'event' | 'dependency';
31
+ export type RelationshipEdgeData = {
32
+ label?: string;
33
+ detail?: string;
34
+ kind?: RelationshipKind;
35
+ muted?: boolean;
36
+ hovered?: boolean;
37
+ direction?: 'forward' | 'both' | 'none';
38
+ icon?: string;
39
+ labelSide?: 'above' | 'below' | 'left' | 'right';
40
+ layoutPoints?: {
41
+ x: number;
42
+ y: number;
43
+ }[];
44
+ labelPos?: {
45
+ x: number;
46
+ y: number;
47
+ };
48
+ controlPoints?: {
49
+ x: number;
50
+ y: number;
51
+ }[];
52
+ sourceAnchor?: {
53
+ position: Position;
54
+ offset: number;
55
+ };
56
+ targetAnchor?: {
57
+ position: Position;
58
+ offset: number;
59
+ };
60
+ flowHighlighted?: boolean;
61
+ flowCurrent?: boolean;
62
+ originalEdgeIds?: string[];
63
+ flowTick?: number;
64
+ };
65
+ export type ElementNodeType = Node<ElementNodeData, 'element'>;
66
+ export type ContainerNodeType = Node<ContainerNodeData, 'container'>;
67
+ export type RelationshipEdgeType = Edge<RelationshipEdgeData, 'relationship'>;
68
+ export type ArchitectureNode = ElementNodeType | ContainerNodeType;
69
+ export type ArchitectureEdge = RelationshipEdgeType;
70
+ export type FlowStep = {
71
+ id: string;
72
+ edgeId: string;
73
+ sourceId: string;
74
+ targetId: string;
75
+ label?: string;
76
+ };
77
+ export type FlowDefinition = {
78
+ id: string;
79
+ name?: string;
80
+ steps: FlowStep[];
81
+ };
82
+ export type ArchitectureNodeTypes = NodeTypes;
83
+ export type ArchitectureEdgeTypes = EdgeTypes;
84
+ export type ArchitectureDiagramModel = {
85
+ nodes: ArchitectureNode[];
86
+ edges: ArchitectureEdge[];
87
+ flows?: FlowDefinition[];
88
+ };
89
+ export {};
@@ -0,0 +1,3 @@
1
+ import { ArchitectureDiagramModel, ArchitectureNode } from '../types';
2
+ export declare function buildScopedModel(model: ArchitectureDiagramModel, scopeId?: string): ArchitectureDiagramModel;
3
+ export declare function scopeTrail(model: ArchitectureDiagramModel, scopeId?: string): ArchitectureNode[];