Skip to content

fix: interface polish — text-wrap, tabular numbers, concentric radius - #882

Open
ravisuhag wants to merge 1 commit into
mainfrom
polish/text-wrap-tabular-radius
Open

fix: interface polish — text-wrap, tabular numbers, concentric radius#882
ravisuhag wants to merge 1 commit into
mainfrom
polish/text-wrap-tabular-radius

Conversation

@ravisuhag

Copy link
Copy Markdown
Member

Small interface-polish fixes across the design system, from a full /make-interfaces-feel-better sweep of all 76 components. Every change stays in the existing --rs-* token system. No new styling approach, no API changes.

Hit-area findings (the one HIGH systemic issue — small IconButton close/dismiss targets) are left out on purpose and tracked as a follow-up.

Changes

Text wrapping

  • text-wrap: pretty on body copy: tooltip, callout, toast, chat item, message bubble, command/menu empty states, dialog/drawer/tour descriptions, field description + error, reasoning body, and the base Text primitive.
  • text-wrap: balance on the Headline class so it holds when render swaps the tag (global balance only lands on real h1h4).

Tabular numbers

  • font-variant-numeric: tabular-nums on live numbers: meter value, progress value, indicator badge, tour step counter. Stops horizontal jitter as digit widths change.

Concentric radius (outer = inner + padding)

  • toggle radius-1radius-2, toolbar radius-2radius-3, select/combobox menu items radius-2radius-1, chat attachment thumb radius-2radius-1.

Animations

  • Accordion chevron now shares the panel's ease-out curve so they move as one.
  • Interactive chips get the --rs-scale-pressed-strong press feedback their dismiss button already had (a chip is interactive or dismissible, never both).

Performance

  • Dropped the always-on will-change: transform from the switch thumb.

Verification

Biome clean (pre-commit passed). Changes are additive one-liners in the token system. Not driven in a browser — reviewer should confirm meter/progress digit stability and the accordion chevron/panel timing in the Animations panel.

Apply small polish fixes across the design system, all in the --rs-* token
system. Hit-area findings are intentionally left out of this PR.

- text-wrap: pretty on body copy (tooltip, callout, toast, chat, message,
  command/menu empty states, dialog/drawer/tour descriptions, field
  description + error, reasoning, base Text); balance on the Headline class
  so it holds when render swaps the tag
- font-variant-numeric: tabular-nums on live numbers (meter, progress,
  indicator, tour step counter) to stop digit jitter
- concentric radius: toggle, toolbar, select/combobox items, chat thumb
- accordion chevron shares the panel ease-out curve; interactive chips get
  the press scale their dismiss button already had
- drop always-on will-change on the switch thumb
@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
apsara Ready Ready Preview Aug 6, 2026 7:31pm

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Updated component styling across Raystack. Text content now uses improved or balanced wrapping in multiple components. Numeric values use tabular glyphs. Several controls received border-radius, transition, pressed-state, and rendering updates. Attachment media and toolbar geometry also changed.

Suggested reviewers: rohanchkrabrty, paansinghcoder

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the interface-polish changes, including text wrapping, tabular numbers, and radius updates.
Description check ✅ Passed The description accurately explains the design-system styling changes, exclusions, verification status, and lack of API changes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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 `@packages/raystack/components/tour/tour-parts.tsx`:
- Around line 67-68: Update the public Tour.Progress component’s style prop
handling so caller-provided styles are merged with, rather than replace, the
default fontVariantNumeric: 'tabular-nums' style. Adjust the prop spread/order
in the component while preserving all other forwarded props.
🪄 Autofix

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: 59e266e5-4a5c-4ebc-9f27-4828e5c5f932

📥 Commits

Reviewing files that changed from the base of the PR and between d527aa4 and 5250a88.

📒 Files selected for processing (25)
  • packages/raystack/components/accordion/accordion.module.css
  • packages/raystack/components/callout/callout.module.css
  • packages/raystack/components/chat/chat.module.css
  • packages/raystack/components/chip/chip.module.css
  • packages/raystack/components/combobox/combobox.module.css
  • packages/raystack/components/command/command.module.css
  • packages/raystack/components/dialog/dialog.module.css
  • packages/raystack/components/drawer/drawer.module.css
  • packages/raystack/components/field/field.module.css
  • packages/raystack/components/headline/headline.module.css
  • packages/raystack/components/indicator/indicator.module.css
  • packages/raystack/components/menu/menu.module.css
  • packages/raystack/components/message/message.module.css
  • packages/raystack/components/meter/meter.module.css
  • packages/raystack/components/progress/progress.module.css
  • packages/raystack/components/reasoning/reasoning.module.css
  • packages/raystack/components/select/select.module.css
  • packages/raystack/components/switch/switch.module.css
  • packages/raystack/components/text/text.module.css
  • packages/raystack/components/toast/toast.module.css
  • packages/raystack/components/toggle/toggle.module.css
  • packages/raystack/components/toolbar/toolbar.module.css
  • packages/raystack/components/tooltip/tooltip.module.css
  • packages/raystack/components/tour/tour-parts.tsx
  • packages/raystack/components/tour/tour.module.css
💤 Files with no reviewable changes (1)
  • packages/raystack/components/switch/switch.module.css

Comment on lines +67 to 68
style={{ fontVariantNumeric: 'tabular-nums' }}
{...props}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Preserve tabular numerals when callers pass style.

TourProgressProps accepts the style prop. Because {...props} follows the explicit style, a caller-provided style replaces the inline object and removes fontVariantNumeric: 'tabular-nums'.

The supplied tour namespace exports this component as public Tour.Progress.

Proposed fix
-      style={{ fontVariantNumeric: 'tabular-nums' }}
       {...props}
+      style={{ ...props.style, fontVariantNumeric: 'tabular-nums' }}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
style={{ fontVariantNumeric: 'tabular-nums' }}
{...props}
{...props}
style={{ ...props.style, fontVariantNumeric: 'tabular-nums' }}
🤖 Prompt for 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.

In `@packages/raystack/components/tour/tour-parts.tsx` around lines 67 - 68,
Update the public Tour.Progress component’s style prop handling so
caller-provided styles are merged with, rather than replace, the default
fontVariantNumeric: 'tabular-nums' style. Adjust the prop spread/order in the
component while preserving all other forwarded props.

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