Repository navigation
fix(php-transformer): adopt existing-panel snapshots as in-place captured dropdowns (#3051) - #3052
Merged
Merged
Conversation
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
A wired panel with an existing-panel snapshot is now always adopted as an in-place captured dropdown bound to its trigger, instead of being restored as a resting panel with dead wiring. The resting snapshot only decides how it presents while closed: the panel keeps its authored resting class/style (so a #2992 desktop nav stays visible where its toggle is hidden, and a class-hidden phone menu stays closed), and the captured-dialog view runtime swaps it to the opened class/style when its trigger opens it and back on close. The view runtime is only syntax-checked with node --check; no DOM test harness exists, so open/close was not exercised in a browser.
What changed
How to test
cd php-transformer && composer install --no-interaction --prefer-dist --no-progress && composer test:canonical; expect passes as recorded by Cook's deterministic gate.Compatibility
Additive block attributes (resting, restingState) with empty defaults, so existing captured-dialog blocks are unchanged. Behaviour change: every wired panel with an existing-panel snapshot, including ones that rest with hidden:true, is now an in-place dropdown instead of a restored panel (hidden:false) or a dropdown under the header (hidden:true without observed placement). composer test:canonical passes; phpstan is clean on the changed files. The view runtime was syntax-checked with node --check but not run in a browser.
Evidence
cd php-transformer && composer install --no-interaction --prefer-dist --no-progress && composer test:canonical: status=succeeded; candidate commit867e1e71aa4696bbc9ded466a0f14352b4cffb62, tree7ff1781a9741ee17f6c9de1f3d69c7a78a7c5eb3, fingerprintbd662e16ecd870420d0126b6fb3bedcacf4852657f985a0220ff9bc14ae39168; durable gategate-1AI assistance