Skip to content

Add InteractiveRow WithButton story, SectionHeader pattern, and new primitives#6

Open
zoeforfun wants to merge 11 commits into
mainfrom
feat/interactive-row-with-button-and-section-header
Open

Add InteractiveRow WithButton story, SectionHeader pattern, and new primitives#6
zoeforfun wants to merge 11 commits into
mainfrom
feat/interactive-row-with-button-and-section-header

Conversation

@zoeforfun
Copy link
Copy Markdown
Contributor

Summary

  • Add SectionHeader pattern to @nexu-design/ui-web and migrate all demo pages to use it from the library instead of a local copy
  • Add FilterPills, NavItem primitives and SkillMarketplaceCard pattern with dedicated Storybook stories
  • Add WithButton story variant for InteractiveRow showcasing reward-row pattern with real platform logos (GitHub, Xiaohongshu, Calendar)
  • Consolidate duplicate @nexu-design/ui-web imports across demo pages
  • Replace deprecated Badge variant brand with accent

Test plan

  • pnpm --filter @nexu-design/ui-web typecheck passes
  • pnpm --filter @nexu-design/ui-web test — 50 files, 94 tests pass
  • pnpm --filter @nexu-design/storybook typecheck passes
  • pnpm format:check passes

Made with Cursor

chaoxiaoche added 10 commits March 31, 2026 17:56
Align the token package with the authoritative design system in
apps/demo/src/index.css. Key changes:

Colors:
- Swap primary (near-black) and accent (teal) roles to match brand intent
- Add info + info-subtle functional color (#2657bb)
- Add link functional color (#1F68FE)
- Correct success color to #00A365
- Consolidate danger → error (#f8672f), remove all danger references
- Add border variants (subtle, strong, hover, card)
- Add text levels (heading, tertiary, placeholder, disabled)
- Add dark surface tokens (dark-bg, dark-surface, dark-surface-hover, dark-border)
- Add accent variants (accent-subtle, accent-glow)

Shadows:
- Add semantic shadows: shadow-rest, shadow-card, shadow-dropdown, shadow-focus
- Extend scale shadows with shadow-lg and shadow-xl

Radius:
- Simplify to 6 levels (sm/md/lg/xl/2xl/pill), remove unused xs and 3xl

Typography & Spacing:
- Add font-sans, font-mono, font-heading tokens
- Define full spacing scale (0.5 through 24)

Surfaces:
- Add surface-0 through surface-4 (remove unused surface-5)

Infrastructure:
- Update generate-styles.mjs with direct-value mapping support for non-HSL tokens
- Update token-data.ts with new TypeScript types and exports
- Extend Storybook token studio with display sections for all new categories
- Update Storybook theme and token controls to match new design system

Made-with: Cursor
Auto-format tokens.stories.tsx (JSX multi-line props, trailing commas)
and token-data.ts with biome. Also includes index.css refactor to
import shared tokens from @nexu-design/tokens instead of duplicating.

Made-with: Cursor
Migrate reusable components and tokens from apps/demo index.css into the
shared packages so consumers get them out of the box:

New primitives:
- StatusDot – semantic status indicator (success/warning/error/info/neutral)
  with size and pulse variants
- TextLink – styled anchor with default and muted variants, icon support
- Prose – markdown/rich-text container with default and compact sizes

Token additions (packages/tokens):
- Semantic shadows: --shadow-refine, --shadow-elevated, --shadow-overlay
- Toggle color: --color-toggle-on (#007AFF)
- Six core keyframe animations (fade-in, scale-in, fade-in-up, page-enter,
  breathe, float)

Component refinements aligned with nexu demo specs:
- Card: rounded-xl, hover lift effect, new static variant, muted text sizing
- Alert: flex layout for icon-text alignment, smaller description text
- Accordion: added horizontal padding (px-4)
- Avatar: nexu logo as default fallback
- Combobox: gray hover instead of accent, selected state styling, compact search
- ConversationMessage: user bubble uses light gray instead of accent, lighter shadow
- Badge/Button stories: added WithIcons and Disabled showcases
- Collapsible story: tighter spacing and smaller content text

All changes include tests (14 new, 100 total passing) and Storybook stories.

Made-with: Cursor
- ConversationMessage: update bubble styles (user=gray bg, assistant=white+border),
  right-align user meta, add multi-turn/long-message/system stories, use Avatar component,
  add a11y test coverage
- Button: reduce gap to 1.5, change ghost hover from accent to gray
- Table/DataTable: soften borders to border-subtle, align padding, refine header colors
- DetailPanel: soften borders, use bg-surface-0, use Badge component in story
- Dialog: soften border, use bg-surface-0, upgrade shadow to lg, align description tokens
- DropdownMenu: soften borders, gray hover states, align all colors to token system
- EntityCard: add EntityCardMediaImage and EntityCardMediaFallback sub-components,
  built-in white bg + border on media container, add 37 skill-icon SVGs from digital repo
- All navigation text links: add ArrowUpRight icon (size-3)

Made-with: Cursor
- Add MonoDigits utility for selective mono font on numeric characters
- Apply MonoDigits to pricing-card, stat-card, stats-bar values
- Fix Feishu logo SVG and add WeChat platform logo
- Refine Switch component with macOS style (2 sizes, link blue color)
- Align Textarea invalid focus state with Input component
- Optimize Table styles: font sizes, transitions, density, design tokens
- Refine Select focus/hover to match Input conventions
- Improve Sonner toast visuals: subtle colors, icon alignment
- Remove redundant badge "brand" variant (merged into "accent")
- Update Sidebar story to match Nexu app layout
- Add Tabs WithCount story variant
- Remove unused stories: SplitView, StatCard, StatsBar, Stepper
- Move ActivityBar to Reserved category
- Fix mono font token usage across prose, file-editor, stepper
- Various Storybook demo refinements (icons, labels, scroll-area, etc.)

Made-with: Cursor
…hy tokens

- Fix accessibility: add aria-controls/aria-labelledby to Accordion and
  Collapsible, add aria-current to Stepper, aria-hidden to Spinner/Input
  icons, remove improper tabIndex from Progress, add displayName to
  DropdownMenu wrappers
- Unify visual styles: align Dialog/Sheet title/description/surface/blur,
  Combobox bg and focus ring to match Select, Tooltip use token colors,
  DetailPanel and DropdownMenu icon sizes to 16px
- Add typography token system: 9-step font size scale (10px–30px),
  4 font weights, 6 semantic text style compositions, override Tailwind
  defaults in @theme inline with paired line-heights
- Migrate all components from scattered text-[Npx] to token utilities
- Add z-index layer tokens (base/raised/dropdown/modal/toast/tooltip)
- Remove application-specific patterns: WorkspaceShell, FileEditor,
  FileTree, InspectorPanel, SectionHeader, SettingsSection
- Remove redundant Scenario stories from Storybook
- Update Token Studio with font size, font weight, text style, and
  z-index visualization sections

Made-with: Cursor
Resolve conflicts from PR #4 (token sync) merge into main.
Keep HEAD (PR branch) additions: typography tokens, z-index layers,
semantic shadows, keyframe animations, and text style compositions.

Made-with: Cursor
- Remove orphan <<<<<<< HEAD markers from styles.css, token-source.json,
  tokens.stories.tsx
- Move Digits @font-face declarations from demo to tokens/styles.css so
  all consumers (including Storybook) get tabular-digit rendering
- Copy JetBrains Mono woff2 files to Storybook public/fonts
- Update typography token descriptions with full font stack details

Made-with: Cursor
- progress.tsx: suppress useFocusableInteractive (progressbar is passive)
- entity-card.tsx: make alt prop required for useAltText
- entity-card.test.tsx: replace non-null assertions with explicit checks
- badge/text-link stories: fix import ordering
- prose.stories.tsx: suppress noDangerouslySetInnerHtml (intentional)
- mono-digits.tsx: suppress noArrayIndexKey (positional split fragments)

Made-with: Cursor
- Add SectionHeader, FilterPills, NavItem primitives and SkillMarketplaceCard pattern to ui-web
- Add dedicated Storybook stories for each new component
- Add InteractiveRow WithButton story variant with real platform logos
- Consolidate demo page imports to use SectionHeader from ui-web instead of local copy
- Replace deprecated Badge variant "brand" with "accent" across demo pages

Made-with: Cursor
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 1, 2026

Deploying nexu-design with  Cloudflare Pages  Cloudflare Pages

Latest commit: ac5e17e
Status: ✅  Deploy successful!
Preview URL: https://d3d2328a.nexu-design.pages.dev
Branch Preview URL: https://feat-interactive-row-with-bu.nexu-design.pages.dev

View logs

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