@neo4j-ndl/react-graph 0.0.2

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 (129) hide show
  1. package/LICENSE +674 -0
  2. package/lib/LICENSES.txt +229 -0
  3. package/lib/NOTICE.txt +26 -0
  4. package/lib/cjs/graph-visualization-buttons.js +175 -0
  5. package/lib/cjs/graph-visualization-buttons.js.map +1 -0
  6. package/lib/cjs/graph-visualization-context.js +62 -0
  7. package/lib/cjs/graph-visualization-context.js.map +1 -0
  8. package/lib/cjs/graph-visualization-sidepanel.js +56 -0
  9. package/lib/cjs/graph-visualization-sidepanel.js.map +1 -0
  10. package/lib/cjs/graph-visualization.js +328 -0
  11. package/lib/cjs/graph-visualization.js.map +1 -0
  12. package/lib/cjs/index.js +28 -0
  13. package/lib/cjs/index.js.map +1 -0
  14. package/lib/cjs/map-to-nvl-graph.js +167 -0
  15. package/lib/cjs/map-to-nvl-graph.js.map +1 -0
  16. package/lib/cjs/sidepanel-components/button-group.js +96 -0
  17. package/lib/cjs/sidepanel-components/button-group.js.map +1 -0
  18. package/lib/cjs/sidepanel-components/clickable-urls.js +46 -0
  19. package/lib/cjs/sidepanel-components/clickable-urls.js.map +1 -0
  20. package/lib/cjs/sidepanel-components/details-panel.js +86 -0
  21. package/lib/cjs/sidepanel-components/details-panel.js.map +1 -0
  22. package/lib/cjs/sidepanel-components/overview-panel.js +45 -0
  23. package/lib/cjs/sidepanel-components/overview-panel.js.map +1 -0
  24. package/lib/cjs/sidepanel-components/properties-table.js +49 -0
  25. package/lib/cjs/sidepanel-components/properties-table.js.map +1 -0
  26. package/lib/cjs/sidepanel-components/show-all.js +44 -0
  27. package/lib/cjs/sidepanel-components/show-all.js.map +1 -0
  28. package/lib/cjs/sidepanel-components/single-selection-sidepanel-contents.js +35 -0
  29. package/lib/cjs/sidepanel-components/single-selection-sidepanel-contents.js.map +1 -0
  30. package/lib/cjs/stories/graph-visualization-barebones.story.js +93 -0
  31. package/lib/cjs/stories/graph-visualization-barebones.story.js.map +1 -0
  32. package/lib/cjs/stories/graph-visualization-custom.story.js +74 -0
  33. package/lib/cjs/stories/graph-visualization-custom.story.js.map +1 -0
  34. package/lib/cjs/stories/graph-visualization-default.story.js +93 -0
  35. package/lib/cjs/stories/graph-visualization-default.story.js.map +1 -0
  36. package/lib/cjs/stories/graph-visualization-highlighting.story.js +30 -0
  37. package/lib/cjs/stories/graph-visualization-highlighting.story.js.map +1 -0
  38. package/lib/cjs/stories/graph-visualization-maximalist.story.js +105 -0
  39. package/lib/cjs/stories/graph-visualization-maximalist.story.js.map +1 -0
  40. package/lib/cjs/stories/graph-visualization-search.story.js +36 -0
  41. package/lib/cjs/stories/graph-visualization-search.story.js.map +1 -0
  42. package/lib/cjs/stories/graph-visualization.stories.js +112 -0
  43. package/lib/cjs/stories/graph-visualization.stories.js.map +1 -0
  44. package/lib/cjs/stories/index.js +51 -0
  45. package/lib/cjs/stories/index.js.map +1 -0
  46. package/lib/cjs/stories/story-data.js +89 -0
  47. package/lib/cjs/stories/story-data.js.map +1 -0
  48. package/lib/cjs/use-managed-node-state.js +262 -0
  49. package/lib/cjs/use-managed-node-state.js.map +1 -0
  50. package/lib/cjs/use-semi-controlled-state.js +43 -0
  51. package/lib/cjs/use-semi-controlled-state.js.map +1 -0
  52. package/lib/cjs/utils.js +68 -0
  53. package/lib/cjs/utils.js.map +1 -0
  54. package/lib/esm/graph-visualization-buttons.js +159 -0
  55. package/lib/esm/graph-visualization-buttons.js.map +1 -0
  56. package/lib/esm/graph-visualization-context.js +58 -0
  57. package/lib/esm/graph-visualization-context.js.map +1 -0
  58. package/lib/esm/graph-visualization-sidepanel.js +52 -0
  59. package/lib/esm/graph-visualization-sidepanel.js.map +1 -0
  60. package/lib/esm/graph-visualization.js +298 -0
  61. package/lib/esm/graph-visualization.js.map +1 -0
  62. package/lib/esm/index.js +23 -0
  63. package/lib/esm/index.js.map +1 -0
  64. package/lib/esm/map-to-nvl-graph.js +162 -0
  65. package/lib/esm/map-to-nvl-graph.js.map +1 -0
  66. package/lib/esm/sidepanel-components/button-group.js +69 -0
  67. package/lib/esm/sidepanel-components/button-group.js.map +1 -0
  68. package/lib/esm/sidepanel-components/clickable-urls.js +40 -0
  69. package/lib/esm/sidepanel-components/clickable-urls.js.map +1 -0
  70. package/lib/esm/sidepanel-components/details-panel.js +82 -0
  71. package/lib/esm/sidepanel-components/details-panel.js.map +1 -0
  72. package/lib/esm/sidepanel-components/overview-panel.js +41 -0
  73. package/lib/esm/sidepanel-components/overview-panel.js.map +1 -0
  74. package/lib/esm/sidepanel-components/properties-table.js +45 -0
  75. package/lib/esm/sidepanel-components/properties-table.js.map +1 -0
  76. package/lib/esm/sidepanel-components/show-all.js +41 -0
  77. package/lib/esm/sidepanel-components/show-all.js.map +1 -0
  78. package/lib/esm/sidepanel-components/single-selection-sidepanel-contents.js +31 -0
  79. package/lib/esm/sidepanel-components/single-selection-sidepanel-contents.js.map +1 -0
  80. package/lib/esm/stories/graph-visualization-barebones.story.js +90 -0
  81. package/lib/esm/stories/graph-visualization-barebones.story.js.map +1 -0
  82. package/lib/esm/stories/graph-visualization-custom.story.js +71 -0
  83. package/lib/esm/stories/graph-visualization-custom.story.js.map +1 -0
  84. package/lib/esm/stories/graph-visualization-default.story.js +90 -0
  85. package/lib/esm/stories/graph-visualization-default.story.js.map +1 -0
  86. package/lib/esm/stories/graph-visualization-highlighting.story.js +28 -0
  87. package/lib/esm/stories/graph-visualization-highlighting.story.js.map +1 -0
  88. package/lib/esm/stories/graph-visualization-maximalist.story.js +102 -0
  89. package/lib/esm/stories/graph-visualization-maximalist.story.js.map +1 -0
  90. package/lib/esm/stories/graph-visualization-search.story.js +34 -0
  91. package/lib/esm/stories/graph-visualization-search.story.js.map +1 -0
  92. package/lib/esm/stories/graph-visualization.stories.js +109 -0
  93. package/lib/esm/stories/graph-visualization.stories.js.map +1 -0
  94. package/lib/esm/stories/index.js +39 -0
  95. package/lib/esm/stories/index.js.map +1 -0
  96. package/lib/esm/stories/story-data.js +86 -0
  97. package/lib/esm/stories/story-data.js.map +1 -0
  98. package/lib/esm/use-managed-node-state.js +259 -0
  99. package/lib/esm/use-managed-node-state.js.map +1 -0
  100. package/lib/esm/use-semi-controlled-state.js +40 -0
  101. package/lib/esm/use-semi-controlled-state.js.map +1 -0
  102. package/lib/esm/utils.js +60 -0
  103. package/lib/esm/utils.js.map +1 -0
  104. package/lib/types/graph-visualization-buttons.d.ts +56 -0
  105. package/lib/types/graph-visualization-context.d.ts +122 -0
  106. package/lib/types/graph-visualization-sidepanel.d.ts +32 -0
  107. package/lib/types/graph-visualization.d.ts +178 -0
  108. package/lib/types/index.d.ts +22 -0
  109. package/lib/types/map-to-nvl-graph.d.ts +37 -0
  110. package/lib/types/sidepanel-components/button-group.d.ts +24 -0
  111. package/lib/types/sidepanel-components/clickable-urls.d.ts +26 -0
  112. package/lib/types/sidepanel-components/details-panel.d.ts +25 -0
  113. package/lib/types/sidepanel-components/overview-panel.d.ts +21 -0
  114. package/lib/types/sidepanel-components/properties-table.d.ts +31 -0
  115. package/lib/types/sidepanel-components/show-all.d.ts +29 -0
  116. package/lib/types/sidepanel-components/single-selection-sidepanel-contents.d.ts +21 -0
  117. package/lib/types/stories/graph-visualization-barebones.story.d.ts +23 -0
  118. package/lib/types/stories/graph-visualization-custom.story.d.ts +23 -0
  119. package/lib/types/stories/graph-visualization-default.story.d.ts +23 -0
  120. package/lib/types/stories/graph-visualization-highlighting.story.d.ts +22 -0
  121. package/lib/types/stories/graph-visualization-maximalist.story.d.ts +23 -0
  122. package/lib/types/stories/graph-visualization-search.story.d.ts +22 -0
  123. package/lib/types/stories/graph-visualization.stories.d.ts +39 -0
  124. package/lib/types/stories/index.d.ts +32 -0
  125. package/lib/types/stories/story-data.d.ts +26 -0
  126. package/lib/types/use-managed-node-state.d.ts +116 -0
  127. package/lib/types/use-semi-controlled-state.d.ts +23 -0
  128. package/lib/types/utils.d.ts +29 -0
  129. package/package.json +79 -0
@@ -0,0 +1,178 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { type PolymorphicRef } from '@neo4j-ndl/react';
22
+ import type NVL from '@neo4j-nvl/base';
23
+ import { type InteractiveNvlWrapperProps } from '@neo4j-nvl/react';
24
+ import React from 'react';
25
+ import { type Gesture, type GraphSelection, type InteractionMode, type NeoNode, type NeoRel, type Sidepanel } from './graph-visualization-context';
26
+ export declare const DEFAULT_NVL_OPTIONS: {
27
+ disableTelemetry: boolean;
28
+ disableWebGL: boolean;
29
+ maxZoom: number;
30
+ minZoom: number;
31
+ relationshipThreshold: number;
32
+ useWebGL: boolean;
33
+ };
34
+ export type GraphVisualizationProps<T extends React.ElementType> = {
35
+ nvlRef?: React.RefObject<NVL>;
36
+ sidepanel?: Sidepanel | null;
37
+ topRightIsland?: React.ReactNode;
38
+ bottomLeftIsland?: React.ReactNode;
39
+ bottomRightIsland?: React.ReactNode;
40
+ topLeftIsland?: React.ReactNode;
41
+ className?: string;
42
+ style?: React.CSSProperties;
43
+ gesture?: Gesture;
44
+ setGesture?: (gesture: Gesture) => void;
45
+ selected?: GraphSelection;
46
+ setSelected?: (newSelection: GraphSelection) => void;
47
+ interactionMode?: InteractionMode;
48
+ setInteractionMode?: (interactionMode: InteractionMode) => void;
49
+ nodes: NeoNode[];
50
+ rels: NeoRel[];
51
+ highlightedNodeIds?: string[];
52
+ highlightedRelationshipIds?: string[];
53
+ as?: T;
54
+ ref?: PolymorphicRef<T>;
55
+ htmlAttributes?: React.HTMLAttributes<T>;
56
+ } & InteractiveNvlWrapperProps;
57
+ /**
58
+ * A comprehensive graph visualization component for rendering Neo4j-style graphs with interactive features.
59
+ *
60
+ * @remarks
61
+ * This component provides a complete graph visualization solution with built-in interaction modes,
62
+ * selection handling, zoom controls, and an optional sidepanel. It wraps the NVL (Neo4j Visualization Library)
63
+ * with additional UI controls and state management.
64
+ *
65
+ * The component supports various interaction modes including single selection, box selection, and lasso selection.
66
+ * It also provides customizable UI islands for placing controls at different corners of the visualization.
67
+ *
68
+ * @example
69
+ * Basic usage:
70
+ * ```tsx
71
+ * <GraphVisualization
72
+ * nodes={nodes}
73
+ * rels={relationships}
74
+ * selected={selection}
75
+ * setSelected={setSelection}
76
+ * />
77
+ * ```
78
+ *
79
+ * @example
80
+ * With custom controls:
81
+ * ```tsx
82
+ * <GraphVisualization
83
+ * nodes={nodes}
84
+ * rels={relationships}
85
+ * topRightIsland={<CustomControls />}
86
+ * sidepanel={{
87
+ * contents: <CustomSidepanel />,
88
+ * isSidePanelOpen: true,
89
+ * setIsSidePanelOpen: setSidepanelOpen
90
+ * sidePanelWidth: 400,
91
+ * onSidePanelResize: setSidepanelWidth,
92
+ * }}
93
+ * />
94
+ * ```
95
+ *
96
+ * @example
97
+ * With highlighting:
98
+ * ```tsx
99
+ * <GraphVisualization
100
+ * nodes={nodes}
101
+ * rels={relationships}
102
+ * // undefined = no highlighting (default behavior)
103
+ * // empty array = no search matches (dims all nodes)
104
+ * // array with IDs = highlight only those items
105
+ * highlightedNodeIds={searchResults.nodeIds}
106
+ * highlightedRelationshipIds={searchResults.relationshipIds}
107
+ * />
108
+ * ```
109
+ *
110
+ * @param props - {@link GraphVisualizationProps}
111
+ * @returns A React component that renders an interactive graph visualization
112
+ *
113
+ * @alpha
114
+ */
115
+ export declare function GraphVisualization<T extends React.ElementType = 'div'>({ nvlRef: rawNvlRef, nvlCallbacks, nvlOptions, sidepanel: rawSidepanel, nodes: rawNodes, rels: rawRels, highlightedNodeIds, highlightedRelationshipIds, topLeftIsland, topRightIsland, bottomLeftIsland, bottomRightIsland, gesture, setGesture, selected: rawSelected, setSelected: rawSetSelected, interactionMode: rawInteractionMode, setInteractionMode: rawSetInteractionMode, mouseEventCallbacks, className, style, htmlAttributes, ref, as, ...restProps }: GraphVisualizationProps<T>): import("react/jsx-runtime").JSX.Element;
116
+ export declare namespace GraphVisualization {
117
+ var ZoomInButton: ({ className, style, htmlAttributes, tooltipPlacement, }: {
118
+ className?: string;
119
+ style?: React.CSSProperties;
120
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
121
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
122
+ }) => import("react/jsx-runtime").JSX.Element;
123
+ var ZoomOutButton: ({ className, style, htmlAttributes, tooltipPlacement, }: {
124
+ className?: string;
125
+ style?: React.CSSProperties;
126
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
127
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
128
+ }) => import("react/jsx-runtime").JSX.Element;
129
+ var ZoomToFitButton: ({ className, style, htmlAttributes, tooltipPlacement, }: {
130
+ className?: string;
131
+ style?: React.CSSProperties;
132
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
133
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
134
+ }) => import("react/jsx-runtime").JSX.Element;
135
+ var ToggleSidePanelButton: ({ className, htmlAttributes, style, tooltipPlacement, }: {
136
+ className?: string;
137
+ style?: React.CSSProperties;
138
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
139
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
140
+ }) => import("react/jsx-runtime").JSX.Element;
141
+ var DownloadButton: ({ className, style, htmlAttributes, tooltipPlacement, }: {
142
+ className?: string;
143
+ style?: React.CSSProperties;
144
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
145
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
146
+ }) => import("react/jsx-runtime").JSX.Element;
147
+ var BoxSelectButton: ({ className, style, htmlAttributes, tooltipPlacement, }: {
148
+ className?: string;
149
+ style?: React.CSSProperties;
150
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
151
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
152
+ }) => import("react/jsx-runtime").JSX.Element;
153
+ var LassoSelectButton: ({ className, style, htmlAttributes, tooltipPlacement, }: {
154
+ className?: string;
155
+ style?: React.CSSProperties;
156
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
157
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
158
+ }) => import("react/jsx-runtime").JSX.Element;
159
+ var SingleSelectButton: ({ className, style, htmlAttributes, tooltipPlacement, }: {
160
+ className?: string;
161
+ style?: React.CSSProperties;
162
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
163
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
164
+ }) => import("react/jsx-runtime").JSX.Element;
165
+ var SearchButton: ({ className, style, htmlAttributes, tooltipPlacement, open: rawOpen, setOpen: rawSetOpen, searchTerm: rawSearchTerm, setSearchTerm: rawSetSearchTerm, onSearch, }: {
166
+ className?: string;
167
+ style?: React.CSSProperties;
168
+ htmlAttributes?: import("@neo4j-ndl/react").HtmlAttributes<"button">;
169
+ tooltipPlacement?: import("@neo4j-ndl/react").TooltipProps["placement"];
170
+ } & {
171
+ open?: boolean;
172
+ setOpen?: React.Dispatch<React.SetStateAction<boolean>>;
173
+ searchTerm?: string;
174
+ setSearchTerm?: React.Dispatch<React.SetStateAction<string>>;
175
+ onSearch?: (nodeIds: string[] | undefined, relationshipIds: string[] | undefined) => void;
176
+ }) => import("react/jsx-runtime").JSX.Element;
177
+ var SingleSelectionSidePanelContents: () => import("react/jsx-runtime").JSX.Element;
178
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export { GraphVisualization } from './graph-visualization';
22
+ export { useGraphVisualizationContext, type DataLookupTable, type Gesture, type GraphItemMetaData, type GraphSelection, type GraphVisualizationContextData, type InteractionMode, type NeoNode, type NeoRel, type NodeData, type NvlGraph, type PortableProperty, type RelData, type Sidepanel, } from './graph-visualization-context';
@@ -0,0 +1,37 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { type NeoNode, type NeoRel, type NvlGraph } from './graph-visualization-context';
22
+ export type CaptionOption = {
23
+ type: 'id';
24
+ captionSize?: number;
25
+ } | {
26
+ type: 'type';
27
+ captionSize?: number;
28
+ } | {
29
+ type: 'property';
30
+ captionKey: string;
31
+ captionSize?: number;
32
+ };
33
+ export declare const DEFAULT_REL_COLOR: string;
34
+ export declare const NO_LABEL_FALLBACK_COLOR: string;
35
+ export declare const captionPriorityOrder: RegExp[];
36
+ export declare function getDefaultCaptionKey(options: CaptionOption[]): CaptionOption | undefined;
37
+ export declare function mapToNvlGraph(rawNodes: NeoNode[], rawRels: NeoRel[]): NvlGraph;
@@ -0,0 +1,24 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import React from 'react';
22
+ export declare const ButtonGroup: ({ children }: {
23
+ children: React.ReactNode;
24
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,26 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import React from 'react';
22
+ interface ClickableUrlsProps {
23
+ text?: string | null;
24
+ }
25
+ export declare const ClickableUrls: React.MemoExoticComponent<({ text }: ClickableUrlsProps) => import("react/jsx-runtime").JSX.Element>;
26
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ type DetailPanelProps = {
22
+ paneWidth?: number;
23
+ };
24
+ export declare const DetailsPanel: ({ paneWidth }: DetailPanelProps) => import("react/jsx-runtime").JSX.Element | null;
25
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export declare const OverviewPanel: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,31 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { type PortableProperty } from '../graph-visualization-context';
22
+ export declare const ELLIPSIS = "\u2026";
23
+ export declare const WIDE_VIEW_THRESHOLD = 900;
24
+ export declare const MAX_LENGTH_NARROW = 150;
25
+ export declare const MAX_LENGTH_WIDE = 300;
26
+ type PropertiesTableProps = {
27
+ properties: Record<string, PortableProperty>;
28
+ paneWidth: number;
29
+ };
30
+ export declare const PropertiesTable: ({ properties, paneWidth, }: PropertiesTableProps) => import("react/jsx-runtime").JSX.Element;
31
+ export {};
@@ -0,0 +1,29 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { type ReactNode } from 'react';
22
+ type ShowAllProps = {
23
+ initiallyShown: number;
24
+ children: ((() => ReactNode) | ReactNode)[];
25
+ isButtonGroup?: boolean;
26
+ ariaLabel?: string;
27
+ };
28
+ export declare function ShowAll({ initiallyShown, children, isButtonGroup, }: ShowAllProps): import("react/jsx-runtime").JSX.Element | null;
29
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export declare const SingleSelectionSidepanelContents: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export declare const containerClasses = "n-w-full n-border-palette-neutral-border-weak n-mx-2 n-rounded-lg n-border";
22
+ declare const Component: () => import("react/jsx-runtime").JSX.Element;
23
+ export default Component;
@@ -0,0 +1,23 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export declare const containerClasses = "n-w-full n-border-palette-neutral-border-weak n-mx-2 n-rounded-lg n-border";
22
+ declare const Component: () => import("react/jsx-runtime").JSX.Element;
23
+ export default Component;
@@ -0,0 +1,23 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export declare const containerClasses = "n-w-full n-border-palette-neutral-border-weak n-mx-2 n-rounded-lg n-border";
22
+ declare const Component: () => import("react/jsx-runtime").JSX.Element;
23
+ export default Component;
@@ -0,0 +1,22 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ declare const Component: () => import("react/jsx-runtime").JSX.Element;
22
+ export default Component;
@@ -0,0 +1,23 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export declare const containerClasses = "n-w-full n-border-palette-neutral-border-weak n-mx-2 n-rounded-lg n-border";
22
+ declare const Component: () => import("react/jsx-runtime").JSX.Element;
23
+ export default Component;
@@ -0,0 +1,22 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ declare const Component: () => import("react/jsx-runtime").JSX.Element;
22
+ export default Component;
@@ -0,0 +1,39 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { type StoryObj } from '@storybook/react-vite';
22
+ declare const componentMeta: {
23
+ parameters: {
24
+ controls: {
25
+ disable: boolean;
26
+ };
27
+ };
28
+ tags: string[];
29
+ title: string;
30
+ id: string;
31
+ };
32
+ export default componentMeta;
33
+ type Story = StoryObj<typeof componentMeta>;
34
+ export declare const Default: Story;
35
+ export declare const Barebones: Story;
36
+ export declare const Maximalist: Story;
37
+ export declare const CustomIslands: Story;
38
+ export declare const Highlighting: Story;
39
+ export declare const Search: Story;
@@ -0,0 +1,32 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ export { default as GraphVisualizationBarebones } from './graph-visualization-barebones.story';
22
+ export { default as GraphVisualizationCustom } from './graph-visualization-custom.story';
23
+ export { default as GraphVisualizationDefault } from './graph-visualization-default.story';
24
+ export { default as GraphVisualizationHighlighting } from './graph-visualization-highlighting.story';
25
+ export { default as GraphVisualizationSearch } from './graph-visualization-search.story';
26
+ export { default as GraphVisualizationMaximalist } from './graph-visualization-maximalist.story';
27
+ export declare const GraphVisualizationDefaultSrc: string;
28
+ export declare const GraphVisualizationBarebonesSrc: string;
29
+ export declare const GraphVisualizationMaximalistSrc: string;
30
+ export declare const GraphVisualizationCustomSrc: string;
31
+ export declare const GraphVisualizationHighlightingSrc: string;
32
+ export declare const GraphVisualizationSearchSrc: string;