{"version":3,"file":"UserFormFields.mjs","names":["FormControlLabel","FormLabel","IconButton","InputAdornment","makeStyles","Visibility","VisibilityOff","React","useCallback","useMemo","useState","Field","PasswordValidator","isPasswordValid","UserRoleAutoComplete","FluentCheckbox","FluentRadio","FluentRadioGroup","FluentTextField","useUser","useTranslation","UdpCheckbox","UdpIconButton","UdpRadioGroup","UdpTextInput","useStyles","theme","field","marginBottom","spacing","selectors","display","flexDirection","alert","marginTop","accountDisabledCheckbox","height","accountDisabledCheckboxLabel","UserFormFields","props","$","_c","creationMethod","editedUser","handlePasswordTypeChange","handleCreationMethodChange","hideEmailField","passwordType","rolesData","showRolesField","t0","altFieldMapping","undefined","user","showPassword","setShowPassword","password","setPassword","accountLocked","setAccountLocked","t","t1","defaultValue","t2","label","value","t3","t4","t5","inviteOptions","t6","t7","t8","t9","t10","passwordGenerationOptions","t11","t12","Symbol","for","userId","firstName","lastName","email","roles","userMapping","bb0","t13","forEach","_temp","sort","_temp2","_temp3","bb1","t14","t15","r_0","find","edur","roleId","r","filter","initialRolesValue","e","t16","t17","t18","can","CAN_MANAGE_USERS","t19","t20","t21","t22","t23","t24","CAN_MODIFY_EMAIL","test","split","length","t25","initialValue","isFormField","id","name","t26","e_0","e_1","target","e_2","_temp4","e_3","checked","t27","a","b","localeCompare","a_0","b_0","productName","showPasswordPrev"],"sources":["../../../../../src/shell/ui/user/form/UserFormFields.jsx"],"sourcesContent":["import {\n  FormControlLabel,\n  FormLabel,\n  IconButton,\n  InputAdornment,\n  makeStyles,\n} from '@material-ui/core';\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { Field } from '../../../../utilities/form/Field';\nimport PasswordValidator, { isPasswordValid } from '../PasswordValidator';\nimport { UserRoleAutoComplete } from './UserRoleAutoComplete';\nimport { FluentCheckbox } from '../../../../UI/inputs/checkbox';\nimport { FluentRadio, FluentRadioGroup } from '../../../../UI/inputs/radio';\nimport { FluentTextField } from '../../../../UI/inputs/textField';\nimport { useUser } from '../../../../utilities/auth';\nimport { useTranslation } from 'react-i18next';\nimport { UdpCheckbox, UdpIconButton, UdpRadioGroup, UdpTextInput } from '../../../../UI/fluent-web-components';\n\n\nconst useStyles = makeStyles(theme => ({\n  field: {\n    marginBottom: theme.spacing(2),\n  },\n  selectors: {\n    display: 'flex',\n    flexDirection: 'row',\n    marginBottom: theme.spacing(1),\n  },\n  alert: {\n    marginTop: theme.spacing(-2),\n    marginBottom: theme.spacing(2),\n  },\n  accountDisabledCheckbox: {\n    height: 'auto',\n  },\n  accountDisabledCheckboxLabel: {\n    marginTop: theme.spacing(1),\n  },\n}));\n\nexport const UserFormFields = props => {\n  const {\n    creationMethod,\n    editedUser,\n    handlePasswordTypeChange,\n    handleCreationMethodChange,\n    hideEmailField,\n    passwordType,\n    rolesData,\n    showRolesField = true,\n    altFieldMapping,\n  } = props;\n  const classes = useStyles();\n  const user = useUser();\n  const [showPassword, setShowPassword] = useState(false);\n  const [password, setPassword] = useState('');\n  const [accountLocked, setAccountLocked] = useState(false);\n  const { t } = useTranslation();\n\n  const inviteOptions = useMemo(\n    () => [\n      {\n        label: t('shell.user.creationMethod.standard', {\n          defaultValue: 'Standard (Email & Password)',\n        }),\n        value: 'standard',\n      },\n      {\n        label: t('shell.user.creationMethod.invite', {\n          defaultValue: 'Invite Entra User (Secure Email Invite Link)',\n        }),\n        value: 'invite',\n      },\n    ],\n    [t]\n  );\n\n  const passwordGenerationOptions = useMemo(\n    () => [\n      {\n        label: t('shell.user.password.autoGenerate', {\n          defaultValue: 'Auto-generate password',\n        }),\n        value: 'autoGeneratePassword',\n      },\n      {\n        label: t('shell.user.password.createOwn', {\n          defaultValue: 'Let me create the password',\n        }),\n        value: 'createPassword',\n      },\n    ],\n    [t]\n  );\n\n  const userMapping = useMemo(() => {\n    if (altFieldMapping) {\n      return altFieldMapping;\n    } else {\n      // Default mapping for code generated User object\n      return {\n        userId: 'userId',\n        firstName: 'firstName',\n        lastName: 'lastName',\n        email: 'email',\n        roles: 'systemWideSecurityRoles',\n      }\n    }\n  }, [altFieldMapping]);\n\n  const roles = useMemo(() => {\n    if (!rolesData) {\n      return [];\n    }\n    rolesData.forEach(r => {\n      r.label = r.name;\n      r.value = r.name;\n    });\n    return rolesData\n      .sort((a, b) => a.label.localeCompare(b.label))\n      .sort((a, b) => a.productName.localeCompare(b.productName));\n  }, [rolesData]);\n\n  const initialRolesValue = useMemo(() => {\n    if (!editedUser) {\n      return [];\n    }\n    return roles.filter(\n      r => !!editedUser[userMapping.roles]?.find(edur => edur.roleId === r.roleId)\n    );\n  }, [editedUser, roles, userMapping]);\n\n  const handleClickShowPassword = useCallback(() => {\n    setShowPassword(!showPassword);\n  }, [showPassword]);\n\n  return (\n    <>\n      {editedUser && (\n        <Field\n          component={UdpTextInput}\n          label={t('shell.user.fields.userId', { defaultValue: 'User ID' })}\n          id=\"user-id\"\n          name={userMapping.userId}\n          appearance=\"outline\"\n          controlSize=\"small\"\n          initialValue={editedUser?.[userMapping.userId]}\n          disabled={true}\n        />\n      )}\n      {!editedUser && (\n        <UdpRadioGroup\n          label={t('shell.user.fields.creationMethod', {\n            defaultValue: 'Creation Method',\n          })}\n          orientation=\"vertical\"\n          items={inviteOptions}\n          value={creationMethod}\n          onChange={e => handleCreationMethodChange(e)}\n        />\n      )}\n      <Field\n        component={UdpTextInput}\n        label={t('shell.user.fields.firstName', { defaultValue: 'First Name' })}\n        id=\"first-name\"\n        name={userMapping.firstName}\n        appearance=\"outlined\"\n        required\n        initialValue={editedUser?.[userMapping.firstName]}\n        disabled={!user.can.CAN_MANAGE_USERS}\n      />\n      <Field\n        component={UdpTextInput}\n        label={t('shell.user.fields.lastName', { defaultValue: 'Last Name' })}\n        id=\"last-name\"\n        name={userMapping.lastName}\n        appearance=\"outline\"\n        controlsize=\"medium\"\n        required\n        initialValue={editedUser?.[userMapping.lastName]}\n        disabled={!user.can.CAN_MANAGE_USERS}\n      />\n      {!hideEmailField && (\n        <Field\n          component={UdpTextInput}\n          label={t('shell.user.fields.email', { defaultValue: 'Email' })}\n          id=\"email\"\n          name={userMapping.email}\n          appearance=\"outline\"\n          controlSize=\"small\"\n          required\n          initialValue={editedUser?.[userMapping.email]}\n          disabled={editedUser && !user.can.CAN_MODIFY_EMAIL}\n          validate={value => {\n            if (\n              !/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n                value\n              ) ||\n              64 < value.split('@')[0].length\n            ) {\n              return t('shell.user.validation.invalidEmail', {\n                defaultValue: 'Invalid email address',\n              });\n            }\n          }}\n        />\n      )}\n      {showRolesField && (\n        <Field\n          component={UserRoleAutoComplete}\n          ComponentProps={{\n            initialValue: initialRolesValue,\n            isFormField: true,\n          }}\n          label={t('shell.user.fields.selectRole', {\n            defaultValue: 'Select Role',\n          })}\n          id=\"roles\"\n          name={userMapping.roles}\n          appearance=\"outline\"\n          controlSize=\"medium\"\n          options={roles || []}\n          initialValue={initialRolesValue}\n          textFieldProps={{\n            id: 'roles',\n            name: 'roles',\n          }}\n          optionLabel={'label'}\n          groupBy={'productName'}\n          required\n        />\n      )}\n      {!editedUser && (creationMethod !== 'invite') && (\n        <>\n          <UdpRadioGroup\n            label=\"\"\n            orientation=\"vertical\"\n            items={passwordGenerationOptions}\n            value={passwordType}\n            onChange={e => handlePasswordTypeChange(e)}\n          />\n          {passwordType === 'createPassword' && (\n            <>\n            <Field\n              component={UdpTextInput}\n              label={t('shell.user.fields.password', {\n                defaultValue: 'Password',\n              })}\n              id=\"passwordProfile\"\n              name=\"passwordProfile\"\n              type={showPassword ? 'text' : 'password'}\n              appearance=\"outline\"\n              size=\"medium\"\n              autoComplete=\"new-password\"\n              onChange={e => setPassword(e?.target?.value)}\n            >\n              <UdpIconButton\n                slot=\"end\"\n                iconName={showPassword ? \"eye\" : \"eye-off\"}\n                size=\"small\"\n                appearance=\"transparent\"\n                ariaLabel={t('shell.user.fields.passwordAria', {\n                  defaultValue: 'password',\n                })}\n                onClick={e => {\n                  setShowPassword(showPasswordPrev => !showPasswordPrev)\n                }}\n              />\n            </Field>\n            {!isPasswordValid(password, 8, true, true, true, true) &&\n                  <PasswordValidator\n                    password={password}\n                    numberRestriction\n                    lowerCaseRestriction\n                    upperCaseRestriction\n                    lengthRestriction={8}\n                    specialCharacterRestriction\n                  />\n            }\n            </>\n          )}\n          <Field\n            component={UdpCheckbox}\n            label={t('shell.user.fields.doNotActivate', {\n              defaultValue:\n                'Do not activate account and do not send a welcome email.',\n            })}\n            controlSize='medium'\n            disabled={!user.can.CAN_MANAGE_USERS}\n            name='locked'\n            id='acount-locked'\n            type='checkbox'\n            initialValue={accountLocked}\n            checked={accountLocked}\n            onChange={e => setAccountLocked(e.target.checked)}\n          />\n        </>\n      )}\n\n      {/* @TODO: uncomment if we decide to allow user to select user type for an AD user */}\n      {/* <Field\n            component={TextField}\n            label=\"User Type\"\n            id=\"user-type\"\n            name=\"userType\"\n            fullWidth\n            variant=\"outlined\"\n            margin=\"normal\"\n            size=\"small\"\n            select\n            required\n            initialValue={user?.userType?.toLowerCase()}\n          >\n            <MenuItem value=\"guest\">Guest</MenuItem>\n            <MenuItem value=\"member\">Member</MenuItem>\n          </Field> */}\n      {/* @TODO handle country, state and province values. And handle custom fields */}\n      {/* Support will be added in the future, need to use 3rd party library for countries and states. */}\n      {/* <div className={classes.selectors}>\n            <CountrySelector />\n            {defaultUS && <StateSelector />}\n            {!defaultUS && <ProvinceSelector />}\n          </div>\n\n          {city} */}\n    </>\n  );\n};\n"],"mappings":"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"}