{"version":3,"file":"UserForm.mjs","names":["Divider","makeStyles","React","useCallback","useState","useTranslation","UserFormFields","useUser","Form","FormButtons","SubmitButton","useStyles","theme","divider","marginTop","spacing","marginBottom","loadingBar","bottom","marginLeft","marginRight","UserForm","props","$","_c","editedUser","rolesData","showRolesField","t0","submitUser","updateCreatedUser","formLoading","altFieldMapping","undefined","classes","user","t","passwordType","setPasswordType","creationMethod","setCreationMethod","t1","Symbol","for","event","target","value","handlePasswordTypeChange","t2","event_0","handleCreationMethodChange","t3","values","passwordProfile","handleSubmitUser","t4","t5","can","CAN_MANAGE_USERS","defaultValue","t6"],"sources":["../../../../../src/shell/ui/user/form/UserForm.jsx"],"sourcesContent":["import { Divider, makeStyles } from '@material-ui/core';\nimport React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { UserFormFields } from './UserFormFields';\nimport { useUser } from '../../../../utilities/auth';\nimport { Form, FormButtons, SubmitButton } from '../../../../utilities/form';\n\nconst useStyles = makeStyles(theme => ({\n  divider: {\n    marginTop: theme.spacing(2),\n    marginBottom: theme.spacing(2),\n  },\n  loadingBar: {\n    bottom: theme.spacing(-2),\n    marginLeft: theme.spacing(-2),\n    marginRight: theme.spacing(-2),\n  },\n}));\n\nexport const UserForm = props => {\n  const {\n    editedUser,\n    rolesData,\n    showRolesField = true,\n    submitUser,\n    updateCreatedUser,\n    formLoading,\n    altFieldMapping,\n  } = props;\n  const classes = useStyles();\n  const user = useUser();\n  const { t } = useTranslation();\n\n  const [passwordType, setPasswordType] = useState('autoGeneratePassword');\n  const [creationMethod, setCreationMethod] = useState('standard'); // 'standard' | 'invite'\n\n  const handlePasswordTypeChange = useCallback(event => {\n    setPasswordType(event.target.value);\n  }, []);\n\n  const handleCreationMethodChange = useCallback(event => {\n    setCreationMethod(event.target.value);\n  }, []);\n\n  const handleSubmitUser = useCallback(\n    values => {\n      if (submitUser) {\n        if (passwordType === 'autoGeneratePassword') {\n          values.passwordProfile = null;\n        }\n        // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n        updateCreatedUser && editedUser\n          ? updateCreatedUser(values)\n          : submitUser(values);\n      }\n    },\n    [submitUser, passwordType, updateCreatedUser, editedUser]\n  );\n\n  return (\n    <Form onSubmit={handleSubmitUser}>\n      <UserFormFields\n        rolesData={rolesData}\n        editedUser={editedUser}\n        showRolesField={showRolesField}\n        handlePasswordTypeChange={handlePasswordTypeChange}\n        passwordType={passwordType}\n        handleCreationMethodChange={handleCreationMethodChange}\n        creationMethod={creationMethod}\n        altFieldMapping={altFieldMapping}\n      />\n      {user.can.CAN_MANAGE_USERS && (\n        <>\n          <div className={classes.divider}>\n            <Divider />\n          </div>\n          <FormButtons>\n            <SubmitButton\n              variant=\"contained\"\n              color=\"primary\"\n              disablePristine={false}\n              disabled={formLoading}\n            >\n              {editedUser\n                ? t('common.update', { defaultValue: 'Update' })\n                : t('common.create', { defaultValue: 'Create' })}\n            </SubmitButton>\n          </FormButtons>\n        </>\n      )}\n    </Form>\n  );\n};\n"],"mappings":"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"}