{"version":3,"sources":["../src/index.ts","../src/line-grid.tsx","../src/use-line-grid-recalc.ts"],"sourcesContent":["export { LineGrid, type LineGridColumn, type LineGridProps } from \"./line-grid.js\";\nexport { useLineGridRecalc } from \"./use-line-grid-recalc.js\";\n","import type { ReactNode } from \"react\";\nimport type { CalculatedLine } from \"@eristack/qups\";\n\nexport type LineGridColumn = {\n  id: string;\n  header: string;\n};\n\nexport type LineGridProps = {\n  line: CalculatedLine;\n  columns: LineGridColumn[];\n  renderCell: (columnId: string, line: CalculatedLine) => ReactNode;\n};\n\nexport function LineGrid({ line, columns, renderCell }: LineGridProps) {\n  return (\n    <table className=\"erista-line-grid\" data-component=\"line-grid\">\n      <thead>\n        <tr>\n          {columns.map((column) => (\n            <th key={column.id} scope=\"col\">\n              {column.header}\n            </th>\n          ))}\n        </tr>\n      </thead>\n      <tbody>\n        <tr>\n          {columns.map((column) => (\n            <td key={column.id}>{renderCell(column.id, line)}</td>\n          ))}\n        </tr>\n      </tbody>\n    </table>\n  );\n}\n","import {\n  calculateLine,\n  patchLine,\n  type CalculateLineInput,\n  type CalculatedLine,\n  type PatchLineInput,\n} from \"@eristack/qups\";\nimport { useCallback, useState } from \"react\";\n\nexport function useLineGridRecalc(initial: CalculateLineInput) {\n  const [line, setLine] = useState<CalculatedLine>(() => calculateLine(initial));\n\n  const applyPatch = useCallback((patch: PatchLineInput) => {\n    setLine((current) => patchLine(current, patch));\n  }, []);\n\n  const recalculate = useCallback((input: CalculateLineInput) => {\n    setLine(calculateLine(input));\n  }, []);\n\n  return { line, applyPatch, recalculate };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACgBI;AAFG,SAAS,SAAS,EAAE,MAAM,SAAS,WAAW,GAAkB;AACrE,SACE,6CAAC,WAAM,WAAU,oBAAmB,kBAAe,aACjD;AAAA,gDAAC,WACC,sDAAC,QACE,kBAAQ,IAAI,CAAC,WACZ,4CAAC,QAAmB,OAAM,OACvB,iBAAO,UADD,OAAO,EAEhB,CACD,GACH,GACF;AAAA,IACA,4CAAC,WACC,sDAAC,QACE,kBAAQ,IAAI,CAAC,WACZ,4CAAC,QAAoB,qBAAW,OAAO,IAAI,IAAI,KAAtC,OAAO,EAAiC,CAClD,GACH,GACF;AAAA,KACF;AAEJ;;;ACnCA,kBAMO;AACP,mBAAsC;AAE/B,SAAS,kBAAkB,SAA6B;AAC7D,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAyB,UAAM,2BAAc,OAAO,CAAC;AAE7E,QAAM,iBAAa,0BAAY,CAAC,UAA0B;AACxD,YAAQ,CAAC,gBAAY,uBAAU,SAAS,KAAK,CAAC;AAAA,EAChD,GAAG,CAAC,CAAC;AAEL,QAAM,kBAAc,0BAAY,CAAC,UAA8B;AAC7D,gBAAQ,2BAAc,KAAK,CAAC;AAAA,EAC9B,GAAG,CAAC,CAAC;AAEL,SAAO,EAAE,MAAM,YAAY,YAAY;AACzC;","names":[]}