Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
5017f89
feat: add virtualized table component
starc007 Jun 30, 2026
3d8ae0c
feat: add column resize and reorder to table
starc007 Jun 30, 2026
d42b1ad
fix: make table preview full width
starc007 Jun 30, 2026
c0ecc4a
fix: track cursor 1:1 when resizing table columns
starc007 Jun 30, 2026
aaaa1ea
fix: resize columns by trading width with neighbor to avoid gap
starc007 Jun 30, 2026
274432e
fix: resize handles sit between columns; add spring lift to dragged h…
starc007 Jun 30, 2026
f9b5099
fix: make last table column a flexible filler so resizing reflows cle…
starc007 Jun 30, 2026
a74fa60
fix: every table column resizes uniformly via a trailing spacer column
starc007 Jun 30, 2026
76ae48e
fix: freeze all columns on resize so only the spacer absorbs the change
starc007 Jun 30, 2026
fd9b8d9
fix: deterministic column widths so resizing never reflows other columns
starc007 Jun 30, 2026
8b1e375
refactor: shrink-wrap table to column widths instead of spacer math
starc007 Jun 30, 2026
82ae8b4
fix: last table column fills remaining width, others resize against it
starc007 Jun 30, 2026
44119c9
fix: column resize uses spacer fill with w-max so columns never compress
starc007 Jun 30, 2026
e5d9f3f
refactor: split table into folder with per-concern hooks and header
starc007 Jul 1, 2026
445bdfb
feat: add editable table example with inline cell edit and row/column…
starc007 Jul 1, 2026
900e92d
feat: native editable cells, column/row insert-delete menus; drop footer
starc007 Jul 1, 2026
035e195
feat: editor-style hover handles for column/row menus instead of icons
starc007 Jul 1, 2026
42193dd
fix: left-align non-sortable header labels to match cells
starc007 Jul 1, 2026
7aa9916
feat: grip-dot column handle and selected-column border on hover
starc007 Jul 1, 2026
54f0065
fix: single-row dots, box-shadow column lines, no row tint, square table
starc007 Jul 1, 2026
99a7c7d
fix: compact handle tabs on column-top and row-left borders, drop gutter
starc007 Jul 1, 2026
9ada68a
style: full ellipse handles instead of half-circle tabs
starc007 Jul 1, 2026
9b99a31
feat: portal column handle sits on top border, unclipped, with hover …
starc007 Jul 1, 2026
89eeb07
style: shrink column handle pill to h-2 w-6
starc007 Jul 1, 2026
6a67892
feat: portal row handle on the left border, mirroring the column handle
starc007 Jul 1, 2026
388e583
fix: highlight only the active column header cell, not the row cells
starc007 Jul 1, 2026
e402acb
fix: highlight only the active column top border
starc007 Jul 1, 2026
ee724f0
fix: insert column at its position instead of appending to the end
starc007 Jul 1, 2026
4ddbeb9
feat: two installable table variants (table, table-editable)
starc007 Jul 1, 2026
1e9fb4b
feat: editable column names via onColumnRename
starc007 Jul 1, 2026
a5a532c
style: round the data table variant
starc007 Jul 1, 2026
3ba7156
feat: editable/read-only toggle in the editable table example
starc007 Jul 1, 2026
b70b0c8
feat: opt-in showRowCount footer, enabled on the data table
starc007 Jul 1, 2026
a23ac58
refactor: show row count in the preview, not the table component
starc007 Jul 1, 2026
eb3b131
fix: keep fill-width until columns resized so editable toggle doesn't…
starc007 Jul 1, 2026
857bccb
fix: reset input UA border so editable toggle keeps cell text aligned
starc007 Jul 1, 2026
50e373a
fix: size=1 on cell/header inputs so fixed columns keep their width
starc007 Jul 1, 2026
921d631
feat: async table variant with skeleton rows and infinite scroll
starc007 Jul 1, 2026
d7e04c7
refactor: move table from blocks to the components category
starc007 Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions components/motion/checkbox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export interface CheckboxProps {
label?: string;
className?: string;
id?: string;
"aria-label"?: string;
}

export function Checkbox({
Expand All @@ -26,6 +27,7 @@ export function Checkbox({
label,
className,
id: idProp,
"aria-label": ariaLabel,
}: CheckboxProps) {
const autoId = useId();
const id = idProp ?? autoId;
Expand All @@ -47,6 +49,7 @@ export function Checkbox({
type="button"
role="checkbox"
aria-checked={indeterminate ? "mixed" : checked}
aria-label={ariaLabel}
disabled={disabled}
onClick={() => !disabled && onCheckedChange(!checked)}
whileTap={reduce || disabled ? undefined : { scale: 0.92 }}
Expand Down
22 changes: 22 additions & 0 deletions components/motion/table/editable-cell.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"use client";

export function EditableCell({
value,
label,
onChange,
}: {
value: string;
label: string;
onChange: (next: string) => void;
}) {
return (
<input
value={value}
aria-label={label}
size={1}
onChange={(e) => onChange(e.target.value)}
placeholder="Empty"
className="-mx-2 w-full min-w-0 appearance-none rounded-md border-0 bg-transparent px-2 py-1 text-foreground outline-none transition-colors placeholder:text-muted-foreground/40 focus:bg-muted focus:ring-1 focus:ring-ring"
/>
);
}
Loading
Loading