@blueking/flow-canvas 0.0.1-beta.4 → 0.0.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/dist/index.d.ts CHANGED
@@ -320,6 +320,7 @@ interface InsertNodeOptions {
320
320
  gap?: number;
321
321
  source?: CommandSource;
322
322
  label?: string;
323
+ direction?: InsertDirection;
323
324
  }
324
325
  interface CanvasApi {
325
326
  zoomIn(): void;
@@ -345,10 +346,9 @@ interface CanvasApi {
345
346
  /** 收集所有插件为指定坐标提供的右键菜单项,由消费方自行渲染菜单 UI */
346
347
  getContextMenuItems(position: ScreenPosition): ContextMenuItem[];
347
348
  /**
348
- * sourceNode 右侧插入新节点。
349
- * - 位置:水平 = sourceNode.right + gap,垂直居中对齐
350
- * - autoWireEdges=true 时:若 sourceNode right 端口已有出边,
351
- * 删除该出边并创建 source→new 和 new→target 两条新边;
349
+ * 默认在 sourceNode 右侧插入新节点,也可通过 options.direction 指定 top/right/bottom/left。
350
+ * - 位置:根据 direction 沿对应方向插入,并在垂直/水平方向居中对齐
351
+ * - autoWireEdges=true 时:优先使用 direction 对应的 source 端口与新节点的反向端口自动连线;
352
352
  * 否则只创建 source→new 一条边
353
353
  * - 所有命令打包在一个 CommandEnvelope 中原子执行
354
354
  */
@@ -371,11 +371,20 @@ type ConnectionValidateResult = {
371
371
  reason?: string;
372
372
  };
373
373
  type ConnectionValidator = (ctx: ConnectionValidateContext) => ConnectionValidateResult;
374
+ type InsertDirection = 'top' | 'right' | 'bottom' | 'left';
375
+ type QuickAddPortResolver = (node: FlowNodeModel, ports: FlowPortModel[]) => string | FlowPortModel | null | undefined;
376
+ type QuickAddInsertDirectionResolver = (node: FlowNodeModel, port: FlowPortModel | null) => InsertDirection | null | undefined;
374
377
  interface QuickAddConfig {
375
378
  /** 全局开关,默认 true */
376
379
  enabled?: boolean;
377
380
  /** "+"按钮 hover 时的 tooltip 文案 */
378
381
  tooltipText?: string;
382
+ /** quick-add 绑定的端口分组,默认 'right';节点不存在该分组端口时将不显示 quick-add */
383
+ portGroup?: string;
384
+ /** 精确指定 quick-add 使用哪个端口;优先级高于 portGroup */
385
+ getPort?: QuickAddPortResolver;
386
+ /** 点击 quick-add 插入节点时使用的方向;默认跟随绑定 port 的标准方向,不可推断时回退为 'right' */
387
+ insertDirection?: InsertDirection | QuickAddInsertDirectionResolver;
379
388
  }
380
389
  interface NodePaletteItem {
381
390
  type: string;
@@ -733,6 +742,7 @@ interface DefaultToolbarItemsOptions {
733
742
  */
734
743
  declare function createDefaultToolbarItems(options?: DefaultToolbarItemsOptions): CanvasToolbarItem[];
735
744
 
745
+ type BuiltinEdgeType = 'manhattan' | 'bezier';
736
746
  interface DefaultNodeTypeConfig {
737
747
  label?: string;
738
748
  icon?: string;
@@ -750,6 +760,7 @@ interface DefaultSchemaResult {
750
760
  schema: CanvasSchema;
751
761
  paletteItems: NodePaletteItem[];
752
762
  }
763
+ declare function createBuiltinEdgeTypes(): Record<BuiltinEdgeType, CanvasEdgeDefinition>;
753
764
  /**
754
765
  * 创建内置的默认 Schema,提供开箱即用的节点与边类型。
755
766
  *
@@ -804,5 +815,5 @@ declare function clipboardPlugin(): CanvasPlugin;
804
815
 
805
816
  declare function generateId(): string;
806
817
 
807
- export { CanvasConstraintError, _default$5 as CanvasLayout, _default$3 as CanvasNodePalette, _default$6 as CanvasRuntime, CanvasSchemaError, _default$4 as CanvasToolbar, _default$2 as DefaultNode, _default$1 as NodeActionsToolbar, _default as NodeQuickAddPopover, applyCanvasCommand, clipboardPlugin, connectionValidatorPlugin, createCanvasHistory, createDefaultSchema, createDefaultToolbarItems, createEmptyFlowModel, generateId, minimapPlugin, selectionPlugin, snaplinePlugin, useCanvasEditor };
808
- export type { BuiltinToolbarType, CanvasApi, CanvasCallbackContext, CanvasCommand, CanvasEdgeDefinition, CanvasEditorContext, CanvasEditorOptions, CanvasHistory, CanvasHistoryOptions, CanvasMode, CanvasNodeDefinition, CanvasPlugin, CanvasPosition, CanvasSchema, CanvasSelection, CanvasToolbarItem, CanvasUiEvent, CommandEnvelope, CommandExecutionError, CommandExecutionResult, CommandPreview, CommandRejection, CommandSource, ConnectionValidateContext, ConnectionValidateResult, ConnectionValidator, ContextMenuItem, DefaultNodeTypeConfig, DefaultSchemaOptions, DefaultSchemaResult, DefaultToolbarItemsOptions, EdgeDecoration, EdgeRenderState, EdgeStyle, EditorPluginContext, ExportOptions, FlowEdgeLabelModel, FlowEdgeModel, FlowModel, FlowModelChangeEvent, FlowNodeModel, FlowPortModel, InsertNodeOptions, MinimapPluginOptions, NodeActionsConfig, NodeBehaviorConfig, NodeDecoration, NodePaletteItem, OverlayManager, QuickAddConfig, RuntimePluginContext, ScreenPosition, SelectionPluginOptions, SnaplinePluginOptions };
818
+ export { CanvasConstraintError, _default$5 as CanvasLayout, _default$3 as CanvasNodePalette, _default$6 as CanvasRuntime, CanvasSchemaError, _default$4 as CanvasToolbar, _default$2 as DefaultNode, _default$1 as NodeActionsToolbar, _default as NodeQuickAddPopover, applyCanvasCommand, clipboardPlugin, connectionValidatorPlugin, createBuiltinEdgeTypes, createCanvasHistory, createDefaultSchema, createDefaultToolbarItems, createEmptyFlowModel, generateId, minimapPlugin, selectionPlugin, snaplinePlugin, useCanvasEditor };
819
+ export type { BuiltinEdgeType, BuiltinToolbarType, CanvasApi, CanvasCallbackContext, CanvasCommand, CanvasEdgeDefinition, CanvasEditorContext, CanvasEditorOptions, CanvasHistory, CanvasHistoryOptions, CanvasMode, CanvasNodeDefinition, CanvasPlugin, CanvasPosition, CanvasSchema, CanvasSelection, CanvasToolbarItem, CanvasUiEvent, CommandEnvelope, CommandExecutionError, CommandExecutionResult, CommandPreview, CommandRejection, CommandSource, ConnectionValidateContext, ConnectionValidateResult, ConnectionValidator, ContextMenuItem, DefaultNodeTypeConfig, DefaultSchemaOptions, DefaultSchemaResult, DefaultToolbarItemsOptions, EdgeDecoration, EdgeRenderState, EdgeStyle, EditorPluginContext, ExportOptions, FlowEdgeLabelModel, FlowEdgeModel, FlowModel, FlowModelChangeEvent, FlowNodeModel, FlowPortModel, InsertDirection, InsertNodeOptions, MinimapPluginOptions, NodeActionsConfig, NodeBehaviorConfig, NodeDecoration, NodePaletteItem, OverlayManager, QuickAddConfig, QuickAddInsertDirectionResolver, QuickAddPortResolver, RuntimePluginContext, ScreenPosition, SelectionPluginOptions, SnaplinePluginOptions };