schyma 1.0.7 → 1.1.0

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 (140) hide show
  1. package/dist/cjs/components/App.d.ts +3 -3
  2. package/dist/cjs/components/App.js +26 -22
  3. package/dist/cjs/components/App.js.map +1 -1
  4. package/dist/cjs/components/Code.d.ts +1 -1
  5. package/dist/cjs/components/Code.js +9 -11
  6. package/dist/cjs/components/Code.js.map +1 -1
  7. package/dist/cjs/components/CustomNode.d.ts +5 -0
  8. package/dist/cjs/components/CustomNode.js +22 -0
  9. package/dist/cjs/components/CustomNode.js.map +1 -0
  10. package/dist/cjs/components/Nodes.d.ts +2 -1
  11. package/dist/cjs/components/Nodes.js +149 -94
  12. package/dist/cjs/components/Nodes.js.map +1 -1
  13. package/dist/cjs/components/Panel.d.ts +3 -1
  14. package/dist/cjs/components/Panel.js +53 -22
  15. package/dist/cjs/components/Panel.js.map +1 -1
  16. package/dist/cjs/components/Tables.js +20 -15
  17. package/dist/cjs/components/Tables.js.map +1 -1
  18. package/dist/cjs/constants/node.d.ts +9 -0
  19. package/dist/cjs/constants/node.js +26 -5
  20. package/dist/cjs/constants/node.js.map +1 -1
  21. package/dist/cjs/helpers/__tests__/conditions.test.d.ts +1 -0
  22. package/dist/cjs/helpers/__tests__/conditions.test.js +92 -0
  23. package/dist/cjs/helpers/__tests__/conditions.test.js.map +1 -0
  24. package/dist/cjs/helpers/conditions.d.ts +1 -0
  25. package/dist/cjs/helpers/conditions.js +87 -0
  26. package/dist/cjs/helpers/conditions.js.map +1 -0
  27. package/dist/cjs/helpers/formatRequired.d.ts +1 -0
  28. package/dist/cjs/helpers/formatRequired.js +14 -0
  29. package/dist/cjs/helpers/formatRequired.js.map +1 -0
  30. package/dist/cjs/helpers/rules.d.ts +1 -0
  31. package/dist/cjs/helpers/rules.js +90 -0
  32. package/dist/cjs/helpers/rules.js.map +1 -0
  33. package/dist/cjs/icons/Loader.d.ts +3 -0
  34. package/dist/cjs/icons/Loader.js +6 -0
  35. package/dist/cjs/icons/Loader.js.map +1 -0
  36. package/dist/cjs/icons/SidebarIcon.d.ts +6 -0
  37. package/dist/cjs/icons/SidebarIcon.js +6 -0
  38. package/dist/cjs/icons/SidebarIcon.js.map +1 -0
  39. package/dist/cjs/index.js +2 -5
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/style.css +249 -14
  42. package/dist/cjs/types.d.ts +13 -2
  43. package/dist/cjs/types.js +7 -2
  44. package/dist/cjs/types.js.map +1 -1
  45. package/dist/cjs/utils/__tests__/compositions.test.d.ts +1 -0
  46. package/dist/cjs/utils/__tests__/compositions.test.js +103 -0
  47. package/dist/cjs/utils/__tests__/compositions.test.js.map +1 -0
  48. package/dist/cjs/utils/__tests__/dagreLayout.test.d.ts +1 -0
  49. package/dist/cjs/utils/__tests__/dagreLayout.test.js +42 -0
  50. package/dist/cjs/utils/__tests__/dagreLayout.test.js.map +1 -0
  51. package/dist/cjs/utils/__tests__/reusables.test.d.ts +1 -0
  52. package/dist/cjs/utils/__tests__/reusables.test.js +165 -0
  53. package/dist/cjs/utils/__tests__/reusables.test.js.map +1 -0
  54. package/dist/cjs/utils/compositions.d.ts +4 -0
  55. package/dist/cjs/utils/compositions.js +101 -0
  56. package/dist/cjs/utils/compositions.js.map +1 -0
  57. package/dist/cjs/utils/{dagreUtils.d.ts → dagreLayout.d.ts} +2 -2
  58. package/dist/{esm/utils/dagreUtils.js → cjs/utils/dagreLayout.js} +1 -1
  59. package/dist/cjs/utils/dagreLayout.js.map +1 -0
  60. package/dist/cjs/utils/reusables.d.ts +1 -1
  61. package/dist/cjs/utils/reusables.js +37 -76
  62. package/dist/cjs/utils/reusables.js.map +1 -1
  63. package/dist/esm/components/App.d.ts +3 -3
  64. package/dist/esm/components/App.js +20 -13
  65. package/dist/esm/components/App.js.map +1 -1
  66. package/dist/esm/components/Code.d.ts +1 -1
  67. package/dist/esm/components/Code.js +8 -7
  68. package/dist/esm/components/Code.js.map +1 -1
  69. package/dist/esm/components/CustomNode.d.ts +5 -0
  70. package/dist/esm/components/CustomNode.js +22 -0
  71. package/dist/esm/components/CustomNode.js.map +1 -0
  72. package/dist/esm/components/Nodes.d.ts +2 -1
  73. package/dist/esm/components/Nodes.js +123 -66
  74. package/dist/esm/components/Nodes.js.map +1 -1
  75. package/dist/esm/components/Panel.d.ts +3 -1
  76. package/dist/esm/components/Panel.js +45 -11
  77. package/dist/esm/components/Panel.js.map +1 -1
  78. package/dist/esm/components/Tables.js +14 -6
  79. package/dist/esm/components/Tables.js.map +1 -1
  80. package/dist/esm/constants/node.d.ts +9 -0
  81. package/dist/esm/constants/node.js +24 -0
  82. package/dist/esm/constants/node.js.map +1 -1
  83. package/dist/esm/helpers/__tests__/conditions.test.d.ts +1 -0
  84. package/dist/esm/helpers/__tests__/conditions.test.js +92 -0
  85. package/dist/esm/helpers/__tests__/conditions.test.js.map +1 -0
  86. package/dist/esm/helpers/conditions.d.ts +1 -0
  87. package/dist/esm/helpers/conditions.js +87 -0
  88. package/dist/esm/helpers/conditions.js.map +1 -0
  89. package/dist/esm/helpers/formatRequired.d.ts +1 -0
  90. package/dist/esm/helpers/formatRequired.js +14 -0
  91. package/dist/esm/helpers/formatRequired.js.map +1 -0
  92. package/dist/esm/helpers/rules.d.ts +1 -0
  93. package/dist/esm/helpers/rules.js +90 -0
  94. package/dist/esm/helpers/rules.js.map +1 -0
  95. package/dist/esm/icons/Loader.d.ts +3 -0
  96. package/dist/esm/icons/Loader.js +6 -0
  97. package/dist/esm/icons/Loader.js.map +1 -0
  98. package/dist/esm/icons/SidebarIcon.d.ts +6 -0
  99. package/dist/esm/icons/SidebarIcon.js +6 -0
  100. package/dist/esm/icons/SidebarIcon.js.map +1 -0
  101. package/dist/esm/style.css +249 -14
  102. package/dist/esm/types.d.ts +13 -2
  103. package/dist/esm/types.js +7 -1
  104. package/dist/esm/types.js.map +1 -1
  105. package/dist/esm/utils/__tests__/compositions.test.d.ts +1 -0
  106. package/dist/esm/utils/__tests__/compositions.test.js +103 -0
  107. package/dist/esm/utils/__tests__/compositions.test.js.map +1 -0
  108. package/dist/esm/utils/__tests__/dagreLayout.test.d.ts +1 -0
  109. package/dist/esm/utils/__tests__/dagreLayout.test.js +42 -0
  110. package/dist/esm/utils/__tests__/dagreLayout.test.js.map +1 -0
  111. package/dist/esm/utils/__tests__/reusables.test.d.ts +1 -0
  112. package/dist/esm/utils/__tests__/reusables.test.js +165 -0
  113. package/dist/esm/utils/__tests__/reusables.test.js.map +1 -0
  114. package/dist/esm/utils/compositions.d.ts +4 -0
  115. package/dist/esm/utils/compositions.js +101 -0
  116. package/dist/esm/utils/compositions.js.map +1 -0
  117. package/dist/esm/utils/{dagreUtils.d.ts → dagreLayout.d.ts} +2 -2
  118. package/dist/esm/utils/dagreLayout.js +30 -0
  119. package/dist/esm/utils/dagreLayout.js.map +1 -0
  120. package/dist/esm/utils/reusables.d.ts +1 -1
  121. package/dist/esm/utils/reusables.js +27 -56
  122. package/dist/esm/utils/reusables.js.map +1 -1
  123. package/package.json +17 -10
  124. package/LICENSE +0 -201
  125. package/README.md +0 -80
  126. package/dist/cjs/config.d.ts +0 -0
  127. package/dist/cjs/config.js +0 -99
  128. package/dist/cjs/config.js.map +0 -1
  129. package/dist/cjs/utils/dagreUtils.js +0 -35
  130. package/dist/cjs/utils/dagreUtils.js.map +0 -1
  131. package/dist/cjs/utils/types.d.ts +0 -34
  132. package/dist/cjs/utils/types.js +0 -4
  133. package/dist/cjs/utils/types.js.map +0 -1
  134. package/dist/esm/config.d.ts +0 -0
  135. package/dist/esm/config.js +0 -99
  136. package/dist/esm/config.js.map +0 -1
  137. package/dist/esm/utils/dagreUtils.js.map +0 -1
  138. package/dist/esm/utils/types.d.ts +0 -34
  139. package/dist/esm/utils/types.js +0 -4
  140. package/dist/esm/utils/types.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import React from "react";
2
- import { ISchyma } from "../types";
3
- declare function Schyma({ title, description, schema }: ISchyma): React.JSX.Element;
1
+ import React from 'react';
2
+ import { ISchyma } from '../types';
3
+ declare function Schyma({ title, description, schema, defaultCollapsed }: ISchyma): React.JSX.Element;
4
4
  export default Schyma;
@@ -1,39 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importStar(require("react"));
5
- const Panel_1 = tslib_1.__importDefault(require("./Panel"));
6
- const react_2 = require("react");
7
- const Nodes_1 = tslib_1.__importDefault(require("./Nodes"));
8
- const ajv_1 = tslib_1.__importDefault(require("ajv"));
9
- const reusables_1 = require("../utils/reusables");
10
- function Schyma({ title, description, schema }) {
11
- const ajv = new ajv_1.default();
12
- const [currentNode, setCurrentNode] = (0, react_2.useState)();
13
- const [nNodes, setnNodes] = (0, react_2.useState)({});
14
- const [render, setRender] = (0, react_2.useState)(false);
15
- const position = { x: 0, y: 0 };
16
- const properties = (0, reusables_1.propMerge)(schema, "");
1
+ import React, { useEffect } from 'react';
2
+ import Panel from './Panel';
3
+ import { useState } from 'react';
4
+ import Nodes from './Nodes';
5
+ import Ajv from 'ajv';
6
+ import { propMerge, getCompositionType } from '../utils/reusables';
7
+ import { position } from '../constants/node';
8
+ import Loader from '../icons/Loader';
9
+ function Schyma({ title, description, schema, defaultCollapsed = false }) {
10
+ const ajv = new Ajv();
11
+ const [currentNode, setCurrentNode] = useState();
12
+ const [nNodes, setnNodes] = useState({});
13
+ const [render, setRender] = useState(false);
14
+ const [isPanelCollapsed, setIsPanelCollapsed] = useState(defaultCollapsed);
15
+ const properties = propMerge(schema, '');
16
+ const compositionType = getCompositionType(schema);
17
17
  const initialNode = {
18
18
  id: '1',
19
+ type: compositionType ? 'schema' : 'input',
19
20
  data: {
20
21
  label: title,
21
22
  description,
22
23
  properties: properties,
23
24
  relations: {},
25
+ compositionType,
26
+ isRoot: true,
24
27
  },
25
28
  position,
26
29
  };
27
30
  const validate = ajv.validateSchema(schema);
28
- (0, react_1.useEffect)(() => {
31
+ useEffect(() => {
29
32
  if (validate) {
30
33
  setRender(true);
31
34
  }
32
35
  }, [validate]);
33
- return (react_1.default.createElement("div", null, render ? react_1.default.createElement("div", { className: "body-wrapper" },
34
- react_1.default.createElement("div", { className: "node-container" },
35
- react_1.default.createElement(Nodes_1.default, { setnNodes: setnNodes, setCurrentNode: setCurrentNode, nNodes: nNodes, initialNode: initialNode, schema: schema })),
36
- react_1.default.createElement(Panel_1.default, { title: title, description: description, node: currentNode, nodes: nNodes })) : react_1.default.createElement("div", null, "loading")));
36
+ return (React.createElement("div", null, render ? (React.createElement("div", { className: 'body-wrapper' },
37
+ React.createElement("div", { className: 'node-container' },
38
+ React.createElement(Nodes, { setnNodes: setnNodes, setCurrentNode: setCurrentNode, nNodes: nNodes, initialNode: initialNode, schema: schema, isPanelCollapsed: isPanelCollapsed })),
39
+ React.createElement(Panel, { title: title, description: description, node: currentNode, nodes: nNodes, isCollapsed: isPanelCollapsed, setIsCollapsed: setIsPanelCollapsed }))) : (React.createElement("div", { className: 'activity-loader' },
40
+ React.createElement(Loader, null)))));
37
41
  }
38
- exports.default = Schyma;
42
+ export default Schyma;
39
43
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/components/App.tsx"],"names":[],"mappings":";;;AAAA,uDAAyC;AAEzC,4DAA4B;AAC5B,iCAAiC;AACjC,4DAA4B;AAC5B,sDAAsB;AACtB,kDAA+C;AAG/C,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAW;IACrD,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAC;IACtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,GAAQ,CAAC;IACvD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAE,GAAG,IAAA,gBAAQ,EAAsB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAA,qBAAS,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,WAAW,GAAS;QACxB,EAAE,EAAE,GAAG;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK;YACZ,WAAW;YACX,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,EAAE;SACd;QACD,QAAQ;KACT,CAAA;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE5C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAG,QAAQ,EAAC;YACV,SAAS,CAAC,IAAI,CAAC,CAAA;SAChB;IACH,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACb,OAAO,CACL,2CACG,MAAM,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAC,cAAc;QACrC,uCAAK,SAAS,EAAC,gBAAgB;YAC7B,8BAAC,eAAK,IAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAI,CACrH;QACN,8BAAC,eAAK,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,GACb,CACE,CAAC,CAAC,CAAC,qDAAkB,CACvB,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/components/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,KAAK,EAAW;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;IACrB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAQ,CAAA;IACtD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAA;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IACpD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAU,gBAAgB,CAAC,CAAA;IACnF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACxC,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,WAAW,GAAS;QACxB,EAAE,EAAE,GAAG;QACP,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QAC1C,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK;YACZ,WAAW;YACX,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,EAAE;YACb,eAAe;YACf,MAAM,EAAE,IAAI;SACb;QACD,QAAQ;KACT,CAAA;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACd,OAAO,CACL,iCACG,MAAM,CAAC,CAAC,CAAC,CACR,6BAAK,SAAS,EAAC,cAAc;QAC3B,6BAAK,SAAS,EAAC,gBAAgB;YAC7B,oBAAC,KAAK,IACJ,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,GAClC,CACE;QACN,oBAAC,KAAK,IACJ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,gBAAgB,EAC7B,cAAc,EAAE,mBAAmB,GACnC,CACE,CACP,CAAC,CAAC,CAAC,CACF,6BAAK,SAAS,EAAC,iBAAiB;QAC9B,oBAAC,MAAM,OAAG,CACN,CACP,CACG,CACP,CAAA;AACH,CAAC;AAED,eAAe,MAAM,CAAA"}
@@ -1,3 +1,3 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
  declare const CodeComponent: ({ children }: any) => React.JSX.Element;
3
3
  export default CodeComponent;
@@ -1,15 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importDefault(require("react"));
5
- const react_syntax_highlighter_1 = require("react-syntax-highlighter");
6
- const hljs_1 = require("react-syntax-highlighter/dist/cjs/styles/hljs");
1
+ import React from 'react';
2
+ import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
3
+ import { prism } from 'react-syntax-highlighter/dist/cjs/styles/prism';
7
4
  const CodeComponent = ({ children }) => {
8
- return (react_1.default.createElement(react_syntax_highlighter_1.Prism, { language: "javascript", style: hljs_1.dracula, customStyle: {
9
- background: "#1E293B",
10
- borderRadius: "10px",
11
- color: "#94A3B8"
5
+ return (React.createElement(SyntaxHighlighter, { language: 'json', style: prism, customStyle: {
6
+ margin: 0,
7
+ borderRadius: 0,
8
+ background: '#ffffff',
9
+ fontSize: '12px',
12
10
  }, showLineNumbers: true }, children));
13
11
  };
14
- exports.default = CodeComponent;
12
+ export default CodeComponent;
15
13
  //# sourceMappingURL=Code.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Code.js","sourceRoot":"","sources":["../../../src/components/Code.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,uEAAsE;AACtE,wEAAwE;AAExE,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAO,EAAE,EAAE;IAC1C,OAAQ,CACN,8BAAC,gCAAiB,IAChB,QAAQ,EAAC,YAAY,EACrB,KAAK,EAAE,cAAO,EACd,WAAW,EAAE;YACX,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE,SAAS;SACjB,EACD,eAAe,EAAE,IAAI,IAGpB,QAAQ,CACS,CACrB,CAAA;AACH,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"Code.js","sourceRoot":"","sources":["../../../src/components/Code.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,gDAAgD,CAAA;AAEtE,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAO,EAAE,EAAE;IAC1C,OAAO,CACL,oBAAC,iBAAiB,IAChB,QAAQ,EAAC,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,MAAM;SACjB,EACD,eAAe,EAAE,IAAI,IAEpB,QAAQ,CACS,CACrB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { NodeProps } from 'reactflow';
3
+ import { NodeData } from '../types';
4
+ declare const SchemaNode: React.FC<NodeProps<NodeData>>;
5
+ export default SchemaNode;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { Handle, Position } from 'reactflow';
3
+ import { CompositionType } from '../types';
4
+ import { compositionEdgeColors } from '../constants/node';
5
+ const compositionSymbols = {
6
+ [CompositionType.OneOf]: '⊕',
7
+ [CompositionType.AnyOf]: '⊛',
8
+ [CompositionType.AllOf]: '',
9
+ [CompositionType.Not]: '⊘',
10
+ };
11
+ const SchemaNode = ({ data }) => {
12
+ const { label, compositionType, isRoot } = data;
13
+ const symbol = compositionType ? compositionSymbols[compositionType] : null;
14
+ const symbolColor = compositionType ? compositionEdgeColors[compositionType] : undefined;
15
+ return (React.createElement("div", { className: 'custom-node' },
16
+ !isRoot && React.createElement(Handle, { type: 'target', position: Position.Left }),
17
+ React.createElement("span", { className: 'custom-node-label' }, label),
18
+ symbol && (React.createElement("span", { className: 'composition-symbol', style: { color: symbolColor }, title: compositionType || undefined }, symbol)),
19
+ React.createElement(Handle, { type: 'source', position: Position.Right, style: { background: symbolColor || undefined } })));
20
+ };
21
+ export default SchemaNode;
22
+ //# sourceMappingURL=CustomNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomNode.js","sourceRoot":"","sources":["../../../src/components/CustomNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,eAAe,EAAY,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,kBAAkB,GAAoC;IAC1D,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,GAAG;IAC5B,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,GAAG;IAC5B,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE;IAC3B,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG;CAC3B,CAAA;AAED,MAAM,UAAU,GAAkC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7D,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAExF,OAAO,CACL,6BAAK,SAAS,EAAC,aAAa;QACzB,CAAC,MAAM,IAAI,oBAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAI;QAE7D,8BAAM,SAAS,EAAC,mBAAmB,IAAE,KAAK,CAAQ;QAEjD,MAAM,IAAI,CACT,8BAAM,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,eAAe,IAAI,SAAS,IACpG,MAAM,CACF,CACR;QAED,oBAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,IAAI,SAAS,EAAE,GAAI,CAC/F,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -9,6 +9,7 @@ type NodeProps = {
9
9
  };
10
10
  initialNode: Node;
11
11
  schema: JSONSchema7Object;
12
+ isPanelCollapsed: boolean;
12
13
  };
13
- declare const _default: ({ setCurrentNode, setnNodes, nNodes, initialNode, schema }: NodeProps) => React.JSX.Element;
14
+ declare const _default: ({ setCurrentNode, setnNodes, nNodes, initialNode, schema, isPanelCollapsed }: NodeProps) => React.JSX.Element;
14
15
  export default _default;
@@ -1,88 +1,129 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importStar(require("react"));
5
- const react_flow_smart_edge_1 = require("@tisoap/react-flow-smart-edge");
6
- const reactflow_1 = require("reactflow");
7
- const reusables_1 = require("../utils/reusables");
8
- const dagreUtils_1 = require("../utils/dagreUtils");
9
- const position = { x: 0, y: 0, zoom: 0.2 };
10
- const initialEdges = [
11
- {
12
- id: 'edges-e5-7',
13
- source: '0',
14
- target: '1',
15
- label: '+',
16
- labelBgPadding: [8, 4],
17
- labelBgBorderRadius: 4,
18
- animated: true,
19
- type: 'smart',
20
- markerEnd: {
21
- type: reactflow_1.MarkerType.ArrowClosed,
22
- },
23
- },
24
- ];
25
- function Flow({ initialNode, nNodes, setnNodes, setCurrentNode, schema }) {
26
- const { nodes: layoutedNodes, edges: layoutedEdges } = (0, dagreUtils_1.getLayoutedElements)([initialNode], initialEdges);
27
- const [nodes, setNodes, onNodesChange] = (0, reactflow_1.useNodesState)(layoutedNodes);
28
- const [edges, setEdges, onEdgesChange] = (0, reactflow_1.useEdgesState)(layoutedEdges);
29
- const { setCenter } = (0, reactflow_1.useReactFlow)();
30
- const onConnect = (0, react_1.useCallback)((connection) => setEdges((eds) => (0, reactflow_1.addEdge)(Object.assign(Object.assign({}, connection), { type: reactflow_1.ConnectionLineType.SmoothStep, animated: true }), eds)),
1
+ import { __awaiter } from "tslib";
2
+ import React, { useCallback, useEffect, useState, useMemo } from 'react';
3
+ import { SmartBezierEdge } from '@tisoap/react-flow-smart-edge';
4
+ import { ReactFlow, MiniMap, Controls, Background, useReactFlow, MarkerType, useNodesState, useEdgesState, addEdge, Position, ReactFlowProvider, ConnectionLineType, } from 'reactflow';
5
+ import { getCompositionType, propMerge, removeEdgesByParent, removeElementsByParent, resolveRef, } from '../utils/reusables';
6
+ import { CompositionType } from '../types';
7
+ import { getLayoutedElements } from '../utils/dagreLayout';
8
+ import SchemaNode from './CustomNode';
9
+ import { compositionEdgeColors, initialEdges, position } from '../constants/node';
10
+ // Define node and edge types outside component to prevent re-renders
11
+ const edgeTypes = {
12
+ smart: SmartBezierEdge,
13
+ };
14
+ const nodeTypes = {
15
+ schema: SchemaNode,
16
+ };
17
+ function Flow({ initialNode, nNodes, setnNodes, setCurrentNode, schema, isPanelCollapsed }) {
18
+ const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements([initialNode], initialEdges);
19
+ const [nodes, setNodes, onNodesChange] = useNodesState(layoutedNodes);
20
+ const [edges, setEdges, onEdgesChange] = useEdgesState(layoutedEdges);
21
+ const [hoveredCompositionNode, setHoveredCompositionNode] = useState(null);
22
+ const { setCenter, getViewport, setViewport } = useReactFlow();
23
+ const onInit = useCallback(() => {
24
+ setTimeout(() => {
25
+ if (!isPanelCollapsed) {
26
+ const viewport = getViewport();
27
+ const panelWidth = window.innerWidth * 0.45;
28
+ const screenOffset = panelWidth / 2;
29
+ setViewport({ x: viewport.x - screenOffset, y: viewport.y, zoom: viewport.zoom }, { duration: 200 });
30
+ }
31
+ }, 100);
32
+ }, [isPanelCollapsed, getViewport, setViewport]);
33
+ const styleCompositionEdges = useMemo(() => {
34
+ // Skip styling for allOf: (since we are flattening allOf by default, there's no reason to style it) - all properties are just regular required properties
35
+ if (!hoveredCompositionNode || hoveredCompositionNode.compositionType === CompositionType.AllOf) {
36
+ return edges;
37
+ }
38
+ return edges.map((edge) => {
39
+ var _a;
40
+ if (edge.source === hoveredCompositionNode.nodeId) {
41
+ const targetNode = nodes.find((n) => n.id === edge.target);
42
+ const targetCompositionSource = (_a = targetNode === null || targetNode === void 0 ? void 0 : targetNode.data) === null || _a === void 0 ? void 0 : _a.compositionSource;
43
+ if (targetCompositionSource === hoveredCompositionNode.compositionType) {
44
+ return Object.assign(Object.assign({}, edge), { style: {
45
+ stroke: compositionEdgeColors[hoveredCompositionNode.compositionType],
46
+ strokeWidth: 2,
47
+ }, animated: true });
48
+ }
49
+ }
50
+ return edge;
51
+ });
52
+ }, [edges, hoveredCompositionNode, nodes]);
53
+ const onConnect = useCallback((connection) => setEdges((eds) => addEdge(Object.assign(Object.assign({}, connection), { type: ConnectionLineType.SmoothStep, animated: true }), eds)),
31
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
32
55
  []);
33
- const extractChildren = (props, parent) => tslib_1.__awaiter(this, void 0, void 0, function* () {
56
+ const extractChildren = (props, parent) => __awaiter(this, void 0, void 0, function* () {
34
57
  const children = [];
35
58
  for (const prop in props) {
36
59
  const id = String(Math.floor(Math.random() * 1000000));
37
- if (props[prop].$ref) {
38
- const res = yield (0, reusables_1.resolveRef)(props[prop].$ref, schema);
60
+ const propData = props[prop];
61
+ const compositionSource = propData._compositionSource;
62
+ const directComposition = getCompositionType(propData);
63
+ if (propData.$ref) {
64
+ const res = yield resolveRef(propData.$ref, schema);
39
65
  children.push({
40
66
  id,
41
- type: 'input',
42
- data: Object.assign(Object.assign(Object.assign(Object.assign({}, props[prop]), { label: prop, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }) }), res), { children: [] }),
67
+ type: directComposition ? 'schema' : 'default',
68
+ data: Object.assign(Object.assign(Object.assign(Object.assign({}, propData), { label: prop, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }) }), res), { children: [], compositionType: directComposition, compositionSource }),
43
69
  position: position,
44
- sourcePosition: reactflow_1.Position.Right,
45
- targetPosition: reactflow_1.Position.Left,
70
+ sourcePosition: Position.Right,
71
+ targetPosition: Position.Left,
46
72
  });
47
73
  }
48
74
  else {
49
75
  children.push({
50
76
  id,
51
- type: 'input',
52
- data: Object.assign(Object.assign({}, props[prop]), { label: prop, id, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }), children: [] }),
77
+ type: directComposition ? 'schema' : 'default',
78
+ data: Object.assign(Object.assign({}, propData), { label: prop, id, parent: parent.id, relations: Object.assign(Object.assign({}, parent.relations), { [parent.id]: 'node' }), children: [], compositionType: directComposition, compositionSource }),
53
79
  position: position,
54
- sourcePosition: reactflow_1.Position.Right,
55
- targetPosition: reactflow_1.Position.Left,
80
+ sourcePosition: Position.Right,
81
+ targetPosition: Position.Left,
56
82
  });
57
83
  }
58
84
  }
59
85
  return children;
60
86
  });
61
- (0, react_1.useEffect)(() => {
62
- const fetchInitialChildren = () => tslib_1.__awaiter(this, void 0, void 0, function* () {
63
- const newNodes = [];
64
- const properties = initialNode.data.properties;
65
- const children = yield extractChildren(properties, initialNode);
66
- newNodes.push({
67
- id: initialNode.id,
68
- type: 'input',
69
- data: {
70
- children,
71
- label: initialNode.data.label,
72
- description: initialNode.data.description,
73
- properties: initialNode.data.properties,
74
- relations: initialNode.data.relations,
75
- },
76
- position: { x: 0, y: 0 },
77
- sourcePosition: reactflow_1.Position.Right,
78
- targetPosition: reactflow_1.Position.Left,
79
- });
80
- setNodes(newNodes);
87
+ const fetchInitialChildren = () => __awaiter(this, void 0, void 0, function* () {
88
+ const newNodes = [];
89
+ const properties = initialNode.data.properties;
90
+ const children = yield extractChildren(properties, initialNode);
91
+ const nodeType = initialNode.data.compositionType ? 'schema' : 'input';
92
+ newNodes.push({
93
+ id: initialNode.id,
94
+ type: nodeType,
95
+ data: {
96
+ children,
97
+ label: initialNode.data.label,
98
+ description: initialNode.data.description,
99
+ properties: initialNode.data.properties,
100
+ relations: initialNode.data.relations,
101
+ compositionType: initialNode.data.compositionType,
102
+ isRoot: true,
103
+ },
104
+ position: { x: 0, y: 0 },
105
+ sourcePosition: Position.Right,
106
+ targetPosition: Position.Left,
81
107
  });
108
+ setNodes(newNodes);
109
+ });
110
+ useEffect(() => {
82
111
  fetchInitialChildren();
83
112
  // eslint-disable-next-line react-hooks/exhaustive-deps
84
113
  }, []);
85
- // Node focus when clicked
114
+ // Adjust viewport when panel collapses/expands
115
+ useEffect(() => {
116
+ const viewport = getViewport();
117
+ const panelWidth = window.innerWidth * 0.45;
118
+ const screenOffset = panelWidth / 2;
119
+ if (isPanelCollapsed) {
120
+ setViewport({ x: viewport.x + screenOffset, y: viewport.y, zoom: viewport.zoom }, { duration: 200 });
121
+ }
122
+ else {
123
+ setViewport({ x: viewport.x - screenOffset, y: viewport.y, zoom: viewport.zoom }, { duration: 200 });
124
+ }
125
+ // eslint-disable-next-line react-hooks/exhaustive-deps
126
+ }, [isPanelCollapsed]);
86
127
  const focusNode = (children, zoom) => {
87
128
  if (children.length === 0)
88
129
  return;
@@ -91,10 +132,15 @@ function Flow({ initialNode, nNodes, setnNodes, setCurrentNode, schema }) {
91
132
  if (middleChildWithLatestPosition) {
92
133
  middleChild = middleChildWithLatestPosition;
93
134
  }
94
- setCenter(middleChild.position.x, middleChild.position.y, { zoom, duration: 1000 });
135
+ let targetX = middleChild.position.x;
136
+ if (!isPanelCollapsed) {
137
+ const panelWidth = window.innerWidth * 0.45;
138
+ const offsetInFlowCoords = panelWidth / 2 / zoom;
139
+ targetX = targetX + offsetInFlowCoords;
140
+ }
141
+ setCenter(targetX, middleChild.position.y, { zoom, duration: 1000 });
95
142
  };
96
- // On Node Click
97
- const nodeClick = (_event, node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
143
+ const nodeClick = (_event, node) => __awaiter(this, void 0, void 0, function* () {
98
144
  const findChildren = nodes.filter((item) => { var _a; return ((_a = item === null || item === void 0 ? void 0 : item.data) === null || _a === void 0 ? void 0 : _a.parent) === node.id; });
99
145
  if (!findChildren.length) {
100
146
  const itemChildren = node.data.children;
@@ -107,14 +153,14 @@ function Flow({ initialNode, nNodes, setnNodes, setCurrentNode, schema }) {
107
153
  source: (_a = item === null || item === void 0 ? void 0 : item.data) === null || _a === void 0 ? void 0 : _a.parent,
108
154
  target: item === null || item === void 0 ? void 0 : item.id,
109
155
  markerEnd: {
110
- type: reactflow_1.MarkerType.ArrowClosed,
156
+ type: MarkerType.ArrowClosed,
111
157
  },
112
158
  };
113
159
  }),
114
160
  ];
115
161
  //TODO: Fix nodes type error
116
162
  const newNodes = nodes.concat(itemChildren);
117
- const { nodes: layoutedNodes, edges: layoutedEdges } = (0, dagreUtils_1.getLayoutedElements)(newNodes, newEdges, 'LR');
163
+ const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements(newNodes, newEdges, 'LR');
118
164
  setNodes([...layoutedNodes]);
119
165
  setEdges([...layoutedEdges]);
120
166
  if (itemChildren.length > 0) {
@@ -122,60 +168,69 @@ function Flow({ initialNode, nNodes, setnNodes, setCurrentNode, schema }) {
122
168
  }
123
169
  }
124
170
  else {
125
- const newNodes = (0, reusables_1.removeElementsByParent)(nodes, node.id);
126
- const newEdges = (0, reusables_1.removeEdgesByParent)(edges, node.id);
127
- const { nodes: layoutedNodes, edges: layoutedEdges } = (0, dagreUtils_1.getLayoutedElements)(newNodes, newEdges, 'LR');
171
+ const newNodes = removeElementsByParent(nodes, node.id);
172
+ const newEdges = removeEdgesByParent(edges, node.id);
173
+ const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements(newNodes, newEdges, 'LR');
128
174
  setNodes([...layoutedNodes]);
129
175
  setEdges([...layoutedEdges]);
130
176
  focusNode([node], 0.9);
131
177
  }
132
178
  });
133
- //On Node Hover
134
179
  function handleMouseEnter(_e, node) {
135
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
180
+ return __awaiter(this, void 0, void 0, function* () {
136
181
  if (!nNodes[node.id]) {
137
182
  const itemChildren = [];
138
183
  const nodeChildren = node.data.children;
139
- yield Promise.all(nodeChildren.map((item) => tslib_1.__awaiter(this, void 0, void 0, function* () {
184
+ yield Promise.all(nodeChildren.map((item) => __awaiter(this, void 0, void 0, function* () {
140
185
  let children = [];
141
186
  const label = item.data.label;
142
- const extractProps = (0, reusables_1.propMerge)(item.data, label);
187
+ const extractProps = propMerge(item.data, label);
188
+ const nestedComposition = extractProps._nestedComposition;
189
+ delete extractProps._nestedComposition;
143
190
  if (Object.keys(extractProps).length > 0) {
144
191
  const res = yield extractChildren(extractProps, item);
145
192
  children = res;
146
193
  }
147
194
  const relations = Object.assign(Object.assign({}, node.data.relations), item.data.relations);
195
+ // Check for direct composition or nested composition (from items/additionalProperties)
196
+ const directComposition = getCompositionType(item.data);
197
+ const compositionType = directComposition || nestedComposition || null;
198
+ // Get composition source tag if this child came from a composition
199
+ const compositionSource = item.data._compositionSource;
200
+ // Use custom schema node type if node has composition, otherwise use default types
201
+ const nodeType = compositionType ? 'schema' : (children === null || children === void 0 ? void 0 : children.length) > 0 ? 'default' : 'output';
148
202
  itemChildren.push({
149
203
  id: item.id,
150
- type: (children === null || children === void 0 ? void 0 : children.length) > 0 ? 'default' : 'output',
151
- data: {
152
- label: item.data.label,
153
- children: children,
154
- parent: item.data.parent,
155
- examples: item.data.examples,
156
- description: item.data.description,
157
- relations: relations,
158
- },
204
+ type: nodeType,
205
+ data: Object.assign(Object.assign({}, item.data), { label: `${item.data.label}`, children: children, relations: relations, compositionType,
206
+ compositionSource }),
159
207
  position: position,
160
- sourcePosition: reactflow_1.Position.Right,
161
- targetPosition: reactflow_1.Position.Left,
208
+ sourcePosition: Position.Right,
209
+ targetPosition: Position.Left,
162
210
  });
163
211
  })));
164
212
  node.data.children = itemChildren;
165
213
  nNodes[node.id] = node;
166
214
  setnNodes(nNodes);
167
215
  }
216
+ const nodeData = node.data;
217
+ if (nodeData.compositionType) {
218
+ setHoveredCompositionNode({
219
+ nodeId: node.id,
220
+ compositionType: nodeData.compositionType,
221
+ });
222
+ }
168
223
  setCurrentNode(node);
169
224
  });
170
225
  }
171
- const edgeTypes = {
172
- smart: react_flow_smart_edge_1.SmartBezierEdge,
173
- };
174
- return (react_1.default.createElement(reactflow_1.ReactFlow, { nodes: nodes, edges: edges, edgeTypes: edgeTypes, onNodesChange: onNodesChange, connectionLineType: reactflow_1.ConnectionLineType.SmoothStep, onEdgesChange: onEdgesChange, onConnect: onConnect, onNodeMouseEnter: handleMouseEnter, onNodeClick: nodeClick, fitView: true, defaultViewport: { x: 1, y: 1, zoom: 0.9 } },
175
- react_1.default.createElement(reactflow_1.MiniMap, null),
176
- react_1.default.createElement(reactflow_1.Controls, null),
177
- react_1.default.createElement(reactflow_1.Background, null)));
226
+ function handleMouseLeave() {
227
+ setHoveredCompositionNode(null);
228
+ }
229
+ return (React.createElement(ReactFlow, { nodes: nodes, edges: styleCompositionEdges, edgeTypes: edgeTypes, nodeTypes: nodeTypes, onNodesChange: onNodesChange, connectionLineType: ConnectionLineType.SmoothStep, onEdgesChange: onEdgesChange, onConnect: onConnect, onNodeMouseEnter: handleMouseEnter, onNodeMouseLeave: handleMouseLeave, onNodeClick: nodeClick, onInit: onInit, fitView: true, defaultViewport: { x: 1, y: 1, zoom: 0.9 } },
230
+ React.createElement(MiniMap, null),
231
+ React.createElement(Controls, null),
232
+ React.createElement(Background, null)));
178
233
  }
179
- exports.default = ({ setCurrentNode, setnNodes, nNodes, initialNode, schema }) => (react_1.default.createElement(reactflow_1.ReactFlowProvider, null,
180
- react_1.default.createElement(Flow, { setnNodes: setnNodes, nNodes: nNodes, setCurrentNode: setCurrentNode, initialNode: initialNode, schema: schema })));
234
+ export default ({ setCurrentNode, setnNodes, nNodes, initialNode, schema, isPanelCollapsed }) => (React.createElement(ReactFlowProvider, null,
235
+ React.createElement(Flow, { setnNodes: setnNodes, nNodes: nNodes, setCurrentNode: setCurrentNode, initialNode: initialNode, schema: schema, isPanelCollapsed: isPanelCollapsed })));
181
236
  //# sourceMappingURL=Nodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Nodes.js","sourceRoot":"","sources":["../../../src/components/Nodes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Nodes.js","sourceRoot":"","sources":["../../../src/components/Nodes.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ type Props = {
7
7
  };
8
8
  title: string;
9
9
  description: string;
10
+ isCollapsed: boolean;
11
+ setIsCollapsed: (collapsed: boolean) => void;
10
12
  };
11
- declare function Panel({ node, nodes, title, description }: Props): React.JSX.Element;
13
+ declare function Panel({ node, nodes, title, description, isCollapsed, setIsCollapsed }: Props): React.JSX.Element;
12
14
  export default Panel;