@flowgram.ai/free-lines-plugin 0.1.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.
@@ -0,0 +1,65 @@
1
+ import React, { ReactNode, FC } from 'react';
2
+ import { WorkflowPortEntity, WorkflowLineEntity, LineType, WorkflowHoverService, WorkflowSelectService, WorkflowDocument } from '@flowgram.ai/free-layout-core';
3
+ import * as _flowgram_ai_core from '@flowgram.ai/core';
4
+ import { PluginContext, Layer, TransformData } from '@flowgram.ai/core';
5
+
6
+ interface WorkflowPortRenderProps {
7
+ entity: WorkflowPortEntity;
8
+ className?: string;
9
+ style?: React.CSSProperties;
10
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
11
+ }
12
+ declare const WorkflowPortRender: React.FC<WorkflowPortRenderProps>;
13
+
14
+ declare const LINE_OFFSET = 6;
15
+
16
+ interface LineRenderProps {
17
+ key: string;
18
+ fromColor?: string;
19
+ toColor?: string;
20
+ color?: string;
21
+ selected?: boolean;
22
+ showControlPoints?: boolean;
23
+ line: WorkflowLineEntity;
24
+ lineType: LineType;
25
+ version: string;
26
+ children?: ReactNode;
27
+ strokePrefix?: string;
28
+ }
29
+ interface LinesLayerOptions {
30
+ renderElement?: HTMLElement | (() => HTMLElement | undefined);
31
+ renderInsideLine?: FC<LineRenderProps>;
32
+ }
33
+ interface FreeLinesPluginOptions extends Omit<LinesLayerOptions, 'renderElement'> {
34
+ renderElement?: HTMLElement | ((ctx: PluginContext) => HTMLElement | undefined);
35
+ }
36
+
37
+ declare const createFreeLinesPlugin: _flowgram_ai_core.PluginCreator<FreeLinesPluginOptions>;
38
+
39
+ declare class LinesLayer extends Layer<LinesLayerOptions> {
40
+ static type: string;
41
+ hoverService: WorkflowHoverService;
42
+ selectService: WorkflowSelectService;
43
+ readonly lines: WorkflowLineEntity[];
44
+ readonly ports: WorkflowPortEntity[];
45
+ readonly trans: TransformData[];
46
+ protected workflowDocument: WorkflowDocument;
47
+ private layerID;
48
+ private mountedLines;
49
+ private _version;
50
+ /**
51
+ * 节点线条
52
+ */
53
+ node: HTMLDivElement;
54
+ onZoom(scale: number): void;
55
+ onReady(): void;
56
+ dispose(): void;
57
+ render(): JSX.Element;
58
+ private bumpVersion;
59
+ private lineProps;
60
+ private lineComponent;
61
+ private renderLine;
62
+ private get renderElement();
63
+ }
64
+
65
+ export { type FreeLinesPluginOptions, LINE_OFFSET, type LineRenderProps, LinesLayer, type LinesLayerOptions, WorkflowPortRender, type WorkflowPortRenderProps, createFreeLinesPlugin };
@@ -0,0 +1,65 @@
1
+ import React, { ReactNode, FC } from 'react';
2
+ import { WorkflowPortEntity, WorkflowLineEntity, LineType, WorkflowHoverService, WorkflowSelectService, WorkflowDocument } from '@flowgram.ai/free-layout-core';
3
+ import * as _flowgram_ai_core from '@flowgram.ai/core';
4
+ import { PluginContext, Layer, TransformData } from '@flowgram.ai/core';
5
+
6
+ interface WorkflowPortRenderProps {
7
+ entity: WorkflowPortEntity;
8
+ className?: string;
9
+ style?: React.CSSProperties;
10
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
11
+ }
12
+ declare const WorkflowPortRender: React.FC<WorkflowPortRenderProps>;
13
+
14
+ declare const LINE_OFFSET = 6;
15
+
16
+ interface LineRenderProps {
17
+ key: string;
18
+ fromColor?: string;
19
+ toColor?: string;
20
+ color?: string;
21
+ selected?: boolean;
22
+ showControlPoints?: boolean;
23
+ line: WorkflowLineEntity;
24
+ lineType: LineType;
25
+ version: string;
26
+ children?: ReactNode;
27
+ strokePrefix?: string;
28
+ }
29
+ interface LinesLayerOptions {
30
+ renderElement?: HTMLElement | (() => HTMLElement | undefined);
31
+ renderInsideLine?: FC<LineRenderProps>;
32
+ }
33
+ interface FreeLinesPluginOptions extends Omit<LinesLayerOptions, 'renderElement'> {
34
+ renderElement?: HTMLElement | ((ctx: PluginContext) => HTMLElement | undefined);
35
+ }
36
+
37
+ declare const createFreeLinesPlugin: _flowgram_ai_core.PluginCreator<FreeLinesPluginOptions>;
38
+
39
+ declare class LinesLayer extends Layer<LinesLayerOptions> {
40
+ static type: string;
41
+ hoverService: WorkflowHoverService;
42
+ selectService: WorkflowSelectService;
43
+ readonly lines: WorkflowLineEntity[];
44
+ readonly ports: WorkflowPortEntity[];
45
+ readonly trans: TransformData[];
46
+ protected workflowDocument: WorkflowDocument;
47
+ private layerID;
48
+ private mountedLines;
49
+ private _version;
50
+ /**
51
+ * 节点线条
52
+ */
53
+ node: HTMLDivElement;
54
+ onZoom(scale: number): void;
55
+ onReady(): void;
56
+ dispose(): void;
57
+ render(): JSX.Element;
58
+ private bumpVersion;
59
+ private lineProps;
60
+ private lineComponent;
61
+ private renderLine;
62
+ private get renderElement();
63
+ }
64
+
65
+ export { type FreeLinesPluginOptions, LINE_OFFSET, type LineRenderProps, LinesLayer, type LinesLayerOptions, WorkflowPortRender, type WorkflowPortRenderProps, createFreeLinesPlugin };