{"version":3,"file":"index.mjs","names":["React","ReactNode","Box","makeStyles","TableCell","Theme","useTheme","Tooltip","DateTime","UnityFluentIcon","getIconFromName","StatusChip","clsx","useStyles","FluentCellProps","theme","labelText","color","palette","text","primary","fontSize","tableCell","letterSpacing","fontWeight","props","bold","unityIconWrapper","gap","spacing","CellUnityIconProps","icon","size","align","className","CellUnityIcon","Partial","main","children","classes","CellImageProps","src","alt","title","style","CellImage","$","_c","t0","t1","t2","t3","t4","t5","CellIconProps","label","CellIcon","CellNumberProps","decimals","CellNumber","Number","toFixed","CellDateProps","format","CellDate","fromJSDate","Date","toFormat","CellCurrencyProps","currencySymbol","CellCurrency","CellTextProps","CellText","CellChipProps","status","CellChip","scope","colSpan","tooltip","FluentCell","undefined","cellContent","UnityIcon","Icon","Text","Currency","Chip","Image"],"sources":["../../../../../src/UI/dataDisplay/FluentDataTable/FluentCell/index.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Box, makeStyles, TableCell, Theme, useTheme, Tooltip } from '@material-ui/core';\nimport { DateTime } from 'luxon';\nimport { UnityFluentIcon } from '../../../../utilities/iconLibrary/UnityFluentIcon';\nimport { getIconFromName } from '../../../../utilities/tree/TreeUtilities';\nimport { StatusChip } from '../../status/StatusChip';\nimport clsx from 'clsx';\n\nconst useStyles = makeStyles<Theme, FluentCellProps>((theme) => ({\n  labelText: {\n    color: theme.palette.text.primary,\n    fontSize: '12px',\n  },\n  tableCell: {\n    fontSize: '12px',\n    letterSpacing: '0.4px',\n    fontWeight: (props) => (props?.bold ? 500 : 400),\n  },\n  unityIconWrapper: {\n    gap: theme.spacing(1),\n  },\n}));\n\n/* #region  CellUnityIcon */\n\ninterface CellUnityIconProps extends FluentCellProps {\n  icon: string;\n  size: string;\n  color: string;\n  align?: 'inherit' | 'left' | 'center' | 'right' | 'justify';\n  className?: string;\n}\n\nconst CellUnityIcon = (props: Partial<CellUnityIconProps>) => {\n  const theme = useTheme();\n  const { icon = '', size = 'large', color = theme.palette.primary.main, children } = props;\n  const classes = useStyles(props as FluentCellProps);\n\n  return (\n    <FluentCell {...props}>\n      {/* @ts-ignore */}\n      <Box display=\"flex\" alignItems=\"center\" className={classes.unityIconWrapper}>\n        <UnityFluentIcon size={size} color={color} icon={getIconFromName(icon)} />\n        {children && children}\n      </Box>\n    </FluentCell>\n  );\n};\n\n/* #endregion */\n\n/* #region  CellIcon */\n\ninterface CellImageProps extends FluentCellProps {\n  src: string;\n  alt: string;\n  title: string;\n  style?: object;\n  children: any;\n}\n\nconst CellImage = (props: CellImageProps) => (\n  <FluentCell {...props}>\n    <img src={props?.src} alt={props?.alt} style={props?.style} />\n    {props?.title}\n  </FluentCell>\n);\n\n/* #endregion */\n\n/* #region  CellIcon */\n\ninterface CellIconProps extends FluentCellProps {\n  icon: any;\n  label: string;\n  style?: object;\n}\n\nconst CellIcon = (props: Partial<CellIconProps>) => (\n  <FluentCell {...props}>\n    <>\n      {props?.label ? (\n        // @ts-ignore\n        <Box display=\"flex\" alignItems=\"center\" style={{ gap: '8px' }}>\n          {/* @ts-ignore */}\n          <Box>{props?.icon}</Box>\n          {props?.label}\n        </Box>\n      ) : (\n        props?.icon\n      )}\n      {props?.children}\n    </>\n  </FluentCell>\n);\n\n/* #endregion */\n\n/* #region  CellNumber */\n\ninterface CellNumberProps extends FluentCellProps {\n  decimals?: number | string;\n  children: any;\n}\n\nconst CellNumber = (props: CellNumberProps) => (\n  <FluentCell {...props}>\n    {Number(props?.children).toFixed(Number(props?.decimals ?? 2))}\n  </FluentCell>\n);\n\n/* #endregion */\n\n/* #region  CellDate */\n\ninterface CellDateProps extends FluentCellProps {\n  format?: string;\n  children: any;\n}\n\nconst CellDate = (props: CellDateProps) => (\n  <FluentCell {...props}>\n    {DateTime.fromJSDate(new Date(props?.children)).toFormat(props?.format || 'MM/dd/yyyy')}\n  </FluentCell>\n);\n\n/* #endregion */\n\n/* #region  CellCurrency */\n\ninterface CellCurrencyProps extends FluentCellProps {\n  currencySymbol?: string;\n  children: any;\n}\n\nconst CellCurrency = (props: CellCurrencyProps) => (\n  <FluentCell {...props}>\n    {props?.currencySymbol || '$'}\n    {props?.children}\n  </FluentCell>\n);\n\n/* #endregion */\n\n/* #region  CellText */\n\ninterface CellTextProps extends FluentCellProps {\n  children: any;\n}\n\nconst CellText = (props: CellTextProps) => <FluentCell {...props}>{props.children}</FluentCell>;\n\n/* #endregion */\n\n/* #region  Chip */\n\ninterface CellChipProps extends FluentCellProps {\n  status?: string;\n  size?: string;\n  children: any;\n}\n\nconst CellChip = (props: CellChipProps) => (\n  <FluentCell {...props}>\n    {/* @ts-ignore */}\n    <StatusChip status={props?.status || 'success'} label={props?.children} />\n  </FluentCell>\n);\n/* #endregion */\n\ninterface FluentCellProps {\n  scope?: string;\n  bold?: boolean;\n  style?: object;\n  align?: 'inherit' | 'left' | 'center' | 'right' | 'justify';\n  children?: ReactNode;\n  className?: string;\n  colSpan?: number;\n  tooltip?: string;\n}\n\nconst FluentCell = (props: FluentCellProps) => {\n  const classes = useStyles(props);\n  const { scope = 'row', style, align, colSpan, className, tooltip, children } = props;\n\n  const cellContent = children;\n\n  return (\n    <TableCell\n      scope={scope}\n      className={clsx(classes.tableCell, className)}\n      style={style}\n      align={align}\n      colSpan={colSpan}\n    >\n      {tooltip ? (\n        <Tooltip title={tooltip || ''} children={<span>{cellContent || ''}</span>} />\n      ) : (\n        cellContent\n      )}\n    </TableCell>\n  );\n};\n\nFluentCell.UnityIcon = CellUnityIcon;\nFluentCell.Icon = CellIcon;\nFluentCell.Number = CellNumber;\nFluentCell.Text = CellText;\nFluentCell.Currency = CellCurrency;\nFluentCell.Date = CellDate;\nFluentCell.Chip = CellChip;\nFluentCell.Image = CellImage;\n\nexport default FluentCell;\n"],"mappings":"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"}