Skip to content

feat(ui): add data table components - #8

Merged
kattsushi merged 1 commit into
feat/ui-packagefrom
feat/ui-package-data-table
May 21, 2026
Merged

kattsushi merged 1 commit into
feat/ui-packagefrom
feat/ui-package-data-table

Conversation

@kattsushi

Copy link
Copy Markdown
Owner

Part of tracker #2. Targets feat/ui-package.

Closes #1

Approved issue: #1

PR Type

  • Bug fix
  • New feature
  • Documentation only
  • Code refactoring
  • Maintenance/tooling
  • Breaking change

Summary

  • Adds the final planned custom data-table slice for @os-copilot/ui.
  • Implements DataTable using @tanstack/solid-table and existing table primitives.
  • Implements DataTableFilters with touch-friendly, collapsible mobile controls.

Chain Context

master
└── 📍 tracker #2: feat/ui-package
    ├── ✅ PR #3: scaffold package + shadcn routing
    ├── ✅ PR #4: Zaidan baseline + Storybook/CSS
    ├── ✅ PR #5: layout primitives + SSR/SPA verification
    ├── ✅ PR #6: component ergonomic subpath exports
    ├── ✅ PR #7: copy-id-button + marquee + Zaidan/Sonner toast
    └── 🔎 PR #8: data-table + data-table-filters

Changes

File Change
packages/ui/src/components/ui/data-table.tsx Adds TanStack Solid Table wrapper with mobile stacked/card fallback and desktop table rendering.
packages/ui/src/components/ui/data-table-filters.tsx Adds typed filter controls with touch-friendly controls and mobile collapsible container.
packages/ui/src/stories/ui/* Adds stories for data table and filters.
packages/ui/src/testing/* Extends SSR/SPA/import smoke coverage.
packages/ui/package.json, pnpm-workspace.yaml, pnpm-lock.yaml Adds @tanstack/solid-table via catalog and public subpath exports.
packages/ui/vite.config.ts Externalizes TanStack table for library build.

Test Plan

  • pnpm exec dprint check packages/ui/package.json pnpm-workspace.yaml packages/ui/src
  • pnpm exec oxlint packages/ui/src
  • pnpm nx test ui --run
  • pnpm nx typecheck ui
  • pnpm nx build ui
  • pnpm nx build-storybook ui
  • Fresh reviewer audit completed with no blockers.

Notes

  • No virtualization, server-side query orchestration, or advanced pagination is included in this slice.
  • Storybook still emits the known non-blocking @kobalte/core package.json warning.

Contributor Checklist

@kattsushi kattsushi added the type:feature New feature label May 21, 2026
@kattsushi kattsushi mentioned this pull request May 21, 2026
16 of 21 tasks
@kattsushi
kattsushi merged commit e380fac into feat/ui-package May 21, 2026
kattsushi added a commit that referenced this pull request May 22, 2026
* chore(ui): open package feature chain

* feat(ui): scaffold package and shadcn routing (#3)

* feat(ui): add Zaidan Storybook baseline

Merge PR 2 into the UI package tracker branch.

* feat(ui): add layout primitives and SSR smoke (#5)

* feat(ui): add component subpath exports (#6)

* feat(ui): add component subpath exports

* style(ui): format subpath smoke test

* feat(ui): add interaction utilities (#7)

* feat(ui): add interaction utilities

* fix(ui): use Zaidan Sonner toast

* feat(ui): add data table components (#8)

* fix(ui): preserve data filter input focus
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant