fix: add cursor-pointer to the gallery streaming demo button#1057
Merged
Conversation
The streaming demo's 'Stream tokens' button was the one gallery button missing cursor-pointer (Tailwind v4 dropped the default button cursor, and every other gallery button already sets it per-button). A full audit of every button and @click element in the gallery found this was the only gap.
This was referenced Jul 23, 2026
vivek7405
added a commit
that referenced
this pull request
Jul 23, 2026
Rewrite components/ui/button.ts into the gallery's themed design token (the own-and-theme @webjsdev/ui model): a variant scale (default/secondary/ghost/ link) + size scale (default/sm/xs/none) whose class values reproduce the gallery's existing look (rounded-xl primary, card-surfaced secondary, muted link), with dense teaching comments on WHY a class helper (no indirection, one source of truth, the #1057 cursor gap becomes impossible) and HOW to theme it. Convert every light-DOM gallery button (~25 sites across 15 files, plus the stream-demo shared const) from hand-rolled inline Tailwind to buttonClass({ variant, size }). Bespoke toggles (todo checkbox/delete, the like pill) and shadow-DOM demos are left as-is. All feature pages render and webjs check passes.
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.
The scaffold gallery's streaming demo ("Stream tokens" button on
/features/streaming) was missingcursor-pointer. Tailwind v4 removed the defaultcursor: pointeron<button>, so the gallery sets it per-button, and this one was missed.Scope: audited the whole gallery, this was the only gap
Ran a full audit of every
<button>and every@click/role="button"element acrosspackages/cli/templates/gallery/**(resolving shared class-consts and shadow-DOMstatic styles, and tracking${...}depth so arrow-handler>does not truncate the tag). Result: the streaming button was the ONLY interactive element missing a pointer cursor. Every other button already has it, via acursor-pointerclass, a sharedbtnconst, orcursor: pointerin a shadow component'sstatic styles.Approach
Per-button
cursor-pointer, matching the established gallery convention (Tailwind utility-first, not a global base rule). One-token change.Found by dogfooding the generated gallery.