{"version":3,"file":"PasswordField.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_styles","_styling","_common","_Button","_icons","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledPassSwitch","styled","div","Z_INDEXES","badge","PasswordRow","PasswordField","forwardRef","_ref","ref","id","disabled","onChange","invalid","value","validationMessage","autoComplete","placeholder","required","readOnly","size","margin","className","dataTestId","name","rest","_objectWithoutProperties2","passwordHidden","setPasswordHidden","useState","inputRef","useFocusVisibleRef","theme","useTheme","useImperativeHandle","current","handleKeyDown","keyCode","cls","jsxs","Fragment","children","jsx","InputWrapper","$disabled","$readOnly","$margin","InputFieldStyling","type","tabIndex","$activeErrorMessage","target","IconButton","iconColor","variant","shape","onKeyPress","action","SystemIcons","VisibleOff","VisibleOn","ErrorMessage","TechnicalWarning","color","COLORS","generateToken","componentType","defaultVariant","propTypes","_propTypes","string","isRequired","bool","func","_default","exports"],"sources":["../../src/InputFields/PasswordField.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS } from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { InputFieldStyling, InputWrapper, ErrorMessage } from './styling';\r\nimport { Z_INDEXES } from '../styles';\r\nimport { useFocusVisibleRef } from '../common';\r\nimport { IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\n\r\nexport type PasswordFieldProps =\r\n  Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'id' | 'onChange' | 'readOnly' | 'required' | 'placeholder' | 'autoComplete' | 'value' | 'disabled' | 'tabIndex' | 'type'>\r\n  & {\r\n  /**\r\n   * Required. The ID of the password field.\r\n   */\r\n  id: string;\r\n\r\n  /**\r\n   * Optional. A boolean indicating whether the password field is disabled.\r\n   */\r\n  disabled?: boolean;\r\n\r\n  /**\r\n   * Optional. A function to be called when the value of the password field changes.\r\n   */\r\n  onChange?: (text: string) => void;\r\n\r\n  /**\r\n   * Optional. A boolean indicating whether the password field is invalid.\r\n   */\r\n  invalid?: boolean;\r\n\r\n  /**\r\n   * Optional. The current value of the password field.\r\n   */\r\n  value?: string;\r\n\r\n  /**\r\n   * Optional. The validation message to be displayed when the password field is invalid.\r\n   */\r\n  validationMessage?: string;\r\n\r\n  /**\r\n   * Optional. The autocomplete attribute for the password field.\r\n   */\r\n  autoComplete?: string;\r\n\r\n  /**\r\n   * Optional. The placeholder text for the password field.\r\n   */\r\n  placeholder?: string;\r\n\r\n  /**\r\n   * Optional. A boolean indicating whether the password field is required.\r\n   */\r\n  required?: boolean;\r\n\r\n  /**\r\n   * Optional. A boolean indicating whether the password field is read-only.\r\n   */\r\n  readOnly?: boolean;\r\n\r\n  /**\r\n   * Optional. The size of the password field. Can be 'Small' or 'Medium'.\r\n   */\r\n  size?: Size.Small | Size.Medium;\r\n\r\n  /**\r\n   * Optional. The margin of the password field. Can be any valid CSS margin value.\r\n   */\r\n  margin?: string;\r\n};\r\n\r\nconst StyledPassSwitch = styled.div`\r\n  z-index: ${Z_INDEXES.badge};\r\n  right: 0;\r\n  position: absolute;\r\n`;\r\n\r\nconst PasswordRow = styled.div`\r\n  position: relative;\r\n  display: flex;\r\n  flex-direction: row;\r\n  align-items: center;\r\n`;\r\n\r\nconst PasswordField = React.forwardRef<HTMLInputElement, PasswordFieldProps>(({\r\n                                          id,\r\n                                          disabled,\r\n                                          onChange,\r\n                                          invalid,\r\n                                          value,\r\n                                          validationMessage,\r\n                                          autoComplete,\r\n                                          placeholder,\r\n                                          required,\r\n                                          readOnly,\r\n                                          size,\r\n                                          margin,\r\n                                          className,\r\n                                          dataTestId,\r\n                                          name = 'password',\r\n                                          ...rest\r\n                                        }: PasswordFieldProps, ref) => {\r\n  const [passwordHidden, setPasswordHidden] = React.useState<Boolean>(true);\r\n  const inputRef = useFocusVisibleRef();\r\n  const theme = useTheme();\r\n\r\n  React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n  const handleKeyDown = (e: any) => {\r\n    if (e.keyCode === 13) {\r\n      setPasswordHidden(!passwordHidden);\r\n    }\r\n  };\r\n\r\n  const cls = `${invalid ? 'invalid' : ''}  ${size || ''} ${className}`;\r\n\r\n  return (\r\n    <>\r\n      <InputWrapper $disabled={disabled} $readOnly={readOnly} $margin={margin}>\r\n        <PasswordRow>\r\n            <InputFieldStyling\r\n              id={id}\r\n              data-testid={dataTestId}\r\n              ref={inputRef}\r\n              type={passwordHidden ? 'password' : 'text'}\r\n              name={name}\r\n              value={value}\r\n              className={cls}\r\n              tabIndex={disabled || readOnly ? -1 : 0}\r\n              autoComplete={autoComplete}\r\n              $activeErrorMessage={!!validationMessage}\r\n              placeholder={placeholder}\r\n              disabled={disabled}\r\n              required={required}\r\n              readOnly={readOnly}\r\n              onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\r\n              {...rest}\r\n            />\r\n            <StyledPassSwitch className={size ? size : ''}>\r\n              {!disabled && !readOnly ? (\r\n                passwordHidden ? (\r\n                  <IconButton\r\n                    id={`${id}_Visible`}\r\n                    iconColor={'#666666'}\r\n                    variant={'secondary'}\r\n                    shape={'circular'}\r\n                    onKeyPress={handleKeyDown}\r\n                    action={() => setPasswordHidden(!passwordHidden)}>\r\n                    <SystemIcons.VisibleOff />\r\n                  </IconButton>\r\n                ) : (\r\n                  <IconButton\r\n                    id={`${id}_NotVisible`}\r\n                    iconColor={'#666666'}\r\n                    variant={'secondary'}\r\n                    shape={'circular'}\r\n                    onKeyPress={handleKeyDown}\r\n                    action={() => setPasswordHidden(!passwordHidden)}>\r\n                    <SystemIcons.VisibleOn />\r\n                  </IconButton>\r\n                )\r\n              ) : null}\r\n            </StyledPassSwitch>\r\n        </PasswordRow>\r\n      </InputWrapper>\r\n      {validationMessage && (\r\n        <ErrorMessage className={size || ''}>\r\n          <SystemIcons.TechnicalWarning color={COLORS.generateToken({ componentType: 'text', defaultVariant: 'critical' }, theme)} />\r\n          <span>{validationMessage}</span>\r\n        </ErrorMessage>\r\n      )}\r\n    </>\r\n  );\r\n});\r\n\r\nexport default PasswordField;\r\n"],"mappings":"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","ignoreList":[]}