@eventcatalog/visualiser 5.0.0-beta.4 → 5.0.0-beta.6
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/chunk-Q3OM5AL5.mjs +1 -0
- package/dist/chunk-Q3OM5AL5.mjs.map +1 -0
- package/dist/chunk-R3QHQ7LF.mjs +427 -0
- package/dist/chunk-R3QHQ7LF.mjs.map +1 -0
- package/dist/chunk-T4UBHBKL.mjs +15698 -0
- package/dist/chunk-T4UBHBKL.mjs.map +1 -0
- package/dist/chunk-Z3G354GF.mjs +464 -0
- package/dist/chunk-Z3G354GF.mjs.map +1 -0
- package/dist/elk-layout-BVUJjv6i.d.mts +47 -0
- package/dist/elk-layout-BVUJjv6i.d.ts +47 -0
- package/dist/fonts/Excalifont-Regular.woff2 +0 -0
- package/dist/fonts/OFL.txt +93 -0
- package/dist/fonts/README.md +2 -0
- package/dist/index.d.mts +178 -9
- package/dist/index.d.ts +178 -9
- package/dist/index.js +5545 -5167
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +129 -15691
- package/dist/index.mjs.map +1 -1
- package/dist/layout.d.mts +2 -45
- package/dist/layout.d.ts +2 -45
- package/dist/layout.mjs +10 -374
- package/dist/layout.mjs.map +1 -1
- package/dist/model.d.mts +18 -0
- package/dist/model.mjs +51 -0
- package/dist/model.mjs.map +1 -0
- package/dist/schema-DKA0EQ_H.d.mts +484 -0
- package/dist/studio-fonts.css +10 -0
- package/dist/studio.css +509 -0
- package/dist/studio.d.mts +1312 -0
- package/dist/studio.mjs +6719 -0
- package/dist/studio.mjs.map +1 -0
- package/dist/styles-core.css +591 -1
- package/dist/styles.css +591 -1
- package/package.json +26 -8
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright (c) 2024 by Excalidraw (https://plus.excalidraw.com/excalifont).
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
This license is copied below, and is also available with a FAQ at:
|
|
5
|
+
https://openfontlicense.org
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) and the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as _xyflow_react from '@xyflow/react';
|
|
2
2
|
import { Node, Connection, MarkerType, Edge, NodeTypes, EdgeTypes, NodeProps, EdgeProps, ReactFlowJsonObject } from '@xyflow/react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { E as EdgeRoute } from './elk-layout-BVUJjv6i.mjs';
|
|
4
5
|
import * as react from 'react';
|
|
5
|
-
import react__default from 'react';
|
|
6
|
+
import react__default, { ReactNode, ComponentType } from 'react';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* EventCatalog resource mode
|
|
@@ -334,6 +335,60 @@ type FlowGroupBy = SwimlaneGroupBy | "domain-system";
|
|
|
334
335
|
type FlowGroupStyle = "lanes" | "boxes";
|
|
335
336
|
declare const isFlowGroupBy: (value: unknown) => value is FlowGroupBy;
|
|
336
337
|
|
|
338
|
+
/**
|
|
339
|
+
* What a diagram shows, to start a Studio canvas from: its full graph (level 3, whatever level is shown, as Studio
|
|
340
|
+
* shows the other levels itself), its nodes where they are (as on screen when level 3 is shown), and the
|
|
341
|
+
* connections between them
|
|
342
|
+
*/
|
|
343
|
+
type VisualiserSnapshot = {
|
|
344
|
+
title?: string;
|
|
345
|
+
/** The level of detail shown (1 to 3), for Studio to open at. Studio gets the full graph (level 3) whatever it is. */
|
|
346
|
+
level: 1 | 2 | 3;
|
|
347
|
+
nodes: {
|
|
348
|
+
id: string;
|
|
349
|
+
type?: string;
|
|
350
|
+
data: Record<string, unknown>;
|
|
351
|
+
/** The container it's shown in */
|
|
352
|
+
parentId?: string;
|
|
353
|
+
/** Its centre on the diagram (not relative to its container) */
|
|
354
|
+
center: {
|
|
355
|
+
x: number;
|
|
356
|
+
y: number;
|
|
357
|
+
};
|
|
358
|
+
/** Its size as shown */
|
|
359
|
+
width: number;
|
|
360
|
+
height: number;
|
|
361
|
+
}[];
|
|
362
|
+
edges: {
|
|
363
|
+
source: string;
|
|
364
|
+
target: string;
|
|
365
|
+
label?: string;
|
|
366
|
+
/** How it's drawn: the points it goes through on the diagram, and where its label is (from the layout) */
|
|
367
|
+
route?: Pick<EdgeRoute, "points" | "label">;
|
|
368
|
+
}[];
|
|
369
|
+
/**
|
|
370
|
+
* Levels 1 and 2 as the diagram shows them (laid out, positions relative to their parents), for Studio to show
|
|
371
|
+
* them the same. Level 1 only when the diagram has an overview.
|
|
372
|
+
*/
|
|
373
|
+
levels: {
|
|
374
|
+
1?: LevelGraph;
|
|
375
|
+
2?: LevelGraph;
|
|
376
|
+
};
|
|
377
|
+
/** Levels 1 and 2 the diagram doesn't have, and why (as it says on them) */
|
|
378
|
+
unavailableLevels: {
|
|
379
|
+
1?: string;
|
|
380
|
+
2?: string;
|
|
381
|
+
};
|
|
382
|
+
};
|
|
383
|
+
type LevelGraph = {
|
|
384
|
+
nodes: Node[];
|
|
385
|
+
edges: Edge[];
|
|
386
|
+
};
|
|
387
|
+
/** Opening a diagram in Studio: its title, and what it shows (taken when asked for, e.g. once the canvas is named) */
|
|
388
|
+
type OpenInStudioRequest = {
|
|
389
|
+
title?: string;
|
|
390
|
+
getSnapshot: () => Promise<VisualiserSnapshot>;
|
|
391
|
+
};
|
|
337
392
|
interface NodeGraphProps {
|
|
338
393
|
id: string;
|
|
339
394
|
title?: string;
|
|
@@ -412,8 +467,10 @@ interface NodeGraphProps {
|
|
|
412
467
|
y: number;
|
|
413
468
|
}>) => Promise<boolean>;
|
|
414
469
|
onResetLayout?: (resourceKey: string) => Promise<boolean>;
|
|
470
|
+
/** Starts a Studio canvas from what the diagram shows (the menu has "Open in Studio" when set) */
|
|
471
|
+
onOpenInStudio?: (request: OpenInStudioRequest) => void;
|
|
415
472
|
}
|
|
416
|
-
declare const NodeGraph: ({ id, nodes: nodesProp, edges: edgesProp, graph, title: titleProp, href, linkTo, hrefLabel, includeKey: includeKeyProp, footerLabel, linksToVisualiser, links, mode, portalId, showFlowWalkthrough, showSearch: showSearchProp, showMenu, compactSearch, hideAttribution, zoomOnScroll, designId, isChatEnabled, maxTextSize, isDevMode, resourceKey, animated: animatedProp, disableMessageAnimation, overviewGraph, hiddenMessagesGraph, preferenceScope, swimlanes, focusNodeId, focusRequestId, fitRequestId, onNodeClick, onBuildUrl, onNavigate, onSaveLayout, onResetLayout, }: NodeGraphProps) => react_jsx_runtime.JSX.Element | null;
|
|
473
|
+
declare const NodeGraph: ({ id, nodes: nodesProp, edges: edgesProp, graph, title: titleProp, href, linkTo, hrefLabel, includeKey: includeKeyProp, footerLabel, linksToVisualiser, links, mode, portalId, showFlowWalkthrough, showSearch: showSearchProp, showMenu, compactSearch, hideAttribution, zoomOnScroll, designId, isChatEnabled, maxTextSize, isDevMode, resourceKey, animated: animatedProp, disableMessageAnimation, overviewGraph, hiddenMessagesGraph, preferenceScope, swimlanes, focusNodeId, focusRequestId, fitRequestId, onNodeClick, onBuildUrl, onNavigate, onSaveLayout, onResetLayout, onOpenInStudio, }: NodeGraphProps) => react_jsx_runtime.JSX.Element | null;
|
|
417
474
|
|
|
418
475
|
interface MermaidViewProps {
|
|
419
476
|
nodes: Node[];
|
|
@@ -422,6 +479,70 @@ interface MermaidViewProps {
|
|
|
422
479
|
}
|
|
423
480
|
declare const MermaidView: ({ nodes, edges, maxTextSize, }: MermaidViewProps) => react_jsx_runtime.JSX.Element;
|
|
424
481
|
|
|
482
|
+
/**
|
|
483
|
+
* A diagram's background: dots on the canvas colour (`.react-flow` in styles-core.css), the same wherever a
|
|
484
|
+
* diagram is drawn (the visualiser and Studio)
|
|
485
|
+
*/
|
|
486
|
+
declare const DiagramBackground: react.NamedExoticComponent<object>;
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* A diagram's legend: how many of each kind of node it shows (and of each domain's, when steps are grouped by
|
|
490
|
+
* domain), with the kind's icon. Clicking an entry hides or shows those nodes. Studio's canvases have the same one.
|
|
491
|
+
*/
|
|
492
|
+
type LegendEntry = {
|
|
493
|
+
count: number;
|
|
494
|
+
colorClass: string;
|
|
495
|
+
groupId?: string;
|
|
496
|
+
};
|
|
497
|
+
/** The legend for some nodes: each domain's steps (when grouped by domain), then each kind of node */
|
|
498
|
+
declare const getLegend: (nodes: Node<any>[]) => Record<string, LegendEntry>;
|
|
499
|
+
/** The legend, bottom right */
|
|
500
|
+
declare const LegendPanel: react.NamedExoticComponent<{
|
|
501
|
+
legend: Record<string, LegendEntry>;
|
|
502
|
+
/** Entries whose nodes are hidden, shown faded */
|
|
503
|
+
hiddenKeys: string[];
|
|
504
|
+
showMinimap?: boolean;
|
|
505
|
+
onLegendClick: (key: string) => void;
|
|
506
|
+
}>;
|
|
507
|
+
|
|
508
|
+
/** A button in a toolbar, with its tooltip (what it does, and why it can't be used when it can't) */
|
|
509
|
+
declare const ToolbarButton: ({ label, hint, active, disabled, onClick, children, }: {
|
|
510
|
+
label: string;
|
|
511
|
+
/** Shown under the label on hover */
|
|
512
|
+
hint?: string;
|
|
513
|
+
active?: boolean;
|
|
514
|
+
disabled?: boolean;
|
|
515
|
+
onClick: () => void;
|
|
516
|
+
children: ReactNode;
|
|
517
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
518
|
+
/**
|
|
519
|
+
* How far the canvas is zoomed in, as a percentage. Isolated, so what it's in only re-renders when the zoom changes
|
|
520
|
+
* (not on every pan). Studio's bar shows it too.
|
|
521
|
+
*/
|
|
522
|
+
declare const ZoomLevel: react.NamedExoticComponent<{
|
|
523
|
+
className?: string;
|
|
524
|
+
}>;
|
|
525
|
+
declare const ToolbarDivider: () => react_jsx_runtime.JSX.Element;
|
|
526
|
+
/** The frame of a toolbar (e.g. the bar at the bottom of a diagram, or of a Studio canvas), with tooltips */
|
|
527
|
+
declare const Toolbar: ({ children }: {
|
|
528
|
+
children: ReactNode;
|
|
529
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
530
|
+
|
|
531
|
+
/** Tooltips for a group of controls (e.g. a toolbar): shown after a moment, then straight away while moving along */
|
|
532
|
+
declare const TipProvider: ({ children }: {
|
|
533
|
+
children: ReactNode;
|
|
534
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
535
|
+
/**
|
|
536
|
+
* A tooltip above a control: what it does, and optionally why it can't be used (`hint`). The control stays
|
|
537
|
+
* focusable when unavailable (`aria-disabled`, not `disabled`), so it can still say why. Used in a TipProvider.
|
|
538
|
+
*/
|
|
539
|
+
declare const Tip: ({ label, hint, children, }: {
|
|
540
|
+
label: string;
|
|
541
|
+
hint?: string;
|
|
542
|
+
/** The control: one element that takes a ref */
|
|
543
|
+
children: ReactNode;
|
|
544
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
545
|
+
|
|
425
546
|
interface ResourceData {
|
|
426
547
|
id?: string;
|
|
427
548
|
name?: string;
|
|
@@ -549,6 +670,23 @@ interface NodeContextMenuProps {
|
|
|
549
670
|
}
|
|
550
671
|
declare const _default$w: react.NamedExoticComponent<NodeContextMenuProps>;
|
|
551
672
|
|
|
673
|
+
/**
|
|
674
|
+
* How a diagram's menu looks (the button at the top left, with the diagram's title, and the menu it opens). Studio's
|
|
675
|
+
* canvas menu uses the same, so the two feel the same.
|
|
676
|
+
*/
|
|
677
|
+
/** The button: the title, then the menu icon (DIAGRAM_MENU_BUTTON_ICON) */
|
|
678
|
+
declare const DIAGRAM_MENU_BUTTON = "py-2.5 px-4 bg-[rgb(var(--ec-card-bg))] hover:bg-[rgb(var(--ec-accent-subtle))] border border-[rgb(var(--ec-page-border))] rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[rgb(var(--ec-accent))] flex items-center gap-3 transition-colors duration-150 hover:border-[rgb(var(--ec-accent)/0.3)] group whitespace-nowrap";
|
|
679
|
+
/** The button without a title: just the icon */
|
|
680
|
+
declare const DIAGRAM_MENU_BUTTON_COMPACT = "h-9 w-9 p-0 bg-[rgb(var(--ec-card-bg))] hover:bg-[rgb(var(--ec-accent-subtle))] border border-[rgb(var(--ec-page-border))] rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[rgb(var(--ec-accent))] flex items-center justify-center transition-colors duration-150 hover:border-[rgb(var(--ec-accent)/0.3)] group";
|
|
681
|
+
declare const DIAGRAM_MENU_TITLE = "text-base font-medium text-[rgb(var(--ec-page-text))] leading-tight";
|
|
682
|
+
declare const DIAGRAM_MENU_BUTTON_ICON = "h-5 w-5 text-[rgb(var(--ec-page-text-muted))] flex-shrink-0 group-hover:text-[rgb(var(--ec-accent))] transition-colors duration-150";
|
|
683
|
+
declare const DIAGRAM_MENU_BUTTON_ICON_COMPACT = "h-4 w-4 text-[rgb(var(--ec-page-text-muted))] flex-shrink-0 group-hover:text-[rgb(var(--ec-accent))] transition-colors duration-150";
|
|
684
|
+
/** The menu, its items (an icon, then the label), and the lines between groups of them */
|
|
685
|
+
declare const DIAGRAM_MENU = "min-w-56 bg-[rgb(var(--ec-page-bg))] border border-[rgb(var(--ec-page-border))] rounded-lg shadow-xl z-50 py-1.5";
|
|
686
|
+
declare const DIAGRAM_MENU_ITEM = "flex items-center px-3 py-2 text-xs text-[rgb(var(--ec-page-text))] hover:bg-[rgb(var(--ec-accent-subtle)/0.3)] cursor-pointer transition-colors gap-2";
|
|
687
|
+
declare const DIAGRAM_MENU_ITEM_ICON = "w-3.5 h-3.5 text-[rgb(var(--ec-page-text-muted))] flex-shrink-0";
|
|
688
|
+
declare const DIAGRAM_MENU_SEPARATOR = "my-1 h-px bg-[rgb(var(--ec-page-border))]";
|
|
689
|
+
|
|
552
690
|
type MessageGroupNodeData = {
|
|
553
691
|
mode?: string;
|
|
554
692
|
groupName: string;
|
|
@@ -841,6 +979,12 @@ declare const DATA: string[];
|
|
|
841
979
|
declare const VIEW: string[];
|
|
842
980
|
declare const MESSAGE: string[];
|
|
843
981
|
|
|
982
|
+
/**
|
|
983
|
+
* The component a diagram draws each type of node with (types as EventCatalog's node graphs build them, singular
|
|
984
|
+
* and plural). Studio draws diagrams' levels with them too, so they look the same.
|
|
985
|
+
*/
|
|
986
|
+
declare const diagramNodeComponents: Record<string, ComponentType<any>>;
|
|
987
|
+
|
|
844
988
|
declare const nodeComponents: {
|
|
845
989
|
event: react.NamedExoticComponent<EventNode>;
|
|
846
990
|
command: react.NamedExoticComponent<CommandNode>;
|
|
@@ -894,17 +1038,17 @@ declare const AnimatedMessageEdge: react.MemoExoticComponent<({ id, sourceX, sou
|
|
|
894
1038
|
|
|
895
1039
|
declare const _default: react.NamedExoticComponent<EdgeProps>;
|
|
896
1040
|
|
|
897
|
-
declare
|
|
898
|
-
declare
|
|
899
|
-
declare
|
|
1041
|
+
declare const LabelledDefaultEdge: react.NamedExoticComponent<EdgeProps>;
|
|
1042
|
+
declare const LabelledSmoothStepEdge: react.NamedExoticComponent<EdgeProps>;
|
|
1043
|
+
declare const LabelledStepEdge: react.NamedExoticComponent<EdgeProps>;
|
|
900
1044
|
|
|
901
1045
|
declare const edgeTypes: {
|
|
902
1046
|
animated: react.MemoExoticComponent<({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, source, target, sourceHandleId, targetHandleId, data, label, markerEnd, markerStart, }: any) => react_jsx_runtime.JSX.Element>;
|
|
903
1047
|
"flow-edge": react.NamedExoticComponent<CustomEdgeProps>;
|
|
904
1048
|
multiline: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
905
|
-
default:
|
|
906
|
-
smoothstep:
|
|
907
|
-
step:
|
|
1049
|
+
default: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
1050
|
+
smoothstep: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
1051
|
+
step: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
908
1052
|
};
|
|
909
1053
|
|
|
910
1054
|
/**
|
|
@@ -963,4 +1107,29 @@ declare function layoutGraph(nodes: GraphNode[], edges: GraphEdge[], { style }?:
|
|
|
963
1107
|
edges: Edge[];
|
|
964
1108
|
}>;
|
|
965
1109
|
|
|
966
|
-
|
|
1110
|
+
/**
|
|
1111
|
+
* How a diagram is fitted to the screen: all of it, filling the view with the same room around it at any size (clear
|
|
1112
|
+
* of the title and menus at the top, and the bar at the bottom), never zoomed in past full size (e.g. a graph with
|
|
1113
|
+
* one small node). Studio fits its canvases the same way.
|
|
1114
|
+
*/
|
|
1115
|
+
declare const DIAGRAM_FIT_VIEW_OPTIONS: {
|
|
1116
|
+
readonly padding: {
|
|
1117
|
+
readonly top: "100px";
|
|
1118
|
+
readonly right: "60px";
|
|
1119
|
+
readonly bottom: "80px";
|
|
1120
|
+
readonly left: "60px";
|
|
1121
|
+
};
|
|
1122
|
+
readonly maxZoom: 1;
|
|
1123
|
+
};
|
|
1124
|
+
|
|
1125
|
+
/** Memoizes a custom node so it renders again only when something besides its position changes. */
|
|
1126
|
+
declare const memoNode: <P extends object>(Component: ComponentType<P>) => react.MemoExoticComponent<ComponentType<P>>;
|
|
1127
|
+
|
|
1128
|
+
/**
|
|
1129
|
+
* Pauses (or resumes) the SMIL animations of a canvas's edges: the message envelopes moving along them. Hiding
|
|
1130
|
+
* them doesn't stop them (SMIL keeps running, with a style recalc and layout every frame), so while the canvas
|
|
1131
|
+
* is panned, zoomed or dragged they're paused. Each edge is its own <svg>, with its own timeline.
|
|
1132
|
+
*/
|
|
1133
|
+
declare const pauseEdgeAnimations: (canvas: Element | null, paused: boolean) => void | undefined;
|
|
1134
|
+
|
|
1135
|
+
export { ACTOR, AGENT, AGENT_TOOL, _default$p as Actor, type ActorNode, type Agent$1 as Agent, _default$j as AgentNode, type AgentTool$1 as AgentTool, _default$k as AgentToolNode, type AgentToolNode as AgentToolNodeType, AnimatedMessageEdge, type BaseNodeData, CHANNEL, COMMAND, type Channel, type ChannelNode, _default$g as Command, type CommandNode, _default$8 as ContextActorNode, type ContextMenuItem, _default$c as CustomNode, DATA, DIAGRAM_FIT_VIEW_OPTIONS, DIAGRAM_MENU, DIAGRAM_MENU_BUTTON, DIAGRAM_MENU_BUTTON_COMPACT, DIAGRAM_MENU_BUTTON_ICON, DIAGRAM_MENU_BUTTON_ICON_COMPACT, DIAGRAM_MENU_ITEM, DIAGRAM_MENU_ITEM_ICON, DIAGRAM_MENU_SEPARATOR, DIAGRAM_MENU_TITLE, type Data, type DataNode, _default$t as DataProductNode, DiagramBackground, _default$a as DomainCardNode, _default$b as DomainNode, type DslGraph, ENTITY_TARGET_HANDLE_ID, EVENT, type EdgeType, _default$d as EntityNode, type EntityProperty, _default$f as Event, type EventCatalogResource, type EventNode, type ExternalSystem, _default$2 as ExternalSystem2Node, type ExternalSystemNode, _default$r as Field, type FieldNode as FieldNodeType, _default$1 as FlowEdge, _default$s as FlowExpandedNode, type FlowGroupBy, type FlowGroupStyle, _default$6 as FlowNode, FocusModeModal, type GraphEdge, type GraphEdgeType, type GraphNode, _default$5 as GroupNode, LabelledDefaultEdge, LabelledSmoothStepEdge, LabelledStepEdge, type LegendEntry, LegendPanel, MESSAGE, type MermaidExportOptions, MermaidView, type Message, _default$u as MessageGroupExpandedNode, type MessageGroupExpandedNodeData, _default$v as MessageGroupNode, type MessageGroupNodeData, type MessageGroupNode as MessageGroupNodeType, _default as MultilineEdgeLabel, type NodeCategory, type NodeConfiguration, _default$w as NodeContextMenu, NodeGraph, type NodeGraphProps, type NodeType, _default$l as Note, type NoteNode, NotesIndicator, type OpenInStudioRequest, OwnerIndicator, QUERY, _default$h as Query, type QueryNode, type RegisteredNode, SERVICE, _default$i as Service, type ServiceNode, type Service as ServiceType, _default$4 as StepNode, _default$x as StepWalkthrough, _default$7 as SystemGroupNode, _default$9 as SystemNode, Tip, TipProvider, Toolbar, ToolbarButton, ToolbarDivider, _default$3 as UserNode, VIEW, type View, type ViewNode, VisualiserSearch, type VisualiserSnapshot, type VisualizerCallbacks, type VisualizerLink, type VisualizerMode, ZoomLevel, _default$o as actorConfig, buildNodeData, convertToMermaid, createEdge, createNode, _default$n as dataNodeConfig, diagramNodeComponents, edgeTypes, _default$e as eventConfig, exportNodeGraphForStudio, _default$m as externalSystemConfig, _default$q as fieldConfig, generateIdForNode, generateIdForNodes, generatedIdForEdge, getColorFromString, getEdgeLabelForMessageAsSource, getEdgeLabelForServiceAsTarget, getEdgeLabelSize, getLegend, getNestedEntityProperties, getPropertyTypeLabel, isFlowGroupBy, layoutGraph, memoNode, nodeComponents, nodeConfigs, normalizeOwners, pauseEdgeAnimations };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as _xyflow_react from '@xyflow/react';
|
|
2
2
|
import { Node, Connection, MarkerType, Edge, NodeTypes, EdgeTypes, NodeProps, EdgeProps, ReactFlowJsonObject } from '@xyflow/react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { E as EdgeRoute } from './elk-layout-BVUJjv6i.js';
|
|
4
5
|
import * as react from 'react';
|
|
5
|
-
import react__default from 'react';
|
|
6
|
+
import react__default, { ReactNode, ComponentType } from 'react';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* EventCatalog resource mode
|
|
@@ -334,6 +335,60 @@ type FlowGroupBy = SwimlaneGroupBy | "domain-system";
|
|
|
334
335
|
type FlowGroupStyle = "lanes" | "boxes";
|
|
335
336
|
declare const isFlowGroupBy: (value: unknown) => value is FlowGroupBy;
|
|
336
337
|
|
|
338
|
+
/**
|
|
339
|
+
* What a diagram shows, to start a Studio canvas from: its full graph (level 3, whatever level is shown, as Studio
|
|
340
|
+
* shows the other levels itself), its nodes where they are (as on screen when level 3 is shown), and the
|
|
341
|
+
* connections between them
|
|
342
|
+
*/
|
|
343
|
+
type VisualiserSnapshot = {
|
|
344
|
+
title?: string;
|
|
345
|
+
/** The level of detail shown (1 to 3), for Studio to open at. Studio gets the full graph (level 3) whatever it is. */
|
|
346
|
+
level: 1 | 2 | 3;
|
|
347
|
+
nodes: {
|
|
348
|
+
id: string;
|
|
349
|
+
type?: string;
|
|
350
|
+
data: Record<string, unknown>;
|
|
351
|
+
/** The container it's shown in */
|
|
352
|
+
parentId?: string;
|
|
353
|
+
/** Its centre on the diagram (not relative to its container) */
|
|
354
|
+
center: {
|
|
355
|
+
x: number;
|
|
356
|
+
y: number;
|
|
357
|
+
};
|
|
358
|
+
/** Its size as shown */
|
|
359
|
+
width: number;
|
|
360
|
+
height: number;
|
|
361
|
+
}[];
|
|
362
|
+
edges: {
|
|
363
|
+
source: string;
|
|
364
|
+
target: string;
|
|
365
|
+
label?: string;
|
|
366
|
+
/** How it's drawn: the points it goes through on the diagram, and where its label is (from the layout) */
|
|
367
|
+
route?: Pick<EdgeRoute, "points" | "label">;
|
|
368
|
+
}[];
|
|
369
|
+
/**
|
|
370
|
+
* Levels 1 and 2 as the diagram shows them (laid out, positions relative to their parents), for Studio to show
|
|
371
|
+
* them the same. Level 1 only when the diagram has an overview.
|
|
372
|
+
*/
|
|
373
|
+
levels: {
|
|
374
|
+
1?: LevelGraph;
|
|
375
|
+
2?: LevelGraph;
|
|
376
|
+
};
|
|
377
|
+
/** Levels 1 and 2 the diagram doesn't have, and why (as it says on them) */
|
|
378
|
+
unavailableLevels: {
|
|
379
|
+
1?: string;
|
|
380
|
+
2?: string;
|
|
381
|
+
};
|
|
382
|
+
};
|
|
383
|
+
type LevelGraph = {
|
|
384
|
+
nodes: Node[];
|
|
385
|
+
edges: Edge[];
|
|
386
|
+
};
|
|
387
|
+
/** Opening a diagram in Studio: its title, and what it shows (taken when asked for, e.g. once the canvas is named) */
|
|
388
|
+
type OpenInStudioRequest = {
|
|
389
|
+
title?: string;
|
|
390
|
+
getSnapshot: () => Promise<VisualiserSnapshot>;
|
|
391
|
+
};
|
|
337
392
|
interface NodeGraphProps {
|
|
338
393
|
id: string;
|
|
339
394
|
title?: string;
|
|
@@ -412,8 +467,10 @@ interface NodeGraphProps {
|
|
|
412
467
|
y: number;
|
|
413
468
|
}>) => Promise<boolean>;
|
|
414
469
|
onResetLayout?: (resourceKey: string) => Promise<boolean>;
|
|
470
|
+
/** Starts a Studio canvas from what the diagram shows (the menu has "Open in Studio" when set) */
|
|
471
|
+
onOpenInStudio?: (request: OpenInStudioRequest) => void;
|
|
415
472
|
}
|
|
416
|
-
declare const NodeGraph: ({ id, nodes: nodesProp, edges: edgesProp, graph, title: titleProp, href, linkTo, hrefLabel, includeKey: includeKeyProp, footerLabel, linksToVisualiser, links, mode, portalId, showFlowWalkthrough, showSearch: showSearchProp, showMenu, compactSearch, hideAttribution, zoomOnScroll, designId, isChatEnabled, maxTextSize, isDevMode, resourceKey, animated: animatedProp, disableMessageAnimation, overviewGraph, hiddenMessagesGraph, preferenceScope, swimlanes, focusNodeId, focusRequestId, fitRequestId, onNodeClick, onBuildUrl, onNavigate, onSaveLayout, onResetLayout, }: NodeGraphProps) => react_jsx_runtime.JSX.Element | null;
|
|
473
|
+
declare const NodeGraph: ({ id, nodes: nodesProp, edges: edgesProp, graph, title: titleProp, href, linkTo, hrefLabel, includeKey: includeKeyProp, footerLabel, linksToVisualiser, links, mode, portalId, showFlowWalkthrough, showSearch: showSearchProp, showMenu, compactSearch, hideAttribution, zoomOnScroll, designId, isChatEnabled, maxTextSize, isDevMode, resourceKey, animated: animatedProp, disableMessageAnimation, overviewGraph, hiddenMessagesGraph, preferenceScope, swimlanes, focusNodeId, focusRequestId, fitRequestId, onNodeClick, onBuildUrl, onNavigate, onSaveLayout, onResetLayout, onOpenInStudio, }: NodeGraphProps) => react_jsx_runtime.JSX.Element | null;
|
|
417
474
|
|
|
418
475
|
interface MermaidViewProps {
|
|
419
476
|
nodes: Node[];
|
|
@@ -422,6 +479,70 @@ interface MermaidViewProps {
|
|
|
422
479
|
}
|
|
423
480
|
declare const MermaidView: ({ nodes, edges, maxTextSize, }: MermaidViewProps) => react_jsx_runtime.JSX.Element;
|
|
424
481
|
|
|
482
|
+
/**
|
|
483
|
+
* A diagram's background: dots on the canvas colour (`.react-flow` in styles-core.css), the same wherever a
|
|
484
|
+
* diagram is drawn (the visualiser and Studio)
|
|
485
|
+
*/
|
|
486
|
+
declare const DiagramBackground: react.NamedExoticComponent<object>;
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* A diagram's legend: how many of each kind of node it shows (and of each domain's, when steps are grouped by
|
|
490
|
+
* domain), with the kind's icon. Clicking an entry hides or shows those nodes. Studio's canvases have the same one.
|
|
491
|
+
*/
|
|
492
|
+
type LegendEntry = {
|
|
493
|
+
count: number;
|
|
494
|
+
colorClass: string;
|
|
495
|
+
groupId?: string;
|
|
496
|
+
};
|
|
497
|
+
/** The legend for some nodes: each domain's steps (when grouped by domain), then each kind of node */
|
|
498
|
+
declare const getLegend: (nodes: Node<any>[]) => Record<string, LegendEntry>;
|
|
499
|
+
/** The legend, bottom right */
|
|
500
|
+
declare const LegendPanel: react.NamedExoticComponent<{
|
|
501
|
+
legend: Record<string, LegendEntry>;
|
|
502
|
+
/** Entries whose nodes are hidden, shown faded */
|
|
503
|
+
hiddenKeys: string[];
|
|
504
|
+
showMinimap?: boolean;
|
|
505
|
+
onLegendClick: (key: string) => void;
|
|
506
|
+
}>;
|
|
507
|
+
|
|
508
|
+
/** A button in a toolbar, with its tooltip (what it does, and why it can't be used when it can't) */
|
|
509
|
+
declare const ToolbarButton: ({ label, hint, active, disabled, onClick, children, }: {
|
|
510
|
+
label: string;
|
|
511
|
+
/** Shown under the label on hover */
|
|
512
|
+
hint?: string;
|
|
513
|
+
active?: boolean;
|
|
514
|
+
disabled?: boolean;
|
|
515
|
+
onClick: () => void;
|
|
516
|
+
children: ReactNode;
|
|
517
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
518
|
+
/**
|
|
519
|
+
* How far the canvas is zoomed in, as a percentage. Isolated, so what it's in only re-renders when the zoom changes
|
|
520
|
+
* (not on every pan). Studio's bar shows it too.
|
|
521
|
+
*/
|
|
522
|
+
declare const ZoomLevel: react.NamedExoticComponent<{
|
|
523
|
+
className?: string;
|
|
524
|
+
}>;
|
|
525
|
+
declare const ToolbarDivider: () => react_jsx_runtime.JSX.Element;
|
|
526
|
+
/** The frame of a toolbar (e.g. the bar at the bottom of a diagram, or of a Studio canvas), with tooltips */
|
|
527
|
+
declare const Toolbar: ({ children }: {
|
|
528
|
+
children: ReactNode;
|
|
529
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
530
|
+
|
|
531
|
+
/** Tooltips for a group of controls (e.g. a toolbar): shown after a moment, then straight away while moving along */
|
|
532
|
+
declare const TipProvider: ({ children }: {
|
|
533
|
+
children: ReactNode;
|
|
534
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
535
|
+
/**
|
|
536
|
+
* A tooltip above a control: what it does, and optionally why it can't be used (`hint`). The control stays
|
|
537
|
+
* focusable when unavailable (`aria-disabled`, not `disabled`), so it can still say why. Used in a TipProvider.
|
|
538
|
+
*/
|
|
539
|
+
declare const Tip: ({ label, hint, children, }: {
|
|
540
|
+
label: string;
|
|
541
|
+
hint?: string;
|
|
542
|
+
/** The control: one element that takes a ref */
|
|
543
|
+
children: ReactNode;
|
|
544
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
545
|
+
|
|
425
546
|
interface ResourceData {
|
|
426
547
|
id?: string;
|
|
427
548
|
name?: string;
|
|
@@ -549,6 +670,23 @@ interface NodeContextMenuProps {
|
|
|
549
670
|
}
|
|
550
671
|
declare const _default$w: react.NamedExoticComponent<NodeContextMenuProps>;
|
|
551
672
|
|
|
673
|
+
/**
|
|
674
|
+
* How a diagram's menu looks (the button at the top left, with the diagram's title, and the menu it opens). Studio's
|
|
675
|
+
* canvas menu uses the same, so the two feel the same.
|
|
676
|
+
*/
|
|
677
|
+
/** The button: the title, then the menu icon (DIAGRAM_MENU_BUTTON_ICON) */
|
|
678
|
+
declare const DIAGRAM_MENU_BUTTON = "py-2.5 px-4 bg-[rgb(var(--ec-card-bg))] hover:bg-[rgb(var(--ec-accent-subtle))] border border-[rgb(var(--ec-page-border))] rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[rgb(var(--ec-accent))] flex items-center gap-3 transition-colors duration-150 hover:border-[rgb(var(--ec-accent)/0.3)] group whitespace-nowrap";
|
|
679
|
+
/** The button without a title: just the icon */
|
|
680
|
+
declare const DIAGRAM_MENU_BUTTON_COMPACT = "h-9 w-9 p-0 bg-[rgb(var(--ec-card-bg))] hover:bg-[rgb(var(--ec-accent-subtle))] border border-[rgb(var(--ec-page-border))] rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[rgb(var(--ec-accent))] flex items-center justify-center transition-colors duration-150 hover:border-[rgb(var(--ec-accent)/0.3)] group";
|
|
681
|
+
declare const DIAGRAM_MENU_TITLE = "text-base font-medium text-[rgb(var(--ec-page-text))] leading-tight";
|
|
682
|
+
declare const DIAGRAM_MENU_BUTTON_ICON = "h-5 w-5 text-[rgb(var(--ec-page-text-muted))] flex-shrink-0 group-hover:text-[rgb(var(--ec-accent))] transition-colors duration-150";
|
|
683
|
+
declare const DIAGRAM_MENU_BUTTON_ICON_COMPACT = "h-4 w-4 text-[rgb(var(--ec-page-text-muted))] flex-shrink-0 group-hover:text-[rgb(var(--ec-accent))] transition-colors duration-150";
|
|
684
|
+
/** The menu, its items (an icon, then the label), and the lines between groups of them */
|
|
685
|
+
declare const DIAGRAM_MENU = "min-w-56 bg-[rgb(var(--ec-page-bg))] border border-[rgb(var(--ec-page-border))] rounded-lg shadow-xl z-50 py-1.5";
|
|
686
|
+
declare const DIAGRAM_MENU_ITEM = "flex items-center px-3 py-2 text-xs text-[rgb(var(--ec-page-text))] hover:bg-[rgb(var(--ec-accent-subtle)/0.3)] cursor-pointer transition-colors gap-2";
|
|
687
|
+
declare const DIAGRAM_MENU_ITEM_ICON = "w-3.5 h-3.5 text-[rgb(var(--ec-page-text-muted))] flex-shrink-0";
|
|
688
|
+
declare const DIAGRAM_MENU_SEPARATOR = "my-1 h-px bg-[rgb(var(--ec-page-border))]";
|
|
689
|
+
|
|
552
690
|
type MessageGroupNodeData = {
|
|
553
691
|
mode?: string;
|
|
554
692
|
groupName: string;
|
|
@@ -841,6 +979,12 @@ declare const DATA: string[];
|
|
|
841
979
|
declare const VIEW: string[];
|
|
842
980
|
declare const MESSAGE: string[];
|
|
843
981
|
|
|
982
|
+
/**
|
|
983
|
+
* The component a diagram draws each type of node with (types as EventCatalog's node graphs build them, singular
|
|
984
|
+
* and plural). Studio draws diagrams' levels with them too, so they look the same.
|
|
985
|
+
*/
|
|
986
|
+
declare const diagramNodeComponents: Record<string, ComponentType<any>>;
|
|
987
|
+
|
|
844
988
|
declare const nodeComponents: {
|
|
845
989
|
event: react.NamedExoticComponent<EventNode>;
|
|
846
990
|
command: react.NamedExoticComponent<CommandNode>;
|
|
@@ -894,17 +1038,17 @@ declare const AnimatedMessageEdge: react.MemoExoticComponent<({ id, sourceX, sou
|
|
|
894
1038
|
|
|
895
1039
|
declare const _default: react.NamedExoticComponent<EdgeProps>;
|
|
896
1040
|
|
|
897
|
-
declare
|
|
898
|
-
declare
|
|
899
|
-
declare
|
|
1041
|
+
declare const LabelledDefaultEdge: react.NamedExoticComponent<EdgeProps>;
|
|
1042
|
+
declare const LabelledSmoothStepEdge: react.NamedExoticComponent<EdgeProps>;
|
|
1043
|
+
declare const LabelledStepEdge: react.NamedExoticComponent<EdgeProps>;
|
|
900
1044
|
|
|
901
1045
|
declare const edgeTypes: {
|
|
902
1046
|
animated: react.MemoExoticComponent<({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, source, target, sourceHandleId, targetHandleId, data, label, markerEnd, markerStart, }: any) => react_jsx_runtime.JSX.Element>;
|
|
903
1047
|
"flow-edge": react.NamedExoticComponent<CustomEdgeProps>;
|
|
904
1048
|
multiline: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
905
|
-
default:
|
|
906
|
-
smoothstep:
|
|
907
|
-
step:
|
|
1049
|
+
default: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
1050
|
+
smoothstep: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
1051
|
+
step: react.NamedExoticComponent<_xyflow_react.EdgeProps>;
|
|
908
1052
|
};
|
|
909
1053
|
|
|
910
1054
|
/**
|
|
@@ -963,4 +1107,29 @@ declare function layoutGraph(nodes: GraphNode[], edges: GraphEdge[], { style }?:
|
|
|
963
1107
|
edges: Edge[];
|
|
964
1108
|
}>;
|
|
965
1109
|
|
|
966
|
-
|
|
1110
|
+
/**
|
|
1111
|
+
* How a diagram is fitted to the screen: all of it, filling the view with the same room around it at any size (clear
|
|
1112
|
+
* of the title and menus at the top, and the bar at the bottom), never zoomed in past full size (e.g. a graph with
|
|
1113
|
+
* one small node). Studio fits its canvases the same way.
|
|
1114
|
+
*/
|
|
1115
|
+
declare const DIAGRAM_FIT_VIEW_OPTIONS: {
|
|
1116
|
+
readonly padding: {
|
|
1117
|
+
readonly top: "100px";
|
|
1118
|
+
readonly right: "60px";
|
|
1119
|
+
readonly bottom: "80px";
|
|
1120
|
+
readonly left: "60px";
|
|
1121
|
+
};
|
|
1122
|
+
readonly maxZoom: 1;
|
|
1123
|
+
};
|
|
1124
|
+
|
|
1125
|
+
/** Memoizes a custom node so it renders again only when something besides its position changes. */
|
|
1126
|
+
declare const memoNode: <P extends object>(Component: ComponentType<P>) => react.MemoExoticComponent<ComponentType<P>>;
|
|
1127
|
+
|
|
1128
|
+
/**
|
|
1129
|
+
* Pauses (or resumes) the SMIL animations of a canvas's edges: the message envelopes moving along them. Hiding
|
|
1130
|
+
* them doesn't stop them (SMIL keeps running, with a style recalc and layout every frame), so while the canvas
|
|
1131
|
+
* is panned, zoomed or dragged they're paused. Each edge is its own <svg>, with its own timeline.
|
|
1132
|
+
*/
|
|
1133
|
+
declare const pauseEdgeAnimations: (canvas: Element | null, paused: boolean) => void | undefined;
|
|
1134
|
+
|
|
1135
|
+
export { ACTOR, AGENT, AGENT_TOOL, _default$p as Actor, type ActorNode, type Agent$1 as Agent, _default$j as AgentNode, type AgentTool$1 as AgentTool, _default$k as AgentToolNode, type AgentToolNode as AgentToolNodeType, AnimatedMessageEdge, type BaseNodeData, CHANNEL, COMMAND, type Channel, type ChannelNode, _default$g as Command, type CommandNode, _default$8 as ContextActorNode, type ContextMenuItem, _default$c as CustomNode, DATA, DIAGRAM_FIT_VIEW_OPTIONS, DIAGRAM_MENU, DIAGRAM_MENU_BUTTON, DIAGRAM_MENU_BUTTON_COMPACT, DIAGRAM_MENU_BUTTON_ICON, DIAGRAM_MENU_BUTTON_ICON_COMPACT, DIAGRAM_MENU_ITEM, DIAGRAM_MENU_ITEM_ICON, DIAGRAM_MENU_SEPARATOR, DIAGRAM_MENU_TITLE, type Data, type DataNode, _default$t as DataProductNode, DiagramBackground, _default$a as DomainCardNode, _default$b as DomainNode, type DslGraph, ENTITY_TARGET_HANDLE_ID, EVENT, type EdgeType, _default$d as EntityNode, type EntityProperty, _default$f as Event, type EventCatalogResource, type EventNode, type ExternalSystem, _default$2 as ExternalSystem2Node, type ExternalSystemNode, _default$r as Field, type FieldNode as FieldNodeType, _default$1 as FlowEdge, _default$s as FlowExpandedNode, type FlowGroupBy, type FlowGroupStyle, _default$6 as FlowNode, FocusModeModal, type GraphEdge, type GraphEdgeType, type GraphNode, _default$5 as GroupNode, LabelledDefaultEdge, LabelledSmoothStepEdge, LabelledStepEdge, type LegendEntry, LegendPanel, MESSAGE, type MermaidExportOptions, MermaidView, type Message, _default$u as MessageGroupExpandedNode, type MessageGroupExpandedNodeData, _default$v as MessageGroupNode, type MessageGroupNodeData, type MessageGroupNode as MessageGroupNodeType, _default as MultilineEdgeLabel, type NodeCategory, type NodeConfiguration, _default$w as NodeContextMenu, NodeGraph, type NodeGraphProps, type NodeType, _default$l as Note, type NoteNode, NotesIndicator, type OpenInStudioRequest, OwnerIndicator, QUERY, _default$h as Query, type QueryNode, type RegisteredNode, SERVICE, _default$i as Service, type ServiceNode, type Service as ServiceType, _default$4 as StepNode, _default$x as StepWalkthrough, _default$7 as SystemGroupNode, _default$9 as SystemNode, Tip, TipProvider, Toolbar, ToolbarButton, ToolbarDivider, _default$3 as UserNode, VIEW, type View, type ViewNode, VisualiserSearch, type VisualiserSnapshot, type VisualizerCallbacks, type VisualizerLink, type VisualizerMode, ZoomLevel, _default$o as actorConfig, buildNodeData, convertToMermaid, createEdge, createNode, _default$n as dataNodeConfig, diagramNodeComponents, edgeTypes, _default$e as eventConfig, exportNodeGraphForStudio, _default$m as externalSystemConfig, _default$q as fieldConfig, generateIdForNode, generateIdForNodes, generatedIdForEdge, getColorFromString, getEdgeLabelForMessageAsSource, getEdgeLabelForServiceAsTarget, getEdgeLabelSize, getLegend, getNestedEntityProperties, getPropertyTypeLabel, isFlowGroupBy, layoutGraph, memoNode, nodeComponents, nodeConfigs, normalizeOwners, pauseEdgeAnimations };
|