{"version":3,"file":"LineAndSparklinesWidget.mjs","names":["React","forwardRef","makeStyles","Typography","useTheme","Divider","Box","MuiVegaLite","Sparklines","SparklinesLine","WidgetCard","FluentStatNumber","convertISODate","layout","w","default","min","max","h","useStyles","theme","displayItems","display","flexDirection","width","visualCaption","marginTop","spacing","lineGraph","LineAndSparklinesWidget","props","ref","$","_c","children","other","params","t0","t1","setParam","t2","mockData","dateRange","classes","mainTheme","title","from","to","value","sparklinesData","height","palette","secondary","main","label","$schema","data","values","mark","encoding","x","field","type","xAxisType","y","aggregate","yAxisType","scale","domain"],"sources":["../../../../../src/UI/widgets/library/LineAndSparklinesWidget/LineAndSparklinesWidget.jsx"],"sourcesContent":["import React, { forwardRef } from 'react'\nimport {\n  makeStyles,\n  Typography,\n  useTheme,\n  Divider,\n  Box\n} from '@material-ui/core'\nimport { MuiVegaLite } from '@material-vega/material-ui'\nimport { Sparklines, SparklinesLine } from 'react-sparklines'\nimport WidgetCard from '../../WidgetCard'\nimport FluentStatNumber from '../../FluentComponents/molecules/FluentStatNumber'\nimport { convertISODate } from '../../utils/ConvertISODate'\n\nexport const layout = {\n  w: { default: 2, min: 0, max: 4 },\n  h: { default: 2, min: 0, max: 4 }\n}\n\n// export const params = {\n//   mode: {\n//     defaultValue: 'chart',\n//   },\n// };\n\nconst useStyles = makeStyles((theme) => ({\n  displayItems: {\n    display: 'flex',\n    flexDirection: 'row',\n    width: '100%'\n  },\n  visualCaption: {\n    marginTop: theme.spacing(-1)\n  },\n  lineGraph: {\n    width: '100%',\n    '& svg': { width: '100%' }\n  }\n}))\n\nconst LineAndSparklinesWidget = (props, ref) => {\n  const { children, params, setParam, ...other } = props\n  const { mockData, apiUrl, theme, dateRange } = params\n  const classes = useStyles()\n  const mainTheme = useTheme()\n\n  return (\n    <WidgetCard ref={ref} title={mockData?.title} theme={theme} {...other}>\n      {mockData ? (\n        <div>\n          {dateRange && (\n            <Typography gutterBottom variant='caption' component='h3'>\n              From: {convertISODate(dateRange.from)} to:{' '}\n              {convertISODate(dateRange.to)}\n            </Typography>\n          )}\n          <div className={classes.displayItems}>\n            <div>\n              <FluentStatNumber number={mockData?.value} trend='up' />\n            </div>\n            <div style={{ width: '100%' }}>\n              <Sparklines\n                data={mockData?.sparklinesData}\n                strokeWidth={1}\n                style={{ width: '100%', height: 45, marginTop: 10 }}\n              >\n                <SparklinesLine color={mainTheme.palette.secondary.main} />\n              </Sparklines>\n              <div className={classes.visualCaption}>\n                <div>\n                  <Divider />\n                </div>\n\n                <Typography variant='caption'>{mockData?.label}</Typography>\n              </div>\n            </div>\n          </div>\n\n          <Box clone flex={1} mt={1} overflow='hidden'>\n            <MuiVegaLite\n              variant='areaLineChart'\n              style={{\n                width: '100%'\n              }}\n              spec={{\n                $schema: 'https://vega.github.io/schema/vega-lite/v4.json',\n                height: 150,\n                data: { values: mockData?.data },\n                mark: 'area',\n                encoding: {\n                  x: {\n                    field: 'xAxis',\n                    type: mockData?.xAxisType\n                  },\n                  y: {\n                    aggregate: 'sum',\n                    field: 'yAxis',\n                    type: mockData?.yAxisType,\n                    scale: { domain: mockData?.domain || '' }\n                  }\n                }\n              }}\n              autoResize='true'\n              width='container'\n            />\n          </Box>\n          {children}\n        </div>\n      ) : (\n        <Typography variant='subtitle2'>\n          Could not retrieve widget data. Please contact support.\n        </Typography>\n      )}\n    </WidgetCard>\n  )\n}\n\nexport default forwardRef(LineAndSparklinesWidget)\n"],"mappings":"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"}