@next-bricks/diagram 0.68.8 → 0.68.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.
Files changed (85) hide show
  1. package/dist/bricks.json +3 -3
  2. package/dist/chunks/1265.bf280e6d.js +3 -0
  3. package/dist/chunks/1265.bf280e6d.js.map +1 -0
  4. package/dist/chunks/1889.fa8b5dbe.js +2 -0
  5. package/dist/chunks/1889.fa8b5dbe.js.map +1 -0
  6. package/dist/chunks/3171.8057c0f4.js +2 -0
  7. package/dist/chunks/3171.8057c0f4.js.map +1 -0
  8. package/dist/chunks/{3654.59bd8992.js → 3654.6a028b09.js} +3 -3
  9. package/dist/chunks/{3654.59bd8992.js.map → 3654.6a028b09.js.map} +1 -1
  10. package/dist/chunks/{3746.591c50d8.js → 3746.7fad241d.js} +2 -2
  11. package/dist/chunks/{3746.591c50d8.js.map → 3746.7fad241d.js.map} +1 -1
  12. package/dist/chunks/515.23d8419d.js +2 -0
  13. package/dist/chunks/515.23d8419d.js.map +1 -0
  14. package/dist/chunks/5399.d786845a.js +2 -0
  15. package/dist/chunks/5399.d786845a.js.map +1 -0
  16. package/dist/chunks/5552.7718c4ca.js +2 -0
  17. package/dist/chunks/5552.7718c4ca.js.map +1 -0
  18. package/dist/chunks/577.c9c65352.js.map +1 -1
  19. package/dist/chunks/6376.a8716290.js +2 -0
  20. package/dist/chunks/6376.a8716290.js.map +1 -0
  21. package/dist/chunks/7920.367555e2.js +3 -0
  22. package/dist/chunks/7920.367555e2.js.map +1 -0
  23. package/dist/chunks/9118.8a9d6592.js +3 -0
  24. package/dist/chunks/9118.8a9d6592.js.LICENSE.txt +11 -0
  25. package/dist/chunks/9118.8a9d6592.js.map +1 -0
  26. package/dist/chunks/948.e308c274.js +3 -0
  27. package/dist/chunks/948.e308c274.js.map +1 -0
  28. package/dist/chunks/editable-label.667b04d5.js.map +1 -1
  29. package/dist/chunks/eo-diagram.78450578.js.map +1 -1
  30. package/dist/chunks/eo-display-canvas.2a43ce91.js.map +1 -1
  31. package/dist/chunks/eo-draw-canvas.e01342d6.js.map +1 -1
  32. package/dist/chunks/experimental-node.2f4d802a.js.map +1 -1
  33. package/dist/chunks/main.91a8e473.js +2 -0
  34. package/dist/chunks/main.91a8e473.js.map +1 -0
  35. package/dist/examples.json +10 -7
  36. package/dist/index.f358949f.js +2 -0
  37. package/dist/index.f358949f.js.map +1 -0
  38. package/dist/manifest.json +359 -220
  39. package/dist/types.json +5163 -5163
  40. package/dist-types/diagram/index.d.ts +48 -1
  41. package/dist-types/diagram/interfaces.d.ts +3 -3
  42. package/dist-types/display-canvas/index.d.ts +37 -3
  43. package/dist-types/draw-canvas/index.d.ts +75 -7
  44. package/dist-types/draw-canvas/interfaces.d.ts +3 -3
  45. package/dist-types/editable-label/index.d.ts +14 -1
  46. package/dist-types/experimental-node/index.d.ts +11 -1
  47. package/docs/editable-label.md +71 -1
  48. package/docs/editable-label.react.md +100 -0
  49. package/docs/eo-diagram.md +54 -87
  50. package/docs/eo-diagram.react.md +399 -0
  51. package/docs/eo-display-canvas.md +60 -21
  52. package/docs/eo-display-canvas.react.md +376 -0
  53. package/docs/eo-draw-canvas.md +95 -40
  54. package/docs/eo-draw-canvas.react.md +989 -0
  55. package/docs/experimental-node.md +156 -0
  56. package/docs/experimental-node.react.md +157 -0
  57. package/package.json +2 -2
  58. package/dist/chunks/1265.55a02b5a.js +0 -3
  59. package/dist/chunks/1265.55a02b5a.js.map +0 -1
  60. package/dist/chunks/1889.9e9ad16a.js +0 -2
  61. package/dist/chunks/1889.9e9ad16a.js.map +0 -1
  62. package/dist/chunks/3171.3bd2c8f0.js +0 -2
  63. package/dist/chunks/3171.3bd2c8f0.js.map +0 -1
  64. package/dist/chunks/4667.53203ccd.js +0 -2
  65. package/dist/chunks/4667.53203ccd.js.map +0 -1
  66. package/dist/chunks/4837.32dece7c.js +0 -2
  67. package/dist/chunks/4837.32dece7c.js.map +0 -1
  68. package/dist/chunks/5399.b1b4981d.js +0 -2
  69. package/dist/chunks/5399.b1b4981d.js.map +0 -1
  70. package/dist/chunks/5552.e3e728b7.js +0 -2
  71. package/dist/chunks/5552.e3e728b7.js.map +0 -1
  72. package/dist/chunks/7218.e0bf22af.js +0 -2
  73. package/dist/chunks/7218.e0bf22af.js.map +0 -1
  74. package/dist/chunks/7920.df65d810.js +0 -3
  75. package/dist/chunks/7920.df65d810.js.map +0 -1
  76. package/dist/chunks/948.83e23068.js +0 -3
  77. package/dist/chunks/948.83e23068.js.map +0 -1
  78. package/dist/chunks/main.4630d30e.js +0 -2
  79. package/dist/chunks/main.4630d30e.js.map +0 -1
  80. package/dist/index.c366c6da.js +0 -2
  81. package/dist/index.c366c6da.js.map +0 -1
  82. /package/dist/chunks/{1265.55a02b5a.js.LICENSE.txt → 1265.bf280e6d.js.LICENSE.txt} +0 -0
  83. /package/dist/chunks/{3654.59bd8992.js.LICENSE.txt → 3654.6a028b09.js.LICENSE.txt} +0 -0
  84. /package/dist/chunks/{7920.df65d810.js.LICENSE.txt → 7920.367555e2.js.LICENSE.txt} +0 -0
  85. /package/dist/chunks/{948.83e23068.js.LICENSE.txt → 948.e308c274.js.LICENSE.txt} +0 -0
@@ -0,0 +1,156 @@
1
+ ---
2
+ tagName: diagram.experimental-node
3
+ displayName: WrappedDiagramExperimentalNode
4
+ description: 实验性图表节点构件,支持从素材库拖拽到画布(`usage: "library"`)和画布内节点渲染(`usage: "default"`),支持高亮、淡化等状态样式,常配合 `eo-draw-canvas` 和 `eo-display-canvas` 使用。
5
+ category: diagram
6
+ source: "@next-bricks/diagram"
7
+ ---
8
+
9
+ # diagram.experimental-node
10
+
11
+ > 实验性图表节点构件,支持从素材库拖拽到画布(`usage: "library"`)和画布内节点渲染(`usage: "default"`),支持高亮、淡化等状态样式,常配合 `eo-draw-canvas` 和 `eo-display-canvas` 使用。
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | --------- | -------------------------------- | ---- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
17
+ | usage | `ExperimentalUsage \| undefined` | - | - | 节点使用场景:`library` 表示素材库中的拖拽源,`dragging` 表示正在拖拽中的幽灵节点,`default` 表示画布内正常渲染的节点。 |
18
+ | status | `NodeStatus \| undefined` | - | - | 节点状态,影响外观样式:`highlighted` 高亮、`faded` 淡化、`default` 默认(使用 `render: false` 仅更新属性不触发重渲染)。 |
19
+ | decorator | `DecoratorType \| undefined` | - | - | 装饰器类型,用于渲染不同类型的装饰器外观(area、container、text 等),与 `usage: "dragging"` 配合使用。 |
20
+
21
+ ## Events
22
+
23
+ | 事件 | detail | 说明 |
24
+ | ---------- | --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
25
+ | drag.start | `PositionTuple` — 拖拽开始时的鼠标坐标 `[clientX, clientY]` | 在 `usage: "library"` 模式下,用户开始拖拽节点时触发(移动距离超过阈值后才触发)。 |
26
+ | drag.move | `PositionTuple` — 拖拽过程中的当前鼠标坐标 `[clientX, clientY]` | 在 `usage: "library"` 模式下,用户拖拽节点过程中持续触发,可用于更新幽灵节点位置。 |
27
+ | drag.end | `PositionTuple` — 拖拽结束时的鼠标坐标 `[clientX, clientY]` | 在 `usage: "library"` 模式下,用户释放鼠标结束拖拽时触发,可通过 `dropNode` 或 `dropDecorator` 方法将节点添加到画布。 |
28
+
29
+ ## Examples
30
+
31
+ ### Basic
32
+
33
+ 展示节点在画布内渲染的基本用法,使用 `status` 属性控制节点高亮状态。
34
+
35
+ ```yaml preview
36
+ brick: diagram.experimental-node
37
+ properties:
38
+ status: default
39
+ children:
40
+ - brick: span
41
+ properties:
42
+ textContent: Node A
43
+ ```
44
+
45
+ ### Library Usage
46
+
47
+ 展示素材库中的可拖拽节点,通过 `drag.start`、`drag.move`、`drag.end` 事件配合 `eo-draw-canvas` 实现拖拽放置。
48
+
49
+ ```yaml preview minHeight="400px"
50
+ - brick: div
51
+ properties:
52
+ style:
53
+ display: flex
54
+ gap: 1em
55
+ context:
56
+ - name: dragging
57
+ children:
58
+ - brick: div
59
+ properties:
60
+ style:
61
+ width: 150px
62
+ padding: 1em
63
+ border-right: 1px solid var(--palette-gray-4)
64
+ children:
65
+ - brick: diagram.experimental-node
66
+ properties:
67
+ usage: library
68
+ textContent: Node A
69
+ events:
70
+ drag.start:
71
+ action: context.replace
72
+ args:
73
+ - dragging
74
+ - position: <% EVENT.detail %>
75
+ label: Node A
76
+ drag.move:
77
+ action: context.replace
78
+ args:
79
+ - dragging
80
+ - position: <% EVENT.detail %>
81
+ label: Node A
82
+ drag.end:
83
+ - action: context.replace
84
+ args:
85
+ - dragging
86
+ - null
87
+ - target: eo-draw-canvas
88
+ method: dropNode
89
+ args:
90
+ - position: <% EVENT.detail %>
91
+ id: node-a
92
+ data:
93
+ name: Node A
94
+ - brick: eo-draw-canvas
95
+ properties:
96
+ style:
97
+ flex: 1
98
+ height: 400px
99
+ layout: manual
100
+ defaultNodeSize: [80, 40]
101
+ defaultNodeBricks:
102
+ - useBrick:
103
+ brick: diagram.experimental-node
104
+ properties:
105
+ textContent: <% DATA.node.data.name %>
106
+ status: default
107
+ - brick: diagram.experimental-node
108
+ properties:
109
+ usage: dragging
110
+ textContent: <% CTX.dragging?.label %>
111
+ hidden: <% !CTX.dragging %>
112
+ style: |
113
+ <%=
114
+ CTX.dragging ? {
115
+ position: fixed,
116
+ left: `${CTX.dragging.position[0]}px`,
117
+ top: `${CTX.dragging.position[1]}px`,
118
+ pointerEvents: none
119
+ } : {}
120
+ %>
121
+ ```
122
+
123
+ ### Status States
124
+
125
+ 展示节点不同状态下的外观效果。
126
+
127
+ ```yaml preview
128
+ brick: div
129
+ properties:
130
+ style:
131
+ display: flex
132
+ gap: 1em
133
+ padding: 1em
134
+ children:
135
+ - brick: diagram.experimental-node
136
+ properties:
137
+ status: default
138
+ children:
139
+ - brick: span
140
+ properties:
141
+ textContent: Default
142
+ - brick: diagram.experimental-node
143
+ properties:
144
+ status: highlighted
145
+ children:
146
+ - brick: span
147
+ properties:
148
+ textContent: Highlighted
149
+ - brick: diagram.experimental-node
150
+ properties:
151
+ status: faded
152
+ children:
153
+ - brick: span
154
+ properties:
155
+ textContent: Faded
156
+ ```
@@ -0,0 +1,157 @@
1
+ ---
2
+ tagName: diagram.experimental-node
3
+ displayName: WrappedDiagramExperimentalNode
4
+ description: 实验性图表节点构件,支持从素材库拖拽到画布(`usage: "library"`)和画布内节点渲染(`usage: "default"`),支持高亮、淡化等状态样式,常配合 `eo-draw-canvas` 和 `eo-display-canvas` 使用。
5
+ category: diagram
6
+ source: "@next-bricks/diagram"
7
+ ---
8
+
9
+ # WrappedDiagramExperimentalNode
10
+
11
+ > 实验性图表节点构件,支持从素材库拖拽到画布(`usage: "library"`)和画布内节点渲染(`usage: "default"`),支持高亮、淡化等状态样式,常配合 `eo-draw-canvas` 和 `eo-display-canvas` 使用。
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedDiagramExperimentalNode } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ----------- | ----------------------------------------- | ---- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
23
+ | usage | `ExperimentalUsage \| undefined` | - | - | 节点使用场景:`library` 表示素材库中的拖拽源,`dragging` 表示正在拖拽中的幽灵节点,`default` 表示画布内正常渲染的节点。 |
24
+ | status | `NodeStatus \| undefined` | - | - | 节点状态,影响外观样式:`highlighted` 高亮、`faded` 淡化、`default` 默认(使用 `render: false` 仅更新属性不触发重渲染)。 |
25
+ | decorator | `DecoratorType \| undefined` | - | - | 装饰器类型,用于渲染不同类型的装饰器外观(area、container、text 等),与 `usage: "dragging"` 配合使用。 |
26
+ | onDragStart | `(e: CustomEvent<PositionTuple>) => void` | - | - | 在 `usage: "library"` 模式下,用户开始拖拽节点时触发。 |
27
+ | onDragMove | `(e: CustomEvent<PositionTuple>) => void` | - | - | 在 `usage: "library"` 模式下,用户拖拽节点过程中持续触发。 |
28
+ | onDragEnd | `(e: CustomEvent<PositionTuple>) => void` | - | - | 在 `usage: "library"` 模式下,用户释放鼠标结束拖拽时触发。 |
29
+
30
+ ## Events
31
+
32
+ | 事件 | detail | 说明 |
33
+ | ----------- | --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
34
+ | onDragStart | `PositionTuple` — 拖拽开始时的鼠标坐标 `[clientX, clientY]` | 在 `usage: "library"` 模式下,用户开始拖拽节点时触发(移动距离超过阈值后才触发)。 |
35
+ | onDragMove | `PositionTuple` — 拖拽过程中的当前鼠标坐标 `[clientX, clientY]` | 在 `usage: "library"` 模式下,用户拖拽节点过程中持续触发,可用于更新幽灵节点位置。 |
36
+ | onDragEnd | `PositionTuple` — 拖拽结束时的鼠标坐标 `[clientX, clientY]` | 在 `usage: "library"` 模式下,用户释放鼠标结束拖拽时触发,可通过 `dropNode` 或 `dropDecorator` 方法将节点添加到画布。 |
37
+
38
+ ## Examples
39
+
40
+ ### Basic
41
+
42
+ 展示节点在画布内渲染的基本用法,使用 `status` 属性控制节点高亮状态。
43
+
44
+ ```tsx
45
+ import { WrappedDiagramExperimentalNode } from "@easyops/wrapped-components";
46
+
47
+ function BasicNode() {
48
+ return (
49
+ <WrappedDiagramExperimentalNode status="default">
50
+ <span>Node A</span>
51
+ </WrappedDiagramExperimentalNode>
52
+ );
53
+ }
54
+ ```
55
+
56
+ ### Library Usage
57
+
58
+ 展示素材库中的可拖拽节点,通过 `onDragStart`、`onDragMove`、`onDragEnd` 事件配合 `WrappedEoDrawCanvas` 实现拖拽放置。
59
+
60
+ ```tsx
61
+ import { useState, useRef } from "react";
62
+ import {
63
+ WrappedDiagramExperimentalNode,
64
+ WrappedEoDrawCanvas,
65
+ } from "@easyops/wrapped-components";
66
+
67
+ function LibraryNode() {
68
+ const canvasRef = useRef(null);
69
+ const [dragging, setDragging] = useState(null);
70
+
71
+ const handleDragStart = (e) => {
72
+ setDragging({ position: e.detail, label: "Node A" });
73
+ };
74
+
75
+ const handleDragMove = (e) => {
76
+ setDragging((prev) => (prev ? { ...prev, position: e.detail } : null));
77
+ };
78
+
79
+ const handleDragEnd = async (e) => {
80
+ setDragging(null);
81
+ await canvasRef.current?.dropNode({
82
+ position: e.detail,
83
+ id: "node-a",
84
+ data: { name: "Node A" },
85
+ });
86
+ };
87
+
88
+ return (
89
+ <div style={{ display: "flex", gap: "1em" }}>
90
+ <div style={{ width: 150, padding: "1em" }}>
91
+ <WrappedDiagramExperimentalNode
92
+ usage="library"
93
+ onDragStart={handleDragStart}
94
+ onDragMove={handleDragMove}
95
+ onDragEnd={handleDragEnd}
96
+ >
97
+ <span>Node A</span>
98
+ </WrappedDiagramExperimentalNode>
99
+ </div>
100
+ <WrappedEoDrawCanvas
101
+ ref={canvasRef}
102
+ style={{ flex: 1, height: 400 }}
103
+ layout="manual"
104
+ defaultNodeSize={[80, 40]}
105
+ defaultNodeBricks={[
106
+ {
107
+ useBrick: {
108
+ brick: "diagram.experimental-node",
109
+ properties: {
110
+ textContent: "<% DATA.node.data.name %>",
111
+ status: "default",
112
+ },
113
+ },
114
+ },
115
+ ]}
116
+ />
117
+ {dragging && (
118
+ <WrappedDiagramExperimentalNode
119
+ usage="dragging"
120
+ style={{
121
+ position: "fixed",
122
+ left: dragging.position[0],
123
+ top: dragging.position[1],
124
+ pointerEvents: "none",
125
+ }}
126
+ >
127
+ <span>{dragging.label}</span>
128
+ </WrappedDiagramExperimentalNode>
129
+ )}
130
+ </div>
131
+ );
132
+ }
133
+ ```
134
+
135
+ ### Status States
136
+
137
+ 展示节点不同状态下的外观效果。
138
+
139
+ ```tsx
140
+ import { WrappedDiagramExperimentalNode } from "@easyops/wrapped-components";
141
+
142
+ function NodeStatusDemo() {
143
+ return (
144
+ <div style={{ display: "flex", gap: "1em", padding: "1em" }}>
145
+ <WrappedDiagramExperimentalNode status="default">
146
+ <span>Default</span>
147
+ </WrappedDiagramExperimentalNode>
148
+ <WrappedDiagramExperimentalNode status="highlighted">
149
+ <span>Highlighted</span>
150
+ </WrappedDiagramExperimentalNode>
151
+ <WrappedDiagramExperimentalNode status="faded">
152
+ <span>Faded</span>
153
+ </WrappedDiagramExperimentalNode>
154
+ </div>
155
+ );
156
+ }
157
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-bricks/diagram",
3
- "version": "0.68.8",
3
+ "version": "0.68.10",
4
4
  "homepage": "https://github.com/easyops-cn/next-advanced-bricks/tree/master/bricks/diagram",
5
5
  "repository": {
6
6
  "type": "git",
@@ -43,5 +43,5 @@
43
43
  "peerDependencies": {
44
44
  "@next-bricks/basic": "*"
45
45
  },
46
- "gitHead": "1bd932762c765bd5b970f06e76171b8c3cc7ba0a"
46
+ "gitHead": "bfc02e6cd7028ac3f92808235d9f3fcc0dfde393"
47
47
  }