Skip to content

fix(directive-demos): prereq card CSS, tested-with panel, hotspots, Joule footer - #3093

Merged
jung-thomas merged 1 commit into
DEVfrom
worktree-fix-demo-samples-render
Nov 10, 2026
Merged

jung-thomas merged 1 commit into
DEVfrom
worktree-fix-demo-samples-render

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Summary

Four MORE broken features on the directive demos, found by driving the live browser (not just HTML grep — that's what missed them before). All verified with getComputedStyle/unit tests.

  1. Prereq card 0×0 — .tut-prereq-card/.prereq-* selectors existed in no stylesheet. Added rules to directives-ui.css (already bundled). Card now has a visible box.
  2. "Tested with" panel missing — render-frontmatter.ts emits the testedWith param but nothing ever invoked the shortcode. Render it inline in u1-object-page.html from .Params.testedWith + added .tut-tested-with CSS.
  3. Image hotspots leaked as raw text — goldmark attaches {attr} blocks only to BLOCK elements, not inline images. images.ts now moves a standalone image's trailing {hotspots=...} onto the next line so goldmark attaches it → render-image.html emits the .tut-hotspot overlay anchors. In-prose images untouched. +4 unit tests.
  4. Joule input full-viewport-width — the autohide-footer rule in ui5-overrides.css targeted a bare footer descendant, which also matched the Joule panel's nested <footer class="joule-panel__footer"> and forced it position:fixed;left:0;right:0. Scoped to body > footer.site-footer. Verified live: input docks inside the 420px panel (was 1263px).

Testing

  • npm test -- images → 40/40 pass
  • Joule: live getComputedStyle before/after — selector no longer matches the Joule footer; input geometry now inputWithinPanel: true
  • Full browser re-verify of all 4 happens after this merges + a DEV rebuild

Next

Merge → DEV rebuild of the 4 demo slugs → browser-verify each renders, then DEV→main→PROD.

…ots, Joule footer scope

Four demo-tutorial features were broken (verified in live browser, not just HTML):

1. Prereq card (::requires) rendered 0x0 — .tut-prereq-card/.prereq-* had NO CSS
   rule in any shipped stylesheet. Added rules to directives-ui.css (bundled).

2. "Tested with" panel never appeared — render-frontmatter.ts emits the
   testedWith param but nothing invoked the shortcode. Render it inline in
   u1-object-page.html from .Params.testedWith + added .tut-tested-with CSS.

3. Image hotspots (![](img){hotspots="..."}) leaked as raw text — goldmark only
   attaches {attr} blocks to BLOCK elements, not inline images. images.ts now
   moves a standalone image's trailing {...} onto the next line so goldmark
   attaches it and render-image.html emits the .tut-hotspot overlay anchors.
   In-prose images left untouched. +4 unit tests.

4. Joule chat input spanned the whole viewport — the autohide-footer rule in
   ui5-overrides.css targeted a bare `footer` descendant, which also matched the
   Joule panel's nested <footer class="joule-panel__footer"> and forced it
   position:fixed/left:0/right:0. Scoped the rule to `body > footer.site-footer`.
   Verified live: input now docks inside the 420px panel (was 1263px full-width).

40/40 image tests pass; Joule selector + geometry verified via live getComputedStyle.
@jung-thomas
jung-thomas merged commit 91bd11f into DEV Nov 10, 2026
5 checks passed
@jung-thomas
jung-thomas deleted the worktree-fix-demo-samples-render branch November 10, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant