21 lines
850 B
TypeScript
21 lines
850 B
TypeScript
/**
|
|
* Bill of Materials module — public API.
|
|
*
|
|
* Pure logic:
|
|
* computeBom(parts) -> Bom (line items, cut lists, costs)
|
|
* bomToCsv(bom) -> sectioned CSV string
|
|
* bomToText(bom) -> printable plain-text shopping list
|
|
* downloadBomCsv(bom, name) -> trigger a browser .csv download
|
|
*
|
|
* UI:
|
|
* <BomPanel onClose={...} /> -> self-contained drawer reading useBuilder
|
|
*
|
|
* Formatting helpers (used by the panel, exported for reuse):
|
|
* formatDiameter, formatInches, formatMoney
|
|
*/
|
|
export { computeBom, formatDiameter, formatInches, formatMoney } from './computeBom';
|
|
export { bomToCsv, bomToText, downloadBomCsv } from './csv';
|
|
export { downloadBomPdf } from './pdf';
|
|
export { BomPanel } from './BomPanel';
|
|
export type { Bom, BomLine, CutList, CutStick, CategorySubtotal } from './types';
|