Skip to content

feat: implement reusable Table component (#229)#355

Open
Favourof wants to merge 3 commits into
BCPathway:mainfrom
Favourof:feat/229-table-component
Open

feat: implement reusable Table component (#229)#355
Favourof wants to merge 3 commits into
BCPathway:mainfrom
Favourof:feat/229-table-component

Conversation

@Favourof

Copy link
Copy Markdown

Summary

Implemented a reusable, accessible Table React component for the @bc-forge/react library to provide a consistent UI. The component supports various sizes and variants, includes proper ARIA attributes, unit testing with accessibility checks (jest-axe), and Storybook component documentation.

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📝 Documentation update
  • 🔧 Smart contract improvement
  • 🧪 Test coverage improvement
  • 🏗️ CI/Build improvement

Related Issue

Closes #229

Changes Made

  • Created Table, TableHeader, TableBody, TableRow, TableCell, and TableHead components in react/src/components/Table/Table.tsx.
  • Styled the component and its variants (default, striped, bordered) and sizes (sm, md, lg) using Vanilla CSS in Table.css.
  • Configured Jest, React Testing Library, and jest-axe within the @bc-forge/react package.
  • Added unit and accessibility tests in Table.test.tsx ensuring correct rendering and zero axe-core violations.
  • Wrote Storybook documentation for the component and its variants in Table.stories.tsx.
  • Exported the components in react/src/index.ts.

Testing

How has this been tested?

  • Rust unit tests pass (cargo test)
  • SDK compiles (npm run build in sdk/)
  • Manual testing against Soroban testnet
  • New tests added for changes
  • React component tests pass (npm run test in react/)

Test commands run:

# React component tests
cd react && npm run test

Checklist

  • My code follows the project's style guidelines
  • I have added NatSpec-style comments to new Rust functions
  • I have added JSDoc comments to new TypeScript functions
  • I have updated the README if needed
  • My branch follows the naming convention: feature/<issue-number>-<description> (Note: Used feat/229-table-component)
  • I have not modified files outside the scope of this issue

Drips.network Contributor Info

Screenshots (if applicable)

@drips-wave

drips-wave Bot commented Jun 23, 2026

Copy link
Copy Markdown

@Favourof Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Favourof

Copy link
Copy Markdown
Author

@p3ris0n please marge

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.

Frontend: Implement Reusable Table Component

1 participant