Skip to content

fix: add cursor-pointer to the gallery streaming demo button#1057

Merged
vivek7405 merged 1 commit into
mainfrom
fix/gallery-cursor-pointer
Jul 23, 2026
Merged

fix: add cursor-pointer to the gallery streaming demo button#1057
vivek7405 merged 1 commit into
mainfrom
fix/gallery-cursor-pointer

Conversation

@vivek7405

Copy link
Copy Markdown
Collaborator

The scaffold gallery's streaming demo ("Stream tokens" button on /features/streaming) was missing cursor-pointer. Tailwind v4 removed the default cursor: pointer on <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 across packages/cli/templates/gallery/** (resolving shared class-consts and shadow-DOM static 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 a cursor-pointer class, a shared btn const, or cursor: pointer in a shadow component's static 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.

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.
@vivek7405 vivek7405 self-assigned this Jul 23, 2026
@vivek7405
vivek7405 merged commit af638b9 into main Jul 23, 2026
10 checks passed
@vivek7405
vivek7405 deleted the fix/gallery-cursor-pointer branch July 23, 2026 05:59
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.
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