\n\t
\n\n
\n\t\t
\n\n\t${calcData.title}
\n\t\t${calcData.description}
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t
\n\t${calcData.units?.[0]?.help || "}
\n\t\t\n\t\t${calcData.inputs.map((input, idx) => {\n\t\t\tconst type = input.type === 'select' ? 'select' : 'number';\n\t\t\treturn `\n\t\t\t\t
\n\n\t\n\t\t\t\t\t\n\t\t\t\t\t${type === 'select' ? `\n\t\t\t\t\t\t\n\t\t\t\t\t` : `\n\t\t\t\t\t\t\n\t\t\t\t\t`}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t`;\n\t\t}).join(")}\n\t\t\n\t\n\t\t
\n\n\t${calcData.tables && calcData.tables.length > 0 ? `\n\tResults
\n\t\t\n\t\t\t${calcData.results.map(result => `\n\t\t\t\t
\n\t\t\n\t\t\t\t\t${result.label}:\n\t\t\t\t\t${result.displayFunc(calcData.inputs)}\n\t\t\t\t\t${result.unit}\n\t\t\t\t
\n\t\t\t`).join(")}\n\t\t\n\t\t\t
\n\tHow it works
\n\t\t\t${calcData.explanation}
\n\t\t\n\t\t
\n\t` : "}\n\n\t${calcData.charts && calcData.charts.length > 0 ? `\n\t${calcData.tables[0].title}
\n\t\t${calcData.tables[0].description}
\n\t\t${generateTable(calcData.tables[0])}\n\t\n\t\t
\n\t` : "}\n${calcData.charts[0].title}
\n\t\t\n\t\t${calcData.charts[0].description}
\n\t