@ngroznykh/papirus 0.5.10 → 0.6.1
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 +42 -0
- package/README.ru.md +42 -0
- package/dist/core/DiagramRenderer.d.ts +1 -0
- package/dist/core/DiagramRenderer.d.ts.map +1 -1
- package/dist/core/InteractionManager.d.ts +3 -0
- package/dist/core/InteractionManager.d.ts.map +1 -1
- package/dist/elements/Edge.d.ts +29 -2
- package/dist/elements/Edge.d.ts.map +1 -1
- package/dist/elements/NodeImage.d.ts.map +1 -1
- package/dist/elements/composite/CComponent.d.ts +109 -0
- package/dist/elements/composite/CComponent.d.ts.map +1 -0
- package/dist/elements/composite/CContainer.d.ts +58 -0
- package/dist/elements/composite/CContainer.d.ts.map +1 -0
- package/dist/elements/composite/CDivider.d.ts +37 -0
- package/dist/elements/composite/CDivider.d.ts.map +1 -0
- package/dist/elements/composite/CIcon.d.ts +58 -0
- package/dist/elements/composite/CIcon.d.ts.map +1 -0
- package/dist/elements/composite/CShape.d.ts +51 -0
- package/dist/elements/composite/CShape.d.ts.map +1 -0
- package/dist/elements/composite/CText.d.ts +86 -0
- package/dist/elements/composite/CText.d.ts.map +1 -0
- package/dist/elements/composite/CompositeNode.d.ts +60 -0
- package/dist/elements/composite/CompositeNode.d.ts.map +1 -0
- package/dist/elements/composite/FlexLayout.d.ts +49 -0
- package/dist/elements/composite/FlexLayout.d.ts.map +1 -0
- package/dist/elements/composite/deserialize.d.ts +6 -0
- package/dist/elements/composite/deserialize.d.ts.map +1 -0
- package/dist/elements/composite/index.d.ts +26 -0
- package/dist/elements/composite/index.d.ts.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/papirus.js +1915 -274
- package/dist/papirus.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/Serializer.d.ts.map +1 -1
- package/dist/utils/SvgExporter.d.ts.map +1 -1
- package/dist/utils/svgTint.d.ts +20 -0
- package/dist/utils/svgTint.d.ts.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -145,6 +145,9 @@ const edge = new Edge({
|
|
|
145
145
|
to: { nodeId: nodeB.id },
|
|
146
146
|
label: 'API call',
|
|
147
147
|
labelOffset: 12,
|
|
148
|
+
labelPosition: 0.65, // 0..1 along edge path (0 = start, 1 = end)
|
|
149
|
+
labelFollowPath: true, // rotate label with local edge direction
|
|
150
|
+
labelLineGap: true, // line is cut under label bounds
|
|
148
151
|
labelBackground: {
|
|
149
152
|
color: '#ffffff',
|
|
150
153
|
opacity: 0.9,
|
|
@@ -153,6 +156,45 @@ const edge = new Edge({
|
|
|
153
156
|
});
|
|
154
157
|
```
|
|
155
158
|
|
|
159
|
+
### CompositeNode (Flex Components)
|
|
160
|
+
|
|
161
|
+
`CompositeNode` lets you build notation-specific visual structures as a component tree (`container`, `text`, `icon`, `shape`, `divider`) with a flexbox-like layout engine:
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
import { CompositeNode, container, text, icon, divider } from '@ngroznykh/papirus';
|
|
165
|
+
|
|
166
|
+
const composite = new CompositeNode({
|
|
167
|
+
x: 120,
|
|
168
|
+
y: 80,
|
|
169
|
+
width: 220,
|
|
170
|
+
height: 120,
|
|
171
|
+
shapeType: 'rectangle',
|
|
172
|
+
autoSize: true,
|
|
173
|
+
content: container({
|
|
174
|
+
direction: 'column',
|
|
175
|
+
padding: 10,
|
|
176
|
+
gap: 6,
|
|
177
|
+
children: [
|
|
178
|
+
text({ id: 'name', text: 'Service API', role: 'name', style: { alignSelf: 'center' } }),
|
|
179
|
+
divider({}),
|
|
180
|
+
container({
|
|
181
|
+
direction: 'row',
|
|
182
|
+
justifyContent: 'space-between',
|
|
183
|
+
children: [
|
|
184
|
+
text({ text: 'v2.1.0', color: '#64748b' }),
|
|
185
|
+
icon({ source: '/icons/cloud.svg', width: 16, height: 16, bindsNotationIcon: true }),
|
|
186
|
+
],
|
|
187
|
+
}),
|
|
188
|
+
],
|
|
189
|
+
}),
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Serialized composite components (`SerializedCComponent`) include editor/integration fields:
|
|
194
|
+
- `label` — human-readable component caption for host editors.
|
|
195
|
+
- `bindToProperty` — bind `text` value to a property name (`'__name__'` for node display name).
|
|
196
|
+
- `bindsNotationIcon` — mark `icon` source as notation-level icon binding.
|
|
197
|
+
|
|
156
198
|
### Styling
|
|
157
199
|
|
|
158
200
|
`StyleManager` applies themes and classes to nodes/edges/text/ports/groups.
|
package/README.ru.md
CHANGED
|
@@ -146,6 +146,9 @@ const edge = new Edge({
|
|
|
146
146
|
to: { nodeId: nodeB.id },
|
|
147
147
|
label: 'API call',
|
|
148
148
|
labelOffset: 12,
|
|
149
|
+
labelPosition: 0.65, // 0..1 вдоль пути ребра (0 = начало, 1 = конец)
|
|
150
|
+
labelFollowPath: true, // поворачивать подпись по направлению ребра
|
|
151
|
+
labelLineGap: true, // линия разрывается под подписью
|
|
149
152
|
labelBackground: {
|
|
150
153
|
color: '#ffffff',
|
|
151
154
|
opacity: 0.9,
|
|
@@ -154,6 +157,45 @@ const edge = new Edge({
|
|
|
154
157
|
});
|
|
155
158
|
```
|
|
156
159
|
|
|
160
|
+
### CompositeNode (компонентная flex-компоновка)
|
|
161
|
+
|
|
162
|
+
`CompositeNode` позволяет собирать нотационные элементы как дерево компонентов (`container`, `text`, `icon`, `shape`, `divider`) с flexbox-подобной раскладкой:
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
import { CompositeNode, container, text, icon, divider } from '@ngroznykh/papirus';
|
|
166
|
+
|
|
167
|
+
const composite = new CompositeNode({
|
|
168
|
+
x: 120,
|
|
169
|
+
y: 80,
|
|
170
|
+
width: 220,
|
|
171
|
+
height: 120,
|
|
172
|
+
shapeType: 'rectangle',
|
|
173
|
+
autoSize: true,
|
|
174
|
+
content: container({
|
|
175
|
+
direction: 'column',
|
|
176
|
+
padding: 10,
|
|
177
|
+
gap: 6,
|
|
178
|
+
children: [
|
|
179
|
+
text({ id: 'name', text: 'Service API', role: 'name', style: { alignSelf: 'center' } }),
|
|
180
|
+
divider({}),
|
|
181
|
+
container({
|
|
182
|
+
direction: 'row',
|
|
183
|
+
justifyContent: 'space-between',
|
|
184
|
+
children: [
|
|
185
|
+
text({ text: 'v2.1.0', color: '#64748b' }),
|
|
186
|
+
icon({ source: '/icons/cloud.svg', width: 16, height: 16, bindsNotationIcon: true }),
|
|
187
|
+
],
|
|
188
|
+
}),
|
|
189
|
+
],
|
|
190
|
+
}),
|
|
191
|
+
});
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Сериализация компонентов (`SerializedCComponent`) включает поля для редакторов и интеграций:
|
|
195
|
+
- `label` — человекочитаемая подпись компонента для host-редактора.
|
|
196
|
+
- `bindToProperty` — привязка значения `text` к имени свойства (`'__name__'` для отображаемого имени узла).
|
|
197
|
+
- `bindsNotationIcon` — признак того, что `icon` привязан к иконке на уровне нотации.
|
|
198
|
+
|
|
157
199
|
### Стили
|
|
158
200
|
|
|
159
201
|
`StyleManager` применяет темы и классы к узлам/рёбрам/тексту/портам/группам.
|
|
@@ -20,6 +20,7 @@ export interface DiagramEvents {
|
|
|
20
20
|
edgeAdd: [edge: Edge];
|
|
21
21
|
edgeRemove: [edge: Edge];
|
|
22
22
|
nodeBadgeClick: [nodeId: string, badgeId: string];
|
|
23
|
+
componentClick: [nodeId: string, component: import('../elements/composite/CComponent').CComponent, point: Point];
|
|
23
24
|
}
|
|
24
25
|
export interface DiagramPlugin {
|
|
25
26
|
name?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiagramRenderer.d.ts","sourceRoot":"","sources":["../../src/core/DiagramRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAU,cAAc,EAAE,KAAK,EAAoB,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,EAAE,CAAC;IACX,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"DiagramRenderer.d.ts","sourceRoot":"","sources":["../../src/core/DiagramRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,6 +85,7 @@ export declare class InteractionManager {
|
|
|
85
85
|
private handleMouseMove;
|
|
86
86
|
private handleMouseUp;
|
|
87
87
|
private handleClick;
|
|
88
|
+
private emitComponentClick;
|
|
88
89
|
private handleDoubleClick;
|
|
89
90
|
private getEdgeLabelAtPoint;
|
|
90
91
|
private handleWheel;
|
|
@@ -94,6 +95,8 @@ export declare class InteractionManager {
|
|
|
94
95
|
private handleKeyUp;
|
|
95
96
|
private handleViewportNavigationKey;
|
|
96
97
|
private startLabelEdit;
|
|
98
|
+
private startCompositeNameEdit;
|
|
99
|
+
private findNameComponent;
|
|
97
100
|
private handleLabelCommit;
|
|
98
101
|
private queuePropertyChange;
|
|
99
102
|
private flushPendingPropertyChanges;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/core/InteractionManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/core/InteractionManager.ts"],"names":[],"mappings":"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"}
|
package/dist/elements/Edge.d.ts
CHANGED
|
@@ -16,6 +16,10 @@ export interface EdgeOptions {
|
|
|
16
16
|
styleClass?: string;
|
|
17
17
|
label?: string | TextLabelOptions;
|
|
18
18
|
labelOffset?: number;
|
|
19
|
+
/** Position along the path (0 = source, 0.5 = midpoint, 1 = target). Default 0.5 */
|
|
20
|
+
labelPosition?: number;
|
|
21
|
+
/** Rotate label text to follow the path tangent */
|
|
22
|
+
labelFollowPath?: boolean;
|
|
19
23
|
labelBackground?: EdgeLabelBackground;
|
|
20
24
|
lockAnchors?: boolean;
|
|
21
25
|
labelLineGap?: boolean;
|
|
@@ -34,6 +38,8 @@ export declare class Edge extends Element {
|
|
|
34
38
|
private _edgeStyle;
|
|
35
39
|
private _label?;
|
|
36
40
|
private _labelOffset;
|
|
41
|
+
private _labelPosition;
|
|
42
|
+
private _labelFollowPath;
|
|
37
43
|
private _labelBackground?;
|
|
38
44
|
private _labelLineGap;
|
|
39
45
|
private _path;
|
|
@@ -82,6 +88,16 @@ export declare class Edge extends Element {
|
|
|
82
88
|
*/
|
|
83
89
|
get labelOffset(): number;
|
|
84
90
|
set labelOffset(value: number);
|
|
91
|
+
/**
|
|
92
|
+
* Position along path (0 = source, 0.5 = midpoint, 1 = target)
|
|
93
|
+
*/
|
|
94
|
+
get labelPosition(): number;
|
|
95
|
+
set labelPosition(value: number);
|
|
96
|
+
/**
|
|
97
|
+
* Whether label text rotates to follow the path tangent
|
|
98
|
+
*/
|
|
99
|
+
get labelFollowPath(): boolean;
|
|
100
|
+
set labelFollowPath(value: boolean);
|
|
85
101
|
/**
|
|
86
102
|
* Label background configuration
|
|
87
103
|
*/
|
|
@@ -201,12 +217,23 @@ export declare class Edge extends Element {
|
|
|
201
217
|
private drawArrowHead;
|
|
202
218
|
private renderLabel;
|
|
203
219
|
private drawRoundedRect;
|
|
204
|
-
|
|
220
|
+
/**
|
|
221
|
+
* Get a point along the sampled path at parameter t (0..1).
|
|
222
|
+
* Also returns the tangent angle in radians at that point.
|
|
223
|
+
*/
|
|
224
|
+
private getPathPointAt;
|
|
205
225
|
/**
|
|
206
226
|
* Get world position of label center along path.
|
|
207
227
|
*/
|
|
208
228
|
getLabelPosition(): Point | null;
|
|
209
|
-
|
|
229
|
+
/**
|
|
230
|
+
* Get label rotation angle in radians (if labelFollowPath is true).
|
|
231
|
+
*/
|
|
232
|
+
getLabelRotation(): number;
|
|
233
|
+
/**
|
|
234
|
+
* Get point and tangent angle at parameter t along a polyline.
|
|
235
|
+
*/
|
|
236
|
+
private getPointAlongPolyline;
|
|
210
237
|
private getPathStrategy;
|
|
211
238
|
private applyLineDash;
|
|
212
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Edge.d.ts","sourceRoot":"","sources":["../../src/elements/Edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EAEjB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,KAAK,EACN,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAIzB,MAAM,SAAS,CAAC;AAWjB,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B;;GAEG;AACH,qBAAa,IAAK,SAAQ,OAAO;IAC/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,oBAAoB,CAAQ;IACpC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,YAAY,CAAC,CAAsB;IAG3C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,OAAO,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"Edge.d.ts","sourceRoot":"","sources":["../../src/elements/Edge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeImage.d.ts","sourceRoot":"","sources":["../../src/elements/NodeImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeImage.d.ts","sourceRoot":"","sources":["../../src/elements/NodeImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAItC,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AACjG,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzE,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,kBAAkB,GAC5B,SAAS,IAAI,wBAAwB,CAOvC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kHAAkH;IAClH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAK;gBAEf,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;IAQ5D,IAAI,OAAO,IAAI,gBAAgB,CAE9B;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAGlC;IAED,IAAI,SAAS,IAAI,kBAAkB,CAElC;IAED,yEAAyE;IACzE,IAAI,KAAK,IAAI,MAAM,CAMlB;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAUlD,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAoD3D,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAM5C,OAAO,CAAC,YAAY;YAUN,WAAW;IAmCzB,OAAO,CAAC,cAAc;CAmBvB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Bounds, Size } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Sides configuration (padding, margin, inset)
|
|
4
|
+
*/
|
|
5
|
+
export interface SidesConfig {
|
|
6
|
+
top?: number;
|
|
7
|
+
right?: number;
|
|
8
|
+
bottom?: number;
|
|
9
|
+
left?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Normalize a number or SidesConfig into a Required<SidesConfig>
|
|
13
|
+
*/
|
|
14
|
+
export declare function normalizeSides(value: number | SidesConfig | undefined, fallback?: number): Required<SidesConfig>;
|
|
15
|
+
/**
|
|
16
|
+
* Flex child style properties for layout
|
|
17
|
+
*/
|
|
18
|
+
export interface CComponentStyle {
|
|
19
|
+
visible?: boolean;
|
|
20
|
+
opacity?: number;
|
|
21
|
+
/** Flex grow factor (default 0) */
|
|
22
|
+
flexGrow?: number;
|
|
23
|
+
/** Flex shrink factor (default 1) */
|
|
24
|
+
flexShrink?: number;
|
|
25
|
+
/** Base size before grow/shrink. 'auto' uses measure() result (default 'auto') */
|
|
26
|
+
flexBasis?: number | 'auto';
|
|
27
|
+
/** Override container's alignItems for this child */
|
|
28
|
+
alignSelf?: 'auto' | 'start' | 'center' | 'end' | 'stretch';
|
|
29
|
+
/** Outer margin */
|
|
30
|
+
margin?: number | SidesConfig;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Component type discriminator
|
|
34
|
+
*/
|
|
35
|
+
export type CComponentType = 'text' | 'icon' | 'shape' | 'container' | 'divider';
|
|
36
|
+
/**
|
|
37
|
+
* Base interface for all composite node components.
|
|
38
|
+
* Components are lightweight canvas-rendered elements within a CompositeNode.
|
|
39
|
+
*/
|
|
40
|
+
export interface CComponent {
|
|
41
|
+
readonly type: CComponentType;
|
|
42
|
+
/** Optional id for lookup via CompositeNode.getComponent(id) */
|
|
43
|
+
readonly id?: string;
|
|
44
|
+
/** Flex child style */
|
|
45
|
+
style: CComponentStyle;
|
|
46
|
+
/** Measure intrinsic (preferred) size. Requires ctx for text measurement. */
|
|
47
|
+
measure(ctx: CanvasRenderingContext2D): Size;
|
|
48
|
+
/** Render the component within the given bounds (computed by layout). */
|
|
49
|
+
render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
|
|
50
|
+
/**
|
|
51
|
+
* Hit test a point against this component's assigned bounds.
|
|
52
|
+
* Returns the deepest matching component, or null if not hit.
|
|
53
|
+
*/
|
|
54
|
+
hitTest(point: {
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
}, bounds: Bounds): CComponent | null;
|
|
58
|
+
/** Set dirty callback — called when any property changes. */
|
|
59
|
+
setOnChange(cb: (() => void) | undefined): void;
|
|
60
|
+
/** Serialize to JSON-compatible object. */
|
|
61
|
+
serialize(): SerializedCComponent;
|
|
62
|
+
/** Generate SVG markup for this component at the given bounds. */
|
|
63
|
+
toSVG(bounds: Bounds): string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Serialized component data — recursive JSON structure.
|
|
67
|
+
* Type discriminator determines which fields are relevant.
|
|
68
|
+
*/
|
|
69
|
+
export interface SerializedCComponent {
|
|
70
|
+
type: CComponentType;
|
|
71
|
+
id?: string;
|
|
72
|
+
/** Human-readable label for editor display (not used by rendering) */
|
|
73
|
+
label?: string;
|
|
74
|
+
/** Bind this text element's content to a property value at render time.
|
|
75
|
+
* '__name__' = node display name, other string = custom property name. */
|
|
76
|
+
bindToProperty?: string;
|
|
77
|
+
style?: CComponentStyle;
|
|
78
|
+
text?: string;
|
|
79
|
+
fontFamily?: string;
|
|
80
|
+
fontWeight?: string;
|
|
81
|
+
fontStyle?: string;
|
|
82
|
+
fontSize?: number;
|
|
83
|
+
color?: string;
|
|
84
|
+
align?: 'left' | 'center' | 'right';
|
|
85
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
86
|
+
maxLines?: number;
|
|
87
|
+
lineHeight?: number;
|
|
88
|
+
role?: string;
|
|
89
|
+
rotation?: number;
|
|
90
|
+
source?: string;
|
|
91
|
+
width?: number;
|
|
92
|
+
height?: number;
|
|
93
|
+
backgroundColor?: string;
|
|
94
|
+
fillColor?: string;
|
|
95
|
+
/** Binds this icon to notation-level icon source in host app integrations */
|
|
96
|
+
bindsNotationIcon?: boolean;
|
|
97
|
+
borderColor?: string;
|
|
98
|
+
borderWidth?: number;
|
|
99
|
+
cornerRadius?: number;
|
|
100
|
+
padding?: number | SidesConfig;
|
|
101
|
+
content?: SerializedCComponent;
|
|
102
|
+
thickness?: number;
|
|
103
|
+
direction?: 'row' | 'column';
|
|
104
|
+
justifyContent?: 'start' | 'center' | 'end' | 'space-between' | 'space-around';
|
|
105
|
+
alignItems?: 'start' | 'center' | 'end' | 'stretch';
|
|
106
|
+
gap?: number;
|
|
107
|
+
children?: SerializedCComponent[];
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=CComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CComponent.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Bounds, Size } from '../../types';
|
|
2
|
+
import { CComponent, CComponentStyle, SerializedCComponent, SidesConfig } from './CComponent';
|
|
3
|
+
import { FlexConfig } from './FlexLayout';
|
|
4
|
+
export interface CContainerOptions {
|
|
5
|
+
id?: string;
|
|
6
|
+
direction?: 'row' | 'column';
|
|
7
|
+
justifyContent?: FlexConfig['justifyContent'];
|
|
8
|
+
alignItems?: FlexConfig['alignItems'];
|
|
9
|
+
gap?: number;
|
|
10
|
+
padding?: number | SidesConfig;
|
|
11
|
+
children?: CComponent[];
|
|
12
|
+
style?: CComponentStyle;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Flex container component for CompositeNode.
|
|
16
|
+
* Lays out children using a flexbox-like algorithm.
|
|
17
|
+
*/
|
|
18
|
+
export declare class CContainer implements CComponent {
|
|
19
|
+
readonly type: "container";
|
|
20
|
+
readonly id?: string;
|
|
21
|
+
style: CComponentStyle;
|
|
22
|
+
private _direction;
|
|
23
|
+
private _justifyContent;
|
|
24
|
+
private _alignItems;
|
|
25
|
+
private _gap;
|
|
26
|
+
private _padding;
|
|
27
|
+
private _children;
|
|
28
|
+
private _onChange?;
|
|
29
|
+
private _cachedBounds;
|
|
30
|
+
private _cachedContainerBounds;
|
|
31
|
+
constructor(options?: CContainerOptions);
|
|
32
|
+
get direction(): 'row' | 'column';
|
|
33
|
+
get justifyContent(): FlexConfig['justifyContent'];
|
|
34
|
+
get alignItems(): FlexConfig['alignItems'];
|
|
35
|
+
get gap(): number;
|
|
36
|
+
get padding(): number | SidesConfig;
|
|
37
|
+
get children(): readonly CComponent[];
|
|
38
|
+
addChild(child: CComponent): void;
|
|
39
|
+
removeChild(index: number): CComponent | undefined;
|
|
40
|
+
insertChild(index: number, child: CComponent): void;
|
|
41
|
+
setOnChange(cb: (() => void) | undefined): void;
|
|
42
|
+
private handleChildChange;
|
|
43
|
+
private getFlexConfig;
|
|
44
|
+
private buildFlexChildren;
|
|
45
|
+
measure(ctx: CanvasRenderingContext2D): Size;
|
|
46
|
+
render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
|
|
47
|
+
hitTest(point: {
|
|
48
|
+
x: number;
|
|
49
|
+
y: number;
|
|
50
|
+
}, bounds: Bounds): CComponent | null;
|
|
51
|
+
/**
|
|
52
|
+
* Find a component by id recursively.
|
|
53
|
+
*/
|
|
54
|
+
findById(id: string): CComponent | undefined;
|
|
55
|
+
serialize(): SerializedCComponent;
|
|
56
|
+
toSVG(bounds: Bounds): string;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=CContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CContainer.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3E,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,UAAW,YAAW,UAAU;IAC3C,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IACrC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IAEvB,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAC,CAAa;IAG/B,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,sBAAsB,CAAuB;gBAEzC,OAAO,GAAE,iBAAsB;IAgB3C,IAAI,SAAS,IAAI,KAAK,GAAG,QAAQ,CAEhC;IAED,IAAI,cAAc,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAEjD;IAED,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC,CAEzC;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,WAAW,CAElC;IAED,IAAI,QAAQ,IAAI,SAAS,UAAU,EAAE,CAEpC;IAED,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IASlD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAMnD,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI;IAI/C,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAyB5C,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAqC3D,OAAO,CACL,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAC/B,MAAM,EAAE,MAAM,GACb,UAAU,GAAG,IAAI;IAwBpB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAmB5C,SAAS,IAAI,oBAAoB;IAqBjC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAmC9B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Bounds, Size } from '../../types';
|
|
2
|
+
import { CComponent, CComponentStyle, SerializedCComponent } from './CComponent';
|
|
3
|
+
export interface CDividerOptions {
|
|
4
|
+
id?: string;
|
|
5
|
+
color?: string;
|
|
6
|
+
thickness?: number;
|
|
7
|
+
style?: CComponentStyle;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A horizontal or vertical divider line for CompositeNode.
|
|
11
|
+
* Direction is determined by the parent container:
|
|
12
|
+
* - In a column container → horizontal line
|
|
13
|
+
* - In a row container → vertical line
|
|
14
|
+
*/
|
|
15
|
+
export declare class CDivider implements CComponent {
|
|
16
|
+
readonly type: "divider";
|
|
17
|
+
readonly id?: string;
|
|
18
|
+
style: CComponentStyle;
|
|
19
|
+
private _color;
|
|
20
|
+
private _thickness;
|
|
21
|
+
private _onChange?;
|
|
22
|
+
constructor(options?: CDividerOptions);
|
|
23
|
+
get color(): string;
|
|
24
|
+
set color(value: string);
|
|
25
|
+
get thickness(): number;
|
|
26
|
+
set thickness(value: number);
|
|
27
|
+
setOnChange(cb: (() => void) | undefined): void;
|
|
28
|
+
measure(_ctx: CanvasRenderingContext2D): Size;
|
|
29
|
+
render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
|
|
30
|
+
hitTest(_point: {
|
|
31
|
+
x: number;
|
|
32
|
+
y: number;
|
|
33
|
+
}, _bounds: Bounds): CComponent | null;
|
|
34
|
+
serialize(): SerializedCComponent;
|
|
35
|
+
toSVG(bounds: Bounds): string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=CDivider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CDivider.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CDivider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAKD;;;;;GAKG;AACH,qBAAa,QAAS,YAAW,UAAU;IACzC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IAEvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAa;gBAEnB,OAAO,GAAE,eAAoB;IAOzC,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAK1B;IAED,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI;IAI/C,OAAO,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAM7C,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAyB3D,OAAO,CACL,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAChC,OAAO,EAAE,MAAM,GACd,UAAU,GAAG,IAAI;IAKpB,SAAS,IAAI,oBAAoB;IASjC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAW9B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Bounds, Size } from '../../types';
|
|
2
|
+
import { CComponent, CComponentStyle, SerializedCComponent } from './CComponent';
|
|
3
|
+
export interface CIconOptions {
|
|
4
|
+
id?: string;
|
|
5
|
+
source: string;
|
|
6
|
+
width?: number;
|
|
7
|
+
height?: number;
|
|
8
|
+
backgroundColor?: string;
|
|
9
|
+
fillColor?: string;
|
|
10
|
+
bindsNotationIcon?: boolean;
|
|
11
|
+
visible?: boolean;
|
|
12
|
+
onClick?: (component: CIcon) => void;
|
|
13
|
+
style?: CComponentStyle;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Lightweight SVG/image icon component for CompositeNode.
|
|
17
|
+
*/
|
|
18
|
+
export declare class CIcon implements CComponent {
|
|
19
|
+
readonly type: "icon";
|
|
20
|
+
readonly id?: string;
|
|
21
|
+
style: CComponentStyle;
|
|
22
|
+
onClick?: (component: CIcon) => void;
|
|
23
|
+
private _source;
|
|
24
|
+
private _width;
|
|
25
|
+
private _height;
|
|
26
|
+
private _backgroundColor?;
|
|
27
|
+
private _fillColor?;
|
|
28
|
+
private _bindsNotationIcon;
|
|
29
|
+
private _image;
|
|
30
|
+
private _loaded;
|
|
31
|
+
private _onChange?;
|
|
32
|
+
constructor(options: CIconOptions);
|
|
33
|
+
get source(): string;
|
|
34
|
+
set source(value: string);
|
|
35
|
+
get width(): number;
|
|
36
|
+
set width(value: number);
|
|
37
|
+
get height(): number;
|
|
38
|
+
set height(value: number);
|
|
39
|
+
get backgroundColor(): string | undefined;
|
|
40
|
+
set backgroundColor(value: string | undefined);
|
|
41
|
+
get fillColor(): string | undefined;
|
|
42
|
+
set fillColor(value: string | undefined);
|
|
43
|
+
get loaded(): boolean;
|
|
44
|
+
get bindsNotationIcon(): boolean;
|
|
45
|
+
set bindsNotationIcon(value: boolean);
|
|
46
|
+
setOnChange(cb: (() => void) | undefined): void;
|
|
47
|
+
private loadSource;
|
|
48
|
+
private fetchSvg;
|
|
49
|
+
measure(_ctx: CanvasRenderingContext2D): Size;
|
|
50
|
+
render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
|
|
51
|
+
hitTest(point: {
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
}, bounds: Bounds): CComponent | null;
|
|
55
|
+
serialize(): SerializedCComponent;
|
|
56
|
+
toSVG(bounds: Bounds): string;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=CIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CIcon.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CIcon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAItF,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAOD;;GAEG;AACH,qBAAa,KAAM,YAAW,UAAU;IACtC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,IAAI,CAAC;IAErC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAa;gBAEnB,OAAO,EAAE,YAAY;IAyBjC,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAOvB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAKvB;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAK5C;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAOtC;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAKnC;IAED,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI;YAIjC,UAAU;YAiBV,QAAQ;IAStB,OAAO,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI;IAI7C,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA2B3D,OAAO,CACL,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAC/B,MAAM,EAAE,MAAM,GACb,UAAU,GAAG,IAAI;IAapB,SAAS,IAAI,oBAAoB;IAejC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAmB9B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Bounds, Size } from '../../types';
|
|
2
|
+
import { CComponent, CComponentStyle, SerializedCComponent, SidesConfig } from './CComponent';
|
|
3
|
+
import { CContainer } from './CContainer';
|
|
4
|
+
export interface CShapeOptions {
|
|
5
|
+
id?: string;
|
|
6
|
+
borderColor?: string;
|
|
7
|
+
borderWidth?: number;
|
|
8
|
+
backgroundColor?: string;
|
|
9
|
+
cornerRadius?: number;
|
|
10
|
+
padding?: number | SidesConfig;
|
|
11
|
+
onClick?: (component: CShape) => void;
|
|
12
|
+
content?: CContainer;
|
|
13
|
+
style?: CComponentStyle;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A bordered box component for CompositeNode.
|
|
17
|
+
* Can contain a CContainer for recursive composition (e.g. UML class sections).
|
|
18
|
+
*/
|
|
19
|
+
export declare class CShape implements CComponent {
|
|
20
|
+
readonly type: "shape";
|
|
21
|
+
readonly id?: string;
|
|
22
|
+
style: CComponentStyle;
|
|
23
|
+
onClick?: (component: CShape) => void;
|
|
24
|
+
private _borderColor?;
|
|
25
|
+
private _borderWidth;
|
|
26
|
+
private _backgroundColor?;
|
|
27
|
+
private _cornerRadius;
|
|
28
|
+
private _padding;
|
|
29
|
+
private _content?;
|
|
30
|
+
private _onChange?;
|
|
31
|
+
constructor(options?: CShapeOptions);
|
|
32
|
+
get borderColor(): string | undefined;
|
|
33
|
+
set borderColor(value: string | undefined);
|
|
34
|
+
get borderWidth(): number;
|
|
35
|
+
set borderWidth(value: number);
|
|
36
|
+
get backgroundColor(): string | undefined;
|
|
37
|
+
set backgroundColor(value: string | undefined);
|
|
38
|
+
get cornerRadius(): number;
|
|
39
|
+
get padding(): number | SidesConfig;
|
|
40
|
+
get content(): CContainer | undefined;
|
|
41
|
+
setOnChange(cb: (() => void) | undefined): void;
|
|
42
|
+
measure(ctx: CanvasRenderingContext2D): Size;
|
|
43
|
+
render(ctx: CanvasRenderingContext2D, bounds: Bounds): void;
|
|
44
|
+
hitTest(point: {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
}, bounds: Bounds): CComponent | null;
|
|
48
|
+
serialize(): SerializedCComponent;
|
|
49
|
+
toSVG(bounds: Bounds): string;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=CShape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CShape.d.ts","sourceRoot":"","sources":["../../../src/elements/composite/CShape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,MAAO,YAAW,UAAU;IACvC,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAa;gBAEnB,OAAO,GAAE,aAAkB;IAgBvC,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAK5B;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAK5C;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,WAAW,CAElC;IAED,IAAI,OAAO,IAAI,UAAU,GAAG,SAAS,CAEpC;IAED,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI;IAI/C,OAAO,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAkB5C,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgD3D,OAAO,CACL,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAC/B,MAAM,EAAE,MAAM,GACb,UAAU,GAAG,IAAI;IA+BpB,SAAS,IAAI,oBAAoB;IAqBjC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAiC9B"}
|