{"version":3,"file":"MultiStepForm.mocks.jsx","sourceRoot":"","sources":["../../../src/core/MultiStepForm/MultiStepForm.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useReducer, useRef, useState } from 'react';\nimport type { MouseEvent, ReactNode, Reducer, ChangeEvent } from 'react';\n\nimport {\n  Banner,\n  Button,\n  Checkbox,\n  CurrencyInput,\n  FieldGroup,\n  Grid,\n  Input,\n  Modal,\n  MultiStepForm,\n  Option,\n  RadioButton,\n  RadioButtonGroup,\n  Select,\n  TextArea,\n  useModalContext,\n  useToaster\n} from '@pega/cosmos-react-core';\nimport type { BannerHandleValue, BannerMessage } from '@pega/cosmos-react-core';\nimport type MultiStepFormProps from '@pega/cosmos-react-core/lib/components/MultiStepForm/MultiStepForm.types';\nimport type { Step } from '@pega/cosmos-react-core/lib/components/MultiStepForm/MultiStepForm.types';\n\nimport { loadingTimeoutMS } from '../Progress/Progress.mocks';\n\nexport interface MultiStepFormDemoProps {\n  heading?: MultiStepFormProps['heading'];\n  stepIndicator?: MultiStepFormProps['stepIndicator'];\n}\n\nexport type ReducerAction =\n  | {\n      type: 'restart' | 'cancel' | 'finish' | 'submitCurrentStep';\n    }\n  | { type: 'setStep'; payload: number }\n  | {\n      type: 'setFieldValue';\n      payload: { name: string; label: string; value: string | boolean | undefined };\n    };\n\nexport interface DemoMultiStepState {\n  formData: DemoFormDataType;\n  formErrors: DemoFormErrorsType;\n  currentStepIndex: number;\n  numSteps: number;\n  cancelled: boolean;\n  finished: boolean;\n}\n\ninterface FormValidations {\n  [field: string]: {\n    message?: string;\n    validator: (value: any) => boolean;\n  };\n}\ninterface DemoFormDataType {\n  [key: string]: string | boolean | undefined;\n  firstName?: string;\n  lastName?: string;\n  currentTitle?: string;\n  currentCompany?: string;\n  salaryRequested?: string;\n  experienceLevel?: string;\n  priorityOne?: string;\n  priorityTwo?: string;\n  priorityThree?: string;\n  interviewNotes?: string;\n  additionalInterview?: boolean;\n  nextInterviewer?: string;\n  salaryRequestReview?: string;\n  cultureFit?: string;\n  finalRecommendation?: string;\n  recommendationComments?: string;\n}\n\ninterface DemoFormErrorsType {\n  [field: string]: BannerMessage;\n}\n\ninterface MockFormArgs {\n  formData: DemoFormDataType;\n  formErrors: DemoFormErrorsType;\n  dispatch: (value: ReducerAction) => void;\n}\n\ninterface FieldData {\n  name: string;\n  label: string;\n}\n\nexport const stepFields: FieldData[][] = [\n  [\n    { name: 'firstName', label: 'First name' },\n    { name: 'lastName', label: 'Last name' },\n    { name: 'currentTitle', label: 'Current title' },\n    { name: 'currentCompany', label: 'Current company' },\n    { name: 'salaryRequested', label: 'Salary requested' },\n    { name: 'experienceLevel', label: 'Experience level' },\n    { name: 'priorityOne', label: 'First' },\n    { name: 'priorityTwo', label: 'Second' },\n    { name: 'priorityThree', label: 'Third' }\n  ],\n  [\n    { name: 'interviewNotes', label: 'Impressions' },\n    { name: 'additionalInterview', label: 'Request additional interview' }\n  ],\n  [{ name: 'nextInterviewer', label: 'Next interviewer' }],\n  [\n    { name: 'salaryRequestedReview', label: 'Salary requested' },\n    { name: 'salaryRequestReview', label: 'Salary request fit' },\n    { name: 'cultureFit', label: 'Culture fit' },\n    { name: 'finalRecommendation', label: 'Final recommendation' },\n    { name: 'recommendationComments', label: 'Comments' }\n  ]\n];\n\nexport const initialState: DemoMultiStepState = {\n  currentStepIndex: 0,\n  cancelled: false,\n  finished: false,\n  numSteps: 3,\n  formData: {\n    firstName: 'Marcus',\n    lastName: 'Kennedy',\n    currentTitle: 'Data Analyst',\n    currentCompany: 'Acme Co.'\n  },\n  formErrors: {}\n};\n\nconst formValidation: FormValidations = {\n  salaryRequested: {\n    message: 'This field is required.',\n    validator: (value: string) => value?.length > 0\n  },\n  experienceLevel: {\n    message: 'This field is required.',\n    validator: (value: string) => value?.length > 0\n  },\n  nextInterviewer: {\n    message: 'This field is required.',\n    validator: (value: string) => value?.length > 0\n  },\n  salaryRequestReview: {\n    message: 'This field is required.',\n    validator: (value: string) => value?.length > 0\n  },\n  cultureFit: {\n    message: 'This field is required.',\n    validator: (value: string) => value?.length > 0\n  },\n  finalRecommendation: {\n    message: 'This field is required.',\n    validator: (value: string) => value?.length > 0\n  }\n};\n\nexport const reducer = (state: DemoMultiStepState, action: ReducerAction) => {\n  switch (action.type) {\n    case 'restart': {\n      return initialState;\n    }\n    case 'cancel': {\n      return {\n        ...state,\n        cancelled: true\n      };\n    }\n    case 'finish': {\n      return {\n        ...state,\n        finished: true\n      };\n    }\n    case 'setStep': {\n      return {\n        ...state,\n        currentStepIndex: action.payload,\n        formErrors: {}\n      };\n    }\n    case 'setFieldValue': {\n      const { name: field, label, value } = action.payload;\n      const formData = {\n        ...state.formData\n      };\n      const formErrors = {\n        ...state.formErrors\n      };\n\n      formData[field] = value;\n\n      if (formErrors[field] && Object.hasOwn(formValidation, field)) {\n        const valid = formValidation[field].validator(value);\n\n        if (valid) {\n          delete formErrors[field];\n        } else {\n          formErrors[field] = { label, description: formValidation[field].message };\n        }\n      }\n\n      return {\n        ...state,\n        formData,\n        formErrors\n      };\n    }\n    case 'submitCurrentStep': {\n      const stepIndex =\n        state.numSteps === 4 || state.currentStepIndex <= 1\n          ? state.currentStepIndex\n          : state.currentStepIndex + 1;\n      const formErrors = { ...state.formErrors };\n      let isValid = true;\n\n      const validateFields = (fields: FieldData[]) => {\n        if (!fields) return;\n\n        fields.forEach(({ name: field, label }) => {\n          if (Object.hasOwn(formValidation, field)) {\n            const valid = formValidation[field].validator(state.formData[field]);\n\n            if (valid) {\n              delete formErrors[field];\n            } else {\n              isValid = false;\n              formErrors[field] = { label, description: formValidation[field].message };\n            }\n          }\n        });\n      };\n\n      validateFields(stepFields[stepIndex]);\n\n      return {\n        ...state,\n        numSteps: state.formData.additionalInterview ? 4 : 3,\n        currentStepIndex:\n          isValid && state.currentStepIndex !== state.numSteps - 1\n            ? state.currentStepIndex + 1\n            : state.currentStepIndex,\n        finished: isValid && state.currentStepIndex === state.numSteps - 1,\n        formErrors\n      };\n    }\n    default:\n      return state;\n  }\n};\n\nexport const ApplicantDetailsFields = ({ formData, formErrors, dispatch }: MockFormArgs) => {\n  return (\n    <Grid container={{ gap: 1, cols: 'repeat(2, minmax(0, 1fr))' }}>\n      <Input {...stepFields[0][0]} value={formData.firstName} readOnly />\n      <Input {...stepFields[0][1]} value={formData.lastName} readOnly />\n      <Input\n        {...stepFields[0][2]}\n        value={formData.currentTitle}\n        onChange={(e: ChangeEvent<HTMLInputElement>) =>\n          dispatch({\n            type: 'setFieldValue',\n            payload: { ...stepFields[0][2], value: e.target.value }\n          })\n        }\n      />\n      <Input\n        {...stepFields[0][3]}\n        value={formData.currentCompany}\n        onChange={(e: ChangeEvent<HTMLInputElement>) =>\n          dispatch({\n            type: 'setFieldValue',\n            payload: { ...stepFields[0][3], value: e.target.value }\n          })\n        }\n      />\n      <CurrencyInput\n        {...stepFields[0][4]}\n        value={formData.salaryRequested}\n        currencyISOCode='USD'\n        onChange={value =>\n          dispatch({\n            type: 'setFieldValue',\n            payload: { ...stepFields[0][4], value }\n          })\n        }\n        status={formErrors.salaryRequested ? 'error' : undefined}\n        info={formErrors.salaryRequested ? formErrors.salaryRequested.description : undefined}\n        required\n      />\n      <Select\n        {...stepFields[0][5]}\n        value={formData.experienceLevel}\n        onChange={(e: ChangeEvent<HTMLSelectElement>) => {\n          dispatch({\n            type: 'setFieldValue',\n            payload: { ...stepFields[0][5], value: e.target.value }\n          });\n        }}\n        status={formErrors.experienceLevel ? 'error' : undefined}\n        info={formErrors.experienceLevel ? formErrors.experienceLevel.description : undefined}\n        required\n      >\n        <Option value=''>--</Option>\n        <Option value='junior'>0-3 years (junior)</Option>\n        <Option value='mid-level'>4-6 years (mid)</Option>\n        <Option value='senior'>7-10 years (senior)</Option>\n        <Option value='expert'>10+ years (expert)</Option>\n      </Select>\n      <Grid item={{ colStart: '1', colEnd: '-1' }}>\n        <FieldGroup name='Work priorities' headingTag='h3'>\n          <Grid container={{ gap: 1, cols: 'repeat(3, minmax(0, 1fr))' }}>\n            <Input\n              {...stepFields[0][6]}\n              value={formData.priorityOne}\n              onChange={(e: ChangeEvent<HTMLInputElement>) => {\n                dispatch({\n                  type: 'setFieldValue',\n                  payload: { ...stepFields[0][6], value: e.target.value }\n                });\n              }}\n            />\n            <Input\n              {...stepFields[0][7]}\n              value={formData.priorityTwo}\n              onChange={(e: ChangeEvent<HTMLInputElement>) => {\n                dispatch({\n                  type: 'setFieldValue',\n                  payload: { ...stepFields[0][7], value: e.target.value }\n                });\n              }}\n            />\n            <Input\n              {...stepFields[0][8]}\n              value={formData.priorityThree}\n              onChange={(e: ChangeEvent<HTMLInputElement>) => {\n                dispatch({\n                  type: 'setFieldValue',\n                  payload: { ...stepFields[0][8], value: e.target.value }\n                });\n              }}\n            />\n          </Grid>\n        </FieldGroup>\n      </Grid>\n    </Grid>\n  );\n};\n\nexport const InterviewNotesFields = ({ formData, formErrors, dispatch }: MockFormArgs) => {\n  return (\n    <Grid container={{ gap: 1, cols: '1fr' }}>\n      <TextArea\n        {...stepFields[1][0]}\n        value={formData.interviewNotes}\n        onChange={(e: ChangeEvent<HTMLTextAreaElement>) => {\n          dispatch({\n            type: 'setFieldValue',\n            payload: { ...stepFields[1][0], value: e.target.value }\n          });\n        }}\n        status={formErrors.impressions ? 'error' : undefined}\n        info={formErrors.impressions ? formErrors.impressions.description : undefined}\n      />\n      <Checkbox\n        {...stepFields[1][1]}\n        defaultChecked={formData.additionalInterview}\n        onChange={(e: ChangeEvent<HTMLInputElement>) => {\n          dispatch({\n            type: 'setFieldValue',\n            payload: { ...stepFields[1][1], value: e.target.checked }\n          });\n        }}\n      />\n    </Grid>\n  );\n};\n\nexport const NextInterviewFields = ({ formData, formErrors, dispatch }: MockFormArgs) => {\n  return (\n    <Select\n      {...stepFields[2][0]}\n      value={formData.nextInterviewer}\n      onChange={(e: ChangeEvent<HTMLSelectElement>) => {\n        dispatch({\n          type: 'setFieldValue',\n          payload: { ...stepFields[2][0], value: e.target.value }\n        });\n      }}\n      status={formErrors.nextInterviewer ? 'error' : undefined}\n      info={formErrors.nextInterviewer ? formErrors.nextInterviewer.description : undefined}\n      required\n    >\n      <Option value=''>Choose an option...</Option>\n      <Option>Myself</Option>\n      <Option>Cindy Turner </Option>\n      <Option>Seth DeAngelo</Option>\n      <Option>Janet Moore</Option>\n    </Select>\n  );\n};\n\nexport const RecommendationsFields = ({ formData, formErrors, dispatch }: MockFormArgs) => {\n  return (\n    <Grid container={{ gap: 1, cols: '1fr' }}>\n      <CurrencyInput\n        {...stepFields[3][0]}\n        value={formData.salaryRequested}\n        onChange={() => {}}\n        currencyISOCode='USD'\n        readOnly\n      />\n\n      <p>$99,000 is the recommended salary for this position.</p>\n\n      <RadioButtonGroup\n        {...stepFields[3][1]}\n        onChange={(e: ChangeEvent<HTMLInputElement>) => {\n          dispatch({\n            type: 'setFieldValue',\n            payload: {\n              ...stepFields[3][1],\n              value: e.target.value\n            }\n          });\n        }}\n        status={formErrors.salaryRequestReview ? 'error' : undefined}\n        info={\n          formErrors.salaryRequestReview ? formErrors.salaryRequestReview.description : undefined\n        }\n        inline\n        required\n      >\n        <RadioButton\n          label='Very low'\n          id='salaryTargetVeryLow'\n          value='salaryTargetVeryLow'\n          checked={formData.salaryRequestReview === 'salaryTargetVeryLow'}\n        />\n        <RadioButton\n          label='Low'\n          id='salaryTargetLow'\n          value='salaryTargetLow'\n          checked={formData.salaryRequestReview === 'salaryTargetLow'}\n        />\n        <RadioButton\n          label='On trend'\n          id='salaryTargetOnTrend'\n          value='salaryTargetOnTrend'\n          checked={formData.salaryRequestReview === 'salaryTargetOnTrend'}\n        />\n        <RadioButton\n          label='High'\n          id='salaryTargetHigh'\n          value='salaryTargetHigh'\n          checked={formData.salaryRequestReview === 'salaryTargetHigh'}\n        />\n        <RadioButton\n          label='Very high'\n          id='salaryTargetVeryHigh'\n          value='salaryTargetVeryHigh'\n          checked={formData.salaryRequestReview === 'salaryTargetVeryHigh'}\n        />\n      </RadioButtonGroup>\n\n      <RadioButtonGroup\n        {...stepFields[3][2]}\n        onChange={(e: ChangeEvent<HTMLInputElement>) => {\n          dispatch({\n            type: 'setFieldValue',\n            payload: {\n              ...stepFields[3][2],\n              value: e.target.value\n            }\n          });\n        }}\n        status={formErrors.cultureFit ? 'error' : undefined}\n        info={formErrors.cultureFit ? formErrors.cultureFit.description : undefined}\n        inline\n        required\n      >\n        <RadioButton\n          label='High risk'\n          id='cultureFitHighRisk'\n          value='cultureFitHighRisk'\n          checked={formData.cultureFit === 'cultureFitHighRisk'}\n        />\n        <RadioButton\n          label='Signs of risk'\n          id='cultureFitSomeRisk'\n          value='cultureFitSomeRisk'\n          checked={formData.cultureFit === 'cultureFitSomeRisk'}\n        />\n        <RadioButton\n          label='Indeterminate'\n          id='cultureFitIndeterminate'\n          value='cultureFitIndeterminate'\n          checked={formData.cultureFit === 'cultureFitIndeterminate'}\n        />\n        <RadioButton\n          label='Good'\n          id='cultureFitGood'\n          value='cultureFitGood'\n          checked={formData.cultureFit === 'cultureFitGood'}\n        />\n        <RadioButton\n          label='Perfect'\n          id='cultureFitPerfect'\n          value='cultureFitPerfect'\n          checked={formData.cultureFit === 'cultureFitPerfect'}\n        />\n      </RadioButtonGroup>\n\n      <RadioButtonGroup\n        {...stepFields[3][3]}\n        onChange={(e: ChangeEvent<HTMLInputElement>) => {\n          dispatch({\n            type: 'setFieldValue',\n            payload: {\n              ...stepFields[3][3],\n              value: e.target.value\n            }\n          });\n        }}\n        status={formErrors.finalRecommendation ? 'error' : undefined}\n        info={\n          formErrors.finalRecommendation ? formErrors.finalRecommendation.description : undefined\n        }\n        inline\n        required\n      >\n        <RadioButton\n          label='Do not recommend'\n          id='doNotRecommend'\n          value='doNotRecommend'\n          checked={formData.finalRecommendation === 'doNotRecommend'}\n        />\n        <RadioButton\n          label='Indeterminate'\n          id='noRecommendation'\n          value='noRecommendation'\n          checked={formData.finalRecommendation === 'noRecommendation'}\n        />\n        <RadioButton\n          label='Recommend'\n          id='recommend'\n          value='recommend'\n          checked={formData.finalRecommendation === 'recommend'}\n        />\n      </RadioButtonGroup>\n\n      <TextArea\n        {...stepFields[3][4]}\n        value={formData.recommendationComments}\n        onChange={(e: ChangeEvent<HTMLTextAreaElement>) => {\n          dispatch({\n            type: 'setFieldValue',\n            payload: { ...stepFields[3][4], value: e.target.value }\n          });\n        }}\n      />\n    </Grid>\n  );\n};\n\nexport const MultiStepModal = (args: MultiStepFormDemoProps) => {\n  const { dismiss } = useModalContext();\n  const { push: pushToaster } = useToaster();\n\n  const [loading, setLoading] = useState(false);\n  const [banners, setBanners] = useState<ReactNode | undefined>();\n  const bannerHandleRef = useRef<BannerHandleValue>(null);\n\n  const [state, dispatch] = useReducer<Reducer<DemoMultiStepState, ReducerAction>>(\n    reducer,\n    initialState\n  );\n\n  const finalStep = state.currentStepIndex === state.numSteps - 1;\n\n  const submitStep = () => {\n    setLoading(true);\n    setTimeout(() => {\n      dispatch({ type: 'submitCurrentStep' });\n      if (!finalStep) setLoading(false);\n    }, loadingTimeoutMS);\n  };\n\n  useEffect(() => {\n    if (banners && bannerHandleRef.current) bannerHandleRef.current.focus();\n  }, [banners]);\n\n  useEffect(() => {\n    const bannerErrors = Object.keys(state.formErrors)\n      .filter(errorField => {\n        return stepFields[state.currentStepIndex].find(field => field.name === errorField);\n      })\n      .map(errorField => state.formErrors[errorField]);\n\n    if (bannerErrors.length) {\n      setBanners(<Banner messages={bannerErrors} variant='urgent' handle={bannerHandleRef} />);\n    } else {\n      setBanners(undefined);\n    }\n  }, [state.currentStepIndex, state.formErrors]);\n\n  const stepActions: ReactNode = useMemo(() => {\n    return (\n      <>\n        <Button\n          onClick={() => {\n            dispatch({ type: 'cancel' });\n            dismiss();\n          }}\n          disabled={loading}\n        >\n          Cancel\n        </Button>\n        <div>\n          {state.currentStepIndex > 0 && (\n            <Button\n              onClick={() => dispatch({ type: 'setStep', payload: state.currentStepIndex - 1 })}\n              disabled={loading}\n            >\n              Previous\n            </Button>\n          )}\n          {!finalStep && (\n            <Button variant='primary' onClick={submitStep} disabled={loading}>\n              Next\n            </Button>\n          )}\n          {finalStep && (\n            <Button\n              type='submit'\n              variant='primary'\n              onClick={(e: MouseEvent<HTMLButtonElement>) => {\n                e.preventDefault();\n                submitStep();\n              }}\n              disabled={loading}\n            >\n              Finish\n            </Button>\n          )}\n        </div>\n      </>\n    );\n  }, [state.currentStepIndex, loading]);\n\n  const stepData: Step[] = useMemo(() => {\n    const steps = [\n      {\n        id: 'applicant_details',\n        name: 'Applicant details - personal information',\n        description:\n          'This applicant has passed initial screening and has been cleared to have an interview scheduled. ' +\n          'Please confirm their details and have a discussion regarding the open position and the company.',\n        banners,\n        content: (\n          <ApplicantDetailsFields\n            formData={state.formData}\n            formErrors={state.formErrors}\n            dispatch={dispatch}\n          />\n        )\n      },\n      {\n        id: 'interview_notes',\n        name: 'Interview notes',\n        banners,\n        content: (\n          <InterviewNotesFields\n            formData={state.formData}\n            formErrors={state.formErrors}\n            dispatch={dispatch}\n          />\n        )\n      },\n      {\n        id: 'recommendations',\n        name: 'Final recommendations',\n        description:\n          'Based on your screening call with the applicant please submit your recomendations.',\n        banners,\n        content: (\n          <RecommendationsFields\n            formData={state.formData}\n            formErrors={state.formErrors}\n            dispatch={dispatch}\n          />\n        )\n      }\n    ];\n\n    if (state.numSteps === 4) {\n      steps.splice(2, 0, {\n        id: 'next_interview',\n        name: 'Next interview',\n        description: 'Please select an individual to conduct the next interview.',\n        banners,\n        content: (\n          <NextInterviewFields\n            formData={state.formData}\n            formErrors={state.formErrors}\n            dispatch={dispatch}\n          />\n        )\n      });\n    }\n\n    return steps;\n  }, [state.formData, state.formErrors, state.currentStepIndex, banners, loading]);\n\n  useEffect(() => {\n    if (state.finished) {\n      dismiss();\n      pushToaster({\n        id: 'CASE-12345',\n        label:\n          'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.',\n        href: '/?path=/story/work-caseview--case-view-demo',\n        onClick: () => {}\n      });\n    }\n  }, [state.finished]);\n\n  return (\n    <Modal\n      heading={args.heading}\n      progress={\n        loading\n          ? { message: `Submitting ${stepData[state.currentStepIndex].name.toLowerCase()}...` }\n          : undefined\n      }\n      actions={stepActions}\n      onRequestDismiss={() => !loading}\n    >\n      <MultiStepForm\n        steps={stepData}\n        currentStepId={stepData[state.currentStepIndex].id}\n        stepIndicator={args.stepIndicator}\n      />\n    </Modal>\n  );\n};\n"]}