feat: add CanvasPathEditor and editable path functionality
- Implemented CanvasPathEditor component for editing paths on the canvas. - Created editablePath module to handle path data manipulation and conversion to SVG. - Introduced pathPen module for managing path drawing with a pen tool, including anchor management and path data generation. - Added tests for editablePath and pathPen functionalities to ensure correctness of path editing and drawing behavior.
This commit is contained in:
Generated
+77
@@ -4,7 +4,24 @@ settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
overrides:
|
||||
leafer-x-path-editor>@leafer-in/state: 2.2.2
|
||||
|
||||
patchedDependencies:
|
||||
leafer-x-path-editor@1.1.3:
|
||||
hash: ypuxjyaot5mkx7bppr2oqh3qu4
|
||||
path: patches/leafer-x-path-editor@1.1.3.patch
|
||||
|
||||
dependencies:
|
||||
'@leafer-in/editor':
|
||||
specifier: 2.2.2
|
||||
version: 2.2.2(@leafer-in/interface@2.2.2)(@leafer-in/resize@2.2.2)(@leafer-ui/core@2.2.2)(@leafer-ui/draw@2.2.2)(@leafer-ui/interface@2.2.2)
|
||||
'@leafer-ui/core':
|
||||
specifier: 2.2.2
|
||||
version: 2.2.2
|
||||
'@leafer-ui/interface':
|
||||
specifier: 2.2.2
|
||||
version: 2.2.2
|
||||
'@node-projects/acad-ts':
|
||||
specifier: 2.3.0
|
||||
version: 2.3.0
|
||||
@@ -32,6 +49,9 @@ dependencies:
|
||||
leafer-ui:
|
||||
specifier: 2.2.2
|
||||
version: 2.2.2
|
||||
leafer-x-path-editor:
|
||||
specifier: ^1.1.3
|
||||
version: 1.1.3(patch_hash=ypuxjyaot5mkx7bppr2oqh3qu4)(@leafer-in/editor@2.2.2)(@leafer-in/interface@2.2.2)(@leafer-ui/core@2.2.2)(@leafer-ui/interface@2.2.2)
|
||||
lucide-react:
|
||||
specifier: ^1.23.0
|
||||
version: 1.23.0(react@19.2.7)
|
||||
@@ -356,6 +376,22 @@ packages:
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@leafer-in/editor@2.2.2(@leafer-in/interface@2.2.2)(@leafer-in/resize@2.2.2)(@leafer-ui/core@2.2.2)(@leafer-ui/draw@2.2.2)(@leafer-ui/interface@2.2.2):
|
||||
resolution: {integrity: sha512-HSYZ/WUr3c4XvUySJtSKBlwoZCBrqFtTb9i9dguZuhknKE54KXEkx1mizTjLyN0NN67PHPhpIxh+3U4G9o8ZmA==}
|
||||
peerDependencies:
|
||||
'@leafer-in/interface': ^2.2.2
|
||||
'@leafer-in/resize': ^2.2.2
|
||||
'@leafer-ui/core': ^2.2.2
|
||||
'@leafer-ui/draw': ^2.2.2
|
||||
'@leafer-ui/interface': ^2.2.2
|
||||
dependencies:
|
||||
'@leafer-in/interface': 2.2.2(@leafer-ui/interface@2.2.2)(@leafer/interface@2.2.2)
|
||||
'@leafer-in/resize': 2.2.2(@leafer-in/interface@2.2.2)(@leafer-ui/draw@2.2.2)(@leafer-ui/interface@2.2.2)
|
||||
'@leafer-ui/core': 2.2.2
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer-ui/interface': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-in/interface@2.2.2(@leafer-ui/interface@2.2.2)(@leafer/interface@2.2.2):
|
||||
resolution: {integrity: sha512-7fN7hEd2d+0glIH12ijjPx+XSqn+Q9RwoCkUpATNynfimv4u7ezWoJQFa76Aj0uusWW3ghpzW5vbO07IR2tJmA==}
|
||||
peerDependencies:
|
||||
@@ -366,6 +402,30 @@ packages:
|
||||
'@leafer/interface': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-in/resize@2.2.2(@leafer-in/interface@2.2.2)(@leafer-ui/draw@2.2.2)(@leafer-ui/interface@2.2.2):
|
||||
resolution: {integrity: sha512-h1u3TIgODBb+RAXwvhBcTqW3Yprbb6sJm7sCDtvXCewxcGSJ2jz6Gb9TaZ4SY1Nj/6aRKK+9Eplw5AWWeTwCNQ==}
|
||||
peerDependencies:
|
||||
'@leafer-in/interface': ^2.2.2
|
||||
'@leafer-ui/draw': ^2.2.2
|
||||
'@leafer-ui/interface': ^2.2.2
|
||||
dependencies:
|
||||
'@leafer-in/interface': 2.2.2(@leafer-ui/interface@2.2.2)(@leafer/interface@2.2.2)
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer-ui/interface': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-in/state@2.2.2(@leafer-in/interface@2.2.2)(@leafer-ui/core@2.2.2)(@leafer-ui/interface@2.2.2):
|
||||
resolution: {integrity: sha512-s8VjDuTdYA5yUVLfY207RZ1x9879e0ogk8YZOFVKMf5hT5MNDcOqdbrhs82uVo7v4MpetyAR6VyJOMcdvjmEmw==}
|
||||
peerDependencies:
|
||||
'@leafer-in/interface': ^2.2.2
|
||||
'@leafer-ui/core': ^2.2.2
|
||||
'@leafer-ui/interface': ^2.2.2
|
||||
dependencies:
|
||||
'@leafer-in/interface': 2.2.2(@leafer-ui/interface@2.2.2)(@leafer/interface@2.2.2)
|
||||
'@leafer-ui/core': 2.2.2
|
||||
'@leafer-ui/interface': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/app@2.2.2:
|
||||
resolution: {integrity: sha512-mN0ItJqbtJPwWiqo7rvl8GpVGMNUd8/VgZ0MUZxad8kxkKkjnnCoawczj+URF61ebDgO2U6OUSnhi4bPSmh5QQ==}
|
||||
dependencies:
|
||||
@@ -1732,6 +1792,23 @@ packages:
|
||||
'@leafer/partner': 2.2.2
|
||||
dev: false
|
||||
|
||||
/leafer-x-path-editor@1.1.3(patch_hash=ypuxjyaot5mkx7bppr2oqh3qu4)(@leafer-in/editor@2.2.2)(@leafer-in/interface@2.2.2)(@leafer-ui/core@2.2.2)(@leafer-ui/interface@2.2.2):
|
||||
resolution: {integrity: sha512-blqVMWuatQjEO+FAsUNCXX+k1ynV4dFX4M0iwzVPQpUQICgMs/j5xj9FLokyPat6eCJ41wtl9RJkID5F3NMiUw==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
'@leafer-in/editor': 1.1.0
|
||||
'@leafer-ui/core': 1.1.0
|
||||
'@leafer-ui/interface': 1.1.0
|
||||
dependencies:
|
||||
'@leafer-in/editor': 2.2.2(@leafer-in/interface@2.2.2)(@leafer-in/resize@2.2.2)(@leafer-ui/core@2.2.2)(@leafer-ui/draw@2.2.2)(@leafer-ui/interface@2.2.2)
|
||||
'@leafer-in/state': 2.2.2(@leafer-in/interface@2.2.2)(@leafer-ui/core@2.2.2)(@leafer-ui/interface@2.2.2)
|
||||
'@leafer-ui/core': 2.2.2
|
||||
'@leafer-ui/interface': 2.2.2
|
||||
transitivePeerDependencies:
|
||||
- '@leafer-in/interface'
|
||||
dev: false
|
||||
patched: true
|
||||
|
||||
/lightningcss-android-arm64@1.32.0:
|
||||
resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
|
||||
Reference in New Issue
Block a user