ice-entity-designer 0.4.2 → 0.5.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.
- package/README.md +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/react.cjs +1 -1
- package/dist/react.mjs +1 -1
- package/dist/types/designer/autoPorts.d.mts +26 -0
- package/dist/types/designer/autoPorts.d.ts +26 -0
- package/dist/types/designer/highlight.d.mts +57 -0
- package/dist/types/designer/highlight.d.ts +57 -0
- package/dist/types/flow/FlowDesigner.d.mts +79 -2
- package/dist/types/flow/FlowDesigner.d.ts +79 -2
- package/dist/types/theme/designerTheme.d.mts +3 -1
- package/dist/types/theme/designerTheme.d.ts +3 -1
- package/package.json +3 -3
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** 一条高亮目标:图元 id + 它的**全局**包围盒(世界坐标)。 */
|
|
2
|
+
export type DesignerHighlightEntry = {
|
|
3
|
+
id: string;
|
|
4
|
+
minX: number;
|
|
5
|
+
minY: number;
|
|
6
|
+
maxX: number;
|
|
7
|
+
maxY: number;
|
|
8
|
+
};
|
|
9
|
+
export type DesignerHighlightOptions = {
|
|
10
|
+
/** 描边色,默认取引擎主题的 `semantic.primary`。 */
|
|
11
|
+
color?: string;
|
|
12
|
+
/** 描边宽度,默认 3。 */
|
|
13
|
+
lineWidth?: number;
|
|
14
|
+
/** 相对图元包围盒的外扩量,默认 4(描边不贴着图形边)。 */
|
|
15
|
+
padding?: number;
|
|
16
|
+
/** 圆角半径,默认 6。 */
|
|
17
|
+
radius?: number;
|
|
18
|
+
/** 底色。`false`(默认)表示只描边;给了颜色则画在图元**之上**(见文件抬头)。 */
|
|
19
|
+
fill?: string | false;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* 高亮层:持有工具层里的一个 `ICERect` 集合,按调用方给的包围盒摆放。
|
|
23
|
+
*
|
|
24
|
+
* 由 `FlowDesigner` 持有并对外暴露(`setHighlights` / `highlight` / `clearHighlights`),
|
|
25
|
+
* 应用层不需要直接用它。
|
|
26
|
+
*/
|
|
27
|
+
export default class DesignerHighlightLayer {
|
|
28
|
+
private ice;
|
|
29
|
+
/** id → 工具层里的那块矩形。空表示当前没有高亮。 */
|
|
30
|
+
private boxes;
|
|
31
|
+
private options;
|
|
32
|
+
constructor(ice: any);
|
|
33
|
+
/** 当前高亮的 id(调用顺序)。 */
|
|
34
|
+
get ids(): string[];
|
|
35
|
+
/**
|
|
36
|
+
* 用一批目标替换当前高亮(先摆位置、再清理不再需要的)。
|
|
37
|
+
*
|
|
38
|
+
* 传空数组等价于 `clear()` —— 高亮层会整个从工具层摘掉,
|
|
39
|
+
* 不给引擎留一块空图层(`toolNodes` 里本来就有一堆引擎自己的工具,
|
|
40
|
+
* 多留一块看不出来的空图层只会让"数自己的层有没有泄漏"变得不可能)。
|
|
41
|
+
*/
|
|
42
|
+
set(entries: DesignerHighlightEntry[], options?: DesignerHighlightOptions): void;
|
|
43
|
+
/** 清掉全部高亮。 */
|
|
44
|
+
clear(): void;
|
|
45
|
+
/** 新建或就地更新某个 id 的高亮框。 */
|
|
46
|
+
private __place;
|
|
47
|
+
private __remove;
|
|
48
|
+
/** 一块不剩时把整层摘掉(不留在 toolNodes 里)。 */
|
|
49
|
+
private __destroy;
|
|
50
|
+
/**
|
|
51
|
+
* 描边色:显式给了就用,否则取引擎主题的主色(换主题跟着走)。
|
|
52
|
+
*
|
|
53
|
+
* 兜底值取自引擎的 `DEFAULT_THEME`(**不写死色值** —— 本仓有"写死色值只许减"的预算棘轮,
|
|
54
|
+
* 而且引擎换品牌基线时这里要跟着动)。
|
|
55
|
+
*/
|
|
56
|
+
private __color;
|
|
57
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ICE, SvgExportOptions } from 'ice-render';
|
|
2
2
|
import type { FlowNodeKind } from './FlowNode.mjs';
|
|
3
3
|
import type { FlowPort } from './FlowEdge.mjs';
|
|
4
|
+
import type { DesignerHighlightOptions } from '../designer/highlight.mjs';
|
|
4
5
|
/**
|
|
5
6
|
* 流程图文档。
|
|
6
7
|
*
|
|
@@ -58,6 +59,15 @@ export default class FlowDesigner {
|
|
|
58
59
|
/** 画布拖拽节点时会话:BEFORE_MOVE 记一次历史,mouseup 结束会话 */
|
|
59
60
|
private __moveSession;
|
|
60
61
|
private __moveEmitQueued;
|
|
62
|
+
/**
|
|
63
|
+
* 程序化高亮层(见 `designer/highlight.ts`)。
|
|
64
|
+
*
|
|
65
|
+
* 它是**视图状态**:不进快照、不参与命中。图元在容器里(BPMN 池 / 泳道)也画得出来,
|
|
66
|
+
* 因为高亮框落在工具层。
|
|
67
|
+
*/
|
|
68
|
+
private __highlight;
|
|
69
|
+
/** 上一次用过的样式,图元移动后重新摆位时要沿用同一份。 */
|
|
70
|
+
private __highlightOptions;
|
|
61
71
|
/**
|
|
62
72
|
* 节点在画布上被拖动(引擎 `setPosition()` → BEFORE_MOVE/AFTER_MOVE)。
|
|
63
73
|
*
|
|
@@ -79,6 +89,41 @@ export default class FlowDesigner {
|
|
|
79
89
|
*/
|
|
80
90
|
protected __flatten(): any[];
|
|
81
91
|
get selected(): any;
|
|
92
|
+
/**
|
|
93
|
+
* **程序化高亮**:高亮一组图元(给"指着讲"/教程/演示用)。
|
|
94
|
+
*
|
|
95
|
+
* 为什么要有这个入口:设计器原先**没有任何"高亮某个图元"的公开手段** ——
|
|
96
|
+
* `ice.setSelection()` 只写选中集合(a11y / 插件读,不画)、`designer.select()` 只写字段、
|
|
97
|
+
* `chrome.selection` 只被"按 mousedown 弹出来"的控制面板消费。应用层只能自己给图元打
|
|
98
|
+
* style 补丁再手动置脏来模拟,既依赖组件内部实现,也要在图元改动时自己对表。
|
|
99
|
+
*
|
|
100
|
+
* 契约(三条都是"不这样就会被静默坑到"的):
|
|
101
|
+
* - 高亮是**视图状态**:`serialize()` 里不会多出任何东西,载入快照也不会带回来;
|
|
102
|
+
* - 高亮框**不参与命中测试**,图元自己的交互、连线端点手柄照常(否则高亮会挡住被高亮的东西);
|
|
103
|
+
* - 图元移动 / 增删后高亮框**自动跟随**(拖拽走 `AFTER_MOVE`,文档变更走 `__emitChange`);
|
|
104
|
+
* 高亮中的图元被删掉,它的框也跟着消失。
|
|
105
|
+
*
|
|
106
|
+
* ```ts
|
|
107
|
+
* designer.highlight('pump-2'); // 只高亮一个
|
|
108
|
+
* designer.setHighlights(['a', 'b', 'c']); // 高亮一组
|
|
109
|
+
* designer.setHighlights(ids, { color: '#FFD400', fill: 'rgba(255,212,0,0.18)' });
|
|
110
|
+
* designer.clearHighlights();
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @param ids 图元 id 或位号(各域包自行把业务标识写进 `state.id`);`null` 等价于清除
|
|
114
|
+
* @returns 真正落地的数量 —— 认不出的 id 会被忽略(不抛错:agent 给的标识经常对不上)
|
|
115
|
+
*/
|
|
116
|
+
setHighlights(ids: string[] | string | null, options?: DesignerHighlightOptions): number;
|
|
117
|
+
/** 只高亮一个图元(先清掉其余的);认不出这个 id 时返回 false,且**不动**现有高亮。 */
|
|
118
|
+
highlight(id: string | null, options?: DesignerHighlightOptions): boolean;
|
|
119
|
+
/** 清掉全部高亮。 */
|
|
120
|
+
clearHighlights(): void;
|
|
121
|
+
/** 当前高亮的图元 id。 */
|
|
122
|
+
getHighlightedIds(): string[];
|
|
123
|
+
/** 图元 id(或位号 `state.tag`)→ 高亮目标(全局包围盒)。 */
|
|
124
|
+
private __highlightEntry;
|
|
125
|
+
/** 图元动了 / 文档变了之后,把已高亮的那几只框重新摆到当前位置。 */
|
|
126
|
+
private __syncHighlights;
|
|
82
127
|
/**
|
|
83
128
|
* 订阅流程变更(增删改 / 连线 / 载入 / undo / redo 之后触发)。
|
|
84
129
|
* 回调参数是当前流程的快照(与 serialize() 一致)。
|
|
@@ -104,7 +149,18 @@ export default class FlowDesigner {
|
|
|
104
149
|
createEdge(props?: any): any;
|
|
105
150
|
updateNode(id: string, patch: Record<string, any>): any;
|
|
106
151
|
updateEdge(id: string, patch: Record<string, any>): any;
|
|
107
|
-
/**
|
|
152
|
+
/**
|
|
153
|
+
* 删除节点(连带删除挂在它两端的连线)或删除一条连线。
|
|
154
|
+
*
|
|
155
|
+
* ⚠️ 级联只覆盖**引擎里那棵树**:挂在被删节点两端的连线会一起删掉,所以**画布**是干净的。
|
|
156
|
+
* 但宿主若另有一份"图的可序列化文档"(本设计器的 `state.diagram`、外部项目文件、
|
|
157
|
+
* 服务端那份副本),那份**不会跟着变** —— 设计器不知道外面还有几份副本,也不该去猜。
|
|
158
|
+
*
|
|
159
|
+
* 两份东西怎么同步是**宿主的责任**:要么在调 `remove()` 之前把外部文档里
|
|
160
|
+
* 相关的连线一起列出来删(本仓 `scenarios.ts` 的 `pipesTouching` 就是这么做的),
|
|
161
|
+
* 要么删完之后重新读一次引擎树再落盘 —— 但**不要**指望渲染层的级联副作用去补文档:
|
|
162
|
+
* `state` 的读者不止渲染层(模型下一轮会读它、`STATE_SNAPSHOT` 会重放它)。
|
|
163
|
+
*/
|
|
108
164
|
remove(id: string): void;
|
|
109
165
|
clear(): void;
|
|
110
166
|
serialize(): string;
|
|
@@ -141,8 +197,29 @@ export default class FlowDesigner {
|
|
|
141
197
|
* 所以甘特把它改成 `start`(贴顶留白)。
|
|
142
198
|
*/
|
|
143
199
|
protected fitViewportAlign: 'center' | 'start';
|
|
144
|
-
/**
|
|
200
|
+
/**
|
|
201
|
+
* 把整个流程缩放到画布可视区内。
|
|
202
|
+
*
|
|
203
|
+
* ⚠️ 视口尺寸取的是 **CSS 尺寸**,不是 `canvasWidth/canvasHeight` ——
|
|
204
|
+
* 后者是 **backing store** 尺寸(= css × dpr),而渲染视口还会再乘一次 dpr,
|
|
205
|
+
* 直接拿它算 scale 等于**多乘一次**:dpr = 2 时内容画成两倍大并被裁掉,
|
|
206
|
+
* 且**不报错**(普通屏完全正常,只在 retina 上复发)。见 `__viewportSize()`。
|
|
207
|
+
*/
|
|
145
208
|
fitViewport(padding?: number): void;
|
|
209
|
+
/**
|
|
210
|
+
* 取景用的视口尺寸(**CSS 像素**)。
|
|
211
|
+
*
|
|
212
|
+
* 两级口径,都对齐"渲染视口 = dpr · viewport"这条约定:
|
|
213
|
+
* ① 首选引擎的输入矩形(`getInputRect()`)—— 它是**内容盒**,与命中测试 / 坐标换算
|
|
214
|
+
* 同一口径,dpr 变化时它的数值不变;
|
|
215
|
+
* ② 没有布局信息的运行时(测试桩 / 小程序)退回 `canvasWidth / dpr`。
|
|
216
|
+
*
|
|
217
|
+
* 千万不要退回 `canvasWidth` 本身 —— 那正是这条 dpr 缺陷的来源。
|
|
218
|
+
*/
|
|
219
|
+
protected __viewportSize(): {
|
|
220
|
+
width: number;
|
|
221
|
+
height: number;
|
|
222
|
+
};
|
|
146
223
|
canUndo(): boolean;
|
|
147
224
|
/**
|
|
148
225
|
* 把当前流程图导出为 **SVG 矢量图**(打印、进设计工具、服务端出图都走它)。
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ICE, SvgExportOptions } from 'ice-render';
|
|
2
2
|
import type { FlowNodeKind } from './FlowNode';
|
|
3
3
|
import type { FlowPort } from './FlowEdge';
|
|
4
|
+
import type { DesignerHighlightOptions } from '../designer/highlight';
|
|
4
5
|
/**
|
|
5
6
|
* 流程图文档。
|
|
6
7
|
*
|
|
@@ -58,6 +59,15 @@ export default class FlowDesigner {
|
|
|
58
59
|
/** 画布拖拽节点时会话:BEFORE_MOVE 记一次历史,mouseup 结束会话 */
|
|
59
60
|
private __moveSession;
|
|
60
61
|
private __moveEmitQueued;
|
|
62
|
+
/**
|
|
63
|
+
* 程序化高亮层(见 `designer/highlight.ts`)。
|
|
64
|
+
*
|
|
65
|
+
* 它是**视图状态**:不进快照、不参与命中。图元在容器里(BPMN 池 / 泳道)也画得出来,
|
|
66
|
+
* 因为高亮框落在工具层。
|
|
67
|
+
*/
|
|
68
|
+
private __highlight;
|
|
69
|
+
/** 上一次用过的样式,图元移动后重新摆位时要沿用同一份。 */
|
|
70
|
+
private __highlightOptions;
|
|
61
71
|
/**
|
|
62
72
|
* 节点在画布上被拖动(引擎 `setPosition()` → BEFORE_MOVE/AFTER_MOVE)。
|
|
63
73
|
*
|
|
@@ -79,6 +89,41 @@ export default class FlowDesigner {
|
|
|
79
89
|
*/
|
|
80
90
|
protected __flatten(): any[];
|
|
81
91
|
get selected(): any;
|
|
92
|
+
/**
|
|
93
|
+
* **程序化高亮**:高亮一组图元(给"指着讲"/教程/演示用)。
|
|
94
|
+
*
|
|
95
|
+
* 为什么要有这个入口:设计器原先**没有任何"高亮某个图元"的公开手段** ——
|
|
96
|
+
* `ice.setSelection()` 只写选中集合(a11y / 插件读,不画)、`designer.select()` 只写字段、
|
|
97
|
+
* `chrome.selection` 只被"按 mousedown 弹出来"的控制面板消费。应用层只能自己给图元打
|
|
98
|
+
* style 补丁再手动置脏来模拟,既依赖组件内部实现,也要在图元改动时自己对表。
|
|
99
|
+
*
|
|
100
|
+
* 契约(三条都是"不这样就会被静默坑到"的):
|
|
101
|
+
* - 高亮是**视图状态**:`serialize()` 里不会多出任何东西,载入快照也不会带回来;
|
|
102
|
+
* - 高亮框**不参与命中测试**,图元自己的交互、连线端点手柄照常(否则高亮会挡住被高亮的东西);
|
|
103
|
+
* - 图元移动 / 增删后高亮框**自动跟随**(拖拽走 `AFTER_MOVE`,文档变更走 `__emitChange`);
|
|
104
|
+
* 高亮中的图元被删掉,它的框也跟着消失。
|
|
105
|
+
*
|
|
106
|
+
* ```ts
|
|
107
|
+
* designer.highlight('pump-2'); // 只高亮一个
|
|
108
|
+
* designer.setHighlights(['a', 'b', 'c']); // 高亮一组
|
|
109
|
+
* designer.setHighlights(ids, { color: '#FFD400', fill: 'rgba(255,212,0,0.18)' });
|
|
110
|
+
* designer.clearHighlights();
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @param ids 图元 id 或位号(各域包自行把业务标识写进 `state.id`);`null` 等价于清除
|
|
114
|
+
* @returns 真正落地的数量 —— 认不出的 id 会被忽略(不抛错:agent 给的标识经常对不上)
|
|
115
|
+
*/
|
|
116
|
+
setHighlights(ids: string[] | string | null, options?: DesignerHighlightOptions): number;
|
|
117
|
+
/** 只高亮一个图元(先清掉其余的);认不出这个 id 时返回 false,且**不动**现有高亮。 */
|
|
118
|
+
highlight(id: string | null, options?: DesignerHighlightOptions): boolean;
|
|
119
|
+
/** 清掉全部高亮。 */
|
|
120
|
+
clearHighlights(): void;
|
|
121
|
+
/** 当前高亮的图元 id。 */
|
|
122
|
+
getHighlightedIds(): string[];
|
|
123
|
+
/** 图元 id(或位号 `state.tag`)→ 高亮目标(全局包围盒)。 */
|
|
124
|
+
private __highlightEntry;
|
|
125
|
+
/** 图元动了 / 文档变了之后,把已高亮的那几只框重新摆到当前位置。 */
|
|
126
|
+
private __syncHighlights;
|
|
82
127
|
/**
|
|
83
128
|
* 订阅流程变更(增删改 / 连线 / 载入 / undo / redo 之后触发)。
|
|
84
129
|
* 回调参数是当前流程的快照(与 serialize() 一致)。
|
|
@@ -104,7 +149,18 @@ export default class FlowDesigner {
|
|
|
104
149
|
createEdge(props?: any): any;
|
|
105
150
|
updateNode(id: string, patch: Record<string, any>): any;
|
|
106
151
|
updateEdge(id: string, patch: Record<string, any>): any;
|
|
107
|
-
/**
|
|
152
|
+
/**
|
|
153
|
+
* 删除节点(连带删除挂在它两端的连线)或删除一条连线。
|
|
154
|
+
*
|
|
155
|
+
* ⚠️ 级联只覆盖**引擎里那棵树**:挂在被删节点两端的连线会一起删掉,所以**画布**是干净的。
|
|
156
|
+
* 但宿主若另有一份"图的可序列化文档"(本设计器的 `state.diagram`、外部项目文件、
|
|
157
|
+
* 服务端那份副本),那份**不会跟着变** —— 设计器不知道外面还有几份副本,也不该去猜。
|
|
158
|
+
*
|
|
159
|
+
* 两份东西怎么同步是**宿主的责任**:要么在调 `remove()` 之前把外部文档里
|
|
160
|
+
* 相关的连线一起列出来删(本仓 `scenarios.ts` 的 `pipesTouching` 就是这么做的),
|
|
161
|
+
* 要么删完之后重新读一次引擎树再落盘 —— 但**不要**指望渲染层的级联副作用去补文档:
|
|
162
|
+
* `state` 的读者不止渲染层(模型下一轮会读它、`STATE_SNAPSHOT` 会重放它)。
|
|
163
|
+
*/
|
|
108
164
|
remove(id: string): void;
|
|
109
165
|
clear(): void;
|
|
110
166
|
serialize(): string;
|
|
@@ -141,8 +197,29 @@ export default class FlowDesigner {
|
|
|
141
197
|
* 所以甘特把它改成 `start`(贴顶留白)。
|
|
142
198
|
*/
|
|
143
199
|
protected fitViewportAlign: 'center' | 'start';
|
|
144
|
-
/**
|
|
200
|
+
/**
|
|
201
|
+
* 把整个流程缩放到画布可视区内。
|
|
202
|
+
*
|
|
203
|
+
* ⚠️ 视口尺寸取的是 **CSS 尺寸**,不是 `canvasWidth/canvasHeight` ——
|
|
204
|
+
* 后者是 **backing store** 尺寸(= css × dpr),而渲染视口还会再乘一次 dpr,
|
|
205
|
+
* 直接拿它算 scale 等于**多乘一次**:dpr = 2 时内容画成两倍大并被裁掉,
|
|
206
|
+
* 且**不报错**(普通屏完全正常,只在 retina 上复发)。见 `__viewportSize()`。
|
|
207
|
+
*/
|
|
145
208
|
fitViewport(padding?: number): void;
|
|
209
|
+
/**
|
|
210
|
+
* 取景用的视口尺寸(**CSS 像素**)。
|
|
211
|
+
*
|
|
212
|
+
* 两级口径,都对齐"渲染视口 = dpr · viewport"这条约定:
|
|
213
|
+
* ① 首选引擎的输入矩形(`getInputRect()`)—— 它是**内容盒**,与命中测试 / 坐标换算
|
|
214
|
+
* 同一口径,dpr 变化时它的数值不变;
|
|
215
|
+
* ② 没有布局信息的运行时(测试桩 / 小程序)退回 `canvasWidth / dpr`。
|
|
216
|
+
*
|
|
217
|
+
* 千万不要退回 `canvasWidth` 本身 —— 那正是这条 dpr 缺陷的来源。
|
|
218
|
+
*/
|
|
219
|
+
protected __viewportSize(): {
|
|
220
|
+
width: number;
|
|
221
|
+
height: number;
|
|
222
|
+
};
|
|
146
223
|
canUndo(): boolean;
|
|
147
224
|
/**
|
|
148
225
|
* 把当前流程图导出为 **SVG 矢量图**(打印、进设计工具、服务端出图都走它)。
|
|
@@ -39,6 +39,8 @@ export declare function designerChromeFromTheme(theme?: ICETheme | null): Partia
|
|
|
39
39
|
* 调用位置:`BaseDesigner` 的构造里(所有编辑器子类都会走),所以无论应用层是直接
|
|
40
40
|
* `new ICE()` 还是走 React 的 `createDesignerSession()`,外壳都是同一套。
|
|
41
41
|
*
|
|
42
|
-
*
|
|
42
|
+
* 引擎 2.14 起写的是**命名补丁**(`ice.setThemePatch('ice-designer', …)`),并且本函数会订阅
|
|
43
|
+
* `ice.onThemeChange`:宿主换主题(基座变了)之后**自动重算**一次外壳,不需要调用方再调一遍。
|
|
44
|
+
* 老引擎(<2.14)退回 `ice.setChrome()`,行为与之前一致。
|
|
43
45
|
*/
|
|
44
46
|
export declare function applyDesignerChrome(ice: any): any;
|
|
@@ -39,6 +39,8 @@ export declare function designerChromeFromTheme(theme?: ICETheme | null): Partia
|
|
|
39
39
|
* 调用位置:`BaseDesigner` 的构造里(所有编辑器子类都会走),所以无论应用层是直接
|
|
40
40
|
* `new ICE()` 还是走 React 的 `createDesignerSession()`,外壳都是同一套。
|
|
41
41
|
*
|
|
42
|
-
*
|
|
42
|
+
* 引擎 2.14 起写的是**命名补丁**(`ice.setThemePatch('ice-designer', …)`),并且本函数会订阅
|
|
43
|
+
* `ice.onThemeChange`:宿主换主题(基座变了)之后**自动重算**一次外壳,不需要调用方再调一遍。
|
|
44
|
+
* 老引擎(<2.14)退回 `ice.setChrome()`,行为与之前一致。
|
|
43
45
|
*/
|
|
44
46
|
export declare function applyDesignerChrome(ice: any): any;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "大漠穷秋",
|
|
3
3
|
"name": "ice-entity-designer",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.5.0",
|
|
5
5
|
"description": "An entity designer based on ice-render.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"types:watch": "npm run types:check -- --watch"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"ice-render": "^2.
|
|
62
|
+
"ice-render": "^2.14.1",
|
|
63
63
|
"react": "^18 || ^19",
|
|
64
64
|
"react-dom": "^18 || ^19"
|
|
65
65
|
},
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
102
102
|
"http-server": "14.1.1",
|
|
103
103
|
"husky": "8.0.3",
|
|
104
|
-
"ice-render": "^2.
|
|
104
|
+
"ice-render": "^2.14.1",
|
|
105
105
|
"jest": "29.7.0",
|
|
106
106
|
"jest-environment-jsdom": "29.7.0",
|
|
107
107
|
"lint-staged": "15.5.2",
|