{"version":3,"file":"GraphCard.mjs","names":["React","makeStyles","MuiVegaLite","PropTypes","AmbientCard","EmptyStateDisplay","useTranslation","clsx","useStyles","theme","infoPanel","display","flexDirection","justifyContent","alignItems","alignSelf","padding","graphSection","overflow","width","height","paddingTop","spacing","margin","props","graphHeight","emptyStateDisplay","marginTop","marginBottom","GraphCard","$","_c","children","emptyStateClassName","emptyStateIcon","emptyStateIconSize","emptyStateImageSrc","emptyStateImageWidth","emptyStatePrimaryText","graphSpecs","headerColor","otherProps","t0","t1","title","t2","showInfoPanel","t3","t4","t5","t6","className","noData","t7","t8","t9","t10","t11","t12","t13","t14","undefined","classes","t","defaultValue","propTypes","string","object","isRequired","bool","node","style"],"sources":["../../../../src/UI/dataDisplay/GraphCard/GraphCard.jsx"],"sourcesContent":["import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { PropTypes } from 'prop-types';\nimport { AmbientCard } from '../../surfaces/cards/AmbientCard';\nimport { EmptyStateDisplay } from '../EmptyStateDisplay';\nimport { useTranslation } from 'react-i18next';\nimport clsx from 'clsx';\n\nconst useStyles = makeStyles((theme) => ({\n  infoPanel: {\n    display: 'flex',\n    flexDirection: 'row',\n    justifyContent: 'space-around',\n    alignItems: 'center',\n    alignSelf: 'stretch',\n    padding: '10px 32px'\n  },\n  graphSection: {\n    overflow: 'hidden',\n    '& svg': {\n      width: '100%',\n      height: '100%'\n    },\n    '& .vega-embed': {\n      width: '100%',\n      height: '100%'\n    },\n    paddingTop: theme.spacing(1),\n    margin: 0,\n    height: (props) => props?.graphHeight ?? '255px'\n  },\n  emptyStateDisplay: {\n    marginTop: theme.spacing(1),\n    marginBottom: theme.spacing(1),\n  }\n}));\n\n/**\n * `GraphCard` component\n */\nexport const GraphCard = (props) => {\n  const {\n    title,\n    showInfoPanel = true,\n    graphSpecs,\n    children,\n    headerColor,\n    className,\n    noData = false,\n    emptyStatePrimaryText,\n    emptyStateImageSrc,\n    emptyStateIconSize,\n    emptyStateImageWidth,\n    emptyStateClassName,\n    emptyStateIcon,\n    ...otherProps\n  } = props;\n  const classes = useStyles(props);\n  const { t } = useTranslation();\n\n  return (\n    <AmbientCard\n      fullWidth\n      title={title}\n      headerColor={headerColor}\n      {...otherProps}\n    >\n      {!noData ? (\n        <div>\n          {showInfoPanel && <div className={classes.infoPanel}>{children}</div>}\n          <div className={classes.graphSection}>\n            <MuiVegaLite\n              variant='verticalBarChart'\n              background='paper'\n              autoResize\n              actions={false}\n              spec={graphSpecs || {}}\n            />\n          </div>\n        </div>\n      ) : (\n        <div className={clsx(classes.emptyStateDisplay, emptyStateClassName)}>\n          <EmptyStateDisplay\n            primaryText={\n              emptyStatePrimaryText ??\n              t('ui.display.noResultsFound', {\n                defaultValue: 'No results found'\n              })\n            }\n            icon={emptyStateIcon}\n            iconSize={emptyStateIconSize}\n            imageSrc={emptyStateImageSrc}\n            imageWidth={emptyStateImageWidth}\n          />\n        </div>\n      )}\n    </AmbientCard>\n  );\n};\n\nGraphCard.propTypes = {\n  /**\n   * Optional, card title\n   */\n  title: PropTypes.string,\n\n  /**\n   * @type {?object}\n   {\n     graphSpecs: {} object see an example structure in https://vega.github.io/vega-lite/usage/typescript.html\n    }\n   */\n  graphSpecs: PropTypes.object.isRequired,\n\n  /**\n   * Optional, hide or show the top panel\n   */\n  showInfoPanel: PropTypes.bool,\n\n  /**\n   * Optional, content for the info panel behind the graph\n   */\n  children: PropTypes.node,\n\n  /**\n   * Optional, additional properties to apply some styles over the main container\n   */\n  style: PropTypes.object\n};\n"],"mappings":"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"}