@knotx/plugins-base-render 0.2.9 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -87,11 +87,11 @@ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use
87
87
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
88
88
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
89
89
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
90
- var _edgesLayer_dec, _nodesLayer_dec, _registerNodeLevelGetter_dec, _registerNodePositionGetter_dec, _registerNodeFilter_dec, _defaultEdgeType_dec, _defaultNodeType_dec, _edge_dec, _edgeMapVersion_dec, _draftNode_dec, _node_dec, _nodeMapVersion_dec, _getEdgeRenderer_dec, _getNodeRenderer_dec, _edges_dec, _nodes_dec, _a, _init;
91
- const _BaseRender = class _BaseRender extends (_a = core.BasePlugin, _nodes_dec = [decorators.inject.nodes()], _edges_dec = [decorators.inject.edges()], _getNodeRenderer_dec = [decorators.inject.getNodeRenderer()], _getEdgeRenderer_dec = [decorators.inject.getEdgeRenderer()], _nodeMapVersion_dec = [decorators.inject((injectable) => injectable.nodesManager.mapVersion$.value)], _node_dec = [decorators.inject((injectable, context) => injectable.nodesManager.dataMap$.value.get(context.node))], _draftNode_dec = [decorators.inject((injectable, context) => {
90
+ var _edgesLayer_dec, _nodesLayer_dec, _registerNodeLevelGetter_dec, _registerNodePositionGetter_dec, _registerNodeFilter_dec, _defaultEdgeType_dec, _defaultNodeType_dec, _draftNode_dec, _getEdge_dec, _getNode_dec, _edgesVersion_dec, _nodesVersion_dec, _getEdgeRenderer_dec, _getNodeRenderer_dec, _edges_dec, _nodes_dec, _a, _init;
91
+ const _BaseRender = class _BaseRender extends (_a = core.BasePlugin, _nodes_dec = [decorators.inject.nodes()], _edges_dec = [decorators.inject.edges()], _getNodeRenderer_dec = [decorators.inject.getNodeRenderer()], _getEdgeRenderer_dec = [decorators.inject.getEdgeRenderer()], _nodesVersion_dec = [decorators.inject((injectable) => injectable.nodesManager.patchVersion$.value + injectable.nodesManager.mapVersion$.value)], _edgesVersion_dec = [decorators.inject((injectable) => injectable.edgesManager.patchVersion$.value + injectable.edgesManager.mapVersion$.value + injectable.nodesManager.patchVersion$.value + injectable.nodesManager.mapVersion$.value)], _getNode_dec = [decorators.inject.getNode()], _getEdge_dec = [decorators.inject.getEdge()], _draftNode_dec = [decorators.inject((injectable, context) => {
92
92
  var _a2, _b;
93
93
  return ((_b = (_a2 = injectable.nodesManager.currentDraftDataMap$) == null ? void 0 : _a2.value) == null ? void 0 : _b.get(context.node)) || void 0;
94
- })], _edgeMapVersion_dec = [decorators.inject((injectable) => injectable.edgesManager.mapVersion$.value)], _edge_dec = [decorators.inject((injectable, context) => injectable.edgesManager.dataMap$.value.get(context.edge))], _defaultNodeType_dec = [decorators.nodeType("default")], _defaultEdgeType_dec = [decorators.edgeType("default")], _registerNodeFilter_dec = [decorators.register("registerNodeFilter")], _registerNodePositionGetter_dec = [decorators.register("registerNodePositionGetter")], _registerNodeLevelGetter_dec = [decorators.register("registerNodeLevelGetter")], _nodesLayer_dec = [decorators.layer(core.Layer.Nodes)], _edgesLayer_dec = [decorators.layer(core.Layer.Edges)], _a) {
94
+ })], _defaultNodeType_dec = [decorators.nodeType("default")], _defaultEdgeType_dec = [decorators.edgeType("default")], _registerNodeFilter_dec = [decorators.register("registerNodeFilter")], _registerNodePositionGetter_dec = [decorators.register("registerNodePositionGetter")], _registerNodeLevelGetter_dec = [decorators.register("registerNodeLevelGetter")], _nodesLayer_dec = [decorators.layer(core.Layer.Nodes)], _edgesLayer_dec = [decorators.layer(core.Layer.Edges)], _a) {
95
95
  constructor() {
96
96
  super(...arguments);
97
97
  __runInitializers(_init, 5, this);
@@ -100,11 +100,11 @@ const _BaseRender = class _BaseRender extends (_a = core.BasePlugin, _nodes_dec
100
100
  __publicField(this, "edges", __runInitializers(_init, 12, this, [])), __runInitializers(_init, 15, this);
101
101
  __publicField(this, "getNodeRenderer", __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
102
102
  __publicField(this, "getEdgeRenderer", __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
103
- __publicField(this, "nodeMapVersion", __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
104
- __publicField(this, "node", __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
105
- __publicField(this, "draftNode", __runInitializers(_init, 32, this)), __runInitializers(_init, 35, this);
106
- __publicField(this, "edgeMapVersion", __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
107
- __publicField(this, "edge", __runInitializers(_init, 40, this)), __runInitializers(_init, 43, this);
103
+ __publicField(this, "nodesVersion", __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
104
+ __publicField(this, "edgesVersion", __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
105
+ __publicField(this, "getNode", __runInitializers(_init, 32, this)), __runInitializers(_init, 35, this);
106
+ __publicField(this, "getEdge", __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
107
+ __publicField(this, "draftNode", __runInitializers(_init, 40, this)), __runInitializers(_init, 43, this);
108
108
  __publicField(this, "nodeFilters", new rxjs.BehaviorSubject([]));
109
109
  __publicField(this, "nodePositionGetter", new rxjs.BehaviorSubject({}));
110
110
  __publicField(this, "nodeLevelGetter", new rxjs.BehaviorSubject([]));
@@ -129,54 +129,46 @@ const _BaseRender = class _BaseRender extends (_a = core.BasePlugin, _nodes_dec
129
129
  this.nodeLevelGetter.next(this.nodeLevelGetter.value.filter((g) => g !== getter));
130
130
  };
131
131
  })), __runInitializers(_init, 63, this);
132
+ __publicField(this, "nodeRenderProps", {
133
+ useNode: (id) => {
134
+ const draftNode = core.use(() => this.draftNode, { node: id });
135
+ return draftNode || this.getNode(id);
136
+ },
137
+ useNodes: () => {
138
+ core.use(() => this.nodesVersion);
139
+ return this.nodes.filter((node) => this.nodeFilters.value.every((filter) => filter(node)));
140
+ },
141
+ getNodeRenderer: (type) => this.getNodeRenderer(type != null ? type : "default") || this.defaultNodeType,
142
+ getNodePosition: (node) => {
143
+ var _a2, _b;
144
+ return ((_b = (_a2 = this.nodePositionGetter.value)[node.type]) == null ? void 0 : _b.call(_a2, node)) || node.position;
145
+ },
146
+ getNodeMeasured: (node) => node.measured,
147
+ getNodeLevel: (node) => this.nodeLevelGetter.value.reduce((level, getter) => {
148
+ const newLevel = getter(node);
149
+ return newLevel ? Math.max(level != null ? level : 0, newLevel) : level;
150
+ }, void 0),
151
+ getNodeWrapper: () => _BaseRender.DEFAULT_NODE_WRAPPER
152
+ });
153
+ __publicField(this, "edgeRenderProps", {
154
+ useEdge: (id) => this.getEdge(id),
155
+ useEdges: () => {
156
+ core.use(() => this.edgesVersion);
157
+ return this.edges;
158
+ },
159
+ useNode: (id) => {
160
+ const draftNode = core.use(() => this.draftNode, { node: id });
161
+ return draftNode || this.getNode(id);
162
+ },
163
+ getEdgeRenderer: (type) => this.getEdgeRenderer(type != null ? type : "default") || this.defaultEdgeType,
164
+ getEdgeWrapper: () => _BaseRender.DEFAULT_EDGE_WRAPPER
165
+ });
132
166
  }
133
167
  nodesLayer() {
134
- const useNode = (id) => {
135
- const draftNode = core.use(() => this.draftNode, { node: id });
136
- const node = core.use(() => this.node, { node: id });
137
- return draftNode || node;
138
- };
139
- const useNodes = () => {
140
- core.use(() => this.nodeMapVersion);
141
- return this.nodes.filter((node) => this.nodeFilters.value.every((filter) => filter(node)));
142
- };
143
- const getNodeRenderer = (type) => this.getNodeRenderer(type != null ? type : "default") || this.defaultNodeType;
144
- const getNodePosition = (node) => {
145
- var _a2, _b;
146
- return ((_b = (_a2 = this.nodePositionGetter.value)[node.type]) == null ? void 0 : _b.call(_a2, node)) || node.position;
147
- };
148
- const getNodeMeasured = (node) => node.measured;
149
- const getNodeLevel = (node) => this.nodeLevelGetter.value.reduce((level, getter) => {
150
- const newLevel = getter(node);
151
- return newLevel ? Math.max(level != null ? level : 0, newLevel) : level;
152
- }, void 0);
153
- return _BaseRender.DEFAULT_NODES_RENDERER({
154
- useNode,
155
- useNodes,
156
- getNodeRenderer,
157
- getNodePosition,
158
- getNodeMeasured,
159
- getNodeLevel
160
- });
168
+ return _BaseRender.DEFAULT_NODES_RENDERER(this.nodeRenderProps);
161
169
  }
162
170
  edgesLayer() {
163
- const useEdge = (id) => core.use(() => this.edge, { edge: id });
164
- const useNode = (id) => {
165
- const draftNode = core.use(() => this.draftNode, { node: id });
166
- const node = core.use(() => this.node, { node: id });
167
- return draftNode || node;
168
- };
169
- const useEdges = () => {
170
- core.use(() => this.edgeMapVersion);
171
- return this.edges;
172
- };
173
- const getEdgeRenderer = (type) => this.getEdgeRenderer(type != null ? type : "default") || this.defaultEdgeType;
174
- return _BaseRender.DEFAULT_EDGES_RENDERER({
175
- useEdge,
176
- useEdges,
177
- useNode,
178
- getEdgeRenderer
179
- });
171
+ return _BaseRender.DEFAULT_EDGES_RENDERER(this.edgeRenderProps);
180
172
  }
181
173
  };
182
174
  _init = __decoratorStart(_a);
@@ -186,11 +178,11 @@ __decorateElement(_init, 5, "nodes", _nodes_dec, _BaseRender);
186
178
  __decorateElement(_init, 5, "edges", _edges_dec, _BaseRender);
187
179
  __decorateElement(_init, 5, "getNodeRenderer", _getNodeRenderer_dec, _BaseRender);
188
180
  __decorateElement(_init, 5, "getEdgeRenderer", _getEdgeRenderer_dec, _BaseRender);
189
- __decorateElement(_init, 5, "nodeMapVersion", _nodeMapVersion_dec, _BaseRender);
190
- __decorateElement(_init, 5, "node", _node_dec, _BaseRender);
181
+ __decorateElement(_init, 5, "nodesVersion", _nodesVersion_dec, _BaseRender);
182
+ __decorateElement(_init, 5, "edgesVersion", _edgesVersion_dec, _BaseRender);
183
+ __decorateElement(_init, 5, "getNode", _getNode_dec, _BaseRender);
184
+ __decorateElement(_init, 5, "getEdge", _getEdge_dec, _BaseRender);
191
185
  __decorateElement(_init, 5, "draftNode", _draftNode_dec, _BaseRender);
192
- __decorateElement(_init, 5, "edgeMapVersion", _edgeMapVersion_dec, _BaseRender);
193
- __decorateElement(_init, 5, "edge", _edge_dec, _BaseRender);
194
186
  __decorateElement(_init, 5, "defaultNodeType", _defaultNodeType_dec, _BaseRender);
195
187
  __decorateElement(_init, 5, "defaultEdgeType", _defaultEdgeType_dec, _BaseRender);
196
188
  __decorateElement(_init, 5, "registerNodeFilter", _registerNodeFilter_dec, _BaseRender);
@@ -211,6 +203,7 @@ __publicField(_BaseRender, "DEFAULT_NODE_WRAPPER", ({
211
203
  }
212
204
  const position = getNodePosition(node);
213
205
  const measured = getNodeMeasured(node);
206
+ const Renderer = getNodeRenderer(node.type);
214
207
  return /* @__PURE__ */ jsxRuntime.jsx(
215
208
  "div",
216
209
  {
@@ -223,7 +216,7 @@ __publicField(_BaseRender, "DEFAULT_NODE_WRAPPER", ({
223
216
  zIndex: getNodeLevel(node)
224
217
  },
225
218
  "data-node-id": node.id,
226
- children: getNodeRenderer(node.type)({ node })
219
+ children: /* @__PURE__ */ jsxRuntime.jsx(Renderer, { node })
227
220
  },
228
221
  node.id
229
222
  );
@@ -234,10 +227,11 @@ __publicField(_BaseRender, "DEFAULT_NODES_RENDERER", ({
234
227
  getNodeRenderer,
235
228
  getNodePosition,
236
229
  getNodeMeasured,
237
- getNodeLevel
230
+ getNodeLevel,
231
+ getNodeWrapper
238
232
  }) => {
239
233
  const nodes = useNodes();
240
- const NodeWrapper = _BaseRender.DEFAULT_NODE_WRAPPER;
234
+ const NodeWrapper = getNodeWrapper();
241
235
  return nodes.map((data) => {
242
236
  return /* @__PURE__ */ jsxRuntime.jsx(
243
237
  NodeWrapper,
@@ -287,10 +281,11 @@ __publicField(_BaseRender, "DEFAULT_EDGES_RENDERER", ({
287
281
  useEdge,
288
282
  useEdges,
289
283
  useNode,
290
- getEdgeRenderer
284
+ getEdgeRenderer,
285
+ getEdgeWrapper
291
286
  }) => {
292
287
  const edges = useEdges();
293
- const EdgeWrapper = _BaseRender.DEFAULT_EDGE_WRAPPER;
288
+ const EdgeWrapper = getEdgeWrapper();
294
289
  return edges.map((data) => {
295
290
  return /* @__PURE__ */ jsxRuntime.jsx(
296
291
  EdgeWrapper,
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { NodeData, NodePosition, BasePlugin, NodeRenderType, NodeMeasured, EdgeData, EdgeRenderType } from '@knotx/core';
1
+ import { NodeData, NodePosition, NodeRenderType, NodeMeasured, EdgeData, EdgeRenderType, BasePlugin } from '@knotx/core';
2
2
  import { StraightEdge } from '@knotx/render';
3
3
 
4
4
  declare module '@knotx/core' {
@@ -10,17 +10,39 @@ declare module '@knotx/core' {
10
10
  };
11
11
  }
12
12
  }
13
+ interface BaseRenderNodeWrapperProps {
14
+ id: string;
15
+ useNode: (id: string) => NodeData | undefined;
16
+ getNodeRenderer: (type?: string) => NodeRenderType;
17
+ getNodePosition: (node: NodeData) => NodePosition;
18
+ getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
19
+ getNodeLevel: (node: NodeData) => number | undefined;
20
+ }
21
+ interface BaseRenderNodesWrapperProps extends Omit<BaseRenderNodeWrapperProps, 'id'> {
22
+ useNodes: () => NodeData[];
23
+ getNodeWrapper: () => (props: BaseRenderNodeWrapperProps) => any;
24
+ }
25
+ interface BaseRenderEdgeWrapperProps {
26
+ id: string;
27
+ useEdge: (id: string) => EdgeData | undefined;
28
+ useNode: (id: string) => NodeData | undefined;
29
+ getEdgeRenderer: (type?: string) => EdgeRenderType;
30
+ }
31
+ interface BaseRenderEdgesWrapperProps extends Omit<BaseRenderEdgeWrapperProps, 'id'> {
32
+ useEdges: () => EdgeData[];
33
+ getEdgeWrapper: () => (props: BaseRenderEdgeWrapperProps) => any;
34
+ }
13
35
  declare class BaseRender extends BasePlugin<'baseRender'> {
14
36
  name: "baseRender";
15
37
  private nodes;
16
38
  private edges;
17
39
  private getNodeRenderer;
18
40
  private getEdgeRenderer;
19
- private nodeMapVersion;
20
- private node;
41
+ private nodesVersion;
42
+ private edgesVersion;
43
+ private getNode;
44
+ private getEdge;
21
45
  private draftNode;
22
- private edgeMapVersion;
23
- private edge;
24
46
  private nodeFilters;
25
47
  private nodePositionGetter;
26
48
  private nodeLevelGetter;
@@ -29,36 +51,28 @@ declare class BaseRender extends BasePlugin<'baseRender'> {
29
51
  registerNodeFilter: (filter: (node: NodeData) => boolean) => (() => void);
30
52
  registerNodePositionGetter: (type: string, getter: (node: NodeData) => NodePosition | undefined) => (() => void);
31
53
  registerNodeLevelGetter: (getter: (node: NodeData) => number | undefined) => (() => void);
32
- nodesLayer(): JSX.Element[];
33
- edgesLayer(): JSX.Element[];
34
- static DEFAULT_NODE_WRAPPER: ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: {
35
- id: string;
36
- useNode: (id: string) => NodeData | undefined;
54
+ nodeRenderProps: {
55
+ useNode: (id: string) => NodeData<any> | undefined;
56
+ useNodes: () => NodeData<any>[];
37
57
  getNodeRenderer: (type?: string) => NodeRenderType;
38
58
  getNodePosition: (node: NodeData) => NodePosition;
39
59
  getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
40
60
  getNodeLevel: (node: NodeData) => number | undefined;
41
- }) => JSX.Element | null;
42
- static DEFAULT_NODES_RENDERER: ({ useNode, useNodes, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: {
43
- useNode: (id: string) => NodeData | undefined;
44
- useNodes: () => NodeData[];
45
- getNodeRenderer: (type?: string) => NodeRenderType;
46
- getNodePosition: (node: NodeData) => NodePosition;
47
- getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
48
- getNodeLevel: (node: NodeData) => number | undefined;
49
- }) => JSX.Element[];
50
- static DEFAULT_EDGE_WRAPPER: ({ id, useEdge, useNode, getEdgeRenderer, }: {
51
- id: string;
52
- useEdge: (id: string) => EdgeData | undefined;
53
- useNode: (id: string) => NodeData | undefined;
54
- getEdgeRenderer: (type?: string) => EdgeRenderType;
55
- }) => JSX.Element | null;
56
- static DEFAULT_EDGES_RENDERER: ({ useEdge, useEdges, useNode, getEdgeRenderer, }: {
57
- useEdge: (id: string) => EdgeData | undefined;
58
- useEdges: () => EdgeData[];
59
- useNode: (id: string) => NodeData | undefined;
61
+ getNodeWrapper: () => ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: BaseRenderNodeWrapperProps) => JSX.Element | null;
62
+ };
63
+ nodesLayer(): JSX.Element[];
64
+ edgeRenderProps: {
65
+ useEdge: (id: string) => EdgeData<any> | undefined;
66
+ useEdges: () => EdgeData<any>[];
67
+ useNode: (id: string) => NodeData<any> | undefined;
60
68
  getEdgeRenderer: (type?: string) => EdgeRenderType;
61
- }) => JSX.Element[];
69
+ getEdgeWrapper: () => ({ id, useEdge, useNode, getEdgeRenderer, }: BaseRenderEdgeWrapperProps) => JSX.Element | null;
70
+ };
71
+ edgesLayer(): JSX.Element[];
72
+ static DEFAULT_NODE_WRAPPER: ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: BaseRenderNodeWrapperProps) => JSX.Element | null;
73
+ static DEFAULT_NODES_RENDERER: ({ useNode, useNodes, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, getNodeWrapper, }: BaseRenderNodesWrapperProps) => JSX.Element[];
74
+ static DEFAULT_EDGE_WRAPPER: ({ id, useEdge, useNode, getEdgeRenderer, }: BaseRenderEdgeWrapperProps) => JSX.Element | null;
75
+ static DEFAULT_EDGES_RENDERER: ({ useEdge, useEdges, useNode, getEdgeRenderer, getEdgeWrapper, }: BaseRenderEdgesWrapperProps) => JSX.Element[];
62
76
  }
63
77
 
64
- export { BaseRender };
78
+ export { BaseRender, type BaseRenderEdgeWrapperProps, type BaseRenderEdgesWrapperProps, type BaseRenderNodeWrapperProps, type BaseRenderNodesWrapperProps };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { NodeData, NodePosition, BasePlugin, NodeRenderType, NodeMeasured, EdgeData, EdgeRenderType } from '@knotx/core';
1
+ import { NodeData, NodePosition, NodeRenderType, NodeMeasured, EdgeData, EdgeRenderType, BasePlugin } from '@knotx/core';
2
2
  import { StraightEdge } from '@knotx/render';
3
3
 
4
4
  declare module '@knotx/core' {
@@ -10,17 +10,39 @@ declare module '@knotx/core' {
10
10
  };
11
11
  }
12
12
  }
13
+ interface BaseRenderNodeWrapperProps {
14
+ id: string;
15
+ useNode: (id: string) => NodeData | undefined;
16
+ getNodeRenderer: (type?: string) => NodeRenderType;
17
+ getNodePosition: (node: NodeData) => NodePosition;
18
+ getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
19
+ getNodeLevel: (node: NodeData) => number | undefined;
20
+ }
21
+ interface BaseRenderNodesWrapperProps extends Omit<BaseRenderNodeWrapperProps, 'id'> {
22
+ useNodes: () => NodeData[];
23
+ getNodeWrapper: () => (props: BaseRenderNodeWrapperProps) => any;
24
+ }
25
+ interface BaseRenderEdgeWrapperProps {
26
+ id: string;
27
+ useEdge: (id: string) => EdgeData | undefined;
28
+ useNode: (id: string) => NodeData | undefined;
29
+ getEdgeRenderer: (type?: string) => EdgeRenderType;
30
+ }
31
+ interface BaseRenderEdgesWrapperProps extends Omit<BaseRenderEdgeWrapperProps, 'id'> {
32
+ useEdges: () => EdgeData[];
33
+ getEdgeWrapper: () => (props: BaseRenderEdgeWrapperProps) => any;
34
+ }
13
35
  declare class BaseRender extends BasePlugin<'baseRender'> {
14
36
  name: "baseRender";
15
37
  private nodes;
16
38
  private edges;
17
39
  private getNodeRenderer;
18
40
  private getEdgeRenderer;
19
- private nodeMapVersion;
20
- private node;
41
+ private nodesVersion;
42
+ private edgesVersion;
43
+ private getNode;
44
+ private getEdge;
21
45
  private draftNode;
22
- private edgeMapVersion;
23
- private edge;
24
46
  private nodeFilters;
25
47
  private nodePositionGetter;
26
48
  private nodeLevelGetter;
@@ -29,36 +51,28 @@ declare class BaseRender extends BasePlugin<'baseRender'> {
29
51
  registerNodeFilter: (filter: (node: NodeData) => boolean) => (() => void);
30
52
  registerNodePositionGetter: (type: string, getter: (node: NodeData) => NodePosition | undefined) => (() => void);
31
53
  registerNodeLevelGetter: (getter: (node: NodeData) => number | undefined) => (() => void);
32
- nodesLayer(): JSX.Element[];
33
- edgesLayer(): JSX.Element[];
34
- static DEFAULT_NODE_WRAPPER: ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: {
35
- id: string;
36
- useNode: (id: string) => NodeData | undefined;
54
+ nodeRenderProps: {
55
+ useNode: (id: string) => NodeData<any> | undefined;
56
+ useNodes: () => NodeData<any>[];
37
57
  getNodeRenderer: (type?: string) => NodeRenderType;
38
58
  getNodePosition: (node: NodeData) => NodePosition;
39
59
  getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
40
60
  getNodeLevel: (node: NodeData) => number | undefined;
41
- }) => JSX.Element | null;
42
- static DEFAULT_NODES_RENDERER: ({ useNode, useNodes, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: {
43
- useNode: (id: string) => NodeData | undefined;
44
- useNodes: () => NodeData[];
45
- getNodeRenderer: (type?: string) => NodeRenderType;
46
- getNodePosition: (node: NodeData) => NodePosition;
47
- getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
48
- getNodeLevel: (node: NodeData) => number | undefined;
49
- }) => JSX.Element[];
50
- static DEFAULT_EDGE_WRAPPER: ({ id, useEdge, useNode, getEdgeRenderer, }: {
51
- id: string;
52
- useEdge: (id: string) => EdgeData | undefined;
53
- useNode: (id: string) => NodeData | undefined;
54
- getEdgeRenderer: (type?: string) => EdgeRenderType;
55
- }) => JSX.Element | null;
56
- static DEFAULT_EDGES_RENDERER: ({ useEdge, useEdges, useNode, getEdgeRenderer, }: {
57
- useEdge: (id: string) => EdgeData | undefined;
58
- useEdges: () => EdgeData[];
59
- useNode: (id: string) => NodeData | undefined;
61
+ getNodeWrapper: () => ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: BaseRenderNodeWrapperProps) => JSX.Element | null;
62
+ };
63
+ nodesLayer(): JSX.Element[];
64
+ edgeRenderProps: {
65
+ useEdge: (id: string) => EdgeData<any> | undefined;
66
+ useEdges: () => EdgeData<any>[];
67
+ useNode: (id: string) => NodeData<any> | undefined;
60
68
  getEdgeRenderer: (type?: string) => EdgeRenderType;
61
- }) => JSX.Element[];
69
+ getEdgeWrapper: () => ({ id, useEdge, useNode, getEdgeRenderer, }: BaseRenderEdgeWrapperProps) => JSX.Element | null;
70
+ };
71
+ edgesLayer(): JSX.Element[];
72
+ static DEFAULT_NODE_WRAPPER: ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: BaseRenderNodeWrapperProps) => JSX.Element | null;
73
+ static DEFAULT_NODES_RENDERER: ({ useNode, useNodes, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, getNodeWrapper, }: BaseRenderNodesWrapperProps) => JSX.Element[];
74
+ static DEFAULT_EDGE_WRAPPER: ({ id, useEdge, useNode, getEdgeRenderer, }: BaseRenderEdgeWrapperProps) => JSX.Element | null;
75
+ static DEFAULT_EDGES_RENDERER: ({ useEdge, useEdges, useNode, getEdgeRenderer, getEdgeWrapper, }: BaseRenderEdgesWrapperProps) => JSX.Element[];
62
76
  }
63
77
 
64
- export { BaseRender };
78
+ export { BaseRender, type BaseRenderEdgeWrapperProps, type BaseRenderEdgesWrapperProps, type BaseRenderNodeWrapperProps, type BaseRenderNodesWrapperProps };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { NodeData, NodePosition, BasePlugin, NodeRenderType, NodeMeasured, EdgeData, EdgeRenderType } from '@knotx/core';
1
+ import { NodeData, NodePosition, NodeRenderType, NodeMeasured, EdgeData, EdgeRenderType, BasePlugin } from '@knotx/core';
2
2
  import { StraightEdge } from '@knotx/render';
3
3
 
4
4
  declare module '@knotx/core' {
@@ -10,17 +10,39 @@ declare module '@knotx/core' {
10
10
  };
11
11
  }
12
12
  }
13
+ interface BaseRenderNodeWrapperProps {
14
+ id: string;
15
+ useNode: (id: string) => NodeData | undefined;
16
+ getNodeRenderer: (type?: string) => NodeRenderType;
17
+ getNodePosition: (node: NodeData) => NodePosition;
18
+ getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
19
+ getNodeLevel: (node: NodeData) => number | undefined;
20
+ }
21
+ interface BaseRenderNodesWrapperProps extends Omit<BaseRenderNodeWrapperProps, 'id'> {
22
+ useNodes: () => NodeData[];
23
+ getNodeWrapper: () => (props: BaseRenderNodeWrapperProps) => any;
24
+ }
25
+ interface BaseRenderEdgeWrapperProps {
26
+ id: string;
27
+ useEdge: (id: string) => EdgeData | undefined;
28
+ useNode: (id: string) => NodeData | undefined;
29
+ getEdgeRenderer: (type?: string) => EdgeRenderType;
30
+ }
31
+ interface BaseRenderEdgesWrapperProps extends Omit<BaseRenderEdgeWrapperProps, 'id'> {
32
+ useEdges: () => EdgeData[];
33
+ getEdgeWrapper: () => (props: BaseRenderEdgeWrapperProps) => any;
34
+ }
13
35
  declare class BaseRender extends BasePlugin<'baseRender'> {
14
36
  name: "baseRender";
15
37
  private nodes;
16
38
  private edges;
17
39
  private getNodeRenderer;
18
40
  private getEdgeRenderer;
19
- private nodeMapVersion;
20
- private node;
41
+ private nodesVersion;
42
+ private edgesVersion;
43
+ private getNode;
44
+ private getEdge;
21
45
  private draftNode;
22
- private edgeMapVersion;
23
- private edge;
24
46
  private nodeFilters;
25
47
  private nodePositionGetter;
26
48
  private nodeLevelGetter;
@@ -29,36 +51,28 @@ declare class BaseRender extends BasePlugin<'baseRender'> {
29
51
  registerNodeFilter: (filter: (node: NodeData) => boolean) => (() => void);
30
52
  registerNodePositionGetter: (type: string, getter: (node: NodeData) => NodePosition | undefined) => (() => void);
31
53
  registerNodeLevelGetter: (getter: (node: NodeData) => number | undefined) => (() => void);
32
- nodesLayer(): JSX.Element[];
33
- edgesLayer(): JSX.Element[];
34
- static DEFAULT_NODE_WRAPPER: ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: {
35
- id: string;
36
- useNode: (id: string) => NodeData | undefined;
54
+ nodeRenderProps: {
55
+ useNode: (id: string) => NodeData<any> | undefined;
56
+ useNodes: () => NodeData<any>[];
37
57
  getNodeRenderer: (type?: string) => NodeRenderType;
38
58
  getNodePosition: (node: NodeData) => NodePosition;
39
59
  getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
40
60
  getNodeLevel: (node: NodeData) => number | undefined;
41
- }) => JSX.Element | null;
42
- static DEFAULT_NODES_RENDERER: ({ useNode, useNodes, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: {
43
- useNode: (id: string) => NodeData | undefined;
44
- useNodes: () => NodeData[];
45
- getNodeRenderer: (type?: string) => NodeRenderType;
46
- getNodePosition: (node: NodeData) => NodePosition;
47
- getNodeMeasured: (node: NodeData) => NodeMeasured | undefined;
48
- getNodeLevel: (node: NodeData) => number | undefined;
49
- }) => JSX.Element[];
50
- static DEFAULT_EDGE_WRAPPER: ({ id, useEdge, useNode, getEdgeRenderer, }: {
51
- id: string;
52
- useEdge: (id: string) => EdgeData | undefined;
53
- useNode: (id: string) => NodeData | undefined;
54
- getEdgeRenderer: (type?: string) => EdgeRenderType;
55
- }) => JSX.Element | null;
56
- static DEFAULT_EDGES_RENDERER: ({ useEdge, useEdges, useNode, getEdgeRenderer, }: {
57
- useEdge: (id: string) => EdgeData | undefined;
58
- useEdges: () => EdgeData[];
59
- useNode: (id: string) => NodeData | undefined;
61
+ getNodeWrapper: () => ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: BaseRenderNodeWrapperProps) => JSX.Element | null;
62
+ };
63
+ nodesLayer(): JSX.Element[];
64
+ edgeRenderProps: {
65
+ useEdge: (id: string) => EdgeData<any> | undefined;
66
+ useEdges: () => EdgeData<any>[];
67
+ useNode: (id: string) => NodeData<any> | undefined;
60
68
  getEdgeRenderer: (type?: string) => EdgeRenderType;
61
- }) => JSX.Element[];
69
+ getEdgeWrapper: () => ({ id, useEdge, useNode, getEdgeRenderer, }: BaseRenderEdgeWrapperProps) => JSX.Element | null;
70
+ };
71
+ edgesLayer(): JSX.Element[];
72
+ static DEFAULT_NODE_WRAPPER: ({ id, useNode, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, }: BaseRenderNodeWrapperProps) => JSX.Element | null;
73
+ static DEFAULT_NODES_RENDERER: ({ useNode, useNodes, getNodeRenderer, getNodePosition, getNodeMeasured, getNodeLevel, getNodeWrapper, }: BaseRenderNodesWrapperProps) => JSX.Element[];
74
+ static DEFAULT_EDGE_WRAPPER: ({ id, useEdge, useNode, getEdgeRenderer, }: BaseRenderEdgeWrapperProps) => JSX.Element | null;
75
+ static DEFAULT_EDGES_RENDERER: ({ useEdge, useEdges, useNode, getEdgeRenderer, getEdgeWrapper, }: BaseRenderEdgesWrapperProps) => JSX.Element[];
62
76
  }
63
77
 
64
- export { BaseRender };
78
+ export { BaseRender, type BaseRenderEdgeWrapperProps, type BaseRenderEdgesWrapperProps, type BaseRenderNodeWrapperProps, type BaseRenderNodesWrapperProps };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx } from '@knotx/jsx/jsx-runtime';
2
- import { Layer, use, BasePlugin, bem } from '@knotx/core';
2
+ import { Layer, BasePlugin, use, bem } from '@knotx/core';
3
3
  import { inject, nodeType, edgeType, register, layer } from '@knotx/decorators';
4
4
  import { StraightEdge } from '@knotx/render';
5
5
  import { BehaviorSubject } from 'rxjs';
@@ -85,11 +85,11 @@ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use
85
85
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
86
86
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
87
87
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
88
- var _edgesLayer_dec, _nodesLayer_dec, _registerNodeLevelGetter_dec, _registerNodePositionGetter_dec, _registerNodeFilter_dec, _defaultEdgeType_dec, _defaultNodeType_dec, _edge_dec, _edgeMapVersion_dec, _draftNode_dec, _node_dec, _nodeMapVersion_dec, _getEdgeRenderer_dec, _getNodeRenderer_dec, _edges_dec, _nodes_dec, _a, _init;
89
- const _BaseRender = class _BaseRender extends (_a = BasePlugin, _nodes_dec = [inject.nodes()], _edges_dec = [inject.edges()], _getNodeRenderer_dec = [inject.getNodeRenderer()], _getEdgeRenderer_dec = [inject.getEdgeRenderer()], _nodeMapVersion_dec = [inject((injectable) => injectable.nodesManager.mapVersion$.value)], _node_dec = [inject((injectable, context) => injectable.nodesManager.dataMap$.value.get(context.node))], _draftNode_dec = [inject((injectable, context) => {
88
+ var _edgesLayer_dec, _nodesLayer_dec, _registerNodeLevelGetter_dec, _registerNodePositionGetter_dec, _registerNodeFilter_dec, _defaultEdgeType_dec, _defaultNodeType_dec, _draftNode_dec, _getEdge_dec, _getNode_dec, _edgesVersion_dec, _nodesVersion_dec, _getEdgeRenderer_dec, _getNodeRenderer_dec, _edges_dec, _nodes_dec, _a, _init;
89
+ const _BaseRender = class _BaseRender extends (_a = BasePlugin, _nodes_dec = [inject.nodes()], _edges_dec = [inject.edges()], _getNodeRenderer_dec = [inject.getNodeRenderer()], _getEdgeRenderer_dec = [inject.getEdgeRenderer()], _nodesVersion_dec = [inject((injectable) => injectable.nodesManager.patchVersion$.value + injectable.nodesManager.mapVersion$.value)], _edgesVersion_dec = [inject((injectable) => injectable.edgesManager.patchVersion$.value + injectable.edgesManager.mapVersion$.value + injectable.nodesManager.patchVersion$.value + injectable.nodesManager.mapVersion$.value)], _getNode_dec = [inject.getNode()], _getEdge_dec = [inject.getEdge()], _draftNode_dec = [inject((injectable, context) => {
90
90
  var _a2, _b;
91
91
  return ((_b = (_a2 = injectable.nodesManager.currentDraftDataMap$) == null ? void 0 : _a2.value) == null ? void 0 : _b.get(context.node)) || void 0;
92
- })], _edgeMapVersion_dec = [inject((injectable) => injectable.edgesManager.mapVersion$.value)], _edge_dec = [inject((injectable, context) => injectable.edgesManager.dataMap$.value.get(context.edge))], _defaultNodeType_dec = [nodeType("default")], _defaultEdgeType_dec = [edgeType("default")], _registerNodeFilter_dec = [register("registerNodeFilter")], _registerNodePositionGetter_dec = [register("registerNodePositionGetter")], _registerNodeLevelGetter_dec = [register("registerNodeLevelGetter")], _nodesLayer_dec = [layer(Layer.Nodes)], _edgesLayer_dec = [layer(Layer.Edges)], _a) {
92
+ })], _defaultNodeType_dec = [nodeType("default")], _defaultEdgeType_dec = [edgeType("default")], _registerNodeFilter_dec = [register("registerNodeFilter")], _registerNodePositionGetter_dec = [register("registerNodePositionGetter")], _registerNodeLevelGetter_dec = [register("registerNodeLevelGetter")], _nodesLayer_dec = [layer(Layer.Nodes)], _edgesLayer_dec = [layer(Layer.Edges)], _a) {
93
93
  constructor() {
94
94
  super(...arguments);
95
95
  __runInitializers(_init, 5, this);
@@ -98,11 +98,11 @@ const _BaseRender = class _BaseRender extends (_a = BasePlugin, _nodes_dec = [in
98
98
  __publicField(this, "edges", __runInitializers(_init, 12, this, [])), __runInitializers(_init, 15, this);
99
99
  __publicField(this, "getNodeRenderer", __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
100
100
  __publicField(this, "getEdgeRenderer", __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
101
- __publicField(this, "nodeMapVersion", __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
102
- __publicField(this, "node", __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
103
- __publicField(this, "draftNode", __runInitializers(_init, 32, this)), __runInitializers(_init, 35, this);
104
- __publicField(this, "edgeMapVersion", __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
105
- __publicField(this, "edge", __runInitializers(_init, 40, this)), __runInitializers(_init, 43, this);
101
+ __publicField(this, "nodesVersion", __runInitializers(_init, 24, this)), __runInitializers(_init, 27, this);
102
+ __publicField(this, "edgesVersion", __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
103
+ __publicField(this, "getNode", __runInitializers(_init, 32, this)), __runInitializers(_init, 35, this);
104
+ __publicField(this, "getEdge", __runInitializers(_init, 36, this)), __runInitializers(_init, 39, this);
105
+ __publicField(this, "draftNode", __runInitializers(_init, 40, this)), __runInitializers(_init, 43, this);
106
106
  __publicField(this, "nodeFilters", new BehaviorSubject([]));
107
107
  __publicField(this, "nodePositionGetter", new BehaviorSubject({}));
108
108
  __publicField(this, "nodeLevelGetter", new BehaviorSubject([]));
@@ -127,54 +127,46 @@ const _BaseRender = class _BaseRender extends (_a = BasePlugin, _nodes_dec = [in
127
127
  this.nodeLevelGetter.next(this.nodeLevelGetter.value.filter((g) => g !== getter));
128
128
  };
129
129
  })), __runInitializers(_init, 63, this);
130
+ __publicField(this, "nodeRenderProps", {
131
+ useNode: (id) => {
132
+ const draftNode = use(() => this.draftNode, { node: id });
133
+ return draftNode || this.getNode(id);
134
+ },
135
+ useNodes: () => {
136
+ use(() => this.nodesVersion);
137
+ return this.nodes.filter((node) => this.nodeFilters.value.every((filter) => filter(node)));
138
+ },
139
+ getNodeRenderer: (type) => this.getNodeRenderer(type != null ? type : "default") || this.defaultNodeType,
140
+ getNodePosition: (node) => {
141
+ var _a2, _b;
142
+ return ((_b = (_a2 = this.nodePositionGetter.value)[node.type]) == null ? void 0 : _b.call(_a2, node)) || node.position;
143
+ },
144
+ getNodeMeasured: (node) => node.measured,
145
+ getNodeLevel: (node) => this.nodeLevelGetter.value.reduce((level, getter) => {
146
+ const newLevel = getter(node);
147
+ return newLevel ? Math.max(level != null ? level : 0, newLevel) : level;
148
+ }, void 0),
149
+ getNodeWrapper: () => _BaseRender.DEFAULT_NODE_WRAPPER
150
+ });
151
+ __publicField(this, "edgeRenderProps", {
152
+ useEdge: (id) => this.getEdge(id),
153
+ useEdges: () => {
154
+ use(() => this.edgesVersion);
155
+ return this.edges;
156
+ },
157
+ useNode: (id) => {
158
+ const draftNode = use(() => this.draftNode, { node: id });
159
+ return draftNode || this.getNode(id);
160
+ },
161
+ getEdgeRenderer: (type) => this.getEdgeRenderer(type != null ? type : "default") || this.defaultEdgeType,
162
+ getEdgeWrapper: () => _BaseRender.DEFAULT_EDGE_WRAPPER
163
+ });
130
164
  }
131
165
  nodesLayer() {
132
- const useNode = (id) => {
133
- const draftNode = use(() => this.draftNode, { node: id });
134
- const node = use(() => this.node, { node: id });
135
- return draftNode || node;
136
- };
137
- const useNodes = () => {
138
- use(() => this.nodeMapVersion);
139
- return this.nodes.filter((node) => this.nodeFilters.value.every((filter) => filter(node)));
140
- };
141
- const getNodeRenderer = (type) => this.getNodeRenderer(type != null ? type : "default") || this.defaultNodeType;
142
- const getNodePosition = (node) => {
143
- var _a2, _b;
144
- return ((_b = (_a2 = this.nodePositionGetter.value)[node.type]) == null ? void 0 : _b.call(_a2, node)) || node.position;
145
- };
146
- const getNodeMeasured = (node) => node.measured;
147
- const getNodeLevel = (node) => this.nodeLevelGetter.value.reduce((level, getter) => {
148
- const newLevel = getter(node);
149
- return newLevel ? Math.max(level != null ? level : 0, newLevel) : level;
150
- }, void 0);
151
- return _BaseRender.DEFAULT_NODES_RENDERER({
152
- useNode,
153
- useNodes,
154
- getNodeRenderer,
155
- getNodePosition,
156
- getNodeMeasured,
157
- getNodeLevel
158
- });
166
+ return _BaseRender.DEFAULT_NODES_RENDERER(this.nodeRenderProps);
159
167
  }
160
168
  edgesLayer() {
161
- const useEdge = (id) => use(() => this.edge, { edge: id });
162
- const useNode = (id) => {
163
- const draftNode = use(() => this.draftNode, { node: id });
164
- const node = use(() => this.node, { node: id });
165
- return draftNode || node;
166
- };
167
- const useEdges = () => {
168
- use(() => this.edgeMapVersion);
169
- return this.edges;
170
- };
171
- const getEdgeRenderer = (type) => this.getEdgeRenderer(type != null ? type : "default") || this.defaultEdgeType;
172
- return _BaseRender.DEFAULT_EDGES_RENDERER({
173
- useEdge,
174
- useEdges,
175
- useNode,
176
- getEdgeRenderer
177
- });
169
+ return _BaseRender.DEFAULT_EDGES_RENDERER(this.edgeRenderProps);
178
170
  }
179
171
  };
180
172
  _init = __decoratorStart(_a);
@@ -184,11 +176,11 @@ __decorateElement(_init, 5, "nodes", _nodes_dec, _BaseRender);
184
176
  __decorateElement(_init, 5, "edges", _edges_dec, _BaseRender);
185
177
  __decorateElement(_init, 5, "getNodeRenderer", _getNodeRenderer_dec, _BaseRender);
186
178
  __decorateElement(_init, 5, "getEdgeRenderer", _getEdgeRenderer_dec, _BaseRender);
187
- __decorateElement(_init, 5, "nodeMapVersion", _nodeMapVersion_dec, _BaseRender);
188
- __decorateElement(_init, 5, "node", _node_dec, _BaseRender);
179
+ __decorateElement(_init, 5, "nodesVersion", _nodesVersion_dec, _BaseRender);
180
+ __decorateElement(_init, 5, "edgesVersion", _edgesVersion_dec, _BaseRender);
181
+ __decorateElement(_init, 5, "getNode", _getNode_dec, _BaseRender);
182
+ __decorateElement(_init, 5, "getEdge", _getEdge_dec, _BaseRender);
189
183
  __decorateElement(_init, 5, "draftNode", _draftNode_dec, _BaseRender);
190
- __decorateElement(_init, 5, "edgeMapVersion", _edgeMapVersion_dec, _BaseRender);
191
- __decorateElement(_init, 5, "edge", _edge_dec, _BaseRender);
192
184
  __decorateElement(_init, 5, "defaultNodeType", _defaultNodeType_dec, _BaseRender);
193
185
  __decorateElement(_init, 5, "defaultEdgeType", _defaultEdgeType_dec, _BaseRender);
194
186
  __decorateElement(_init, 5, "registerNodeFilter", _registerNodeFilter_dec, _BaseRender);
@@ -209,6 +201,7 @@ __publicField(_BaseRender, "DEFAULT_NODE_WRAPPER", ({
209
201
  }
210
202
  const position = getNodePosition(node);
211
203
  const measured = getNodeMeasured(node);
204
+ const Renderer = getNodeRenderer(node.type);
212
205
  return /* @__PURE__ */ jsx(
213
206
  "div",
214
207
  {
@@ -221,7 +214,7 @@ __publicField(_BaseRender, "DEFAULT_NODE_WRAPPER", ({
221
214
  zIndex: getNodeLevel(node)
222
215
  },
223
216
  "data-node-id": node.id,
224
- children: getNodeRenderer(node.type)({ node })
217
+ children: /* @__PURE__ */ jsx(Renderer, { node })
225
218
  },
226
219
  node.id
227
220
  );
@@ -232,10 +225,11 @@ __publicField(_BaseRender, "DEFAULT_NODES_RENDERER", ({
232
225
  getNodeRenderer,
233
226
  getNodePosition,
234
227
  getNodeMeasured,
235
- getNodeLevel
228
+ getNodeLevel,
229
+ getNodeWrapper
236
230
  }) => {
237
231
  const nodes = useNodes();
238
- const NodeWrapper = _BaseRender.DEFAULT_NODE_WRAPPER;
232
+ const NodeWrapper = getNodeWrapper();
239
233
  return nodes.map((data) => {
240
234
  return /* @__PURE__ */ jsx(
241
235
  NodeWrapper,
@@ -285,10 +279,11 @@ __publicField(_BaseRender, "DEFAULT_EDGES_RENDERER", ({
285
279
  useEdge,
286
280
  useEdges,
287
281
  useNode,
288
- getEdgeRenderer
282
+ getEdgeRenderer,
283
+ getEdgeWrapper
289
284
  }) => {
290
285
  const edges = useEdges();
291
- const EdgeWrapper = _BaseRender.DEFAULT_EDGE_WRAPPER;
286
+ const EdgeWrapper = getEdgeWrapper();
292
287
  return edges.map((data) => {
293
288
  return /* @__PURE__ */ jsx(
294
289
  EdgeWrapper,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knotx/plugins-base-render",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "Base Render Plugin for Knotx",
5
5
  "author": "boenfu",
6
6
  "license": "MIT",
@@ -28,19 +28,19 @@
28
28
  "dist"
29
29
  ],
30
30
  "peerDependencies": {
31
- "@knotx/jsx": "0.2.8"
31
+ "@knotx/jsx": "0.2.9"
32
32
  },
33
33
  "dependencies": {
34
34
  "rxjs": "^7.8.1",
35
- "@knotx/core": "0.2.8",
36
- "@knotx/decorators": "0.2.8",
37
- "@knotx/render": "0.2.8"
35
+ "@knotx/core": "0.2.9",
36
+ "@knotx/decorators": "0.2.9",
37
+ "@knotx/render": "0.2.9"
38
38
  },
39
39
  "devDependencies": {
40
- "@knotx/build-config": "0.2.8",
41
- "@knotx/eslint-config": "0.2.8",
42
- "@knotx/jsx": "0.2.8",
43
- "@knotx/typescript-config": "0.2.8"
40
+ "@knotx/build-config": "0.2.9",
41
+ "@knotx/eslint-config": "0.2.9",
42
+ "@knotx/jsx": "0.2.9",
43
+ "@knotx/typescript-config": "0.2.9"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "unbuild",