@xyo-network/react-node-renderer 3.0.1 → 3.0.3
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/browser/Cytoscape/CytoscapeElements.d.ts +29 -0
- package/dist/browser/Cytoscape/CytoscapeElements.d.ts.map +1 -0
- package/dist/browser/Cytoscape/CytoscapeIcons.d.ts +5 -0
- package/dist/browser/Cytoscape/CytoscapeIcons.d.ts.map +1 -0
- package/dist/browser/Cytoscape/CytoscapeStyles.d.ts +22 -0
- package/dist/browser/Cytoscape/CytoscapeStyles.d.ts.map +1 -0
- package/dist/browser/Cytoscape/index.d.ts +5 -0
- package/dist/browser/Cytoscape/index.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/CyNodeModuleTypes.d.ts +2 -0
- package/dist/browser/Cytoscape/lib/CyNodeModuleTypes.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/encodeSvg.d.ts +3 -0
- package/dist/browser/Cytoscape/lib/encodeSvg.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/iconMap.d.ts +3 -0
- package/dist/browser/Cytoscape/lib/iconMap.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/index.d.ts +6 -0
- package/dist/browser/Cytoscape/lib/index.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/layout/ColaLayout.d.ts +6 -0
- package/dist/browser/Cytoscape/lib/layout/ColaLayout.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/layout/ConcentricLayout.d.ts +3 -0
- package/dist/browser/Cytoscape/lib/layout/ConcentricLayout.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/layout/index.d.ts +3 -0
- package/dist/browser/Cytoscape/lib/layout/index.d.ts.map +1 -0
- package/dist/browser/Cytoscape/lib/parseModuleType.d.ts +4 -0
- package/dist/browser/Cytoscape/lib/parseModuleType.d.ts.map +1 -0
- package/dist/browser/components/cytoscape-extensions/WithExtensions.d.ts +4 -0
- package/dist/browser/components/cytoscape-extensions/WithExtensions.d.ts.map +1 -0
- package/dist/browser/components/cytoscape-extensions/index.d.ts +2 -0
- package/dist/browser/components/cytoscape-extensions/index.d.ts.map +1 -0
- package/dist/browser/components/index.d.ts +4 -0
- package/dist/browser/components/index.d.ts.map +1 -0
- package/dist/browser/components/lib/RelationalGraphProps.d.ts +16 -0
- package/dist/browser/components/lib/RelationalGraphProps.d.ts.map +1 -0
- package/dist/browser/components/lib/index.d.ts +2 -0
- package/dist/browser/components/lib/index.d.ts.map +1 -0
- package/dist/browser/components/module/CardParser.d.ts +7 -0
- package/dist/browser/components/module/CardParser.d.ts.map +1 -0
- package/dist/browser/components/module/graph/DetailsFlexbox.d.ts +7 -0
- package/dist/browser/components/module/graph/DetailsFlexbox.d.ts.map +1 -0
- package/dist/browser/components/module/graph/GraphFlexBox.d.ts +13 -0
- package/dist/browser/components/module/graph/GraphFlexBox.d.ts.map +1 -0
- package/dist/browser/components/module/graph/Popper.d.ts +13 -0
- package/dist/browser/components/module/graph/Popper.d.ts.map +1 -0
- package/dist/browser/components/module/graph/index.d.ts +2 -0
- package/dist/browser/components/module/graph/index.d.ts.map +1 -0
- package/dist/browser/components/module/graph/node/Hover.d.ts +10 -0
- package/dist/browser/components/module/graph/node/Hover.d.ts.map +1 -0
- package/dist/browser/components/module/graph/node/hooks/index.d.ts +2 -0
- package/dist/browser/components/module/graph/node/hooks/index.d.ts.map +1 -0
- package/dist/browser/components/module/graph/node/hooks/useNodeElement.d.ts +7 -0
- package/dist/browser/components/module/graph/node/hooks/useNodeElement.d.ts.map +1 -0
- package/dist/browser/components/module/graph/node/index.d.ts +2 -0
- package/dist/browser/components/module/graph/node/index.d.ts.map +1 -0
- package/dist/browser/components/module/index.d.ts +3 -0
- package/dist/browser/components/module/index.d.ts.map +1 -0
- package/dist/browser/components/relational/graph/Graph.d.ts +5 -0
- package/dist/browser/components/relational/graph/Graph.d.ts.map +1 -0
- package/dist/browser/components/relational/graph/ProvidedNodeRenderer.d.ts +12 -0
- package/dist/browser/components/relational/graph/ProvidedNodeRenderer.d.ts.map +1 -0
- package/dist/browser/components/relational/graph/index.d.ts +3 -0
- package/dist/browser/components/relational/graph/index.d.ts.map +1 -0
- package/dist/browser/components/relational/graph/story/TestData.d.ts +3 -0
- package/dist/browser/components/relational/graph/story/TestData.d.ts.map +1 -0
- package/dist/browser/components/relational/graph/story/index.d.ts +2 -0
- package/dist/browser/components/relational/graph/story/index.d.ts.map +1 -0
- package/dist/browser/components/relational/index.d.ts +2 -0
- package/dist/browser/components/relational/index.d.ts.map +1 -0
- package/dist/browser/contexts/CytoscapeInstance/Context.d.ts +3 -0
- package/dist/browser/contexts/CytoscapeInstance/Context.d.ts.map +1 -0
- package/dist/browser/contexts/CytoscapeInstance/Provider.d.ts +8 -0
- package/dist/browser/contexts/CytoscapeInstance/Provider.d.ts.map +1 -0
- package/dist/browser/contexts/CytoscapeInstance/State.d.ts +8 -0
- package/dist/browser/contexts/CytoscapeInstance/State.d.ts.map +1 -0
- package/dist/browser/contexts/CytoscapeInstance/index.d.ts +5 -0
- package/dist/browser/contexts/CytoscapeInstance/index.d.ts.map +1 -0
- package/dist/browser/contexts/CytoscapeInstance/use.d.ts +2 -0
- package/dist/browser/contexts/CytoscapeInstance/use.d.ts.map +1 -0
- package/dist/browser/contexts/index.d.ts +2 -0
- package/dist/browser/contexts/index.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/elements/index.d.ts +3 -0
- package/dist/browser/hooks/cytoscape/elements/index.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/elements/useCytoscapeElements.d.ts +4 -0
- package/dist/browser/hooks/cytoscape/elements/useCytoscapeElements.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/elements/useElements.d.ts +6 -0
- package/dist/browser/hooks/cytoscape/elements/useElements.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/elements/useHoveredNode.d.ts +4 -0
- package/dist/browser/hooks/cytoscape/elements/useHoveredNode.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/elements/useNewElements.d.ts +3 -0
- package/dist/browser/hooks/cytoscape/elements/useNewElements.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/elements/useRenderNewElements.d.ts +3 -0
- package/dist/browser/hooks/cytoscape/elements/useRenderNewElements.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/elements/useSelectedElement.d.ts +6 -0
- package/dist/browser/hooks/cytoscape/elements/useSelectedElement.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/index.d.ts +5 -0
- package/dist/browser/hooks/cytoscape/index.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/useCytoscapeOptions.d.ts +3 -0
- package/dist/browser/hooks/cytoscape/useCytoscapeOptions.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/useCytoscapeStyle.d.ts +2 -0
- package/dist/browser/hooks/cytoscape/useCytoscapeStyle.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/useIcons.d.ts +3 -0
- package/dist/browser/hooks/cytoscape/useIcons.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/useModuleDetails.d.ts +18 -0
- package/dist/browser/hooks/cytoscape/useModuleDetails.d.ts.map +1 -0
- package/dist/browser/hooks/cytoscape/useRelationalGraphOptions.d.ts +7 -0
- package/dist/browser/hooks/cytoscape/useRelationalGraphOptions.d.ts.map +1 -0
- package/dist/browser/hooks/index.d.ts +2 -0
- package/dist/browser/hooks/index.d.ts.map +1 -0
- package/dist/browser/index.d.ts +5 -168
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.mjs +38 -39
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +81 -75
- package/src/Cytoscape/CytoscapeElements.ts +8 -4
- package/src/Cytoscape/CytoscapeIcons.tsx +3 -3
- package/src/Cytoscape/CytoscapeStyles.ts +3 -5
- package/src/Cytoscape/lib/encodeSvg.ts +1 -1
- package/src/Cytoscape/lib/iconMap.ts +1 -1
- package/src/Cytoscape/lib/layout/ConcentricLayout.ts +1 -1
- package/src/Cytoscape/lib/parseModuleType.ts +2 -2
- package/src/components/cytoscape-extensions/WithExtensions.tsx +2 -1
- package/src/components/lib/RelationalGraphProps.ts +5 -5
- package/src/components/module/CardParser.stories.tsx +5 -5
- package/src/components/module/CardParser.tsx +1 -1
- package/src/components/module/graph/DetailsFlexbox.tsx +2 -1
- package/src/components/module/graph/GraphFlexBox.stories.tsx +12 -4
- package/src/components/module/graph/GraphFlexBox.tsx +14 -6
- package/src/components/module/graph/Popper.tsx +13 -7
- package/src/components/module/graph/node/Hover.tsx +8 -4
- package/src/components/module/graph/node/hooks/useNodeElement.tsx +8 -4
- package/src/components/relational/graph/Graph.stories.tsx +20 -6
- package/src/components/relational/graph/Graph.tsx +25 -9
- package/src/components/relational/graph/GraphCola.stories.tsx +20 -6
- package/src/components/relational/graph/GraphCoseBilkent.stories.tsx +20 -6
- package/src/components/relational/graph/GraphDagre.stories.tsx +20 -6
- package/src/components/relational/graph/GraphEuler.stories.tsx +20 -6
- package/src/components/relational/graph/GraphEvents.stories.tsx +4 -2
- package/src/components/relational/graph/ProvidedNodeRenderer.tsx +3 -3
- package/src/components/relational/graph/story/TestData.tsx +8 -6
- package/src/contexts/CytoscapeInstance/Context.ts +1 -1
- package/src/contexts/CytoscapeInstance/Provider.tsx +12 -8
- package/src/contexts/CytoscapeInstance/State.ts +3 -3
- package/src/hooks/cytoscape/elements/useCytoscapeElements.ts +3 -3
- package/src/hooks/cytoscape/elements/useElements.tsx +3 -1
- package/src/hooks/cytoscape/elements/useHoveredNode.tsx +5 -2
- package/src/hooks/cytoscape/elements/useNewElements.tsx +1 -1
- package/src/hooks/cytoscape/elements/useRenderNewElements.tsx +1 -1
- package/src/hooks/cytoscape/elements/useSelectedElement.tsx +1 -1
- package/src/hooks/cytoscape/useCytoscapeOptions.ts +1 -1
- package/src/hooks/cytoscape/useCytoscapeStyle.tsx +4 -2
- package/src/hooks/cytoscape/useIcons.tsx +4 -1
- package/src/hooks/cytoscape/useModuleDetails.tsx +1 -1
- package/src/hooks/cytoscape/useRelationalGraphOptions.tsx +4 -2
- package/xy.config.ts +2 -4
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
|
+
Decorator, Meta, StoryFn,
|
|
3
|
+
} from '@storybook/react'
|
|
2
4
|
import { useAsyncEffect } from '@xylabs/react-async-effect'
|
|
3
5
|
import { ArchivistConfigSchema, MemoryArchivist } from '@xyo-network/archivist'
|
|
4
6
|
import { MemoryNode } from '@xyo-network/node-memory'
|
|
@@ -6,7 +8,7 @@ import { NodeConfigSchema } from '@xyo-network/node-model'
|
|
|
6
8
|
import { NodeProvider, useWeakProvidedNode } from '@xyo-network/react-node'
|
|
7
9
|
import { DefaultSeedPhrase } from '@xyo-network/react-storybook'
|
|
8
10
|
import { useWallet, WalletProvider } from '@xyo-network/react-wallet'
|
|
9
|
-
import { EventObject } from 'cytoscape'
|
|
11
|
+
import type { EventObject } from 'cytoscape'
|
|
10
12
|
import React, { useEffect, useState } from 'react'
|
|
11
13
|
|
|
12
14
|
import { CytoscapeInstanceProvider, useCytoscapeInstance } from '../../../contexts/index.ts'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
|
-
import { NodeInstance } from '@xyo-network/node-model'
|
|
1
|
+
import type { AccountInstance } from '@xyo-network/account-model'
|
|
2
|
+
import type { NodeInstance } from '@xyo-network/node-model'
|
|
3
3
|
import { useWeakProvidedNode } from '@xyo-network/react-node'
|
|
4
4
|
import React from 'react'
|
|
5
5
|
|
|
6
6
|
import { useCytoscapeElements, useCytoscapeOptions } from '../../../hooks/index.ts'
|
|
7
|
-
import { NodeRelationalGraphProps } from '../../lib/index.ts'
|
|
7
|
+
import type { NodeRelationalGraphProps } from '../../lib/index.ts'
|
|
8
8
|
import { NodeRelationalGraphFlexBox } from './Graph.tsx'
|
|
9
9
|
|
|
10
10
|
export interface ProvidedNodeRendererProps extends NodeRelationalGraphProps {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CytoscapeOptions } from 'cytoscape'
|
|
1
|
+
import type { CytoscapeOptions } from 'cytoscape'
|
|
2
2
|
|
|
3
3
|
const elements: CytoscapeOptions['elements'] = [
|
|
4
4
|
{
|
|
@@ -15,20 +15,22 @@ const elements: CytoscapeOptions['elements'] = [
|
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
// edge ab
|
|
18
|
-
data: {
|
|
18
|
+
data: {
|
|
19
|
+
id: 'ab', source: 'a', target: 'b',
|
|
20
|
+
},
|
|
19
21
|
},
|
|
20
22
|
{
|
|
21
23
|
// edge ac
|
|
22
|
-
data: {
|
|
24
|
+
data: {
|
|
25
|
+
id: 'ac', source: 'a', target: 'c',
|
|
26
|
+
},
|
|
23
27
|
},
|
|
24
28
|
]
|
|
25
29
|
|
|
26
30
|
const style: CytoscapeOptions['style'] = [
|
|
27
31
|
{
|
|
28
32
|
selector: 'node',
|
|
29
|
-
style: {
|
|
30
|
-
label: 'data(id)',
|
|
31
|
-
},
|
|
33
|
+
style: { label: 'data(id)' },
|
|
32
34
|
},
|
|
33
35
|
|
|
34
36
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { WithChildren } from '@xylabs/react-shared'
|
|
2
|
-
import { Core } from 'cytoscape'
|
|
3
|
-
import React, {
|
|
2
|
+
import type { Core } from 'cytoscape'
|
|
3
|
+
import React, { useMemo, useState } from 'react'
|
|
4
4
|
|
|
5
5
|
import { CytoscapeInstanceContext } from './Context.ts'
|
|
6
6
|
|
|
@@ -9,11 +9,15 @@ export interface CytoscapeInstanceProviderProps extends WithChildren {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export const CytoscapeInstanceProvider: React.FC<CytoscapeInstanceProviderProps> = ({ children, defaultInstance }) => {
|
|
12
|
-
const [cy, setCy] = useState<WeakRef<Core> | undefined>(defaultInstance)
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
setCy(defaultInstance)
|
|
15
|
-
}, [defaultInstance])
|
|
12
|
+
const [cy, setCy] = useState<WeakRef<Core> | undefined>(() => defaultInstance)
|
|
16
13
|
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
const value = useMemo(() => ({
|
|
15
|
+
cy, provided: true, setCy,
|
|
16
|
+
}), [cy, setCy])
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<CytoscapeInstanceContext.Provider value={value}>
|
|
20
|
+
{children}
|
|
21
|
+
</CytoscapeInstanceContext.Provider>
|
|
22
|
+
)
|
|
19
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContextExState } from '@xyo-network/react-shared'
|
|
2
|
-
import { Core } from 'cytoscape'
|
|
3
|
-
import { Dispatch, SetStateAction } from 'react'
|
|
1
|
+
import type { ContextExState } from '@xyo-network/react-shared'
|
|
2
|
+
import type { Core } from 'cytoscape'
|
|
3
|
+
import type { Dispatch, SetStateAction } from 'react'
|
|
4
4
|
|
|
5
5
|
export interface CytoscapeInstanceState extends ContextExState {
|
|
6
6
|
cy?: WeakRef<Core>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-async-effect'
|
|
2
|
-
import { EventUnsubscribeFunction } from '@xyo-network/module-events'
|
|
3
|
-
import { ModuleInstance } from '@xyo-network/module-model'
|
|
2
|
+
import type { EventUnsubscribeFunction } from '@xyo-network/module-events'
|
|
3
|
+
import type { ModuleInstance } from '@xyo-network/module-model'
|
|
4
4
|
import { isNodeInstance } from '@xyo-network/node-model'
|
|
5
|
-
import { ElementDefinition } from 'cytoscape'
|
|
5
|
+
import type { ElementDefinition } from 'cytoscape'
|
|
6
6
|
import { useEffect, useState } from 'react'
|
|
7
7
|
|
|
8
8
|
import { CytoscapeElements } from '../../../Cytoscape/index.ts'
|
|
@@ -9,5 +9,7 @@ export const useElements = (hideLabels: boolean) => {
|
|
|
9
9
|
const renderedElements = useRenderNewElements(newElements, hideLabels)
|
|
10
10
|
const [hoveredNode, setHoveredNode] = useHoveredNode(renderedElements)
|
|
11
11
|
|
|
12
|
-
return {
|
|
12
|
+
return {
|
|
13
|
+
hoveredNode, setHoveredNode, toggleSelectedElement,
|
|
14
|
+
}
|
|
13
15
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { NodeCollection, NodeSingular } from 'cytoscape'
|
|
2
|
-
import { Dispatch, SetStateAction
|
|
1
|
+
import type { NodeCollection, NodeSingular } from 'cytoscape'
|
|
2
|
+
import type { Dispatch, SetStateAction } from 'react'
|
|
3
|
+
import {
|
|
4
|
+
useCallback, useEffect, useState,
|
|
5
|
+
} from 'react'
|
|
3
6
|
|
|
4
7
|
import { useCytoscapeInstance } from '../../../contexts/index.ts'
|
|
5
8
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { useTheme } from '@mui/material'
|
|
2
|
-
import { CytoscapeOptions } from 'cytoscape'
|
|
2
|
+
import type { CytoscapeOptions } from 'cytoscape'
|
|
3
3
|
import { useMemo } from 'react'
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
EdgeStyled, Node, NodeAsRoot, NodeWithName,
|
|
7
|
+
} from '../../Cytoscape/index.ts'
|
|
6
8
|
import { useIcons } from './useIcons.tsx'
|
|
7
9
|
|
|
8
10
|
export const useCytoscapeStyle = (hideLabels = false) => {
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { useTheme } from '@mui/material'
|
|
2
2
|
import React, { useMemo } from 'react'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import type { CyNodeModuleTypes } from '../../Cytoscape/index.ts'
|
|
5
|
+
import {
|
|
6
|
+
CyIconSet, encodeSvg, generateIconMap,
|
|
7
|
+
} from '../../Cytoscape/index.ts'
|
|
5
8
|
|
|
6
9
|
export const useIcons = () => {
|
|
7
10
|
const theme = useTheme()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { usePromise } from '@xylabs/react-promise'
|
|
2
|
-
import { ModuleInstance } from '@xyo-network/module-model'
|
|
2
|
+
import type { ModuleInstance } from '@xyo-network/module-model'
|
|
3
3
|
import { useEffect, useState } from 'react'
|
|
4
4
|
|
|
5
5
|
import { useCytoscapeInstance } from '../../contexts/index.ts'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModuleInstance } from '@xyo-network/module-model'
|
|
1
|
+
import type { ModuleInstance } from '@xyo-network/module-model'
|
|
2
2
|
import { useState } from 'react'
|
|
3
3
|
|
|
4
4
|
import { ConcentricLayout } from '../../Cytoscape/index.ts'
|
|
@@ -17,5 +17,7 @@ export const useRelationalGraphOptions = (mod?: WeakRef<ModuleInstance>) => {
|
|
|
17
17
|
const style = useCytoscapeStyle(hideLabels)
|
|
18
18
|
const options = useCytoscapeOptions(elements, style, ConcentricLayout)
|
|
19
19
|
|
|
20
|
-
return {
|
|
20
|
+
return {
|
|
21
|
+
handleToggleLabels, hideLabels, options,
|
|
22
|
+
}
|
|
21
23
|
}
|
package/xy.config.ts
CHANGED