@pyreon/flow 0.10.0 → 0.11.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.
@@ -16,7 +16,7 @@ interface Viewport {
16
16
  y: number;
17
17
  zoom: number;
18
18
  }
19
- type HandleType = 'source' | 'target';
19
+ type HandleType = "source" | "target";
20
20
  declare enum Position {
21
21
  Top = "top",
22
22
  Right = "right",
@@ -54,7 +54,7 @@ interface FlowNode<TData = Record<string, unknown>> {
54
54
  /** Whether this node is a group */
55
55
  group?: boolean;
56
56
  }
57
- type EdgeType = 'bezier' | 'smoothstep' | 'straight' | 'step';
57
+ type EdgeType = "bezier" | "smoothstep" | "straight" | "step";
58
58
  interface FlowEdge {
59
59
  id?: string;
60
60
  source: string;
@@ -81,19 +81,19 @@ type ConnectionRule = Record<string, {
81
81
  outputs: string[];
82
82
  }>;
83
83
  type NodeChange = {
84
- type: 'position';
84
+ type: "position";
85
85
  id: string;
86
86
  position: XYPosition;
87
87
  } | {
88
- type: 'dimensions';
88
+ type: "dimensions";
89
89
  id: string;
90
90
  dimensions: Dimensions;
91
91
  } | {
92
- type: 'select';
92
+ type: "select";
93
93
  id: string;
94
94
  selected: boolean;
95
95
  } | {
96
- type: 'remove';
96
+ type: "remove";
97
97
  id: string;
98
98
  };
99
99
  interface EdgePathResult {
@@ -297,16 +297,16 @@ interface FlowInstance {
297
297
  /** Dispose all listeners and clean up */
298
298
  dispose: () => void;
299
299
  }
300
- type LayoutAlgorithm = 'layered' | 'force' | 'stress' | 'tree' | 'radial' | 'box' | 'rectpacking';
300
+ type LayoutAlgorithm = "layered" | "force" | "stress" | "tree" | "radial" | "box" | "rectpacking";
301
301
  interface LayoutOptions {
302
302
  /** Layout direction — default: 'DOWN' */
303
- direction?: 'UP' | 'DOWN' | 'LEFT' | 'RIGHT';
303
+ direction?: "UP" | "DOWN" | "LEFT" | "RIGHT";
304
304
  /** Spacing between nodes — default: 50 */
305
305
  nodeSpacing?: number;
306
306
  /** Spacing between layers — default: 80 */
307
307
  layerSpacing?: number;
308
308
  /** Edge routing — default: 'orthogonal' */
309
- edgeRouting?: 'orthogonal' | 'splines' | 'polyline';
309
+ edgeRouting?: "orthogonal" | "splines" | "polyline";
310
310
  /** Whether to animate the layout transition — default: true */
311
311
  animate?: boolean;
312
312
  /** Animation duration in ms — default: 300 */
@@ -319,7 +319,7 @@ interface FlowProps {
319
319
  children?: VNodeChild;
320
320
  }
321
321
  interface BackgroundProps {
322
- variant?: 'dots' | 'lines' | 'cross';
322
+ variant?: "dots" | "lines" | "cross";
323
323
  gap?: number;
324
324
  size?: number;
325
325
  color?: string;
@@ -337,10 +337,10 @@ interface ControlsProps {
337
337
  showZoomOut?: boolean;
338
338
  showFitView?: boolean;
339
339
  showLock?: boolean;
340
- position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
340
+ position?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
341
341
  }
342
342
  interface PanelProps {
343
- position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
343
+ position?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
344
344
  style?: string;
345
345
  class?: string;
346
346
  children?: VNodeChild;
@@ -503,7 +503,7 @@ declare function NodeResizer(props: NodeResizerProps): VNodeChild;
503
503
  //#region src/components/node-toolbar.d.ts
504
504
  interface NodeToolbarProps {
505
505
  /** Position relative to node — default: 'top' */
506
- position?: 'top' | 'bottom' | 'left' | 'right';
506
+ position?: "top" | "bottom" | "left" | "right";
507
507
  /** Offset from node in px — default: 8 */
508
508
  offset?: number;
509
509
  /** Only show when node is selected — default: true */
@@ -1 +1 @@
1
- {"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/components/background.tsx","../../../src/components/controls.tsx","../../../src/components/flow-component.tsx","../../../src/components/handle.tsx","../../../src/components/minimap.tsx","../../../src/components/node-resizer.tsx","../../../src/components/node-toolbar.tsx","../../../src/components/panel.tsx","../../../src/edges.ts","../../../src/flow.ts","../../../src/layout.ts","../../../src/styles.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/components/background.tsx","../../../src/components/controls.tsx","../../../src/components/flow-component.tsx","../../../src/components/handle.tsx","../../../src/components/minimap.tsx","../../../src/components/node-resizer.tsx","../../../src/components/node-toolbar.tsx","../../../src/components/panel.tsx","../../../src/edges.ts","../../../src/flow.ts","../../../src/layout.ts","../../../src/styles.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@pyreon/flow",
3
- "version": "0.10.0",
3
+ "version": "0.11.1",
4
4
  "description": "Reactive flow diagrams for Pyreon — signal-native nodes, edges, pan/zoom, auto-layout",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/pyreon/fundamentals.git",
9
- "directory": "packages/flow"
8
+ "url": "https://github.com/pyreon/pyreon.git",
9
+ "directory": "packages/fundamentals/flow"
10
10
  },
11
11
  "homepage": "https://github.com/pyreon/fundamentals/tree/main/packages/flow#readme",
12
12
  "bugs": {
13
- "url": "https://github.com/pyreon/fundamentals/issues"
13
+ "url": "https://github.com/pyreon/pyreon/issues"
14
14
  },
15
15
  "publishConfig": {
16
16
  "access": "public"
@@ -37,13 +37,20 @@
37
37
  "build": "vl_rolldown_build",
38
38
  "dev": "vl_rolldown_build-watch",
39
39
  "test": "vitest run",
40
- "typecheck": "tsc --noEmit"
40
+ "typecheck": "tsc --noEmit",
41
+ "lint": "biome check ."
41
42
  },
42
43
  "dependencies": {
43
44
  "elkjs": "^0.9.3"
44
45
  },
45
46
  "peerDependencies": {
46
- "@pyreon/core": ">=0.7.0 <0.8.0",
47
- "@pyreon/reactivity": ">=0.7.0 <0.8.0"
47
+ "@pyreon/core": "^0.11.1",
48
+ "@pyreon/reactivity": "^0.11.1"
49
+ },
50
+ "devDependencies": {
51
+ "@happy-dom/global-registrator": "^20.8.3",
52
+ "@pyreon/core": "^0.11.1",
53
+ "@pyreon/reactivity": "^0.11.1",
54
+ "@vitus-labs/tools-lint": "^1.11.0"
48
55
  }
49
56
  }
@@ -1,5 +1,5 @@
1
- import type { VNodeChild } from '@pyreon/core'
2
- import type { BackgroundProps } from '../types'
1
+ import type { VNodeChild } from "@pyreon/core"
2
+ import type { BackgroundProps } from "../types"
3
3
 
4
4
  /**
5
5
  * Background pattern for the flow canvas.
@@ -13,11 +13,11 @@ import type { BackgroundProps } from '../types'
13
13
  * ```
14
14
  */
15
15
  export function Background(props: BackgroundProps): VNodeChild {
16
- const { variant = 'dots', gap = 20, size = 1, color = '#ddd' } = props
16
+ const { variant = "dots", gap = 20, size = 1, color = "#ddd" } = props
17
17
 
18
18
  const patternId = `flow-bg-${variant}`
19
19
 
20
- if (variant === 'dots') {
20
+ if (variant === "dots") {
21
21
  return (
22
22
  <svg
23
23
  role="img"
@@ -32,14 +32,9 @@ export function Background(props: BackgroundProps): VNodeChild {
32
32
  y="0"
33
33
  width={String(gap)}
34
34
  height={String(gap)}
35
- {...{ patternUnits: 'userSpaceOnUse' }}
35
+ {...{ patternUnits: "userSpaceOnUse" }}
36
36
  >
37
- <circle
38
- cx={String(size)}
39
- cy={String(size)}
40
- r={String(size)}
41
- fill={color}
42
- />
37
+ <circle cx={String(size)} cy={String(size)} r={String(size)} fill={color} />
43
38
  </pattern>
44
39
  </defs>
45
40
  <rect width="100%" height="100%" fill={`url(#${patternId})`} />
@@ -47,7 +42,7 @@ export function Background(props: BackgroundProps): VNodeChild {
47
42
  )
48
43
  }
49
44
 
50
- if (variant === 'lines') {
45
+ if (variant === "lines") {
51
46
  return (
52
47
  <svg
53
48
  role="img"
@@ -62,7 +57,7 @@ export function Background(props: BackgroundProps): VNodeChild {
62
57
  y="0"
63
58
  width={String(gap)}
64
59
  height={String(gap)}
65
- {...{ patternUnits: 'userSpaceOnUse' }}
60
+ {...{ patternUnits: "userSpaceOnUse" }}
66
61
  >
67
62
  <line
68
63
  x1="0"
@@ -102,7 +97,7 @@ export function Background(props: BackgroundProps): VNodeChild {
102
97
  y="0"
103
98
  width={String(gap)}
104
99
  height={String(gap)}
105
- {...{ patternUnits: 'userSpaceOnUse' }}
100
+ {...{ patternUnits: "userSpaceOnUse" }}
106
101
  >
107
102
  <line
108
103
  x1={String(gap / 2 - size * 2)}
@@ -1,11 +1,11 @@
1
- import type { VNodeChild } from '@pyreon/core'
2
- import type { ControlsProps, FlowInstance } from '../types'
1
+ import type { VNodeChild } from "@pyreon/core"
2
+ import type { ControlsProps, FlowInstance } from "../types"
3
3
 
4
4
  const positionStyles: Record<string, string> = {
5
- 'top-left': 'top: 10px; left: 10px;',
6
- 'top-right': 'top: 10px; right: 10px;',
7
- 'bottom-left': 'bottom: 10px; left: 10px;',
8
- 'bottom-right': 'bottom: 10px; right: 10px;',
5
+ "top-left": "top: 10px; left: 10px;",
6
+ "top-right": "top: 10px; right: 10px;",
7
+ "bottom-left": "bottom: 10px; left: 10px;",
8
+ "bottom-right": "bottom: 10px; right: 10px;",
9
9
  }
10
10
 
11
11
  // Simple SVG icons
@@ -80,23 +80,21 @@ const LockIcon = () => (
80
80
  * </Flow>
81
81
  * ```
82
82
  */
83
- export function Controls(
84
- props: ControlsProps & { instance?: FlowInstance },
85
- ): VNodeChild {
83
+ export function Controls(props: ControlsProps & { instance?: FlowInstance }): VNodeChild {
86
84
  const {
87
85
  showZoomIn = true,
88
86
  showZoomOut = true,
89
87
  showFitView = true,
90
88
  showLock = false,
91
- position = 'bottom-left',
89
+ position = "bottom-left",
92
90
  instance,
93
91
  } = props
94
92
 
95
93
  if (!instance) return null
96
94
 
97
- const baseStyle = `position: absolute; ${positionStyles[position] ?? positionStyles['bottom-left']} display: flex; flex-direction: column; gap: 2px; z-index: 5; background: white; border: 1px solid #ddd; border-radius: 6px; padding: 2px; box-shadow: 0 1px 4px rgba(0,0,0,0.08);`
95
+ const baseStyle = `position: absolute; ${positionStyles[position] ?? positionStyles["bottom-left"]} display: flex; flex-direction: column; gap: 2px; z-index: 5; background: white; border: 1px solid #ddd; border-radius: 6px; padding: 2px; box-shadow: 0 1px 4px rgba(0,0,0,0.08);`
98
96
  const btnStyle =
99
- 'width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: none; background: transparent; border-radius: 4px; cursor: pointer; color: #555; padding: 0;'
97
+ "width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: none; background: transparent; border-radius: 4px; cursor: pointer; color: #555; padding: 0;"
100
98
 
101
99
  return () => {
102
100
  const zoomPercent = Math.round(instance.zoom() * 100)
@@ -104,12 +102,7 @@ export function Controls(
104
102
  return (
105
103
  <div class="pyreon-flow-controls" style={baseStyle}>
106
104
  {showZoomIn && (
107
- <button
108
- type="button"
109
- style={btnStyle}
110
- title="Zoom in"
111
- onClick={() => instance.zoomIn()}
112
- >
105
+ <button type="button" style={btnStyle} title="Zoom in" onClick={() => instance.zoomIn()}>
113
106
  <ZoomInIcon />
114
107
  </button>
115
108
  )}