AbsoluteJS

Reports

@absolutejs/reportsv0.1.1betaFrontend & UX

Accessible SVG report charts and spreadsheet-safe CSV exports for AbsoluteJS

#Installation

BASH
bun add @absolutejs/reports

#Capabilities

Overview

Reusable accessible SVG charts and spreadsheet-safe CSV mechanics. Hosts own metrics, authorized records, filters, column selection and styling.

toCsv(headers, rows) emits quoted UTF-8 BOM/CRLF CSV and neutralizes string formulas, including leading whitespace/control characters. Real numeric negatives stay numeric. Row widths must match headers.

downloadText(text, filename, mime?) downloads an already authorized response in the browser.

Show 2 more

@absolutejs/reports/react exports BarChart, DonutChart and TrendChart. Pass {data:[{id,label,value,color?}],label,onSelect,selected?}. Selection works with mouse and keyboard, with labels/values outside the SVG. Use the abs-chart classes to match your application theme. Nonfinite/negative values display as zero.

CSV exports must reauthorize current access on the server. Do not export stale client caches after a user's membership changes. Chart callbacks return IDs only; chart primitives never fetch or infer permissions.

Outcomes

What you can build

Overview

Reusable accessible SVG charts and spreadsheet-safe CSV mechanics. Hosts own metrics, authorized records, filters, column selection and styling.

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/reports version, replace example or memory-backed dependencies with durable implementations, bound external calls, protect credentials, and emit enough evidence to retry or recover safely.

Follow in order

Troubleshooting path

1
Trace from the first failed boundary
Reproduce the smallest canonical @absolutejs/reports example, confirm the supported entry point and version in the API explorer, then inspect the first boundary that did not produce its documented result.

#Public entry points

Supported entry points declared by this project’s package manifest. Internal dist paths are not part of the package contract.

Public package entry point declared in package.json.

@absolutejs/reports@absolutejs/reports/react

#Package commands

Scripts declared by this project’s package manifest.

bun run buildbun build src/index.ts src/react.tsx --outdir dist --target browser --external react --external react/* && tsc --declaration --emitDeclarationOnly --target ES2022 --module ESNext --moduleResolution bundler --jsx react-jsx --skipLibCheck --outDir dist src/index.ts src/react.tsx
bun run testbun test

#API reference

Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.

6 symbols
CsvValuetypePermalink
TS
type CsvValue = string | number | boolean | null | undefined;
Exported from @absolutejs/reports