import { downloadToCSV, downloadToPNG } from '../actions' import type { ConfigProps } from '../loader/types' import type { FormulaDownloadConfig, FormulaWidgetConfig } from './types' /** * Creates download configuration for formula widgets, supporting PNG (screenshot) and CSV (data) exports. * * @param props - Configuration with `refUI` reference for PNG export. * @returns Array of download items for use with the Download action. */ export function formulaDownloadConfig({ refUI, }: ConfigProps): FormulaDownloadConfig { return [ { ...downloadToPNG, modifier: () => downloadToPNG.modifier(refUI), }, { ...downloadToCSV, modifier: async (data) => { const formulaData = [data?.map((item) => item.value) ?? []] return downloadToCSV.modifier(formulaData) }, }, ] } /** * Returns the default configuration for formula (single or multiple numeric value) widgets. * * @returns Default formula widget config with empty series. */ export function formulaConfig(): FormulaWidgetConfig { return { series: [], } }