Wave 1–5 host quality: closed SSR, docs, demos, CSS - #136
Open
karim-semmoud wants to merge 23 commits into
Open
Conversation
Wire the three missing overlay machines to Corex HEEx, Zag vanilla hooks, Design CSS, registry contracts, and e2e doc pages. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Implement progress, rating group, steps, QR code, presence, splitter, scroll area, TOC, date input (beta), image cropper, navigation menu, cascade select (beta), and tour at the existing Corex host quality bar. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Translate Zag shared demo anatomy (parts, orientation, states) into Corex --ctl-* component CSS, expand recipe @Parts, and upgrade e2e /style pages to the tooltip/slider modifier contracts. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Keep Unreleased changelog entries from both sides. Rebuild priv/static JS so the redirect allowlist hardening and new Zag host chunks share one bundle. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Stamp overlay hosts closed on first paint, complete Anatomy/API/Events/Forms docs for value and overlay components, and restyle remaining playgrounds (cascade, tour, drawer, date input, rating, cropper, nav, progress, QR). Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Move event snippet attributes into assigns, restore DemoScales aliases, use float rating values, and repair tour close-trigger CSS so Tailwind can build e2e assets. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Drop SSR inline display:none on overlay content (Select-style hidden only) so Zag can show cascade, hover-card, drawer, and tour. Rebuild stale hook bundles so tour start, presence toggle, and cascade set-open listeners ship. Keep demo section ids from colliding with tour/presence hosts. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
karim-semmoud
marked this pull request as ready for review
August 31, 2026 08:25
Ignore JS opaque contracts on new overlay APIs, sync anatomy moduledocs with demo snippets, register form/live-form a11y routes, and use index-based style-matrix ids so aria-controls is a valid IDREF. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Zag labels the cascade trigger via a missing label id; fall back to aria-label from the placeholder. Paint nav links and triggers with control background so ui-solid stays readable. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Alphabetize Corex aliases and static ~S sigils so mix lint passes. Drop Zag tablist roles on step wrappers, label each TOC nav uniquely, and make the article scroller keyboard-focusable. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Zag still stamps tablist orientation after role is removed; plain divs cannot keep that attribute. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Consume Zag-owned geometry on overlays, cropper, progress, tour, drawer, and splitter. Stamp Connect.mounted_* ignore attrs on child parts instead of phx-update="ignore". Complete demo HEEx and loading/set_value surfaces. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Rebuild installer Corex CSS after recipe edits and restore Mix format/test delimiters. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Zag rating value is a float attr; 3.0 keeps HEEx compile clean. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Navigation menu now uses Corex.List items with trigger/link/content slots and copyable anatomy. Cropper waits for JS, covers carousel photos, and exports a preview CTA. Progress stamps circular geometry, uses Zag indeterminate, and adds a server pattern page. Rating group outline stars, keyboard-only focus, smileys, and no radius axis. Splitter, steps, TOC, tour, presence, and placement anatomies match Zag more closely. Cascade select, date input, and drawer stay in the library but leave the docs nav. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Presence now drives closed state from the requested present prop so Zag can finish the exit animation. Tour overlays portal above the site nav dialog. Navigation-menu and steps render_slot lists so custom slots copy cleanly. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Closed SSR no longer parks the positioner off-viewport with a leftover transform, which blocked the first Start tour click after hydrate. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Zag tour backdrop/positioner stayed in the docs main column stacking context, so the overlay sat under the sticky header and side nav. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
Demo previews clip position:fixed, and LiveView can steal portalled nodes by id. The overlay host is a manual popover on document.body, with a mutation observer to re-home backdrop, spotlight, and positioner. Co-authored-by: Karim Semmoud <karim-semmoud@users.noreply.github.com>
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.
Wave hosts quality pass plus a follow-up for anatomy slots, SSR, and overlay bugs.
Follow-up
Corex.Listitems with<:trigger>,<:link>, and<:content>slots and full copyable HEEx.object-fit: coverwith/images/beach.jpg, and a View preview CTA (getCroppedImage).value={null}), and/progress/patternsupdates value from the server with Reset.:focus-visibleonly, smileys + half-star anatomies, no radius axis.touch-action: none.typo+ lorem.document.body(data-corex-tour-overlay) so the overlay sits in the top layer above sticky chrome and demo overflow. A mutation observer re-homes parts if LiveView morphs them back.api.presentduring unmount) and persistsdata-presentacross LiveView updates.Tour step 1 overlay across the docs chrome
Tour step 2 Docs tooltip
tour_popover_covers_full_viewport_chrome.mp4
Earlier
openHEEx attrs.JS.ignore_attributes/Connect.mounted_*only.To show artifacts inline, enable in settings.