{"version":3,"file":"LineGraphWidget.mjs","names":["React","forwardRef","Fragment","Grid","Box","Typography","MuiVegaLite","WidgetCard","FluentStatsSnippet","convertISODate","layout","w","default","min","max","h","params","mode","defaultValue","LineGraphWidget","props","ref","$","_c","children","other","t0","t1","setParam","t2","mockData","theme","dateRange","title","from","to","stats","map","_temp","$schema","description","data","values","mark","encoding","x","field","type","xAxisType","y","yAxisType","color","legend","direction","orient","stat","label","currentValue","previousValue"],"sources":["../../../../../src/UI/widgets/library/LineGraphWidget/LineGraphWidget.jsx"],"sourcesContent":["import React, { forwardRef, Fragment } from 'react'\nimport { Grid, Box, Typography } from '@material-ui/core'\nimport { MuiVegaLite } from '@material-vega/material-ui'\nimport WidgetCard from '../../WidgetCard'\nimport FluentStatsSnippet from '../../FluentComponents/atoms/FluentStatsSnippet'\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\nexport const params = {\n  mode: {\n    defaultValue: 'chart'\n  }\n}\n\nconst LineGraphWidget = (props, ref) => {\n  const { children, params, setParam, ...other } = props\n  const { mockData, apiUrl, theme, dateRange } = params\n\n  return (\n    <WidgetCard ref={ref} {...other} title={mockData?.title} theme={theme}>\n      {mockData ? (\n        <Fragment>\n          {dateRange && (\n            <Typography gutterBottom variant='caption' component='h3'>\n              From: {convertISODate(dateRange.from)} to:{' '}\n              {convertISODate(dateRange.to)}{' '}\n            </Typography>\n          )}\n          {mockData?.stats && (\n            <Grid container>\n              {mockData?.stats.map((stat) => (\n                <Grid item xs={3} key={stat.label}>\n                  <FluentStatsSnippet\n                    label={stat.label}\n                    amount={stat.currentValue}\n                    prevAmount={stat.previousValue}\n                  />\n                </Grid>\n              ))}\n            </Grid>\n          )}\n          <Box clone flex={1} mt={1} overflow='hidden'>\n            <MuiVegaLite\n              variant='lineChart'\n              color='secondary'\n              spec={{\n                $schema: 'https://vega.github.io/schema/vega-lite/v4.json',\n                description: mockData?.description,\n                data: {\n                  values: mockData?.data\n                },\n                mark: 'line',\n                encoding: {\n                  x: { field: 'xAxis', type: mockData?.xAxisType },\n                  y: {\n                    field: 'yAxis',\n                    type: mockData?.yAxisType\n                  },\n                  color: {\n                    field: 'label',\n                    type: 'nominal',\n                    legend: { direction: 'vertical', orient: 'right' }\n                  }\n                }\n              }}\n              width='container'\n              height='container'\n              autoResize='true'\n            />\n          </Box>\n          {children}\n        </Fragment>\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(LineGraphWidget)\n"],"mappings":"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"}