@ssa-ui-kit/widgets
Version:
SSA UI Kit widgets
29 lines (28 loc) • 1.16 kB
TypeScript
import { Point, LineSvgProps, LineCustomSvgLayerProps, LineSeries } from '@nivo/line';
import { ScaleTimeSpec } from '@nivo/scales';
import { MainColors, DropdownOptionProps } from '@ssa-ui-kit/core';
export interface OptionType extends DropdownOptionProps {
value: 'd' | 'w' | 'm';
label: string;
precision: string;
}
export interface MealNutrientsProps {
caption?: string;
options: OptionType[];
data: LineSvgProps<LineSeries>['data'];
onOptionChange?: (option: OptionType) => void;
}
export interface MealNutrientsTooltipProps {
colorName: keyof MainColors;
point: Exclude<Point<LineSeries>, 'data'> & {
data: Point<LineSeries>['data'] & {
comp?: number;
unit?: string;
};
};
}
export type UseChartConfig = (ref: React.RefObject<HTMLElement | null>, data: LineSvgProps<LineSeries>['data'], precision: ScaleTimeSpec['precision'] | 'week') => Pick<LineSvgProps<LineSeries>, 'xScale' | 'axisBottom'>;
export type ScaleSpec = LineSvgProps<LineSeries>['xScale'];
export type CustomPointLayerProps = LineCustomSvgLayerProps<LineSeries> & {
currentPoint: Point<LineSeries> | null;
};