var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import React, { forwardRef, Fragment } from 'react';
import { Grid, Typography, makeStyles } from '@material-ui/core';
import WidgetCard from '../../WidgetCard';
import { Sparklines, SparklinesLine } from 'react-sparklines';
import FluentStatsSnippet from '../../FluentComponents/atoms/FluentStatsSnippet';
import { convertISODate } from '../../utils/ConvertISODate';
export const layout = {
    w: { default: 2, min: 0, max: 4 },
    h: { default: 2, min: 0, max: 4 }
};
const useStyles = makeStyles((theme) => ({
    statList: {
        display: 'flex',
        flexDirection: 'row',
        justifyContent: 'space-between'
    }
}));
const SparklineWidget = (props, ref) => {
    var _a;
    const classes = useStyles();
    const { children, params, setParam } = props, other = __rest(props, ["children", "params", "setParam"]);
    const { mockData, apiUrl, theme, dateRange } = params;
    return (React.createElement(WidgetCard, Object.assign({ className: classes.root, theme: theme, ref: ref }, other, { title: mockData === null || mockData === void 0 ? void 0 : mockData.title }), mockData ? (React.createElement(Fragment, null, dateRange && (React.createElement(Typography, { gutterBottom: true, variant: "caption", component: "h3" }, "From: ", convertISODate(dateRange.from), " to:", ' ', convertISODate(dateRange.to))), React.createElement("div", { className: classes.statList }, (_a = mockData === null || mockData === void 0 ? void 0 : mockData.stats) === null || _a === void 0 ? void 0 : _a.map((stat) => (React.createElement(Grid, { item: true, key: stat.label }, React.createElement(FluentStatsSnippet, { label: stat.label, amount: stat.amount, percent: stat.percent && stat.percent, trend: stat.trend }))))), React.createElement(Sparklines, { data: mockData === null || mockData === void 0 ? void 0 : mockData.data, strokeWidth: 0.5 }, React.createElement(SparklinesLine, { color: "#067e7e" })), children)) : (React.createElement(Typography, { variant: "subtitle2" }, "Could not retrieve widget data. Please contact support"))));
};
export default forwardRef(SparklineWidget);
//# sourceMappingURL=SparklineWidget.js.map