Skip to content

feat: table component with data, editable, and async variants#83

Merged
starc007 merged 39 commits into
mainfrom
feat/table
Jul 1, 2026
Merged

feat: table component with data, editable, and async variants#83
starc007 merged 39 commits into
mainfrom
feat/table

Conversation

@starc007

@starc007 starc007 commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Virtualized, production-ready table shipped as three installable variants.

Component (components/motion/table/)

Split into focused modules: index.tsx (orchestrator), table-header.tsx, per-concern hooks (use-column-sort, use-row-selection, use-column-resize, use-column-reorder), plus table-menu, editable-cell, row-handle, skeleton-rows, types, utils.

  • Virtualized via @tanstack/react-virtual — smooth at 10k+ rows.
  • Sortable headers, row selection (controlled/uncontrolled).
  • Column resize (spacer model, no squeeze) + drag reorder.
  • Native editing: editable cells, editable column names, insert/delete rows and columns.
  • Notion-style handles — portal ellipses on the column-top / row-left borders (unclipped, hover-bridge) opening Insert before/after + Delete menus.
  • Active-column top-border highlight.
  • Async: onEndReached + loading + skeleton rows for infinite scroll.

Variants (each its own install command)

  • @beui/table — Data Table (10k rows, sort/select/resize/reorder, row count).
  • @beui/table-editable — inline edit + insert/delete via handles, editable/read-only toggle.
  • @beui/table-async — skeleton on first load, infinite scroll paged fetch.

bun run check green (typecheck, lint, registry — 38 components validated).

starc007 added 30 commits June 30, 2026 20:53
@starc007 starc007 merged commit 0d87b5a into main Jul 1, 2026
2 checks passed
@starc007 starc007 deleted the feat/table branch July 1, 2026 12:14
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