eb4290a45e10f90d3427b3a410bd63263d8824df
FeaturesGrid, Tabs, Accordion, PricingTable, Testimonials, Gallery, ContentSlider, NumberCounter, Menu, SocialLinks, Navbar and ContactForm store their content in array props rather than Craft child nodes, so the Layers tree showed nothing underneath them. This adds the pure deriveVirtualRows() function and VIRTUAL_CHILD_PROPS registry the Layers panel will consume in a later task. Verified the registry against each component's actual item interface: corrected Tabs (label field is `label`, not `title` -- TabItem has no `title`) and Content Slider (label field is `heading`, not `title` -- Slide has no `title`). Both would have silently fallen back to "Tab N" / "Slide N" for every existing site. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
Visual drag-and-drop website builder using GrapesJS
3.5 MiB
Languages
TypeScript
64.8%
HTML
16.1%
JavaScript
14.9%
CSS
3.2%
PHP
0.7%
Other
0.3%