Problem. The shipped DataTable doesn't support per-column cell templating, so eis-chat built an app-owned generic DataGrid<T> block used across two surfaces (VS3 sessions, VS4 KB docs).
Proposed API.
columns: { key; header; width?; cell?: 'strong' | 'num'; render(row): ComponentChildren }[]
rows: { id; data; selected?; onSelect?; href? }[] // href -> f-client-nav link row; onSelect -> button row
Value. Templated columns + link/button row semantics + selection, tokens-only, a11y. Promote as the templated successor to DataTable.
Surfaced during the eis-chat v2 refactor (netscript alpha.18). Promotion candidate → @netscript/fresh-ui / web-layer.
Problem. The shipped
DataTabledoesn't support per-column cell templating, so eis-chat built an app-owned genericDataGrid<T>block used across two surfaces (VS3 sessions, VS4 KB docs).Proposed API.
Value. Templated columns + link/button row semantics + selection, tokens-only, a11y. Promote as the templated successor to
DataTable.Surfaced during the eis-chat v2 refactor (netscript alpha.18). Promotion candidate →
@netscript/fresh-ui/ web-layer.