{"version":3,"file":"index26.cjs","sources":["../src/components/input/password-field/index.tsx"],"sourcesContent":["import { FunctionComponent, ReactNode, useState } from \"react\";\nimport TextFieldAtom from \"../../../atoms/textfield\";\nimport {\n  LabelPairedEyeSmBoldIcon,\n  LabelPairedLockSmBoldIcon,\n  LabelPairedEyeSlashSmBoldIcon,\n} from \"@deriv/quill-icons\";\n\nexport type PasswordFieldType = {\n  id?: string;\n  name?: string;\n  className?: string;\n  label?: string;\n  placeholder?: string;\n  showCharacterCounter?: boolean;\n  message?: string;\n\n  /** Variant props */\n  indicator?: \"neutral\" | \"fail\" | \"success\";\n  state?: \"default\" | \"disabled\";\n  type?: \"outline\" | \"fill\";\n  size?: \"lg\" | \"md\" | \"sm\";\n  textAlignment?: \"left\" | \"center\";\n\n  /** Custom props */\n  iconLeft?: ReactNode;\n  iconRight?: ReactNode;\n  iconStatus?: ReactNode;\n  labelLeft?: string;\n  isRequired?: boolean;\n  optionalText?: string;\n  maxLength?: number;\n  value?: string | number;\n  onChange?: (value: string | number) => void;\n  messages?: {\n    text: string;\n    type: \"neutral\" | \"fail\" | \"success\";\n    icon?: ReactNode;\n  }[];\n  variant?: \"labelled\" | \"labelless\";\n};\n\nexport const PasswordField: FunctionComponent<PasswordFieldType> = (props) => {\n  const [showPassword, setShowPassword] = useState(false);\n\n  const handleTogglePassword = () => {\n    if (props.state !== \"disabled\") {\n      setShowPassword((prev) => !prev);\n    }\n  };\n\n  const eyeIcon = showPassword ? (\n    <LabelPairedEyeSlashSmBoldIcon\n      className=\"quill-ui-next-pointer\"\n      onClick={handleTogglePassword}\n    />\n  ) : (\n    <LabelPairedEyeSmBoldIcon\n      className=\"quill-ui-next-pointer\"\n      onClick={handleTogglePassword}\n    />\n  );\n\n  return (\n    <TextFieldAtom\n      label={\"Password\"}\n      placeholder={\"Enter your password\"}\n      {...props}\n      inputType={showPassword ? \"text\" : \"password\"}\n      iconLeft={<LabelPairedLockSmBoldIcon />}\n      iconRight={eyeIcon}\n      showStatusIcon\n    />\n  );\n};\n\nPasswordField.displayName = \"PasswordField\";\n\nexport default PasswordField;\n"],"names":["useState","jsx","LabelPairedEyeSlashSmBoldIcon","LabelPairedEyeSmBoldIcon","TextFieldAtom","LabelPairedLockSmBoldIcon"],"mappings":";;;;;;AA0Ca,MAAA,gBAAsD,CAAC,UAAU;AAC5E,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,KAAK;AAEtD,QAAM,uBAAuB,MAAM;AAC7B,QAAA,MAAM,UAAU,YAAY;AACd,sBAAA,CAAC,SAAS,CAAC,IAAI;AAAA,IAAA;AAAA,EAEnC;AAEA,QAAM,UAAU,eACdC,2BAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EAAA,IAGXD,2BAAA;AAAA,IAACE,WAAA;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS;AAAA,IAAA;AAAA,EACX;AAIA,SAAAF,2BAAA;AAAA,IAACG;AAAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,aAAa;AAAA,MACZ,GAAG;AAAA,MACJ,WAAW,eAAe,SAAS;AAAA,MACnC,yCAAWC,WAA0B,2BAAA,EAAA;AAAA,MACrC,WAAW;AAAA,MACX,gBAAc;AAAA,IAAA;AAAA,EAChB;AAEJ;AAEA,cAAc,cAAc;;;"}