Extend authored carousels with slideshow presentation - #1507
Merged
Conversation
…elity # Conflicts: # php-transformer/src/HtmlToBlocks/HtmlTransformer.php
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
authored-carouselfrontend behavior onto the WordPress Interactivity API@wordpress/interactivityin the companion view-module asset manifestheroSliderwithout site-specific vocabularyWhy
The existing companion block represented a multi-item scrolling track. Captured slideshows were either left unsupported or rendered incorrectly as inset multi-item strips. This keeps one editable carousel primitive and parameterizes the presentation instead of introducing a parallel slideshow block.
Source-Derived Contract
For slideshow-shaped source markup, conversion recovers:
itemsPerView: 1The Interactivity API owns previous/next, keyboard navigation, direct dot selection, live status, bounded/wrapping state, autoplay cleanup, hover/focus pause, and reduced-motion behavior.
Browser Evidence
Measured against the same captured source and imported WordPress page:
1440x9111440x911390x253390x253Additional checks:
@wordpress/interactivityThe full 34-page import completed with 34 receipts, 0 invalid blocks, 0
core/html, and 0 freeform blocks. Its existing eight form-provider fallbacks are unchanged.Verification
composer validate --strictcomposer testDependency
Static Site Importer must accept module import specifiers in generated script dependency manifests. That focused companion-contract PR follows separately.
AI Assistance
OpenAI GPT-5.6 Sol via OpenCode inspected current trunk, traced the generated module/runtime contract, implemented the parameterized Interactivity API behavior, wrote tests, rebuilt and imported the full site, and measured browser output against the captured source. Chris Huber directed the implementation and reviewed the live site.