feat(preview): comprehensive framework showcase with 7 tabbed sections - #328
Conversation
Replaces the partial sample UI with a full live-preview showcase covering every aspect of the SLASHED framework: color variant ladders, palette scales, LumLocker demo, full typography scale, all layout primitives (stack/cluster/ grid/sidebar/switcher/cover/frame/bento), macro classes, state classes, and a complete tokens reference — all driven by the live --sf-* custom properties. https://claude.ai/code/session_01XYKxYrtpTLeMmZ3Lw3BHbV
|
Warning Review limit reached
More reviews will be available in 28 minutes and 23 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough
ChangesMulti-section Preview Rewrite
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@configurator/src/components/Preview.svelte`:
- Line 130: The demo anchor links with hash hrefs (like href="`#a`") are causing
URL hash mutations and scroll jumps in the preview pane. Apply a click event
handler with preventDefault to all preview-only anchor elements to prevent the
default link navigation behavior while keeping them interactive for
demonstration purposes. This handler needs to be applied consistently at all
four affected locations in configurator/src/components/Preview.svelte: line 130
(the anchor at pv__a class), lines 415-418, line 599, and lines 870-873. Use the
same handler pattern across all these locations to ensure consistent
non-navigating behavior throughout the preview pane.
- Around line 110-113: The Preview component declares a tablist/tab pattern
using role="tablist" and role="tab" but lacks the complete tab implementation
required for proper accessibility. Either implement the full tabs pattern by
adding aria-controls attributes to each tab button pointing to corresponding tab
panels with role="tabpanel", implementing roving tabindex behavior, and adding
arrow-key navigation handlers (ArrowLeft/ArrowRight to switch active sections),
or simplify the semantics by removing the tablist/tab roles and aria-label from
the container and the role="tab" attributes from the buttons to make them
standard toggle buttons that don't imply keyboard navigation requirements.
- Around line 102-104: The three icon-only buttons for light theme, dark theme,
and motion preference controls lack explicit accessible names, relying only on
title attributes which assistive technology may not reliably detect. Add
aria-label attributes to each button (the light theme button with ☀ emoji, the
dark theme button with ☾ emoji, and the motion preference button with 🐢 emoji)
with clear, descriptive names that properly identify the control's purpose and
intent for screen readers and other assistive technology.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 6d68f990-39af-4677-8e77-c4302acaa16e
📒 Files selected for processing (1)
configurator/src/components/Preview.svelte
- Add aria-label to icon-only theme/motion buttons (☀ ☾ 🐢) - Downgrade incomplete tab semantics to role="group" + aria-pressed - Add preventDemoNav handler to all demo anchor links to stop hash mutations https://claude.ai/code/session_01XYKxYrtpTLeMmZ3Lw3BHbV
Replaces the partial sample UI with a full live-preview showcase covering
every aspect of the SLASHED framework: color variant ladders, palette scales,
LumLocker demo, full typography scale, all layout primitives (stack/cluster/
grid/sidebar/switcher/cover/frame/bento), macro classes, state classes, and
a complete tokens reference — all driven by the live --sf-* custom properties.
https://claude.ai/code/session_01XYKxYrtpTLeMmZ3Lw3BHbV
Summary by CodeRabbit