Skip to content

Commit 37eaaae

Browse files
committed
chore: bump version to 0.1.1
1 parent bf24453 commit 37eaaae

File tree

2 files changed

+42
-5
lines changed

2 files changed

+42
-5
lines changed

CHANGELOG.md

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @dschz/solid-flow
22

3+
## 0.1.1
4+
5+
### Patch Changes
6+
7+
- Fix repository link
8+
39
## 0.1.0
410

511
### Major Changes
@@ -9,22 +15,26 @@
915
### ✨ Core Features
1016

1117
#### **Main Components**
18+
1219
- **`SolidFlow`**: Main flow component with comprehensive props and event handling
1320
- **`SolidFlowProvider`**: Context provider for multi-flow scenarios and advanced state management
1421

1522
#### **Built-in Node Types**
23+
1624
- **`InputNode`**: Nodes with source handles only (workflow starting points)
17-
- **`OutputNode`**: Nodes with target handles only (workflow ending points)
25+
- **`OutputNode`**: Nodes with target handles only (workflow ending points)
1826
- **`DefaultNode`**: Standard nodes with both source and target handles
1927
- **`GroupNode`**: Container nodes for organizing and grouping other nodes
2028

2129
#### **Built-in Edge Types**
30+
2231
- **`BezierEdge`**: Smooth curved connections (default styling)
2332
- **`StraightEdge`**: Direct straight-line connections
2433
- **`StepEdge`**: Right-angle step-style connections
2534
- **`SmoothStepEdge`**: Rounded step connections with smooth corners
2635

2736
#### **Plugin Components**
37+
2838
- **`Background`**: Customizable canvas backgrounds with multiple pattern variants:
2939
- Dots pattern with configurable size and spacing
3040
- Lines pattern for grid-style backgrounds
@@ -55,14 +65,16 @@
5565
### 🎣 **Reactive State Management**
5666

5767
#### **Store-Based Architecture**
68+
5869
- **`createNodeStore()`**: Type-safe reactive store for nodes with full TypeScript support
5970
- **`createEdgeStore()`**: Type-safe reactive store for edges with custom type integration
6071
- **`createSolidFlow()`**: Core flow state management with SolidJS reactivity
6172

6273
#### **Essential Hooks**
74+
6375
- **`useSolidFlow()`**: Main flow instance hook with comprehensive API:
6476
- `addNodes()`, `updateNode()`, `deleteElements()` for programmatic control
65-
- `screenToFlowPosition()`, `flowToScreenPosition()` for coordinate transformations
77+
- `screenToFlowPosition()`, `flowToScreenPosition()` for coordinate transformations
6678
- `fitView()`, `zoomIn()`, `zoomOut()` for viewport management
6779
- **`useConnection()`**: Real-time connection state during drag operations
6880
- **`useNodesData()`**: Reactive access to specific node data with automatic updates
@@ -72,18 +84,21 @@
7284
### 🎨 **Customization & Extensibility**
7385

7486
#### **Custom Components**
87+
7588
- Full TypeScript support for custom node and edge components
7689
- `NodeProps<TData, TType>` and `EdgeProps<TData, TType>` for type-safe component creation
7790
- Multiple handle support with custom positioning and styling
7891
- Custom drag handles with selector-based configuration
7992

8093
#### **Type Safety**
94+
8195
- Generic type parameters for nodes and edges throughout the API
8296
- `satisfies NodeTypes` and `satisfies EdgeTypes` patterns for type inference
8397
- Automatic data validation based on node/edge types
8498
- IntelliSense support for custom component properties
8599

86100
#### **Styling & Theming**
101+
87102
- CSS custom properties support for theme customization
88103
- Light/dark/system color modes with SSR support
89104
- Comprehensive CSS class system for styling overrides
@@ -92,18 +107,21 @@
92107
### 🎯 **Interaction & Navigation**
93108

94109
#### **Viewport Controls**
110+
95111
- Smooth pan and zoom with mouse, touch, and keyboard support
96112
- Configurable zoom limits and pan boundaries
97113
- Snap-to-grid functionality with customizable grid sizes
98114
- Fit view with padding and specific node targeting
99115

100116
#### **Selection System**
117+
101118
- Single and multi-node/edge selection
102119
- Selection box (drag-to-select multiple items)
103120
- Keyboard shortcuts (Ctrl/Cmd+click, Shift+click)
104121
- Programmatic selection control with event callbacks
105122

106123
#### **Drag & Drop**
124+
107125
- Built-in node dragging with multi-selection support
108126
- External drag-and-drop for adding new elements
109127
- Custom drag handles for specialized interactions
@@ -113,13 +131,15 @@
113131
### **Accessibility Features**
114132

115133
#### **Keyboard Navigation**
134+
116135
- Full tab navigation between focusable elements
117136
- Arrow key navigation for selected nodes
118137
- Enter/Space key activation for selection
119138
- Delete key for removing selected elements
120139
- Customizable keyboard shortcuts and key bindings
121140

122141
#### **Screen Reader Support**
142+
123143
- ARIA labels and descriptions for all interactive elements
124144
- `A11yDescriptions` component for enhanced screen reader context
125145
- Semantic HTML structure throughout components
@@ -129,12 +149,14 @@
129149
### **Performance & Optimization**
130150

131151
#### **Rendering Performance**
152+
132153
- Fine-grained reactivity using SolidJS's reactive primitives
133154
- Only re-renders components when their specific data changes
134155
- Efficient viewport calculations and coordinate transformations
135156
- Memory-optimized node and edge storage
136157

137158
#### **Large Dataset Handling**
159+
138160
- Stress-tested with hundreds of nodes and edges
139161
- Optimized selection algorithms for large graphs
140162
- Efficient intersection detection and bounds calculations
@@ -143,6 +165,7 @@
143165
### 🔧 **Developer Experience**
144166

145167
#### **Comprehensive Examples**
168+
146169
- **25+ Interactive Examples** in the included playground:
147170
- Basic usage and getting started
148171
- Custom nodes and edges with multiple handles
@@ -155,13 +178,15 @@
155178
- Node toolbar and resizer implementations
156179

157180
#### **TypeScript Integration**
181+
158182
- Full TypeScript support with strict type checking
159183
- Generic type parameters throughout the API
160184
- IntelliSense support for all components and hooks
161185
- Type-safe custom component creation
162186
- Automatic type inference for node and edge data
163187

164188
#### **Development Tools**
189+
165190
- Comprehensive error handling with development warnings
166191
- Performance monitoring and debugging utilities
167192
- Hot reload support during development
@@ -170,13 +195,15 @@
170195
### 🔗 **Connection System**
171196

172197
#### **Connection Handling**
198+
173199
- Drag-to-connect interface with visual feedback
174200
- Click-to-connect alternative interaction mode
175201
- Connection validation with `isValidConnection` callback
176202
- Custom connection line components with full styling control
177203
- Auto-panning during connection creation
178204

179205
#### **Handle System**
206+
180207
- Multiple handles per node (source and target)
181208
- Custom handle positioning with `Position` enum
182209
- Handle-specific connection rules and validation
@@ -186,50 +213,58 @@
186213
### 📊 **Utility Functions**
187214

188215
#### **Coordinate Transformations**
216+
189217
- `screenToFlowPosition()`: Convert screen coordinates to flow coordinates
190218
- `flowToScreenPosition()`: Convert flow coordinates to screen coordinates
191219
- Automatic viewport transformation handling
192220

193221
#### **Graph Utilities**
222+
194223
- `getNodesBounds()`: Calculate bounding box for node collections
195224
- `getIntersectingNodes()`: Find nodes that intersect with a given node
196225
- `getConnectedEdges()`: Get all edges connected to specific nodes
197226
- `getIncomers()` and `getOutgoers()`: Get connected nodes in specific directions
198227

199228
#### **Edge Utilities**
229+
200230
- `addEdge()`: Add new edges to existing collections
201231
- `getBezierPath()`, `getStraightPath()`, `getSmoothStepPath()`: Path calculation utilities
202232
- `getEdgeCenter()`: Calculate center points for edge labeling
203233

204234
### 🏗️ **Architecture & Patterns**
205235

206236
#### **Store-First Design**
237+
207238
- Built around SolidJS's reactive store system rather than signals
208239
- Immutable updates using `produce()` from solid-js/store
209240
- Automatic subscription to store changes throughout the component tree
210241

211242
#### **Event System**
243+
212244
- Comprehensive event handling for all user interactions:
213245
- Node events: click, drag, hover, focus, context menu
214-
- Edge events: click, hover, focus, context menu
246+
- Edge events: click, hover, focus, context menu
215247
- Pane events: click, context menu, viewport changes
216248
- Selection events: selection start, change, and end
217249
- Connection events: connection start, connect, and end
218250

219251
#### **Plugin Architecture**
252+
220253
- Modular plugin components that integrate seamlessly
221254
- Consistent API patterns across all plugin components
222255
- Easy integration of custom plugins following established patterns
223256

224257
### 🔄 **Compatibility & Integration**
225258

226259
#### **SolidJS Integration**
260+
227261
- Built specifically for SolidJS 1.8.0+
228262
- Leverages SolidJS's fine-grained reactivity system
229263
- Compatible with SolidJS ecosystem tools and patterns
230264
- SSR support for server-side rendering scenarios
231265

232266
#### **External Dependencies**
267+
233268
- `@xyflow/system`: Core flow logic and utilities (v0.0.68)
234269
- `@solid-primitives/*`: SolidJS primitive utilities for enhanced functionality
235270
- `clsx`: Utility for conditional CSS class names
@@ -238,12 +273,14 @@
238273
### 📦 **Package & Distribution**
239274

240275
#### **Multiple Export Formats**
276+
241277
- ESM modules with tree-shaking support
242278
- TypeScript declaration files included
243279
- Separate styles export for CSS customization
244280
- Optimized bundle sizes for production use
245281

246282
#### **Development Setup**
283+
247284
- Comprehensive development playground with live examples
248285
- Vite-based development server with HMR
249286
- TypeScript strict mode for development
@@ -268,4 +305,4 @@ This is the first release, so no migration is needed. However, developers famili
268305

269306
---
270307

271-
**Full Changelog**: https://github.com/dsnchz/solid-flow/releases/tag/v0.1.0
308+
**Full Changelog**: https://github.com/dsnchz/solid-flow/releases/tag/v0.1.0

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@dschz/solid-flow",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"description": "Solid Flow - A highly customizable Solid library for building node-based editors, workflow systems, diagrams and more.",
55
"type": "module",
66
"author": "Daniel Sanchez <[email protected]>",

0 commit comments

Comments
 (0)