schyma 1.1.1 → 1.2.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.
@@ -2,12 +2,12 @@ import React, { useEffect } from 'react';
2
2
  import Panel from './Panel';
3
3
  import { useState } from 'react';
4
4
  import Nodes from './Nodes';
5
- import Ajv from 'ajv';
6
5
  import { propMerge, getCompositionType } from '../utils/reusables';
7
6
  import { position } from '../constants/node';
8
7
  import Loader from '../icons/Loader';
8
+ import { getValidator } from '../helpers/ajv';
9
9
  function Schyma({ title, description, schema, defaultCollapsed = false }) {
10
- const ajv = new Ajv();
10
+ const ajv = getValidator(schema === null || schema === void 0 ? void 0 : schema.$schema);
11
11
  const [currentNode, setCurrentNode] = useState();
12
12
  const [nNodes, setnNodes] = useState({});
13
13
  const [render, setRender] = useState(false);
@@ -27,11 +27,16 @@ function Schyma({ title, description, schema, defaultCollapsed = false }) {
27
27
  },
28
28
  position,
29
29
  };
30
- const validate = ajv.validateSchema(schema);
30
+ let validate = false;
31
+ try {
32
+ const result = ajv.validateSchema(schema);
33
+ validate = typeof result === 'boolean' ? result : false;
34
+ }
35
+ catch (_a) {
36
+ validate = false;
37
+ }
31
38
  useEffect(() => {
32
- if (validate) {
33
- setRender(true);
34
- }
39
+ setRender(validate);
35
40
  }, [validate]);
36
41
  return (React.createElement("div", null, render ? (React.createElement("div", { className: 'body-wrapper' },
37
42
  React.createElement("div", { className: 'node-container' },
@@ -1 +1 @@
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
+ {"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,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,KAAK,EAAW;IAC/E,MAAM,GAAG,GAAG,YAAY,CAAE,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,OAAO,CAAC,CAAA;IAClD,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,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACzC,QAAQ,GAAG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IACzD,CAAC;IAAC,WAAM,CAAC;QACP,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,QAAQ,CAAC,CAAA;IACrB,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,21 +1,15 @@
1
1
  import React from 'react';
2
2
  import { Handle, Position } from 'reactflow';
3
- import { CompositionType } from '../types';
4
3
  import { compositionEdgeColors } from '../constants/node';
5
- const compositionSymbols = {
6
- [CompositionType.OneOf]: '⊕',
7
- [CompositionType.AnyOf]: '⊛',
8
- [CompositionType.AllOf]: '',
9
- [CompositionType.Not]: '⊘',
10
- };
11
4
  const SchemaNode = ({ data }) => {
12
5
  const { label, compositionType, isRoot } = data;
13
- const symbol = compositionType ? compositionSymbols[compositionType] : null;
14
6
  const symbolColor = compositionType ? compositionEdgeColors[compositionType] : undefined;
15
7
  return (React.createElement("div", { className: 'custom-node' },
16
8
  !isRoot && React.createElement(Handle, { type: 'target', position: Position.Left }),
17
9
  React.createElement("span", { className: 'custom-node-label' }, label),
18
- symbol && (React.createElement("span", { className: 'composition-symbol', style: { color: symbolColor }, title: compositionType || undefined }, symbol)),
10
+ symbolColor && (React.createElement(React.Fragment, null,
11
+ React.createElement("span", { className: 'composition-symbol', style: { color: symbolColor }, "aria-hidden": 'true' }),
12
+ React.createElement("span", { className: 'composition-tooltip' }, compositionType))),
19
13
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { background: symbolColor || undefined } })));
20
14
  };
21
15
  export default SchemaNode;
@@ -1 +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"}
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;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,UAAU,GAAkC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7D,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/C,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,WAAW,IAAI,CACd;YACE,8BAAM,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAc,MAAM,GAAQ;YAC9F,8BAAM,SAAS,EAAC,qBAAqB,IAAE,eAAe,CAAQ,CAC7D,CACJ;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"}
@@ -0,0 +1,3 @@
1
+ import Ajv from 'ajv';
2
+ import Ajv2020 from 'ajv/dist/2020';
3
+ export declare const getValidator: (schemaId?: string) => Ajv | Ajv2020;
@@ -0,0 +1,15 @@
1
+ import Ajv from 'ajv';
2
+ import Ajv2020 from 'ajv/dist/2020';
3
+ import AjvDraft04 from 'ajv-draft-04';
4
+ const normalizeSchemaId = (schemaId) => schemaId === null || schemaId === void 0 ? void 0 : schemaId.trim().replace(/#$/, '').toLowerCase();
5
+ export const getValidator = (schemaId) => {
6
+ const normalizedSchemaId = normalizeSchemaId(schemaId);
7
+ if (normalizedSchemaId === null || normalizedSchemaId === void 0 ? void 0 : normalizedSchemaId.includes('draft-04')) {
8
+ return new AjvDraft04();
9
+ }
10
+ if (normalizedSchemaId === null || normalizedSchemaId === void 0 ? void 0 : normalizedSchemaId.includes('2020-12')) {
11
+ return new Ajv2020();
12
+ }
13
+ return new Ajv();
14
+ };
15
+ //# sourceMappingURL=ajv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ajv.js","sourceRoot":"","sources":["../../../src/helpers/ajv.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,OAAO,MAAM,eAAe,CAAA;AACnC,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAA;AAEjG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;IAChD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAEtD,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,UAAU,EAAE,CAAA;IACzB,CAAC;IAED,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,OAAO,EAAE,CAAA;IACtB,CAAC;IAED,OAAO,IAAI,GAAG,EAAE,CAAA;AAClB,CAAC,CAAA"}
@@ -7,6 +7,14 @@
7
7
  height: 100vh;
8
8
  }
9
9
 
10
+ .panel-wrapper,
11
+ .panel-wrapper-collapsed {
12
+ position: absolute;
13
+ inset: 0;
14
+ pointer-events: none;
15
+ z-index: 10;
16
+ }
17
+
10
18
  .node-container{
11
19
  width: 100%;
12
20
  height: 100%;
@@ -15,17 +23,18 @@
15
23
  }
16
24
 
17
25
  .panel{
18
- position: fixed;
26
+ position: absolute;
19
27
  top: 0;
20
28
  right: 0;
21
29
  width: 45%;
22
- height: 100vh;
30
+ height: 100%;
23
31
  padding: 6px;
24
32
  background: white;
25
33
  border-left: 1px solid #334155;
26
34
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
27
35
  z-index: 10;
28
36
  transition: transform 0.2s ease-in-out;
37
+ pointer-events: auto;
29
38
  }
30
39
 
31
40
  .panel-content {
@@ -632,6 +641,39 @@
632
641
  background: white;
633
642
  }
634
643
 
644
+ .composition-tooltip {
645
+ position: absolute;
646
+ left: 50%;
647
+ top: -30px;
648
+ transform: translateX(-50%);
649
+ background: #0f172a;
650
+ color: #f8fafc;
651
+ font-size: 11px;
652
+ line-height: 1;
653
+ padding: 5px 7px;
654
+ border-radius: 4px;
655
+ white-space: nowrap;
656
+ opacity: 0;
657
+ pointer-events: none;
658
+ transition: opacity 0.15s ease;
659
+ z-index: 20;
660
+ }
661
+
662
+ .composition-tooltip::after {
663
+ content: '';
664
+ position: absolute;
665
+ left: 50%;
666
+ top: 100%;
667
+ transform: translateX(-50%);
668
+ border-width: 4px;
669
+ border-style: solid;
670
+ border-color: #0f172a transparent transparent transparent;
671
+ }
672
+
673
+ .custom-node:hover .composition-tooltip {
674
+ opacity: 1;
675
+ }
676
+
635
677
  .required-sentence {
636
678
  font-size: 12px;
637
679
  font-style: italic;
@@ -658,7 +700,7 @@
658
700
  }
659
701
 
660
702
  .panel-toggle-btn {
661
- position: fixed;
703
+ position: absolute;
662
704
  top: 10px;
663
705
  right: calc(45% + 8px);
664
706
  width: 40px;
@@ -674,6 +716,7 @@
674
716
  transition: background 0.2s ease, color 0.2s ease;
675
717
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
676
718
  z-index: 11;
719
+ pointer-events: auto;
677
720
  }
678
721
 
679
722
  .panel-toggle-btn:hover {
@@ -1,4 +1,4 @@
1
- import { JSONSchema7Object } from 'json-schema';
1
+ import { JSONSchema4Object, JSONSchema7Object } from 'json-schema';
2
2
  import { Node } from 'reactflow';
3
3
  export declare enum CompositionType {
4
4
  OneOf = "oneOf",
@@ -9,7 +9,7 @@ export declare enum CompositionType {
9
9
  export interface ISchyma {
10
10
  title: string;
11
11
  description: string;
12
- schema: JSONSchema7Object;
12
+ schema: JSONSchema4Object | JSONSchema7Object;
13
13
  defaultCollapsed?: boolean;
14
14
  }
15
15
  export interface IObject {
@@ -27,6 +27,9 @@ function getSchemaName(schema, label, index) {
27
27
  }
28
28
  }
29
29
  }
30
+ if (schema.type && schema.const) {
31
+ return `${schema.const}`;
32
+ }
30
33
  if (schema.type && schema.type !== 'object') {
31
34
  return `${schema.type}`;
32
35
  }
@@ -84,6 +87,8 @@ export const handleCompositions = (schema, mergedProps, label) => {
84
87
  }
85
88
  else {
86
89
  const name = getSchemaName(item, label, i);
90
+ console.log(name);
91
+ console.log(item);
87
92
  mergedProps[name] = Object.assign(Object.assign({}, item), { _compositionSource: compositionType });
88
93
  }
89
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compositions.js","sourceRoot":"","sources":["../../../src/utils/compositions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compositions.js","sourceRoot":"","sources":["../../../src/utils/compositions.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import React, { useEffect } from 'react';
2
2
  import Panel from './Panel';
3
3
  import { useState } from 'react';
4
4
  import Nodes from './Nodes';
5
- import Ajv from 'ajv';
6
5
  import { propMerge, getCompositionType } from '../utils/reusables';
7
6
  import { position } from '../constants/node';
8
7
  import Loader from '../icons/Loader';
8
+ import { getValidator } from '../helpers/ajv';
9
9
  function Schyma({ title, description, schema, defaultCollapsed = false }) {
10
- const ajv = new Ajv();
10
+ const ajv = getValidator(schema === null || schema === void 0 ? void 0 : schema.$schema);
11
11
  const [currentNode, setCurrentNode] = useState();
12
12
  const [nNodes, setnNodes] = useState({});
13
13
  const [render, setRender] = useState(false);
@@ -27,11 +27,16 @@ function Schyma({ title, description, schema, defaultCollapsed = false }) {
27
27
  },
28
28
  position,
29
29
  };
30
- const validate = ajv.validateSchema(schema);
30
+ let validate = false;
31
+ try {
32
+ const result = ajv.validateSchema(schema);
33
+ validate = typeof result === 'boolean' ? result : false;
34
+ }
35
+ catch (_a) {
36
+ validate = false;
37
+ }
31
38
  useEffect(() => {
32
- if (validate) {
33
- setRender(true);
34
- }
39
+ setRender(validate);
35
40
  }, [validate]);
36
41
  return (React.createElement("div", null, render ? (React.createElement("div", { className: 'body-wrapper' },
37
42
  React.createElement("div", { className: 'node-container' },
@@ -1 +1 @@
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
+ {"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,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,KAAK,EAAW;IAC/E,MAAM,GAAG,GAAG,YAAY,CAAE,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,OAAO,CAAC,CAAA;IAClD,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,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACzC,QAAQ,GAAG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IACzD,CAAC;IAAC,WAAM,CAAC;QACP,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,QAAQ,CAAC,CAAA;IACrB,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,21 +1,15 @@
1
1
  import React from 'react';
2
2
  import { Handle, Position } from 'reactflow';
3
- import { CompositionType } from '../types';
4
3
  import { compositionEdgeColors } from '../constants/node';
5
- const compositionSymbols = {
6
- [CompositionType.OneOf]: '⊕',
7
- [CompositionType.AnyOf]: '⊛',
8
- [CompositionType.AllOf]: '',
9
- [CompositionType.Not]: '⊘',
10
- };
11
4
  const SchemaNode = ({ data }) => {
12
5
  const { label, compositionType, isRoot } = data;
13
- const symbol = compositionType ? compositionSymbols[compositionType] : null;
14
6
  const symbolColor = compositionType ? compositionEdgeColors[compositionType] : undefined;
15
7
  return (React.createElement("div", { className: 'custom-node' },
16
8
  !isRoot && React.createElement(Handle, { type: 'target', position: Position.Left }),
17
9
  React.createElement("span", { className: 'custom-node-label' }, label),
18
- symbol && (React.createElement("span", { className: 'composition-symbol', style: { color: symbolColor }, title: compositionType || undefined }, symbol)),
10
+ symbolColor && (React.createElement(React.Fragment, null,
11
+ React.createElement("span", { className: 'composition-symbol', style: { color: symbolColor }, "aria-hidden": 'true' }),
12
+ React.createElement("span", { className: 'composition-tooltip' }, compositionType))),
19
13
  React.createElement(Handle, { type: 'source', position: Position.Right, style: { background: symbolColor || undefined } })));
20
14
  };
21
15
  export default SchemaNode;
@@ -1 +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"}
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;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,UAAU,GAAkC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7D,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/C,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,WAAW,IAAI,CACd;YACE,8BAAM,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAc,MAAM,GAAQ;YAC9F,8BAAM,SAAS,EAAC,qBAAqB,IAAE,eAAe,CAAQ,CAC7D,CACJ;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"}
@@ -0,0 +1,3 @@
1
+ import Ajv from 'ajv';
2
+ import Ajv2020 from 'ajv/dist/2020';
3
+ export declare const getValidator: (schemaId?: string) => Ajv | Ajv2020;
@@ -0,0 +1,15 @@
1
+ import Ajv from 'ajv';
2
+ import Ajv2020 from 'ajv/dist/2020';
3
+ import AjvDraft04 from 'ajv-draft-04';
4
+ const normalizeSchemaId = (schemaId) => schemaId === null || schemaId === void 0 ? void 0 : schemaId.trim().replace(/#$/, '').toLowerCase();
5
+ export const getValidator = (schemaId) => {
6
+ const normalizedSchemaId = normalizeSchemaId(schemaId);
7
+ if (normalizedSchemaId === null || normalizedSchemaId === void 0 ? void 0 : normalizedSchemaId.includes('draft-04')) {
8
+ return new AjvDraft04();
9
+ }
10
+ if (normalizedSchemaId === null || normalizedSchemaId === void 0 ? void 0 : normalizedSchemaId.includes('2020-12')) {
11
+ return new Ajv2020();
12
+ }
13
+ return new Ajv();
14
+ };
15
+ //# sourceMappingURL=ajv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ajv.js","sourceRoot":"","sources":["../../../src/helpers/ajv.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,OAAO,MAAM,eAAe,CAAA;AACnC,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAA;AAEjG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;IAChD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAEtD,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,UAAU,EAAE,CAAA;IACzB,CAAC;IAED,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,OAAO,EAAE,CAAA;IACtB,CAAC;IAED,OAAO,IAAI,GAAG,EAAE,CAAA;AAClB,CAAC,CAAA"}
@@ -7,6 +7,14 @@
7
7
  height: 100vh;
8
8
  }
9
9
 
10
+ .panel-wrapper,
11
+ .panel-wrapper-collapsed {
12
+ position: absolute;
13
+ inset: 0;
14
+ pointer-events: none;
15
+ z-index: 10;
16
+ }
17
+
10
18
  .node-container{
11
19
  width: 100%;
12
20
  height: 100%;
@@ -15,17 +23,18 @@
15
23
  }
16
24
 
17
25
  .panel{
18
- position: fixed;
26
+ position: absolute;
19
27
  top: 0;
20
28
  right: 0;
21
29
  width: 45%;
22
- height: 100vh;
30
+ height: 100%;
23
31
  padding: 6px;
24
32
  background: white;
25
33
  border-left: 1px solid #334155;
26
34
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
27
35
  z-index: 10;
28
36
  transition: transform 0.2s ease-in-out;
37
+ pointer-events: auto;
29
38
  }
30
39
 
31
40
  .panel-content {
@@ -632,6 +641,39 @@
632
641
  background: white;
633
642
  }
634
643
 
644
+ .composition-tooltip {
645
+ position: absolute;
646
+ left: 50%;
647
+ top: -30px;
648
+ transform: translateX(-50%);
649
+ background: #0f172a;
650
+ color: #f8fafc;
651
+ font-size: 11px;
652
+ line-height: 1;
653
+ padding: 5px 7px;
654
+ border-radius: 4px;
655
+ white-space: nowrap;
656
+ opacity: 0;
657
+ pointer-events: none;
658
+ transition: opacity 0.15s ease;
659
+ z-index: 20;
660
+ }
661
+
662
+ .composition-tooltip::after {
663
+ content: '';
664
+ position: absolute;
665
+ left: 50%;
666
+ top: 100%;
667
+ transform: translateX(-50%);
668
+ border-width: 4px;
669
+ border-style: solid;
670
+ border-color: #0f172a transparent transparent transparent;
671
+ }
672
+
673
+ .custom-node:hover .composition-tooltip {
674
+ opacity: 1;
675
+ }
676
+
635
677
  .required-sentence {
636
678
  font-size: 12px;
637
679
  font-style: italic;
@@ -658,7 +700,7 @@
658
700
  }
659
701
 
660
702
  .panel-toggle-btn {
661
- position: fixed;
703
+ position: absolute;
662
704
  top: 10px;
663
705
  right: calc(45% + 8px);
664
706
  width: 40px;
@@ -674,6 +716,7 @@
674
716
  transition: background 0.2s ease, color 0.2s ease;
675
717
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
676
718
  z-index: 11;
719
+ pointer-events: auto;
677
720
  }
678
721
 
679
722
  .panel-toggle-btn:hover {
@@ -1,4 +1,4 @@
1
- import { JSONSchema7Object } from 'json-schema';
1
+ import { JSONSchema4Object, JSONSchema7Object } from 'json-schema';
2
2
  import { Node } from 'reactflow';
3
3
  export declare enum CompositionType {
4
4
  OneOf = "oneOf",
@@ -9,7 +9,7 @@ export declare enum CompositionType {
9
9
  export interface ISchyma {
10
10
  title: string;
11
11
  description: string;
12
- schema: JSONSchema7Object;
12
+ schema: JSONSchema4Object | JSONSchema7Object;
13
13
  defaultCollapsed?: boolean;
14
14
  }
15
15
  export interface IObject {
@@ -27,6 +27,9 @@ function getSchemaName(schema, label, index) {
27
27
  }
28
28
  }
29
29
  }
30
+ if (schema.type && schema.const) {
31
+ return `${schema.const}`;
32
+ }
30
33
  if (schema.type && schema.type !== 'object') {
31
34
  return `${schema.type}`;
32
35
  }
@@ -84,6 +87,8 @@ export const handleCompositions = (schema, mergedProps, label) => {
84
87
  }
85
88
  else {
86
89
  const name = getSchemaName(item, label, i);
90
+ console.log(name);
91
+ console.log(item);
87
92
  mergedProps[name] = Object.assign(Object.assign({}, item), { _compositionSource: compositionType });
88
93
  }
89
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compositions.js","sourceRoot":"","sources":["../../../src/utils/compositions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compositions.js","sourceRoot":"","sources":["../../../src/utils/compositions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "schyma",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "JSON Schemas Visualizer React component",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -70,6 +70,7 @@
70
70
  "@tisoap/react-flow-smart-edge": "^4.0.1",
71
71
  "@types/json-schema": "^7.0.12",
72
72
  "ajv": "^8.12.0",
73
+ "ajv-draft-04": "^1.0.0",
73
74
  "json-schema-traverse": "^1.0.0",
74
75
  "node-fetch": "^3.3.1",
75
76
  "react-syntax-highlighter": "^15.5.0",