@xyo-network/react-node-renderer 2.48.0 → 2.48.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 (96) hide show
  1. package/dist/cjs/Cytoscape/CytoscapeElements.js +33 -6
  2. package/dist/cjs/Cytoscape/CytoscapeElements.js.map +1 -1
  3. package/dist/cjs/Cytoscape/CytoscapeIcons.js +2 -0
  4. package/dist/cjs/Cytoscape/CytoscapeIcons.js.map +1 -1
  5. package/dist/cjs/Cytoscape/CytoscapeStyles.js.map +1 -1
  6. package/dist/cjs/Cytoscape/index.js +1 -0
  7. package/dist/cjs/Cytoscape/index.js.map +1 -1
  8. package/dist/cjs/Cytoscape/lib/CyNodeModuleTypes.js +3 -0
  9. package/dist/cjs/Cytoscape/lib/CyNodeModuleTypes.js.map +1 -0
  10. package/dist/cjs/Cytoscape/lib/encodeSvg.js +19 -0
  11. package/dist/cjs/Cytoscape/lib/encodeSvg.js.map +1 -0
  12. package/dist/cjs/Cytoscape/lib/iconMap.js +14 -0
  13. package/dist/cjs/Cytoscape/lib/iconMap.js.map +1 -0
  14. package/dist/cjs/Cytoscape/lib/index.js +8 -0
  15. package/dist/cjs/Cytoscape/lib/index.js.map +1 -0
  16. package/dist/cjs/{lib/utils.js → Cytoscape/lib/parseModuleType.js} +6 -17
  17. package/dist/cjs/Cytoscape/lib/parseModuleType.js.map +1 -0
  18. package/dist/cjs/hooks/cytoscape/useCytoscapeElements.js +11 -28
  19. package/dist/cjs/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
  20. package/dist/cjs/hooks/cytoscape/useIcons.js +2 -3
  21. package/dist/cjs/hooks/cytoscape/useIcons.js.map +1 -1
  22. package/dist/cjs/index.js +0 -1
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/docs.json +442 -136
  25. package/dist/esm/Cytoscape/CytoscapeElements.js +25 -3
  26. package/dist/esm/Cytoscape/CytoscapeElements.js.map +1 -1
  27. package/dist/esm/Cytoscape/CytoscapeIcons.js +2 -0
  28. package/dist/esm/Cytoscape/CytoscapeIcons.js.map +1 -1
  29. package/dist/esm/Cytoscape/CytoscapeStyles.js.map +1 -1
  30. package/dist/esm/Cytoscape/index.js +1 -0
  31. package/dist/esm/Cytoscape/index.js.map +1 -1
  32. package/dist/esm/Cytoscape/lib/CyNodeModuleTypes.js +2 -0
  33. package/dist/esm/Cytoscape/lib/CyNodeModuleTypes.js.map +1 -0
  34. package/dist/esm/Cytoscape/lib/encodeSvg.js +15 -0
  35. package/dist/esm/Cytoscape/lib/encodeSvg.js.map +1 -0
  36. package/dist/esm/Cytoscape/lib/iconMap.js +10 -0
  37. package/dist/esm/Cytoscape/lib/iconMap.js.map +1 -0
  38. package/dist/esm/Cytoscape/lib/index.js +5 -0
  39. package/dist/esm/Cytoscape/lib/index.js.map +1 -0
  40. package/dist/esm/{lib/utils.js → Cytoscape/lib/parseModuleType.js} +5 -15
  41. package/dist/esm/Cytoscape/lib/parseModuleType.js.map +1 -0
  42. package/dist/esm/hooks/cytoscape/useCytoscapeElements.js +9 -28
  43. package/dist/esm/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
  44. package/dist/esm/hooks/cytoscape/useIcons.js +2 -3
  45. package/dist/esm/hooks/cytoscape/useIcons.js.map +1 -1
  46. package/dist/esm/index.js +0 -1
  47. package/dist/esm/index.js.map +1 -1
  48. package/dist/types/Cytoscape/CytoscapeElements.d.ts +2 -1
  49. package/dist/types/Cytoscape/CytoscapeElements.d.ts.map +1 -1
  50. package/dist/types/Cytoscape/CytoscapeIcons.d.ts +2 -2
  51. package/dist/types/Cytoscape/CytoscapeIcons.d.ts.map +1 -1
  52. package/dist/types/Cytoscape/CytoscapeStyles.d.ts +2 -2
  53. package/dist/types/Cytoscape/CytoscapeStyles.d.ts.map +1 -1
  54. package/dist/types/Cytoscape/index.d.ts +1 -0
  55. package/dist/types/Cytoscape/index.d.ts.map +1 -1
  56. package/dist/types/Cytoscape/lib/CyNodeModuleTypes.d.ts +2 -0
  57. package/dist/types/Cytoscape/lib/CyNodeModuleTypes.d.ts.map +1 -0
  58. package/dist/types/Cytoscape/lib/encodeSvg.d.ts +3 -0
  59. package/dist/types/Cytoscape/lib/encodeSvg.d.ts.map +1 -0
  60. package/dist/types/Cytoscape/lib/iconMap.d.ts +3 -0
  61. package/dist/types/Cytoscape/lib/iconMap.d.ts.map +1 -0
  62. package/dist/types/Cytoscape/lib/index.d.ts +5 -0
  63. package/dist/types/Cytoscape/lib/index.d.ts.map +1 -0
  64. package/dist/types/Cytoscape/lib/parseModuleType.d.ts +3 -0
  65. package/dist/types/Cytoscape/lib/parseModuleType.d.ts.map +1 -0
  66. package/dist/types/hooks/cytoscape/useCytoscapeElements.d.ts.map +1 -1
  67. package/dist/types/hooks/cytoscape/useIcons.d.ts +2 -2
  68. package/dist/types/hooks/cytoscape/useIcons.d.ts.map +1 -1
  69. package/dist/types/index.d.ts +0 -1
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/package.json +8 -8
  72. package/src/Cytoscape/CytoscapeElements.ts +27 -2
  73. package/src/Cytoscape/CytoscapeIcons.tsx +4 -2
  74. package/src/Cytoscape/CytoscapeStyles.ts +3 -3
  75. package/src/Cytoscape/index.ts +1 -0
  76. package/src/Cytoscape/lib/CyNodeModuleTypes.ts +1 -0
  77. package/src/Cytoscape/lib/encodeSvg.ts +19 -0
  78. package/src/Cytoscape/lib/iconMap.ts +11 -0
  79. package/src/Cytoscape/lib/index.ts +4 -0
  80. package/src/Cytoscape/lib/parseModuleType.ts +36 -0
  81. package/src/components/RelationalGraph.stories.tsx +3 -1
  82. package/src/hooks/cytoscape/useCytoscapeElements.ts +9 -31
  83. package/src/hooks/cytoscape/useIcons.tsx +3 -4
  84. package/src/index.ts +0 -1
  85. package/dist/cjs/lib/index.js +0 -5
  86. package/dist/cjs/lib/index.js.map +0 -1
  87. package/dist/cjs/lib/utils.js.map +0 -1
  88. package/dist/esm/lib/index.js +0 -2
  89. package/dist/esm/lib/index.js.map +0 -1
  90. package/dist/esm/lib/utils.js.map +0 -1
  91. package/dist/types/lib/index.d.ts +0 -2
  92. package/dist/types/lib/index.d.ts.map +0 -1
  93. package/dist/types/lib/utils.d.ts +0 -5
  94. package/dist/types/lib/utils.d.ts.map +0 -1
  95. package/src/lib/index.ts +0 -1
  96. package/src/lib/utils.ts +0 -52
@@ -1,12 +1,12 @@
1
1
  import { ModuleWrapper } from '@xyo-network/module';
2
- import { parseModuleType } from '../lib';
2
+ import { parseModuleType } from './lib';
3
3
  export class CytoscapeElements {
4
4
  static MaxNameLength = 20;
5
- static buildChild = async (wrapper, address) => {
5
+ static async buildChild(wrapper, address) {
6
6
  const [result] = await wrapper.resolveWrapped(ModuleWrapper, { address: [address] });
7
7
  const description = await result.describe();
8
8
  return CytoscapeElements.buildNode(description);
9
- };
9
+ }
10
10
  static buildEdge(rootNode, newNode) {
11
11
  return {
12
12
  data: {
@@ -16,6 +16,28 @@ export class CytoscapeElements {
16
16
  },
17
17
  };
18
18
  }
19
+ static async buildElements(wrapper) {
20
+ try {
21
+ const [description, newRootNode] = await CytoscapeElements.buildRootNode(wrapper);
22
+ const newElements = [newRootNode];
23
+ const children = description.children;
24
+ await Promise.allSettled((children ?? [])?.map(async (address) => {
25
+ try {
26
+ const newNode = await CytoscapeElements.buildChild(wrapper, address);
27
+ newElements.push(newNode);
28
+ const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode);
29
+ newElements.push(newEdge);
30
+ }
31
+ catch (e) {
32
+ console.error('Error parsing children', e);
33
+ }
34
+ }));
35
+ return newElements;
36
+ }
37
+ catch (e) {
38
+ console.error('Error Getting initial description', e);
39
+ }
40
+ }
19
41
  static buildNode(description) {
20
42
  const newNodeId = CytoscapeElements.normalizeName(description.name) ?? description.address.substring(0, 8);
21
43
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeElements.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAItE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAExC,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,aAAa,GAAG,EAAE,CAAA;IAEzB,MAAM,CAAC,UAAU,GAAG,KAAK,EAAE,OAAoB,EAAE,OAAe,EAAE,EAAE;QAClE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACpF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC3C,OAAO,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjD,CAAC,CAAA;IAED,MAAM,CAAC,SAAS,CAAC,QAA2B,EAAE,OAA0B;QACtE,OAAO;YACL,IAAI,EAAE;gBACJ,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC5C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;aACxB;SACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,WAA8B;QAC7C,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1G,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC;aAC3C;SACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,KAAK,EAAE,OAAoB,EAAmD,EAAE;QACrG,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,QAAQ,EAAE,CAAA;QAC7C,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;IAChE,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,CAAC,IAAa;QAChC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa;YAAE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAA;QAC1E,OAAO,IAAI,CAAA;IACb,CAAC"}
1
+ {"version":3,"file":"CytoscapeElements.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded';
2
2
  import HubIcon from '@mui/icons-material/Hub';
3
+ import InsertLinkRoundedIcon from '@mui/icons-material/InsertLinkRounded';
3
4
  import Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded';
4
5
  import QuestionMarkRoundedIcon from '@mui/icons-material/QuestionMarkRounded';
5
6
  import TimerRoundedIcon from '@mui/icons-material/TimerRounded';
@@ -7,6 +8,7 @@ import VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded';
7
8
  // eslint-disable-next-line @typescript-eslint/ban-types
8
9
  export const CyIconSet = {
9
10
  archivist: Inventory2RoundedIcon,
11
+ bridge: InsertLinkRoundedIcon,
10
12
  diviner: BubbleChartRoundedIcon,
11
13
  module: QuestionMarkRoundedIcon,
12
14
  node: HubIcon,
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeIcons.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAC7C,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,gBAAgB,MAAM,kCAAkC,CAAA;AAC/D,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AAMzE,wDAAwD;AACxD,MAAM,CAAC,MAAM,SAAS,GAAyE;IAC7F,SAAS,EAAE,qBAAqB;IAChC,OAAO,EAAE,sBAAsB;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,qBAAqB;CAC/B,CAAA"}
1
+ {"version":3,"file":"CytoscapeIcons.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAC7C,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,gBAAgB,MAAM,kCAAkC,CAAA;AAC/D,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AAMzE,wDAAwD;AACxD,MAAM,CAAC,MAAM,SAAS,GAA+E;IACnG,SAAS,EAAE,qBAAqB;IAChC,MAAM,EAAE,qBAAqB;IAC7B,OAAO,EAAE,sBAAsB;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,qBAAqB;CAC/B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeStyles.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeStyles.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAc,EAAE,CAAC,CAAC;IAC3D,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE;QACL,KAAK;QACL,aAAa,EAAE,oCAAoC;QACnD,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,CAAC,CAAC;KACpB;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAkC,EAAE,OAAgB,EAAc,EAAE,CAAC,CAAC;IAC/F,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE;QACL,kBAAkB,EAAE,OAAO;QAC3B,mBAAmB,EAAE,KAAK;QAC1B,sBAAsB;QACtB,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAgB,CAAC;QACrE,4BAA4B,EAAE,KAAK;QACnC,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,UAAU;KAClB;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAkB,EAAE,gBAAyB,EAAE,EAAE,CAAC,CAAC;IAC5E,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE;QACL,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,GAAG;QACnB,oBAAoB,EAAE,gBAAgB;QACtC,oBAAoB,EAAE,UAAU;QAChC,KAAK,EAAE,CAAC;KACT;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"CytoscapeStyles.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeStyles.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAc,EAAE,CAAC,CAAC;IAC3D,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE;QACL,KAAK;QACL,aAAa,EAAE,oCAAoC;QACnD,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,CAAC,CAAC;KACpB;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAwC,EAAE,OAAgB,EAAc,EAAE,CAAC,CAAC;IACrG,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE;QACL,kBAAkB,EAAE,OAAO;QAC3B,mBAAmB,EAAE,KAAK;QAC1B,sBAAsB;QACtB,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC;QAC3E,4BAA4B,EAAE,KAAK;QACnC,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,UAAU;KAClB;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAkB,EAAE,gBAAyB,EAAE,EAAE,CAAC,CAAC;IAC5E,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE;QACL,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,GAAG;QACnB,oBAAoB,EAAE,gBAAgB;QACtC,oBAAoB,EAAE,UAAU;QAChC,KAAK,EAAE,CAAC;KACT;CACF,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './CytoscapeElements';
2
2
  export * from './CytoscapeIcons';
3
3
  export * from './CytoscapeStyles';
4
+ export * from './lib';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Cytoscape/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Cytoscape/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CyNodeModuleTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CyNodeModuleTypes.js","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/CyNodeModuleTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ // eslint-disable-next-line import/no-internal-modules
2
+ import { renderToStaticMarkup } from 'react-dom/server';
3
+ const dataUri = 'data:image/svg+xml,';
4
+ export const encodeSvg = (reactElement, color) => {
5
+ const svgString = renderToStaticMarkup(reactElement);
6
+ const doc = new DOMParser().parseFromString(svgString, 'text/html');
7
+ const svgElement = doc.getElementsByTagName('svg')[0];
8
+ if (svgElement) {
9
+ svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
10
+ svgElement.setAttribute('height', '100');
11
+ svgElement.style.fill = color ?? 'black';
12
+ }
13
+ return `${dataUri}${window.encodeURIComponent(svgElement.outerHTML)}`;
14
+ };
15
+ //# sourceMappingURL=encodeSvg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encodeSvg.js","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/encodeSvg.ts"],"names":[],"mappings":"AACA,sDAAsD;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,MAAM,OAAO,GAAG,qBAAqB,CAAA;AAErC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,YAA0B,EAAE,KAAc,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAEpD,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACnE,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,IAAI,UAAU,EAAE;QACd,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;QAC9D,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI,OAAO,CAAA;KACzC;IAED,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAA;AACvE,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ export const generateIconMap = () => ({
2
+ archivist: '',
3
+ bridge: '',
4
+ diviner: '',
5
+ module: '',
6
+ node: '',
7
+ sentinel: '',
8
+ witness: '',
9
+ });
10
+ //# sourceMappingURL=iconMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconMap.js","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/iconMap.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAA4C,GAAG,EAAE,CAAC,CAAC;IAC7E,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;CACZ,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './CyNodeModuleTypes';
2
+ export * from './encodeSvg';
3
+ export * from './iconMap';
4
+ export * from './parseModuleType';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA"}
@@ -1,17 +1,3 @@
1
- // eslint-disable-next-line import/no-internal-modules
2
- import { renderToStaticMarkup } from 'react-dom/server';
3
- const dataUri = 'data:image/svg+xml,';
4
- export const encodeSvg = (reactElement, color) => {
5
- const svgString = renderToStaticMarkup(reactElement);
6
- const doc = new DOMParser().parseFromString(svgString, 'text/html');
7
- const svgElement = doc.getElementsByTagName('svg')[0];
8
- if (svgElement) {
9
- svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
10
- svgElement.setAttribute('height', '100');
11
- svgElement.style.fill = color ?? 'black';
12
- }
13
- return `${dataUri}${window.encodeURIComponent(svgElement.outerHTML)}`;
14
- };
15
1
  export const parseModuleType = (queries) => {
16
2
  let type = 'module';
17
3
  if (queries) {
@@ -20,6 +6,10 @@ export const parseModuleType = (queries) => {
20
6
  type = 'archivist';
21
7
  break;
22
8
  }
9
+ if (queries[i].includes('bridge')) {
10
+ type = 'bridge';
11
+ break;
12
+ }
23
13
  if (queries[i].includes('diviner')) {
24
14
  type = 'diviner';
25
15
  break;
@@ -42,4 +32,4 @@ export const parseModuleType = (queries) => {
42
32
  }
43
33
  return 'module';
44
34
  };
45
- //# sourceMappingURL=utils.js.map
35
+ //# sourceMappingURL=parseModuleType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseModuleType.js","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/parseModuleType.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAqB,EAAE;IACvE,IAAI,IAAI,GAAsB,QAAQ,CAAA;IACtC,IAAI,OAAO,EAAE;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACpC,IAAI,GAAG,WAAW,CAAA;gBAClB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACjC,IAAI,GAAG,QAAQ,CAAA;gBACf,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC/B,IAAI,GAAG,MAAM,CAAA;gBACb,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,GAAG,UAAU,CAAA;gBACjB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,GAAG,QAAQ,CAAA;SAChB;QACD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared';
2
- import { useCallback, useEffect, useState } from 'react';
2
+ import { useEffect, useState } from 'react';
3
3
  import { CytoscapeElements } from '../../Cytoscape';
4
4
  /**
5
5
  * Note: Relies on describe but could eventually be converted to a discover call
@@ -7,51 +7,32 @@ import { CytoscapeElements } from '../../Cytoscape';
7
7
  */
8
8
  export const useCytoscapeElements = (targetNode) => {
9
9
  const [elements, setElements] = useState([]);
10
- const buildElements = useCallback(async (wrapper) => {
11
- try {
12
- const [description, newRootNode] = await CytoscapeElements.buildRootNode(wrapper);
13
- const newElements = [newRootNode];
14
- const children = description.children;
15
- await Promise.allSettled((children ?? [])?.map(async (address) => {
16
- try {
17
- const newNode = await CytoscapeElements.buildChild(wrapper, address);
18
- newElements.push(newNode);
19
- const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode);
20
- newElements.push(newEdge);
21
- }
22
- catch (e) {
23
- console.error('Error parsing children', e);
24
- }
25
- }));
26
- setElements(newElements);
27
- }
28
- catch (e) {
29
- console.error('Error Getting initial description', e);
30
- }
31
- }, []);
32
10
  useAsyncEffect(
33
11
  // eslint-disable-next-line react-hooks/exhaustive-deps
34
12
  async () => {
35
13
  if (targetNode) {
36
- await buildElements(targetNode);
14
+ const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? [];
15
+ setElements(newElements);
37
16
  }
38
- }, [buildElements, targetNode]);
17
+ }, [targetNode]);
39
18
  useEffect(() => {
40
19
  let attachedListener = undefined;
41
20
  let detachedListener = undefined;
42
21
  if (targetNode) {
43
22
  attachedListener = targetNode.on('moduleAttached', async () => {
44
- await buildElements(targetNode);
23
+ const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? [];
24
+ setElements(newElements);
45
25
  });
46
26
  detachedListener = targetNode.on('moduleDetached', async () => {
47
- await buildElements(targetNode);
27
+ const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? [];
28
+ setElements(newElements);
48
29
  });
49
30
  }
50
31
  return () => {
51
32
  attachedListener?.();
52
33
  detachedListener?.();
53
34
  };
54
- }, [buildElements, targetNode]);
35
+ }, [targetNode]);
55
36
  return elements;
56
37
  };
57
38
  //# sourceMappingURL=useCytoscapeElements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAwB,EAAE,EAAE;IAC/D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAA;IAEjE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;QAC/D,IAAI;YACF,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YACjF,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,CAAA;YAEjC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;YACrC,MAAM,OAAO,CAAC,UAAU,CACtB,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACtC,IAAI;oBACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;oBACpE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBAEzB,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBACjE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC1B;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;iBAC3C;YACH,CAAC,CAAC,CACH,CAAA;YACD,WAAW,CAAC,WAAW,CAAC,CAAA;SACzB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;SACtD;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,UAAU,EAAE;YACd,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;SAChC;IACH,CAAC,EACD,CAAC,aAAa,EAAE,UAAU,CAAC,CAC5B,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,GAAyC,SAAS,CAAA;QACtE,IAAI,gBAAgB,GAAyC,SAAS,CAAA;QAEtE,IAAI,UAAU,EAAE;YACd,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YACF,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;SACH;QAED,OAAO,GAAG,EAAE;YACV,gBAAgB,EAAE,EAAE,CAAA;YACpB,gBAAgB,EAAE,EAAE,CAAA;QACtB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAwB,EAAE,EAAE;IAC/D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAA;IAEjE,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,UAAU,EAAE;YACd,MAAM,WAAW,GAAG,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;YAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;SACzB;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,GAAyC,SAAS,CAAA;QACtE,IAAI,gBAAgB,GAAyC,SAAS,CAAA;QAEtE,IAAI,UAAU,EAAE;YACd,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,WAAW,GAAG,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YACF,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,WAAW,GAAG,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;SACH;QAED,OAAO,GAAG,EAAE;YACV,gBAAgB,EAAE,EAAE,CAAA;YACpB,gBAAgB,EAAE,EAAE,CAAA;QACtB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -1,12 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useTheme } from '@mui/material';
3
3
  import { useMemo } from 'react';
4
- import { CyIconSet } from '../../Cytoscape';
5
- import { encodeSvg } from '../../lib';
4
+ import { CyIconSet, encodeSvg, generateIconMap } from '../../Cytoscape';
6
5
  export const useIcons = () => {
7
6
  const theme = useTheme();
8
7
  const icons = useMemo(() => {
9
- const iconMap = { archivist: '', diviner: '', module: '', node: '', sentinel: '', witness: '' };
8
+ const iconMap = generateIconMap();
10
9
  return Object.entries(CyIconSet).reduce((acc, [name, IconComponent]) => {
11
10
  const icon = _jsx(IconComponent, { fontSize: "small" });
12
11
  acc[name] = encodeSvg(icon, theme.palette.getContrastText(theme.palette.text.primary));
@@ -1 +1 @@
1
- {"version":3,"file":"useIcons.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useIcons.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,SAAS,EAAe,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,OAAO,GAAgC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QAC5H,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;YACrE,MAAM,IAAI,GAAG,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,GAAG,CAAA;YAC/C,GAAG,CAAC,IAAmB,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YACrG,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,OAAO,CAAC,CAAA;IACb,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAEnB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"useIcons.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useIcons.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE1F,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;QACjC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;YACrE,MAAM,IAAI,GAAG,KAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,GAAG,CAAA;YAC/C,GAAG,CAAC,IAAyB,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3G,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,OAAO,CAAC,CAAA;IACb,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAEnB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from './components';
2
2
  export * from './Cytoscape';
3
3
  export * from './hooks';
4
- export * from './lib';
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
@@ -3,7 +3,7 @@ import { NodeWrapper } from '@xyo-network/node';
3
3
  import { ElementDefinition } from 'cytoscape';
4
4
  export declare class CytoscapeElements {
5
5
  static MaxNameLength: number;
6
- static buildChild: (wrapper: NodeWrapper, address: string) => Promise<ElementDefinition>;
6
+ static buildChild(wrapper: NodeWrapper, address: string): Promise<ElementDefinition>;
7
7
  static buildEdge(rootNode: ElementDefinition, newNode: ElementDefinition): {
8
8
  data: {
9
9
  id: string;
@@ -11,6 +11,7 @@ export declare class CytoscapeElements {
11
11
  target: string | undefined;
12
12
  };
13
13
  };
14
+ static buildElements(wrapper: NodeWrapper): Promise<ElementDefinition[] | undefined>;
14
15
  static buildNode(description: ModuleDescription): ElementDefinition;
15
16
  static buildRootNode: (wrapper: NodeWrapper) => Promise<[ModuleDescription, ElementDefinition]>;
16
17
  static normalizeName(name?: string): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeElements.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,aAAa,SAAK;IAEzB,MAAM,CAAC,UAAU,YAAmB,WAAW,WAAW,MAAM,gCAI/D;IAED,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;;;;;;;IAUxE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,iBAAiB,GAAG,iBAAiB;IAWnE,MAAM,CAAC,aAAa,YAAmB,WAAW,KAAG,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAGnG;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM;CAKnC"}
1
+ {"version":3,"file":"CytoscapeElements.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,aAAa,SAAK;WAEZ,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAM7D,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;;;;;;;WAU3D,aAAa,CAAC,OAAO,EAAE,WAAW;IAyB/C,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,iBAAiB,GAAG,iBAAiB;IAWnE,MAAM,CAAC,aAAa,YAAmB,WAAW,KAAG,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAGnG;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM;CAKnC"}
@@ -1,5 +1,5 @@
1
1
  import { SvgIconTypeMap } from '@mui/material';
2
2
  import { OverridableComponent } from '@mui/material/OverridableComponent';
3
- export type CyNodeIcons = 'archivist' | 'diviner' | 'module' | 'node' | 'witness' | 'sentinel';
4
- export declare const CyIconSet: Record<CyNodeIcons, OverridableComponent<SvgIconTypeMap<{}, 'svg'>>>;
3
+ import { CyNodeModuleTypes } from './lib';
4
+ export declare const CyIconSet: Record<CyNodeModuleTypes, OverridableComponent<SvgIconTypeMap<{}, 'svg'>>>;
5
5
  //# sourceMappingURL=CytoscapeIcons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeIcons.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAEzE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;AAG9F,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAO1F,CAAA"}
1
+ {"version":3,"file":"CytoscapeIcons.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGzC,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAQhG,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Stylesheet } from 'cytoscape';
2
- import { CyNodeIcons } from './CytoscapeIcons';
2
+ import { CyNodeModuleTypes } from './lib';
3
3
  export declare const NodeIdStyles: (color?: string) => Stylesheet;
4
- export declare const NodeStyled: (icons: Record<CyNodeIcons, string>, bgColor?: string) => Stylesheet;
4
+ export declare const NodeStyled: (icons: Record<CyNodeModuleTypes, string>, bgColor?: string) => Stylesheet;
5
5
  export declare const EdgeStyled: (lineColor?: string, targetArrowColor?: string) => {
6
6
  selector: string;
7
7
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeStyles.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,UAQ5C,CAAA;AAEF,eAAO,MAAM,UAAU,UAAW,OAAO,WAAW,EAAE,MAAM,CAAC,YAAY,MAAM,KAAG,UAWhF,CAAA;AAEF,eAAO,MAAM,UAAU,eAAgB,MAAM,qBAAqB,MAAM;;;;;;;;;;CAUtE,CAAA"}
1
+ {"version":3,"file":"CytoscapeStyles.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAEzC,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,UAQ5C,CAAA;AAEF,eAAO,MAAM,UAAU,UAAW,OAAO,iBAAiB,EAAE,MAAM,CAAC,YAAY,MAAM,KAAG,UAWtF,CAAA;AAEF,eAAO,MAAM,UAAU,eAAgB,MAAM,qBAAqB,MAAM;;;;;;;;;;CAUtE,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './CytoscapeElements';
2
2
  export * from './CytoscapeIcons';
3
3
  export * from './CytoscapeStyles';
4
+ export * from './lib';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export type CyNodeModuleTypes = 'archivist' | 'bridge' | 'diviner' | 'module' | 'node' | 'witness' | 'sentinel';
2
+ //# sourceMappingURL=CyNodeModuleTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CyNodeModuleTypes.d.ts","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/CyNodeModuleTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReactElement } from 'react';
2
+ export declare const encodeSvg: (reactElement: ReactElement, color?: string) => string;
3
+ //# sourceMappingURL=encodeSvg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encodeSvg.d.ts","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/encodeSvg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAMpC,eAAO,MAAM,SAAS,iBAAkB,YAAY,UAAU,MAAM,WAYnE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { CyNodeModuleTypes } from './CyNodeModuleTypes';
2
+ export declare const generateIconMap: () => Record<CyNodeModuleTypes, string>;
3
+ //# sourceMappingURL=iconMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconMap.d.ts","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/iconMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,eAAO,MAAM,eAAe,EAAE,MAAM,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAQlE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './CyNodeModuleTypes';
2
+ export * from './encodeSvg';
3
+ export * from './iconMap';
4
+ export * from './parseModuleType';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { CyNodeModuleTypes } from './CyNodeModuleTypes';
2
+ export declare const parseModuleType: (queries?: string[]) => CyNodeModuleTypes;
3
+ //# sourceMappingURL=parseModuleType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseModuleType.d.ts","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/parseModuleType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,eAAO,MAAM,eAAe,aAAc,MAAM,EAAE,KAAG,iBAiCpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCytoscapeElements.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAK7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,gBAAiB,WAAW,wBA0D5D,CAAA"}
1
+ {"version":3,"file":"useCytoscapeElements.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAK7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,gBAAiB,WAAW,wBAoC5D,CAAA"}
@@ -1,3 +1,3 @@
1
- import { CyNodeIcons } from '../../Cytoscape';
2
- export declare const useIcons: () => Record<CyNodeIcons, string>;
1
+ import { CyNodeModuleTypes } from '../../Cytoscape';
2
+ export declare const useIcons: () => Record<CyNodeModuleTypes, string>;
3
3
  //# sourceMappingURL=useIcons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIcons.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useIcons.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGxD,eAAO,MAAM,QAAQ,mCAYpB,CAAA"}
1
+ {"version":3,"file":"useIcons.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useIcons.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,iBAAiB,EAA8B,MAAM,iBAAiB,CAAA;AAE1F,eAAO,MAAM,QAAQ,yCAYpB,CAAA"}
@@ -1,5 +1,4 @@
1
1
  export * from './components';
2
2
  export * from './Cytoscape';
3
3
  export * from './hooks';
4
- export * from './lib';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
package/package.json CHANGED
@@ -10,11 +10,11 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/react-flexbox": "^2.16.14",
13
+ "@xylabs/react-flexbox": "^2.17.0",
14
14
  "@xylabs/react-shared": "^2.17.0",
15
15
  "@xyo-network/module": "^2.55.0",
16
16
  "@xyo-network/node": "^2.55.0",
17
- "@xyo-network/react-shared": "^2.48.0",
17
+ "@xyo-network/react-shared": "^2.48.2",
18
18
  "cytoscape": "^3.23.0"
19
19
  },
20
20
  "peerDependencies": {
@@ -30,17 +30,17 @@
30
30
  "@storybook/react": "^6.5.16",
31
31
  "@types/cytoscape": "^3.19.9",
32
32
  "@types/react-dom": "^18.0.11",
33
- "@xylabs/ts-scripts-yarn3": "^2.16.4",
34
- "@xylabs/tsconfig-react": "^2.16.4",
33
+ "@xylabs/ts-scripts-yarn3": "^2.16.5",
34
+ "@xylabs/tsconfig-react": "^2.16.5",
35
35
  "@xyo-network/account": "^2.55.0",
36
36
  "@xyo-network/archivist": "^2.55.0",
37
37
  "@xyo-network/bridge": "^2.55.0",
38
38
  "@xyo-network/id-plugin": "^2.55.0",
39
39
  "@xyo-network/module": "^2.55.0",
40
40
  "@xyo-network/node": "^2.55.0",
41
- "@xyo-network/react-node": "^2.48.0",
42
- "@xyo-network/react-storybook": "^2.48.0",
43
- "@xyo-network/react-wallet": "^2.48.0",
41
+ "@xyo-network/react-node": "^2.48.2",
42
+ "@xyo-network/react-storybook": "^2.48.2",
43
+ "@xyo-network/react-wallet": "^2.48.2",
44
44
  "@xyo-network/sentinel": "^2.55.0",
45
45
  "require-from-string": "^2.0.2",
46
46
  "typescript": "^4.9.5"
@@ -88,5 +88,5 @@
88
88
  },
89
89
  "sideEffects": false,
90
90
  "types": "dist/types/index.d.ts",
91
- "version": "2.48.0"
91
+ "version": "2.48.2"
92
92
  }
@@ -2,12 +2,12 @@ import { ModuleDescription, ModuleWrapper } from '@xyo-network/module'
2
2
  import { NodeWrapper } from '@xyo-network/node'
3
3
  import { ElementDefinition } from 'cytoscape'
4
4
 
5
- import { parseModuleType } from '../lib'
5
+ import { parseModuleType } from './lib'
6
6
 
7
7
  export class CytoscapeElements {
8
8
  static MaxNameLength = 20
9
9
 
10
- static buildChild = async (wrapper: NodeWrapper, address: string) => {
10
+ static async buildChild(wrapper: NodeWrapper, address: string) {
11
11
  const [result] = await wrapper.resolveWrapped(ModuleWrapper, { address: [address] })
12
12
  const description = await result.describe()
13
13
  return CytoscapeElements.buildNode(description)
@@ -23,6 +23,31 @@ export class CytoscapeElements {
23
23
  }
24
24
  }
25
25
 
26
+ static async buildElements(wrapper: NodeWrapper) {
27
+ try {
28
+ const [description, newRootNode] = await CytoscapeElements.buildRootNode(wrapper)
29
+ const newElements: ElementDefinition[] = [newRootNode]
30
+
31
+ const children = description.children
32
+ await Promise.allSettled(
33
+ (children ?? [])?.map(async (address) => {
34
+ try {
35
+ const newNode = await CytoscapeElements.buildChild(wrapper, address)
36
+ newElements.push(newNode)
37
+
38
+ const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode)
39
+ newElements.push(newEdge)
40
+ } catch (e) {
41
+ console.error('Error parsing children', e)
42
+ }
43
+ }),
44
+ )
45
+ return newElements
46
+ } catch (e) {
47
+ console.error('Error Getting initial description', e)
48
+ }
49
+ }
50
+
26
51
  static buildNode(description: ModuleDescription): ElementDefinition {
27
52
  const newNodeId = CytoscapeElements.normalizeName(description.name) ?? description.address.substring(0, 8)
28
53
  return {
@@ -1,5 +1,6 @@
1
1
  import BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded'
2
2
  import HubIcon from '@mui/icons-material/Hub'
3
+ import InsertLinkRoundedIcon from '@mui/icons-material/InsertLinkRounded'
3
4
  import Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded'
4
5
  import QuestionMarkRoundedIcon from '@mui/icons-material/QuestionMarkRounded'
5
6
  import TimerRoundedIcon from '@mui/icons-material/TimerRounded'
@@ -7,11 +8,12 @@ import VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded'
7
8
  import { SvgIconTypeMap } from '@mui/material'
8
9
  import { OverridableComponent } from '@mui/material/OverridableComponent'
9
10
 
10
- export type CyNodeIcons = 'archivist' | 'diviner' | 'module' | 'node' | 'witness' | 'sentinel'
11
+ import { CyNodeModuleTypes } from './lib'
11
12
 
12
13
  // eslint-disable-next-line @typescript-eslint/ban-types
13
- export const CyIconSet: Record<CyNodeIcons, OverridableComponent<SvgIconTypeMap<{}, 'svg'>>> = {
14
+ export const CyIconSet: Record<CyNodeModuleTypes, OverridableComponent<SvgIconTypeMap<{}, 'svg'>>> = {
14
15
  archivist: Inventory2RoundedIcon,
16
+ bridge: InsertLinkRoundedIcon,
15
17
  diviner: BubbleChartRoundedIcon,
16
18
  module: QuestionMarkRoundedIcon,
17
19
  node: HubIcon,
@@ -1,6 +1,6 @@
1
1
  import { Stylesheet } from 'cytoscape'
2
2
 
3
- import { CyNodeIcons } from './CytoscapeIcons'
3
+ import { CyNodeModuleTypes } from './lib'
4
4
 
5
5
  export const NodeIdStyles = (color?: string): Stylesheet => ({
6
6
  selector: 'node[id]',
@@ -12,13 +12,13 @@ export const NodeIdStyles = (color?: string): Stylesheet => ({
12
12
  },
13
13
  })
14
14
 
15
- export const NodeStyled = (icons: Record<CyNodeIcons, string>, bgColor?: string): Stylesheet => ({
15
+ export const NodeStyled = (icons: Record<CyNodeModuleTypes, string>, bgColor?: string): Stylesheet => ({
16
16
  selector: 'node',
17
17
  style: {
18
18
  'background-color': bgColor,
19
19
  'background-height': '75%',
20
20
  // TODO - make dynamic
21
- 'background-image': (elem) => icons[elem.data('type') as CyNodeIcons],
21
+ 'background-image': (elem) => icons[elem.data('type') as CyNodeModuleTypes],
22
22
  'background-image-smoothing': 'yes',
23
23
  'background-width': '75%',
24
24
  label: 'data(id)',
@@ -1,3 +1,4 @@
1
1
  export * from './CytoscapeElements'
2
2
  export * from './CytoscapeIcons'
3
3
  export * from './CytoscapeStyles'
4
+ export * from './lib'
@@ -0,0 +1 @@
1
+ export type CyNodeModuleTypes = 'archivist' | 'bridge' | 'diviner' | 'module' | 'node' | 'witness' | 'sentinel'