@cartis/core
v0.1.1
Published
Framework-agnostic, zero-dependency engine for headless tables and charts.
Readme
@cartis/core
Framework-agnostic, zero-dependency TypeScript engine for headless data tables and charts. No React, no DOM — pure logic and math.
- Table store (
createTable): filter → sort → paginate selectors, stable comparator policy (nulls-last, id tiebreak), multi-sort, 3-regime selection, per-column filters, aggregation, grouping, tree data, server/manual mode, and high-frequency transactional updates (applyTransaction/enqueue). - Formatters & export:
formatNumber/Currency/Percent/Compact,toCSV/toJSON. @cartis/core/chart: scales (scaleLinear/Log/Time/Band), nice ticks, abstract geometry, stacking, LTTB downsampling, and color scales — the math behind the@cartis/reactcharts.
import { createTable } from "@cartis/core";
const table = createTable({ data, columns });
table.setSort("revenue");
table.getRowModel(); // filtered + sorted, referentially stableFor React bindings and the styled DataGrid, use @cartis/react.
Full docs: see the repository docs/ — getting started,
headless usage, charts, high-frequency updates, theming, and the API reference.
Pre-1.0 (
v0.1.0), published under the@cartisscope.
