{"version":3,"file":"WorkflowTaskFlow.mjs","names":["React","useCallback","useState","Stepper","Step","StepLabel","StepConnector","Typography","makeStyles","withStyles","lighten","Button","CheckCircleIcon","RadioButtonUncheckedIcon","RadioButtonCheckedIcon","FluentIcon","ChevronRightIcon","ChevronLeftIcon","formatDateToLocaleString","DateTime","useStyles","theme","root","display","taskInfoBlock","backgroundColor","palette","primary","main","width","spacing","color","common","white","padding","description","textOverflow","overflow","whiteSpace","button","borderRadius","dark","minWidth","stepperContainer","marginTop","background","stepIconRoot","zIndex","height","justifyContent","alignItems","success","stepLabel","ColorLibConnector","connectorRoot","top","left","right","alternativeLabel","active","borderColor","completed","line","borderTopWidth","ColorlibStepIcon","props","$","_c","classes","rootClass","t0","t1","WorkflowTaskFlow","steps","handleClick","task","t2","undefined","_temp","activeStep","setActiveStep","t3","stepIndex","handleStepClick","t4","newIndex","handleOnLeftButtonClick","t5","length","newIndex_0","handleOnRightButtonClick","getFormattedDueDate","_temp2","t6","t7","t8","properties","nodeLabel","t9","t10","t11","t12","Symbol","for","fontWeight","t13","dueDate","t14","t15","t16","t17","t18","t19","t20","t21","t22","step","index","label","labelContainer","map","t23","t24","t25","date","shortDate","DATE_SHORT"],"sources":["../../../src/workflow/components/WorkflowTaskFlow.jsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport {\n  Stepper,\n  Step,\n  StepLabel,\n  StepConnector,\n  Typography,\n  makeStyles,\n  withStyles,\n  lighten,\n  Button\n} from '@material-ui/core';\nimport CheckCircleIcon from '@material-ui/icons/esm/CheckCircle';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/esm/RadioButtonUnchecked';\nimport RadioButtonCheckedIcon from '@material-ui/icons/esm/RadioButtonChecked';\nimport { FluentIcon } from '../../utilities/iconLibrary/FluentIcon';\nimport { ChevronRightIcon, ChevronLeftIcon } from '@fluentui/react-icons';\nimport { formatDateToLocaleString } from '../../utilities/input/DateUtilities';\nimport { DateTime } from 'luxon';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    display: 'flex'\n  },\n  taskInfoBlock: {\n    backgroundColor: lighten(theme.palette.primary.main, 0.3),\n    width: theme.spacing(25),\n    color: theme.palette.common.white,\n    padding: `${theme.spacing(0.5)}px ${theme.spacing(2.25)}px`\n  },\n  description: {\n    textOverflow: 'ellipsis',\n    overflow: 'hidden',\n    whiteSpace: 'nowrap'\n  },\n  button: {\n    backgroundColor: theme.palette.primary.main,\n    color: theme.palette.common.white,\n    borderRadius: 0,\n    '&:hover': {\n      backgroundColor: theme.palette.primary.dark\n    },\n    minWidth: theme.spacing(3)\n  },\n  stepperContainer: {\n    width: '100%',\n    padding: 0,\n    marginTop: `-${theme.spacing(1.5)}px`,\n    background: 'none'\n  },\n  stepIconRoot: {\n    zIndex: 1,\n    color: theme.palette.primary.main,\n    width: theme.spacing(3),\n    height: theme.spacing(3),\n    display: 'flex',\n    borderRadius: '50%',\n    justifyContent: 'center',\n    alignItems: 'center',\n    '&.active': {\n      backgroundColor: theme.palette.primary.main,\n      color: theme.palette.common.white\n    },\n    '&.completed': {\n      backgroundColor: theme.palette.common.white,\n      color: theme.palette.success.main\n    }\n  },\n  stepLabel: {\n    '& > .MuiStepLabel-label': {\n      marginTop: theme.spacing(0.5)\n    }\n  }\n}));\n\nconst ColorLibConnector = withStyles((theme) => ({\n  connectorRoot: {\n    top: 10,\n    left: 'calc(-50% + 12px)',\n    right: 'calc(50% + 12px)'\n  },\n  alternativeLabel: {\n    left: 'calc(-50% + 12px)',\n    right: 'calc(50% + 12px)'\n  },\n  active: {\n    '& $line': {\n      borderColor: theme.palette.primary.main\n    }\n  },\n  completed: {\n    '& $line': {\n      borderColor: theme.palette.primary.main\n    }\n  },\n  line: {\n    borderTopWidth: 3,\n    borderRadius: 1\n  }\n}))(StepConnector);\n\nconst ColorlibStepIcon = (props) => {\n  const { active, completed } = props;\n  const classes = useStyles();\n  const rootClass = `${classes.stepIconRoot} ${active ? 'active' : ''} ${\n    completed ? 'completed' : ''\n  }`;\n\n  return (\n    <div className={rootClass}>\n      {completed ? (\n        <CheckCircleIcon />\n      ) : active ? (\n        <RadioButtonCheckedIcon />\n      ) : (\n        <RadioButtonUncheckedIcon />\n      )}\n    </div>\n  );\n};\n\nexport const WorkflowTaskFlow = (props) => {\n  const { steps = [], handleClick = () => {}, task } = props;\n  const classes = useStyles();\n  const [activeStep, setActiveStep] = useState(0);\n\n  const handleStepClick = (stepIndex) => {\n    handleClick(stepIndex);\n    setActiveStep(stepIndex);\n  };\n\n  const handleOnLeftButtonClick = useCallback(() => {\n    if (activeStep > 0) {\n      const newIndex = activeStep - 1;\n      handleClick(newIndex);\n      setActiveStep(newIndex);\n    }\n  }, [activeStep, handleClick]);\n\n  const handleOnRightButtonClick = useCallback(() => {\n    if (activeStep !== steps?.length - 1) {\n      const newIndex = activeStep + 1;\n      handleClick(newIndex);\n      setActiveStep(newIndex);\n    }\n  }, [steps, activeStep, handleClick]);\n\n  const getFormattedDueDate = useCallback((date) => {\n    if (!date) {\n      return '';\n    }\n    const shortDate = formatDateToLocaleString(date, DateTime.DATE_SHORT);\n    return `Due ${shortDate}`;\n  }, []);\n\n  return (\n    <div className={classes.root}>\n      <div className={classes.taskInfoBlock}>\n        <div className={classes.description}>\n          <Typography variant='caption'>\n            {task?.properties?.nodeLabel || ''}\n          </Typography>\n        </div>\n        <div className={classes.description}>\n          <Typography variant='caption' style={{ fontWeight: 500 }}>\n            {getFormattedDueDate(task?.properties?.dueDate)}\n          </Typography>\n        </div>\n      </div>\n      <Button className={classes.button} onClick={handleOnLeftButtonClick}>\n        <FluentIcon component={ChevronLeftIcon} />\n      </Button>\n      <Stepper\n        alternativeLabel\n        activeStep={activeStep}\n        connector={<ColorLibConnector />}\n        className={classes.stepperContainer}\n      >\n        {steps.map((step, index) => (\n          <Step key={step.label} onClick={() => handleStepClick(index)}>\n            <StepLabel\n              classes={{ labelContainer: classes.stepLabel }}\n              StepIconComponent={ColorlibStepIcon}\n            >\n              <Typography variant='caption'>{step.label}</Typography>\n            </StepLabel>\n          </Step>\n        ))}\n      </Stepper>\n      <Button className={classes.button} onClick={handleOnRightButtonClick}>\n        <FluentIcon component={ChevronRightIcon} />\n      </Button>\n    </div>\n  );\n};\n"],"mappings":"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"}