{"version":3,"file":"TimelineTokenSummary.mjs","names":["React","makeStyles","lighten","useTheme","Typography","Divider","TimelineToken","CustomListIcon","AlarmClockIcon","SendIcon","SpeedHighIcon","BankIcon","MoneyIcon","MessageIcon","DietPlanNotebookIcon","colors","TimelineHoverCard","TimelineDot","TimelineStatus","LayoutUnit","PropTypes","useStyles","theme","root","height","timelineWrapper","background","palette","secondary","main","borderRadius","position","props","relative","token","top","left","transition","cursor","summaryRoot","negativeMargin","marginTop","titleContainer","textOverflow","overflow","paddingLeft","paddingRight","name","TimelineTokenSummary","$","_c","timelineItem","onClick","isHover","title","showLabel","t0","dot","color","date","message","amount","user","status","summary","iconColor","showToken","details","t1","icon","undefined","classes","t2","t3","message_0","display","flexDirection","justifyContent","alignItems","fontWeight","TimelineSummary","t4","dot_0","icon_0","unity","info","hint","NodeItem","bb0","t5","propTypes","string","isRequired","func","bool","oneOfType","number","elementType","object"],"sources":["../../../../src/componentSystems/multiThreadTimeline/ui/TimelineTokenSummary.jsx"],"sourcesContent":["import React from 'react';\nimport {\n  makeStyles,\n  lighten,\n  useTheme,\n  Typography,\n  Divider\n} from '@material-ui/core';\nimport { TimelineToken } from './modified/TimelineToken';\nimport {\n  CustomListIcon,\n  AlarmClockIcon,\n  SendIcon,\n  SpeedHighIcon,\n  BankIcon,\n  MoneyIcon,\n  MessageIcon,\n  DietPlanNotebookIcon\n} from '@fluentui/react-icons';\nimport { colors } from '../../../utilities/style/colors';\nimport { TimelineHoverCard } from './TimelineHoverCard';\nimport { TimelineDot } from './TimelineDot';\nimport { TimelineStatus } from './TimelineStatus';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles(\n  (theme) => ({\n    root: {\n      height: 200\n    },\n    timelineWrapper: {\n      background: lighten(theme.palette.secondary.main, 0.7),\n      height: 40,\n      borderRadius: 50,\n      position: (props) => (props.relative ? 'relative' : 'absolute')\n    },\n    token: {\n      position: (props) => (props.relative ? 'relative' : 'absolute'),\n      top: (props) => props.top - 9,\n      left: (props) => props.left - 2,\n      transition: '1s',\n      cursor: 'pointer',\n      '&:hover': {}\n    },\n    // summaryRoot: {\n    //   display: 'flex',\n    //   flexDirection: 'column',\n    //   alignItems: 'center',\n    //   color: 'grey',\n\n    // },\n    summaryRoot: {\n      //marginRight: theme.spacing(4),\n      //width: 100\n    },\n    negativeMargin: {\n      marginTop: -6\n    },\n    titleContainer: {\n      textOverflow: 'ellipsis',\n      //background: lighten(theme.palette.common.black, 0.9),\n      overflow: 'hidden',\n      //color: theme.palette.common.white,\n      borderRadius: 4,\n      paddingLeft: 4,\n      paddingRight: 2\n    }\n  }),\n  { name: 'TimelineTokenSummary' }\n);\n\nexport const TimelineTokenSummary = (props) => {\n  const {\n    timelineItem,\n    onClick,\n    isHover,\n    title,\n    showLabel = true,\n    dot,\n    color,\n    date,\n    message,\n    amount,\n    user,\n    status,\n    summary,\n    iconColor,\n    showToken,\n    details = true,\n    icon\n  } = props;\n  const classes = useStyles(props);\n  let type = '';\n  const theme = useTheme();\n\n  const TimelineSummary = ({ message }) => {\n    return (\n      <div>\n        <div\n          style={{\n            display: 'flex',\n            flexDirection: 'column',\n            justifyContent: 'center',\n            alignItems: 'center'\n          }}\n        >\n          {summary && (\n            <div style={{ height: 24 }}>\n              <Divider orientation='vertical' />\n            </div>\n          )}\n\n          <div className={classes.summaryRoot} style={{ display: 'flex' }}>\n            {/* <div className={classes.titleContainer} style={{width: scale}} > */}\n\n            {/* <div className={classes.titleContainer} style={{height: details && 90}} > */}\n            <div\n              className={classes.titleContainer}\n              style={{ height: summary && 90 }}\n            >\n              <Typography\n                variant='caption'\n                style={{\n                  fontWeight: 700,\n                  textOverflow: 'ellipsis',\n                  overflow: 'hidden'\n                }}\n              >\n                {title}\n              </Typography>\n\n              {details && (\n                <div>\n                  <LayoutUnit unit='nudge' />\n                  <Typography>\n                    {/* {amount && '$' }  {amount} */}\n                    {amount}\n                  </Typography>\n                  <TimelineStatus status={status} />\n                  <div>\n                    <Typography variant='caption'>{message}</Typography>\n                    <div>\n                      <Typography variant='caption'>{user}</Typography>\n                    </div>\n                  </div>\n                </div>\n              )}\n            </div>\n          </div>\n        </div>\n      </div>\n    );\n  };\n\n  const NodeItem = ({ dot, icon }) => {\n    return (\n      <div className={classes.token} onClick={onClick}>\n        {(dot || showToken) && (\n          <TimelineToken\n            color={colors.unity?.info?.hint}\n            icon={icon}\n            size='small'\n            // iconColorOverride={theme.palette.info.light}\n            iconColorOverride={iconColor}\n            onClick={onClick}\n            action\n            isHover={isHover}\n            hoverContainer={\n              <TimelineHoverCard\n                date={date}\n                categoryColor={theme.palette.info.main}\n                message={message}\n                timelineItem={timelineItem}\n              />\n            }\n          >\n            {' '}\n          </TimelineToken>\n        )}\n        {!dot && !summary && (\n          <TimelineDot\n            title={title}\n            date={date}\n            color={color}\n            hoverContent={\n              <TimelineHoverCard\n                date={date}\n                categoryColor={theme.palette.info.main}\n                message={message}\n                timelineItem={timelineItem}\n              />\n            }\n          />\n        )}\n        {showLabel && !dot && <TimelineSummary message={message} />}\n      </div>\n    );\n  };\n\n  switch (timelineItem) {\n    case 'Email':\n      type = <NodeItem icon={SendIcon} dot={dot} />;\n      break;\n    case 'ServiceOrder':\n      type = <NodeItem icon={CustomListIcon} dot={dot} />;\n      break;\n    case 'SMS':\n      type = <NodeItem icon={MessageIcon} dot={dot} />;\n      break;\n    case 'Web Payment':\n      type = <NodeItem icon={BankIcon} dot={dot} />;\n      break;\n    case 'Deposit - Regular':\n      type = <NodeItem icon={AlarmClockIcon} dot={dot} />;\n      break;\n    case 'Start Read':\n      type = <NodeItem icon={SpeedHighIcon} dot={dot} />;\n      break;\n    case 'Regular Bill':\n      type = <NodeItem icon={DietPlanNotebookIcon} dot={dot} />;\n      break;\n    case 'Email Notify':\n      type = <NodeItem icon={MoneyIcon} dot={dot} />;\n      break;\n    case 'Payment':\n      type = <NodeItem icon={MoneyIcon} dot={dot} />;\n      break;\n    case 'Bill':\n      type = <NodeItem icon={MoneyIcon} dot={dot} />;\n      break;\n    case 'Service Order':\n      type = <NodeItem icon={MoneyIcon} dot={dot} />;\n      break;\n    case 'Late':\n      type = <NodeItem icon={MoneyIcon} dot={dot} />;\n      break;\n    case 'Letter':\n      type = <NodeItem icon={MoneyIcon} dot={dot} />;\n      break;\n    case 'Disc':\n      type = <NodeItem icon={MoneyIcon} dot={dot} />;\n      break;\n    default:\n  }\n\n  return <NodeItem icon={icon ? icon : MoneyIcon} dot={dot} />;\n};\n\nTimelineTokenSummary.propTypes = {\n  timelineItem: PropTypes.string.isRequired,\n  onClick: PropTypes.func,\n  isHover: PropTypes.bool,\n  title: PropTypes.string,\n  showLabel: PropTypes.bool,\n  dot: PropTypes.bool,\n  color: PropTypes.string,\n  date: PropTypes.string,\n  message: PropTypes.string,\n  amount: PropTypes.string,\n  user: PropTypes.string,\n  status: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n  summary: PropTypes.bool,\n  iconColor: PropTypes.string,\n  showToken: PropTypes.bool,\n  details: PropTypes.bool,\n  icon: PropTypes.oneOfType([PropTypes.elementType, PropTypes.object])\n};\n"],"mappings":"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"}