{"version":3,"file":"LifeCycle.stories.jsx","sourceRoot":"","sources":["../../../src/build/LifeCycle/LifeCycle.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-alert */\nimport { useEffect, useMemo, useState, useRef } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { Flex, Progress, StyledPageLayout, useAfterInitialEffect } from '@pega/cosmos-react-core';\nimport type {\n  LifeCycleAction,\n  LifeCycleActionParam,\n  StepItemProps,\n  LibraryItem,\n  LifeCycleDragDropEvent\n} from '@pega/cosmos-react-build';\nimport { LifeCycle, moveStage, moveStep } from '@pega/cosmos-react-build';\n\nimport { loadingTimeoutMS } from '../../core/Progress/Progress.mocks';\n\nimport {\n  addStepCallback,\n  deleteStepCallback,\n  addTaskCallback,\n  deleteTaskCallback,\n  addStageCallback,\n  deleteStageCallback,\n  type LifeCycleMockState\n} from './utils';\nimport {\n  adhocCaseFlowNodeLibrary,\n  lifeCycleAdhocCaseFlowData,\n  lifeCycleEmptyData,\n  lifeCycleEmptyPlanViewData,\n  lifeCyclePlanViewData,\n  lifeCycleWorkFlowData,\n  planViewNodeLibrary,\n  workFlowNodeLibrary\n} from './LifeCycle.mocks';\nimport { StyledContainer } from './LifeCycle.styles';\n\nexport default {\n  title: 'Build/LifeCycle',\n  component: LifeCycle,\n  argTypes: {\n    readOnly: {\n      control: { type: 'boolean' }\n    },\n    stepWrap: {\n      control: { type: 'boolean' }\n    },\n    useNodeLibrary: {\n      control: { type: 'boolean' }\n    },\n    showStageRegionLabels: {\n      control: { type: 'boolean' }\n    }\n  },\n  args: {\n    readOnly: false,\n    stepWrap: false,\n    useNodeLibrary: true,\n    showStageRegionLabels: false\n  },\n  parameters: {\n    layout: 'fullscreen',\n    docs: {\n      description: {\n        component:\n          'Lifecycle visually represents the case designer in the form of stages, processes, and steps along with parallel processes and alternate stages.'\n      }\n    }\n  }\n} as Meta;\n\nexport interface LifeCycleDemoProps {\n  readOnly: boolean;\n  stepWrap?: boolean;\n  useNodeLibrary?: boolean;\n  showStageRegionLabels?: boolean;\n}\n\nexport const PlanView: StoryFn<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n  const workFlowState = {\n    activeElementId: '',\n    data: lifeCyclePlanViewData\n  } as LifeCycleMockState;\n  const [planViewData, setPlanViewData] = useState(workFlowState);\n\n  const addStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n    const newStep: StepItemProps = {\n      id: libItem.id,\n      label: libItem.primary,\n      visual: {\n        name: libItem.type.icon.name,\n        label: libItem.type.icon.label,\n        category: libItem.type.icon.category,\n        inverted: libItem.type.icon.inverted\n      } as StepItemProps['visual'],\n      error: '',\n      status: { label: '' }\n    };\n    const updatedTask = {\n      ...stepData.task,\n      steps: [...stepData.task!.steps, newStep]\n    } as LifeCycleActionParam['task'];\n\n    const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n    const changedData = addStepCallback(updatedData, planViewData);\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const deleteStep = (stepData: LifeCycleActionParam) => {\n    const changedData = deleteStepCallback(stepData, planViewData);\n    setPlanViewData(changedData);\n  };\n\n  const addTask = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, planViewData);\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const deleteTask = (taskData: LifeCycleActionParam) => {\n    const changedData = deleteTaskCallback(taskData, planViewData);\n    setPlanViewData(changedData);\n  };\n\n  const onAddStage = () => {\n    const changedData = addStageCallback(planViewData, 'stages');\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const onAddAlternateStage = () => {\n    const changedData = addStageCallback(planViewData, 'alternateStages');\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const onDeleteStage: LifeCycleAction['onClick'] = param => {\n    const changedData = deleteStageCallback(param, planViewData);\n    if (changedData === 'firstStage') {\n      alert(\"you can't delete the create stage\");\n    } else {\n      setPlanViewData(changedData);\n    }\n  };\n\n  useEffect(() => {\n    if (planViewData.activeElementId) {\n      const elementId: HTMLElement | null = document.getElementById(\n        `${planViewData.activeElementId}`\n      );\n      if (elementId) {\n        elementId.focus();\n      }\n    }\n  });\n\n  const stages = planViewData.data.stages;\n\n  const alternateStages = planViewData.data.alternateStages;\n\n  const { categories } = planViewData.data;\n\n  const channelActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete channel',\n              id: 'delete5',\n              icon: 'trash',\n              onClick: deleteStep\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const dataSourceActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete data source',\n              id: 'delete6',\n              icon: 'trash',\n              onClick: deleteStep\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const personaActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete persona',\n              id: 'delete2',\n              icon: 'trash',\n              onClick: deleteTask\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const dataActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete data',\n              id: 'delete4',\n              icon: 'trash',\n              onClick: deleteTask\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const stageActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n    [args.readOnly]\n  );\n\n  const alternateStageActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [{ text: 'Delete Stage', id: 'delete11', icon: 'trash', onClick: onDeleteStage }],\n    [args.readOnly]\n  );\n\n  return (\n    <LifeCycle\n      items={stages}\n      alternateItems={alternateStages}\n      categories={categories}\n      task={[\n        {\n          actions: personaActions,\n          addStepTitle: 'channels',\n          addTask: {\n            title: 'Persona',\n            showOnce: false,\n            onAddTask: addTask\n          },\n          onAddStep: addStep,\n          nodeLibrary: planViewNodeLibrary\n        },\n        {\n          actions: dataActions,\n          addStepTitle: 'Data and Systems',\n          addTask: {\n            title: 'Data',\n            showOnce: false,\n            onAddTask: addTask\n          },\n          onAddStep: addStep,\n          nodeLibrary: args.useNodeLibrary ? planViewNodeLibrary : undefined\n        }\n      ]}\n      step={[\n        {\n          actions: channelActions,\n          wrap: args.stepWrap\n        },\n        {\n          actions: dataSourceActions,\n          wrap: args.stepWrap\n        }\n      ]}\n      stage={{\n        label: args.showStageRegionLabels ? 'Primary stages' : '',\n        actions: stageActions\n      }}\n      alternateStage={{\n        label: args.showStageRegionLabels ? 'Alternate stages' : '',\n        actions: alternateStageActions\n      }}\n      onAddStage={onAddStage}\n      onAddAlternateStage={onAddAlternateStage}\n      readOnly={args.readOnly}\n    />\n  );\n};\n\nexport const EmptyPlanView: StoryFn<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n  const emptyPlanView = {\n    activeElementId: '',\n    data: lifeCycleEmptyPlanViewData\n  } as LifeCycleMockState;\n  const [planViewData, setPlanViewData] = useState(emptyPlanView);\n\n  const addStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n    const newStep: StepItemProps = {\n      id: libItem.id,\n      label: libItem.primary,\n      visual: {\n        name: libItem.type.icon.name,\n        label: libItem.type.icon.label,\n        category: libItem.type.icon.category,\n        inverted: libItem.type.icon.inverted\n      } as StepItemProps['visual'],\n      error: '',\n      status: { label: '' }\n    };\n    const updatedTask = {\n      ...stepData.task,\n      steps: [...stepData.task!.steps, newStep]\n    } as LifeCycleActionParam['task'];\n\n    const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n    const changedData = addStepCallback(updatedData, planViewData);\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const deleteStep = (stepData: LifeCycleActionParam) => {\n    const changedData = deleteStepCallback(stepData, planViewData);\n    setPlanViewData(changedData);\n  };\n\n  const addTask = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, planViewData);\n\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const deleteTask = (taskData: LifeCycleActionParam) => {\n    const changedData = deleteTaskCallback(taskData, planViewData);\n    setPlanViewData(changedData);\n  };\n\n  const onAddStage = () => {\n    const changedData = addStageCallback(planViewData, 'stages');\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const onAddAlternateStage = () => {\n    const changedData = addStageCallback(planViewData, 'alternateStages');\n    setPlanViewData(changedData.dataClone);\n  };\n\n  const onDeleteStage: LifeCycleAction['onClick'] = param => {\n    const changedData = deleteStageCallback(param, planViewData);\n    if (changedData === 'firstStage') {\n      alert(\"you can't delete the create stage\");\n    } else {\n      setPlanViewData(changedData);\n    }\n  };\n\n  useEffect(() => {\n    if (planViewData.activeElementId) {\n      const elementId: HTMLElement | null = document.getElementById(\n        `${planViewData.activeElementId}`\n      );\n      if (elementId) {\n        elementId.focus();\n      }\n    }\n  });\n\n  const stages = planViewData.data.stages;\n  const alternateStages = planViewData.data.alternateStages;\n  const categories = planViewData.data.categories;\n\n  const channelActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete channel',\n              id: 'delete5',\n              icon: 'trash',\n              onClick: deleteStep\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const dataSourceActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete data source',\n              id: 'delete6',\n              icon: 'trash',\n              onClick: deleteStep\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const personaActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete persona',\n              id: 'delete2',\n              icon: 'trash',\n              onClick: deleteTask\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const dataActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            {\n              text: 'Delete data',\n              id: 'delete4',\n              icon: 'trash',\n              onClick: deleteTask\n            }\n          ],\n    [args.readOnly]\n  );\n\n  const stageActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n    [args.readOnly]\n  );\n\n  const alternateStageActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [{ text: 'Delete Stage', id: 'delete11', icon: 'trash', onClick: onDeleteStage }],\n    [args.readOnly]\n  );\n\n  return (\n    <LifeCycle\n      items={stages}\n      alternateItems={alternateStages}\n      categories={categories}\n      task={[\n        {\n          actions: personaActions,\n          addStepTitle: 'channels',\n          addTask: {\n            title: 'Persona',\n            showOnce: false,\n            onAddTask: addTask\n          },\n          onAddStep: addStep,\n          nodeLibrary: planViewNodeLibrary\n        },\n        {\n          actions: dataActions,\n          addStepTitle: 'Data and Systems',\n          addTask: {\n            title: 'Data',\n            showOnce: false,\n            onAddTask: addTask\n          },\n          onAddStep: addStep,\n          nodeLibrary: args.useNodeLibrary ? workFlowNodeLibrary : undefined\n        }\n      ]}\n      step={[\n        {\n          actions: channelActions,\n          wrap: args.stepWrap\n        },\n        {\n          actions: dataSourceActions,\n          wrap: args.stepWrap\n        }\n      ]}\n      stage={{\n        label: args.showStageRegionLabels ? 'Primary stages' : '',\n        actions: stageActions\n      }}\n      alternateStage={{\n        label: args.showStageRegionLabels ? 'Alternate stages' : '',\n        actions: alternateStageActions\n      }}\n      onAddStage={onAddStage}\n      onAddAlternateStage={onAddAlternateStage}\n      readOnly={args.readOnly}\n    />\n  );\n};\n\ntype ActiveFieldItemType = LifeCycleActionParam & { id?: string };\n\nexport const WorkFlowView: StoryFn<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n  const workFlowState = {\n    activeElementId: '',\n    data: lifeCycleWorkFlowData\n  } as unknown as LifeCycleMockState;\n  const [workFlowData, setWorkFlowData] = useState(workFlowState);\n  const [activeFieldItem, setActiveFieldItem] = useState<ActiveFieldItemType>();\n  const lifeCycleRef = useRef<HTMLDivElement>(null);\n  const { id: activeFieldItemId } = activeFieldItem || {};\n  const [, setProgress] = useState(true);\n  // const [selectedOptionValue, setSelectedOptionValue] = useState(selectOptions[0]);\n  // const [inputValue, setInputValue] = useState<string>();\n  // const [open, setOpen] = useState(false);\n  // const [inputError, setInputError] = useState(false);\n  // const authoringPanelRef = useRef<HTMLDivElement>(null);\n  // const [target, setTarget] = useElement<HTMLDivElement>(null);\n\n  // useEffect(() => {\n  //   setInputValue(activeFieldItem?.value);\n  // }, [activeFieldItem]);\n\n  useAfterInitialEffect(() => {\n    setProgress(true);\n    const timerId = setTimeout(() => {\n      setProgress(false);\n    }, 600);\n\n    return () => {\n      clearTimeout(timerId);\n    };\n  }, [activeFieldItemId]);\n\n  // const openAuthoringPanel = () => {\n  //   setTarget(lifeCycleRef.current);\n  //   setOpen(true);\n  // };\n\n  const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n    const newStep: StepItemProps = {\n      id: libItem.id,\n      label: libItem.primary,\n      visual: {\n        name: libItem.type.icon.name,\n        label: libItem.type.icon.label,\n        category: libItem.type.icon.category,\n        inverted: libItem.type.icon.inverted\n      } as StepItemProps['visual'],\n      error: '',\n      status: { label: '' }\n    };\n    const updatedTask = {\n      ...stepData.task,\n      steps: [...stepData.task!.steps, newStep]\n    } as LifeCycleActionParam['task'];\n\n    const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n    const changedData = addStepCallback(updatedData, workFlowData);\n    setActiveFieldItem({ ...changedData.newStepData, type: 'Step' });\n    setWorkFlowData(changedData.dataClone);\n    // setInputError(false);\n    // openAuthoringPanel();\n  };\n\n  const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n    const changedData = deleteStepCallback(stepData, workFlowData);\n    if (stepData?.step?.id === activeFieldItem?.id) {\n      setActiveFieldItem(undefined);\n      // setOpen(false);\n    }\n    setWorkFlowData(changedData);\n  };\n\n  const addProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, workFlowData);\n    setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n    setWorkFlowData(changedData.dataClone);\n    // setInputError(false);\n    // openAuthoringPanel();\n  };\n\n  const addParallelProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, workFlowData, true);\n    setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n    setWorkFlowData(changedData.dataClone);\n    // openAuthoringPanel();\n  };\n\n  const deleteProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = deleteTaskCallback(taskData, workFlowData);\n    if (taskData?.task?.id === activeFieldItem?.id) {\n      setActiveFieldItem(undefined);\n      // setOpen(false);\n    }\n    setWorkFlowData(changedData);\n  };\n\n  const onAddStage = () => {\n    const changedData = addStageCallback(workFlowData, 'stages');\n    setActiveFieldItem({ ...changedData.newStageData, type: 'Stage' });\n    setWorkFlowData(changedData.dataClone);\n    // setInputError(false);\n    // openAuthoringPanel();\n  };\n\n  const onAddAlternateStage = () => {\n    const changedData = addStageCallback(workFlowData, 'alternateStages');\n    setActiveFieldItem({ ...changedData.newStageData, type: 'Alternate Stage' });\n    setWorkFlowData(changedData.dataClone);\n    // setInputError(false);\n    // openAuthoringPanel();\n  };\n\n  const onDeleteStage: LifeCycleAction['onClick'] = (stageData: LifeCycleActionParam) => {\n    const changedData = deleteStageCallback(stageData, workFlowData);\n    if (changedData === 'firstStage') {\n      alert(\"you can't delete the create stage\");\n    } else {\n      if (stageData?.stage?.id === activeFieldItem?.id) {\n        setActiveFieldItem(undefined);\n        // setOpen(false);\n      }\n      setWorkFlowData(changedData);\n    }\n  };\n\n  const onOpenProcess = () => {};\n\n  const onSelectedItem = (selectedData: LifeCycleActionParam) => {\n    // setSelectedOptionValue({ id: 0, value: 'Choose' });\n    switch (selectedData.type) {\n      case 'Step':\n        setActiveFieldItem({ ...selectedData, id: selectedData?.step?.id });\n        // if (selectedData.step?.error !== '') {\n        //   setInputError(true);\n        //   setInputValue('');\n        // } else {\n        //   setInputError(false);\n        // }\n        break;\n      case 'Task':\n        setActiveFieldItem({ ...selectedData, id: selectedData?.task?.id });\n        // if (selectedData.task?.error !== '') {\n        //   setInputError(true);\n        //   setInputValue('');\n        // } else {\n        //   setInputError(false);\n        // }\n        break;\n      case 'Stage':\n        setActiveFieldItem({ ...selectedData, id: selectedData?.stage?.id });\n        // if (selectedData.stage?.error !== '') {\n        //   setInputError(true);\n        //   setInputValue('');\n        // } else {\n        //   setInputError(false);\n        // }\n        break;\n      default:\n        setActiveFieldItem(undefined);\n    }\n    // openAuthoringPanel();\n  };\n\n  // const onSelectedUpdateData = () => {\n  //   let changedData: LifeCycleMockState;\n  //   const cloneData = { ...activeFieldItem };\n  //   let errorMessage: string;\n  //   if (inputValue === '') {\n  //     errorMessage = 'Name cannot be empty';\n  //     if (activeFieldItem?.type === 'Stage' && cloneData.stage) {\n  //       cloneData.stage.error = errorMessage;\n  //       cloneData.stage.label = inputValue;\n  //       changedData = updateStageCallback(cloneData, workFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n  //       cloneData.step.error = errorMessage;\n  //       changedData = updateStepCallback(cloneData, workFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else {\n  //       if (cloneData.task) {\n  //         cloneData.task.error = errorMessage;\n  //         cloneData.task.label = inputValue;\n  //       }\n  //       changedData = updateTaskCallback(cloneData, workFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     }\n\n  //     setWorkFlowData(changedData);\n  //   } else {\n  //     errorMessage = '';\n\n  //     if (\n  //       (activeFieldItem?.type === 'Stage' || activeFieldItem?.type === 'Alternate Stage') &&\n  //       cloneData.stage\n  //     ) {\n  //       cloneData.stage.error = errorMessage;\n  //       cloneData.stage.label = `${inputValue}`;\n  //       changedData = updateStageCallback(cloneData, workFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n  //       cloneData.step.error = errorMessage;\n  //       changedData = updateStepCallback(cloneData, workFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else {\n  //       if (cloneData.task) {\n  //         cloneData.task.error = errorMessage;\n  //         cloneData.task.label = `${inputValue}`;\n  //       }\n  //       changedData = updateTaskCallback(cloneData, workFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     }\n  //     setWorkFlowData(changedData);\n  //   }\n  // };\n\n  useEffect(() => {\n    if (workFlowData.activeElementId) {\n      const elementId: HTMLElement | null = document.getElementById(\n        `${workFlowData.activeElementId}`\n      );\n      if (elementId) {\n        elementId.focus();\n      }\n    }\n  });\n\n  const stages = workFlowData.data.stages;\n  const alternateStages = workFlowData.data.alternateStages;\n  const { categories } = lifeCycleWorkFlowData;\n\n  const stepActions = useMemo(() => {\n    return args.readOnly\n      ? []\n      : [\n          {\n            text: 'Delete',\n            id: 'delete10',\n            icon: 'trash',\n            onClick: deleteProcessStep\n          }\n        ];\n  }, [args.readOnly, activeFieldItem]);\n  const taskActions = useMemo(() => {\n    return args.readOnly\n      ? [\n          {\n            text: 'Open Process',\n            id: 'layers2',\n            icon: 'layers',\n            onClick: onOpenProcess\n          }\n        ]\n      : [\n          {\n            text: 'Delete Process',\n            id: 'delete9',\n            icon: 'trash',\n            onClick: deleteProcess\n          },\n          {\n            text: 'Open Process',\n            id: 'layers2',\n            icon: 'layers',\n            onClick: onOpenProcess\n          }\n        ];\n  }, [args.readOnly, activeFieldItem]);\n\n  const StageActions = useMemo(() => {\n    return args.readOnly\n      ? {\n          start: [],\n          default: [],\n          alternate: []\n        }\n      : {\n          start: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage }\n          ],\n          default: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n          alternate: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ]\n        };\n  }, [args.readOnly, activeFieldItem]);\n\n  const alternateStageActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n    [args.readOnly]\n  );\n\n  return (\n    <Flex container as={StyledContainer}>\n      <Flex container as={StyledPageLayout}>\n        <LifeCycle\n          items={stages}\n          alternateItems={alternateStages}\n          categories={categories}\n          task={[\n            {\n              actions: taskActions,\n              addStepTitle: 'step',\n              addTask: {\n                title: 'Process',\n                showOnce: true,\n                onAddTask: addProcess\n              },\n              onClick: onSelectedItem,\n              onAddStep: addProcessStep,\n              onAddCustomStep: () => {},\n              nodeLibrary: args.useNodeLibrary ? workFlowNodeLibrary : undefined\n            }\n          ]}\n          step={[\n            {\n              actions: stepActions,\n              onClick: onSelectedItem,\n              wrap: args.stepWrap\n            }\n          ]}\n          stage={{\n            label: args.showStageRegionLabels ? 'Primary stages' : '',\n            actions: StageActions,\n            onClick: () => {}\n          }}\n          alternateStage={{\n            label: args.showStageRegionLabels ? 'Alternate stages' : '',\n            actions: alternateStageActions,\n            onClick: () => {}\n          }}\n          onAddStage={onAddStage}\n          onAddAlternateStage={onAddAlternateStage}\n          selectedItemId={activeFieldItem?.id}\n          readOnly={args.readOnly}\n          ref={lifeCycleRef}\n        />\n      </Flex>\n    </Flex>\n  );\n};\n\nexport const EmptyWorkFlowView: StoryFn<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n  const emptyState = {\n    activeElementId: '',\n    data: lifeCycleEmptyData\n  } as unknown as LifeCycleMockState;\n  const [emptyStateData, setEmptyStateData] = useState<LifeCycleMockState>(emptyState);\n\n  const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n    const newStep: StepItemProps = {\n      id: libItem.id,\n      label: libItem.primary,\n      visual: {\n        name: libItem.type.icon.name,\n        label: libItem.type.icon.label,\n        category: libItem.type.icon.category,\n        inverted: libItem.type.icon.inverted\n      } as StepItemProps['visual'],\n      error: '',\n      status: { label: '' }\n    };\n    const updatedTask = {\n      ...stepData.task,\n      steps: [...stepData.task!.steps, newStep]\n    } as LifeCycleActionParam['task'];\n\n    const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n    const changedData = addStepCallback(updatedData, emptyStateData);\n    setEmptyStateData(changedData.dataClone);\n  };\n\n  const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n    const changedData = deleteStepCallback(stepData, emptyStateData);\n    setEmptyStateData(changedData);\n  };\n\n  const addProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, emptyStateData);\n    setEmptyStateData(changedData.dataClone);\n  };\n\n  const addParallelProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, emptyStateData, true);\n    setEmptyStateData(changedData.dataClone);\n  };\n\n  const deleteProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = deleteTaskCallback(taskData, emptyStateData);\n    setEmptyStateData(changedData);\n  };\n\n  const onAddStage = () => {\n    const changedData = addStageCallback(emptyStateData, 'stages');\n    setEmptyStateData(changedData.dataClone);\n  };\n\n  const onAddAlternateStage = () => {\n    const changedData = addStageCallback(emptyStateData, 'alternateStages');\n    setEmptyStateData(changedData.dataClone);\n  };\n\n  const onDeleteStage: LifeCycleAction['onClick'] = param => {\n    const changedData = deleteStageCallback(param, emptyStateData);\n    if (changedData === 'firstStage') {\n      alert(\"you can't delete the create stage\");\n    } else {\n      setEmptyStateData(changedData);\n    }\n  };\n\n  const onOpenProcess = () => {};\n\n  useEffect(() => {\n    if (emptyStateData.activeElementId) {\n      const elementId: HTMLElement | null = document.getElementById(\n        `${emptyStateData.activeElementId}`\n      );\n      if (elementId) {\n        elementId.focus();\n      }\n    }\n  });\n\n  const stages = emptyStateData.data.stages;\n  const { alternateStages } = emptyStateData.data;\n  const { categories } = lifeCycleEmptyData;\n\n  const stepActions = useMemo(() => {\n    return args.readOnly\n      ? []\n      : [\n          {\n            text: 'Delete step',\n            id: 'delete10',\n            icon: 'trash',\n            onClick: deleteProcessStep\n          }\n        ];\n  }, [args.readOnly]);\n\n  const taskActions = useMemo(() => {\n    return args.readOnly\n      ? [\n          {\n            text: 'Open Process',\n            id: 'layers2',\n            icon: 'layers',\n            onClick: onOpenProcess\n          }\n        ]\n      : [\n          {\n            text: 'Delete Process',\n            id: 'delete9',\n            icon: 'trash',\n            onClick: deleteProcess\n          },\n          {\n            text: 'Open Process',\n            id: 'layers2',\n            icon: 'layers',\n            onClick: onOpenProcess\n          }\n        ];\n  }, [args.readOnly]);\n\n  const StageActions = useMemo(() => {\n    return args.readOnly\n      ? {\n          start: [],\n          default: [],\n          alternate: []\n        }\n      : {\n          start: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage }\n          ],\n          default: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n          alternate: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ]\n        };\n  }, [args.readOnly]);\n\n  const alternateStageActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n    [args.readOnly]\n  );\n\n  return (\n    <LifeCycle\n      items={stages}\n      alternateItems={alternateStages}\n      categories={categories}\n      task={[\n        {\n          actions: taskActions,\n          addStepTitle: 'step',\n          addTask: {\n            title: 'Process',\n            showOnce: true,\n            onAddTask: addProcess\n          },\n          onAddStep: addProcessStep,\n          nodeLibrary: args.useNodeLibrary ? workFlowNodeLibrary : undefined\n        }\n      ]}\n      step={[\n        {\n          actions: stepActions,\n          wrap: args.stepWrap\n        }\n      ]}\n      stage={{\n        label: args.showStageRegionLabels ? 'Primary stages' : '',\n        actions: StageActions\n      }}\n      alternateStage={{\n        label: args.showStageRegionLabels ? 'Alternate stages' : '',\n        actions: alternateStageActions\n      }}\n      onAddStage={onAddStage}\n      onAddAlternateStage={onAddAlternateStage}\n      readOnly={args.readOnly}\n    />\n  );\n};\n\nexport const AdhocCaseFlowView: StoryFn<LifeCycleDemoProps> = (args: LifeCycleDemoProps) => {\n  const AdhocCaseFlowState = {\n    activeElementId: '',\n    data: lifeCycleAdhocCaseFlowData\n  } as LifeCycleMockState;\n  const [adhocCaseFlowData, setAdhocCaseFlowData] = useState(AdhocCaseFlowState);\n  const [activeFieldItem, setActiveFieldItem] = useState<ActiveFieldItemType>();\n  const lifeCycleRef = useRef<HTMLDivElement>(null);\n  // const [inputValue, setInputValue] = useState<string>();\n  // const [open, setOpen] = useState(false);\n  // const [inputError, setInputError] = useState(false);\n  // const [selectedOptionValue, setSelectedOptionValue] = useState(selectOptions[0]);\n  // const authoringPanelRef = useRef<HTMLDivElement>(null);\n  // const [progress, setProgress] = useState(true);\n  // const [target, setTarget] = useElement<HTMLDivElement>(null);\n  // const { id: activeFieldItemId } = activeFieldItem || {};\n\n  // useEffect(() => {\n  //   setInputValue(activeFieldItem?.value);\n  // }, [activeFieldItem]);\n\n  // useAfterInitialEffect(() => {\n  //   setProgress(true);\n  //   const timerId = setTimeout(() => {\n  //     setProgress(false);\n  //   }, 600);\n\n  //   return () => {\n  //     clearTimeout(timerId);\n  //   };\n  // }, [activeFieldItemId]);\n\n  // const openAuthoringPanel = () => {\n  //   setTarget(lifeCycleRef.current);\n  //   setOpen(true);\n  // };\n\n  const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n    const newStep: StepItemProps = {\n      id: libItem.id,\n      label: libItem.primary,\n      visual: {\n        name: libItem.type.icon.name,\n        label: libItem.type.icon.label,\n        category: libItem.type.icon.category,\n        inverted: libItem.type.icon.inverted\n      } as StepItemProps['visual'],\n      error: '',\n      status: { label: '' }\n    };\n    const updatedTask = {\n      ...stepData.task,\n      steps: [...stepData.task!.steps, newStep]\n    } as LifeCycleActionParam['task'];\n\n    const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n    const changedData = addStepCallback(updatedData, adhocCaseFlowData);\n    setActiveFieldItem({ ...changedData.newStepData, type: 'Step' });\n    setAdhocCaseFlowData(changedData.dataClone);\n    // setInputError(false);\n    // openAuthoringPanel();\n  };\n\n  const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n    const changedData = deleteStepCallback(stepData, adhocCaseFlowData);\n    if (stepData?.step?.id === activeFieldItem?.id) {\n      setActiveFieldItem(undefined);\n      // setOpen(false);\n    }\n    setAdhocCaseFlowData(changedData);\n  };\n\n  // const onOpenProcess = () => {};\n\n  // const onSelectedItem = (selectedData: LifeCycleActionParam) => {\n  //   setSelectedOptionValue({ id: 0, value: 'Choose' });\n  //   switch (selectedData.type) {\n  //     case 'Step':\n  //       setActiveFieldItem({ ...selectedData, id: selectedData?.step?.id });\n  //       if (selectedData.step?.error !== '') {\n  //         setInputError(true);\n  //         setInputValue('');\n  //       } else {\n  //         setInputError(false);\n  //       }\n  //       break;\n  //     case 'Task':\n  //       setActiveFieldItem({ ...selectedData, id: selectedData?.task?.id });\n  //       if (selectedData.task?.error !== '') {\n  //         setInputError(true);\n  //         setInputValue('');\n  //       } else {\n  //         setInputError(false);\n  //       }\n  //       break;\n  //     case 'Stage':\n  //       setActiveFieldItem({ ...selectedData, id: selectedData?.stage?.id });\n  //       if (selectedData.stage?.error !== '') {\n  //         setInputError(true);\n  //         setInputValue('');\n  //       } else {\n  //         setInputError(false);\n  //       }\n  //       break;\n  //     default:\n  //       setActiveFieldItem(undefined);\n  //   }\n  //   openAuthoringPanel();\n  // };\n\n  // const onSelectedUpdateData = () => {\n  //   let changedData: LifeCycleMockState;\n  //   const cloneData = { ...activeFieldItem };\n  //   let errorMessage: string;\n  //   if (inputValue === '') {\n  //     errorMessage = 'Name cannot be empty';\n  //     if (activeFieldItem?.type === 'Stage' && cloneData.stage) {\n  //       cloneData.stage.error = errorMessage;\n  //       cloneData.stage.label = inputValue;\n  //       changedData = updateStageCallback(cloneData, AdhocCaseFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n  //       cloneData.step.error = errorMessage;\n  //       changedData = updateStepCallback(cloneData, AdhocCaseFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else {\n  //       if (cloneData.task) {\n  //         cloneData.task.error = errorMessage;\n  //         cloneData.task.label = inputValue;\n  //       }\n  //       changedData = updateTaskCallback(cloneData, AdhocCaseFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     }\n\n  //     setAdhocCaseFlowData(changedData);\n  //   } else {\n  //     errorMessage = '';\n\n  //     if (activeFieldItem?.type === 'Stage' && cloneData.stage) {\n  //       cloneData.stage.error = errorMessage;\n  //       cloneData.stage.label = `${inputValue}`;\n  //       changedData = updateStageCallback(cloneData, AdhocCaseFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else if (activeFieldItem?.type === 'Step' && cloneData.step) {\n  //       cloneData.step.error = errorMessage;\n  //       changedData = updateStepCallback(cloneData, AdhocCaseFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     } else {\n  //       if (cloneData.task) {\n  //         cloneData.task.error = errorMessage;\n  //         cloneData.task.label = `${inputValue}`;\n  //       }\n  //       changedData = updateTaskCallback(cloneData, AdhocCaseFlowData);\n  //       setActiveFieldItem(cloneData);\n  //     }\n  //     setAdhocCaseFlowData(changedData);\n  //   }\n  // };\n\n  useEffect(() => {\n    if (adhocCaseFlowData.activeElementId) {\n      const elementId: HTMLElement | null = document.getElementById(\n        `${adhocCaseFlowData.activeElementId}`\n      );\n      if (elementId) {\n        elementId.focus();\n      }\n    }\n  });\n\n  const stages = adhocCaseFlowData.data.stages;\n  const { categories } = lifeCycleAdhocCaseFlowData;\n\n  const stepActions = useMemo(() => {\n    return args.readOnly\n      ? []\n      : [\n          {\n            text: 'Delete',\n            id: 'delete10',\n            icon: 'trash',\n            onClick: deleteProcessStep\n          }\n        ];\n  }, [args.readOnly, activeFieldItem]);\n\n  return (\n    <Flex container as={StyledContainer}>\n      <Flex container as={StyledPageLayout}>\n        <LifeCycle\n          items={stages}\n          categories={categories}\n          task={[\n            {\n              addStepTitle: 'step',\n              addTask: {\n                title: 'Process',\n                showOnce: true\n              },\n              onAddStep: addProcessStep,\n              nodeLibrary: args.useNodeLibrary ? adhocCaseFlowNodeLibrary : undefined\n            }\n          ]}\n          step={[\n            {\n              actions: stepActions,\n              onClick: () => {},\n              wrap: args.stepWrap\n            }\n          ]}\n          selectedItemId={activeFieldItem?.id}\n          readOnly={args.readOnly}\n          ref={lifeCycleRef}\n        />\n      </Flex>\n    </Flex>\n  );\n};\n\nAdhocCaseFlowView.argTypes = {\n  showStageRegionLabels: {\n    table: {\n      disable: true\n    }\n  }\n};\n\ninterface DragDropLifeCycleDemoProps extends LifeCycleDemoProps {\n  draggableStages: boolean;\n  draggableSteps: boolean;\n  draggableAlternateStages: boolean;\n  draggableAlternateSteps: boolean;\n  canDragAcrossStageTypes: boolean;\n}\n\nexport const DragDropLifeCycle: StoryFn<DragDropLifeCycleDemoProps> = (\n  args: DragDropLifeCycleDemoProps\n) => {\n  const workFlowState = {\n    activeElementId: '',\n    data: lifeCycleWorkFlowData\n  } as unknown as LifeCycleMockState;\n  const [dragDropLoading, setDragDropLoading] = useState(false);\n  const [workFlowData, setWorkFlowData] = useState(workFlowState);\n  const [activeFieldItem, setActiveFieldItem] = useState<ActiveFieldItemType>();\n  const lifeCycleRef = useRef<HTMLDivElement>(null);\n  const { id: activeFieldItemId } = activeFieldItem || {};\n  const [, setProgress] = useState(true);\n\n  useAfterInitialEffect(() => {\n    setProgress(true);\n    const timerId = setTimeout(() => {\n      setProgress(false);\n    }, 600);\n\n    return () => {\n      clearTimeout(timerId);\n    };\n  }, [activeFieldItemId]);\n\n  const addProcessStep = (stepData: LifeCycleActionParam, libItem: LibraryItem) => {\n    const newStep: StepItemProps = {\n      id: libItem.id,\n      label: libItem.primary,\n      visual: {\n        name: libItem.type.icon.name,\n        label: libItem.type.icon.label,\n        category: libItem.type.icon.category,\n        inverted: libItem.type.icon.inverted\n      } as StepItemProps['visual'],\n      error: '',\n      status: { label: '' }\n    };\n    const updatedTask = {\n      ...stepData.task,\n      steps: [...stepData.task!.steps, newStep]\n    } as LifeCycleActionParam['task'];\n\n    const updatedData: LifeCycleActionParam = { ...stepData, task: updatedTask };\n\n    const changedData = addStepCallback(updatedData, workFlowData);\n    setActiveFieldItem({ ...changedData.newStepData, type: 'Step' });\n    setWorkFlowData(changedData.dataClone);\n  };\n\n  const deleteProcessStep = (stepData: LifeCycleActionParam) => {\n    const changedData = deleteStepCallback(stepData, workFlowData);\n    if (stepData?.step?.id === activeFieldItem?.id) {\n      setActiveFieldItem(undefined);\n    }\n    setWorkFlowData(changedData);\n  };\n\n  const addProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, workFlowData);\n    setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n    setWorkFlowData(changedData.dataClone);\n  };\n\n  const addParallelProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = addTaskCallback(taskData, workFlowData, true);\n    setActiveFieldItem({ ...changedData.newTaskData, type: 'Task' });\n    setWorkFlowData(changedData.dataClone);\n  };\n\n  const deleteProcess = (taskData: LifeCycleActionParam) => {\n    const changedData = deleteTaskCallback(taskData, workFlowData);\n    if (taskData?.task?.id === activeFieldItem?.id) {\n      setActiveFieldItem(undefined);\n    }\n    setWorkFlowData(changedData);\n  };\n\n  const onAddStage = () => {\n    const changedData = addStageCallback(workFlowData, 'stages');\n    setActiveFieldItem({ ...changedData.newStageData, type: 'Stage' });\n    setWorkFlowData(changedData.dataClone);\n  };\n\n  const onAddAlternateStage = () => {\n    const changedData = addStageCallback(workFlowData, 'alternateStages');\n    setActiveFieldItem({ ...changedData.newStageData, type: 'Alternate Stage' });\n    setWorkFlowData(changedData.dataClone);\n  };\n\n  const onDeleteStage: LifeCycleAction['onClick'] = (stageData: LifeCycleActionParam) => {\n    const changedData = deleteStageCallback(stageData, workFlowData);\n    if (changedData === 'firstStage') {\n      alert(\"you can't delete the create stage\");\n    } else {\n      if (stageData?.stage?.id === activeFieldItem?.id) {\n        setActiveFieldItem(undefined);\n      }\n      setWorkFlowData(changedData);\n    }\n  };\n\n  const onDragDrop = (event: LifeCycleDragDropEvent) => {\n    setDragDropLoading(true);\n    let moveData;\n    if (event.type === 'stage') {\n      moveData = moveStage;\n    } else if (event.type === 'step') {\n      moveData = moveStep;\n    }\n    const changedData = moveData?.(\n      event,\n      workFlowData.data.stages,\n      workFlowData.data.alternateStages\n    );\n\n    if (changedData) {\n      const { stages, alternateStages } = changedData;\n\n      // It is necessary to update the type and transitionType of each stage after they are re-ordered in order to preserve expected styles.\n      if (event.type === 'stage') {\n        stages.forEach((stage, index) => {\n          stage.type = index === 0 ? 'start' : 'default';\n          if (stage.transitionType === 'resolution' && index !== stages.length - 1) {\n            stage.transitionType = undefined;\n          } else if (index === stages.length - 1) {\n            stage.transitionType = 'resolution';\n          }\n        });\n        alternateStages.forEach((altStage, index) => {\n          altStage.type = 'alternate';\n          if (altStage.transitionType === 'resolution' && index !== alternateStages.length - 1) {\n            altStage.transitionType = undefined;\n          } else if (index === alternateStages.length - 1) {\n            altStage.transitionType = 'resolution';\n          }\n        });\n      }\n\n      setTimeout(() => {\n        setWorkFlowData(cur => ({ ...cur, data: { ...cur.data, stages, alternateStages } }));\n        setDragDropLoading(false);\n      }, loadingTimeoutMS);\n    }\n  };\n\n  const onOpenProcess = () => {};\n\n  const onSelectedItem = (selectedData: LifeCycleActionParam) => {\n    switch (selectedData.type) {\n      case 'Step':\n        setActiveFieldItem({ ...selectedData, id: selectedData?.step?.id });\n        break;\n      case 'Task':\n        setActiveFieldItem({ ...selectedData, id: selectedData?.task?.id });\n        break;\n      case 'Stage':\n        setActiveFieldItem({ ...selectedData, id: selectedData?.stage?.id });\n        break;\n      default:\n        setActiveFieldItem(undefined);\n    }\n  };\n\n  useEffect(() => {\n    if (workFlowData.activeElementId) {\n      const elementId: HTMLElement | null = document.getElementById(\n        `${workFlowData.activeElementId}`\n      );\n      if (elementId) {\n        elementId.focus();\n      }\n    }\n  });\n\n  const stages = workFlowData.data.stages;\n  const alternateStages = workFlowData.data.alternateStages;\n  const { categories } = lifeCycleWorkFlowData;\n\n  const stepActions = useMemo(() => {\n    return args.readOnly\n      ? []\n      : [\n          {\n            text: 'Delete',\n            id: 'delete10',\n            icon: 'trash',\n            onClick: deleteProcessStep\n          }\n        ];\n  }, [args.readOnly, activeFieldItem]);\n  const taskActions = useMemo(() => {\n    return args.readOnly\n      ? [\n          {\n            text: 'Open Process',\n            id: 'layers2',\n            icon: 'layers',\n            onClick: onOpenProcess\n          }\n        ]\n      : [\n          {\n            text: 'Delete Process',\n            id: 'delete9',\n            icon: 'trash',\n            onClick: deleteProcess\n          },\n          {\n            text: 'Open Process',\n            id: 'layers2',\n            icon: 'layers',\n            onClick: onOpenProcess\n          }\n        ];\n  }, [args.readOnly, activeFieldItem]);\n\n  const StageActions = useMemo(() => {\n    return args.readOnly\n      ? {\n          start: [],\n          default: [],\n          alternate: []\n        }\n      : {\n          start: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage }\n          ],\n          default: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Add Alternate Stage', id: 'add2', onClick: onAddAlternateStage },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n          alternate: [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ]\n        };\n  }, [args.readOnly, activeFieldItem]);\n\n  const alternateStageActions = useMemo(\n    () =>\n      args.readOnly\n        ? []\n        : [\n            { text: 'Add Process', id: 'add1', onClick: addProcess },\n            { text: 'Add Parallel Process', id: 'add3', onClick: addParallelProcess },\n            { text: 'Delete Stage', id: 'delete11', onClick: onDeleteStage }\n          ],\n    [args.readOnly]\n  );\n\n  return (\n    <Flex container as={StyledContainer}>\n      <Flex container as={StyledPageLayout} style={{ width: '100%' }}>\n        <LifeCycle\n          items={stages}\n          alternateItems={alternateStages}\n          categories={categories}\n          task={[\n            {\n              actions: taskActions,\n              addStepTitle: 'step',\n              addTask: {\n                title: 'Process',\n                showOnce: true,\n                onAddTask: addProcess\n              },\n              onClick: onSelectedItem,\n              onAddStep: addProcessStep,\n              onAddCustomStep: () => {},\n              nodeLibrary: args.useNodeLibrary ? workFlowNodeLibrary : undefined\n            }\n          ]}\n          step={[\n            {\n              actions: stepActions,\n              onClick: onSelectedItem,\n              wrap: args.stepWrap\n            }\n          ]}\n          stage={{\n            label: args.showStageRegionLabels ? 'Primary stages' : '',\n            actions: StageActions,\n            onClick: () => {}\n          }}\n          alternateStage={{\n            label: args.showStageRegionLabels ? 'Alternate stages' : '',\n            actions: alternateStageActions,\n            onClick: () => {}\n          }}\n          onAddStage={onAddStage}\n          onAddAlternateStage={onAddAlternateStage}\n          onDragDrop={onDragDrop}\n          dragDropConfig={{\n            loading: dragDropLoading,\n            stage: {\n              enabled: args.draggableStages,\n              accept: args.canDragAcrossStageTypes ? ['stage', 'alternate-stage'] : ['stage']\n            },\n            step: {\n              enabled: args.draggableSteps,\n              accept: args.canDragAcrossStageTypes ? ['step', 'alternate-step'] : ['step']\n            },\n            'alternate-stage': {\n              enabled: args.draggableAlternateStages,\n              accept: args.canDragAcrossStageTypes\n                ? ['stage', 'alternate-stage']\n                : ['alternate-stage']\n            },\n            'alternate-step': {\n              enabled: args.draggableAlternateSteps,\n              accept: args.canDragAcrossStageTypes ? ['step', 'alternate-step'] : ['alternate-step']\n            }\n          }}\n          selectedItemId={activeFieldItem?.id}\n          readOnly={args.readOnly}\n          ref={lifeCycleRef}\n        />\n\n        <Progress visible={!!dragDropLoading} focusOnVisible placement='local' />\n      </Flex>\n    </Flex>\n  );\n};\n\nDragDropLifeCycle.argTypes = {\n  draggableStages: { control: { type: 'boolean' } },\n  draggableSteps: { control: { type: 'boolean' } },\n  draggableAlternateStages: { control: { type: 'boolean' } },\n  draggableAlternateSteps: { control: { type: 'boolean' } },\n  canDragAcrossStageTypes: { control: { type: 'boolean' } }\n};\n\nDragDropLifeCycle.args = {\n  draggableStages: true,\n  draggableSteps: true,\n  draggableAlternateStages: true,\n  draggableAlternateSteps: true,\n  canDragAcrossStageTypes: true\n};\n"]}