openpencil/packages
Danila Poyarkov fee44ebdb7 feat(components): add variant property data model and core actions
Data model:
- Add ComponentPropertyDefinition and ComponentPropertyType to SceneNode
- Add componentPropertyValues for per-variant property values
- Populate from .fig import via componentPropDefs kiwi field
- Parse variant name=value syntax from component names on import

Core actions (packages/core/src/editor/components/variants.ts):
- Add/remove/rename variant property definitions with undo
- Collect variant options from component set children
- Find variant by property values
- Switch instance variant by changing a property value
- Parse and build variant name strings

Combine as variants:
- Parse slash-naming (Button/Primary/Large) into variant properties
- Auto-detect property columns from consistent slash counts
- Populate componentPropertyValues on each variant component

Ref #239
2026-05-07 16:12:46 +03:00
..
cli style: tighten import grouping 2026-05-06 02:22:08 +03:00
core feat(components): add variant property data model and core actions 2026-05-07 16:12:46 +03:00
demos feat: mobile layout, PWA support (#27) (#27) 2026-03-05 19:51:51 +03:00
docs test: organize prefixed test files into folders 2026-05-06 02:13:18 +03:00
mcp style: tighten import grouping 2026-05-06 02:22:08 +03:00
vue refactor: reuse blurTarget in inline rename 2026-05-07 10:30:27 +03:00