{"version":3,"sources":["webpack:///./Avensia.Common/Features/Shared/Icon/glyphs/hide-password.svg","webpack:///./Avensia.Common/Features/Shared/Icon/glyphs/show-password.svg","webpack:///./Avensia.Common/Features/Shared/Icon/Eye.tsx","webpack:///./Avensia.Common/Features/Shared/PasswordVisibility/index.tsx","webpack:///./Avensia.Common/Features/Shared/Icon/Check-Success.tsx","webpack:///./Avensia.Common/Features/Shared/SuccessMessage.tsx","webpack:///./Avensia.Common/Features/Account/MyPages/ChangePassword/ChangePasswordPage.tsx"],"names":["React","HidePassword","props","createElement","defaultProps","module","exports","default","ShowPassword","hide","show","onEyeIconClick","setState","showPassword","state","render","showEyeIcon","ShowEyeIcon","hideEyeIcon","HideEyeIcon","InputContainer","InputLabel","this","inputLabel","InputWithEyeWrapper","InputWrapper","InputField","name","onChange","required","type","value","inputValue","minLength","placeholder","inputPlaceholder","invalid","error","IconContainer","css","border","xy","color","onClick","Error","Component","borderRadius","paddingLeft","label","marginLeft","div","minHeight","position","display","flexDirection","alignItems","eyeIconStyle","fontWeight","width","height","span","backgroundColor","justifyContent","cursor","right","minWidth","zIndex","style","left","marginTop","Base","xmlns","d","fill","strokeWidth","stroke","Content","message","currentInput","initialInputValues","currentPassword","newPassword","repeatPassword","setInputValue","e","inputs","currentTarget","validateInputs","isValid","errorMessageList","Object","entries","key","errors","onSubmit","changePasswordUrl","success","isSuccess","Promise","reject","onPasswordFieldInput","showCurrentPassword","showNewPassword","showRepeatPassword","onSuccessMessage","setTimeout","page","successMessage","FormStyle","padding","x","y","layout","TwoToThree","buttonCaption","submitButtonCaption","buttonAction","customFormStyle","currentPasswordLabel","newPasswordLabel","repeatPasswordLabel","ServerError","margin","currentBreakpoint","ChangePassword"],"mappings":"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","file":"assets/29.chunk.50d1e12b53977211a564.js","sourcesContent":["var React = require('react');\n\nfunction HidePassword (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"id\":\"Hide-password\",\"stroke\":\"none\",\"strokeWidth\":\"1\",\"fill\":\"none\",\"fillRule\":\"evenodd\"},React.createElement(\"g\",{\"id\":\"eye-off\",\"transform\":\"translate(3 3)\",\"fill\":\"#878787\",\"fillRule\":\"nonzero\"},React.createElement(\"path\",{\"d\":\"M12.08 13.14l-1.556-1.556a2.876 2.876 0 01-2.31.377C7.16 11.684 6.16 10.72 5.902 9.67c-.21-.845-.094-1.689.338-2.37L4.51 5.571c-1.05.91-1.872 1.984-2.655 3.42a13.03 13.03 0 001.768 2.314c1.57 1.632 3.365 2.595 5.346 2.595 1.257-.02 2.24-.248 3.11-.76zm1.087 1.088c-1.19.797-2.52 1.144-4.185 1.172-2.46 0-4.613-1.155-6.44-3.055a14.514 14.514 0 01-1.636-2.048 10.66 10.66 0 01-.574-.955.75.75 0 01.003-.688c.904-1.738 1.863-3.044 3.112-4.146L.47 1.53A.75.75 0 011.53.47l16 16a.75.75 0 01-1.06 1.06l-3.303-3.302zM15.83 8.46a13.836 13.836 0 00-1.476-1.956C12.78 4.772 10.984 3.75 8.998 3.75a5.691 5.691 0 00-1.35.16.75.75 0 11-.351-1.459A7.187 7.187 0 019 2.25c2.471 0 4.63 1.228 6.464 3.246a15.32 15.32 0 011.638 2.168c.279.447.47.798.573 1.009a.75.75 0 01-.01.672 14.657 14.657 0 01-1.655 2.522.75.75 0 01-1.162-.949c.489-.599.925-1.242 1.302-1.92a11.92 11.92 0 00-.32-.537z\",\"id\":\"Combined-Shape\"}))));\n}\n\nHidePassword.defaultProps = {\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"};\n\nmodule.exports = HidePassword;\n\nHidePassword.default = HidePassword;\n","var React = require('react');\n\nfunction ShowPassword (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"id\":\"Show-password\",\"stroke\":\"none\",\"strokeWidth\":\"1\",\"fill\":\"none\",\"fillRule\":\"evenodd\"},React.createElement(\"g\",{\"id\":\"eye-copy-2\",\"transform\":\"translate(3 5)\",\"fill\":\"#878787\",\"fillRule\":\"nonzero\"},React.createElement(\"path\",{\"d\":\"M2.164 7.32c.417.647.91 1.293 1.474 1.894 1.576 1.68 3.373 2.672 5.362 2.672 1.99 0 3.786-.991 5.362-2.672a13.441 13.441 0 001.783-2.396 13.441 13.441 0 00-1.783-2.396C12.786 2.742 10.989 1.75 9 1.75c-1.99 0-3.786.992-5.362 2.672a13.441 13.441 0 00-1.783 2.396c.082.141.185.31.31.502zM.33 6.483c.103-.205.295-.547.575-.98a14.926 14.926 0 011.64-2.107C4.377 1.44 6.534.25 9 .25c2.465 0 4.623 1.19 6.456 3.146.63.672 1.177 1.389 1.64 2.106.28.434.472.776.575.98a.75.75 0 010 .672c-.103.205-.295.547-.575.98a14.926 14.926 0 01-1.64 2.106c-1.833 1.956-3.99 3.146-6.456 3.146-2.465 0-4.623-1.19-6.456-3.146a14.926 14.926 0 01-1.64-2.106c-.28-.433-.472-.775-.575-.98a.75.75 0 010-.671zM9 10a3.182 3.182 0 110-6.364A3.182 3.182 0 019 10z\",\"id\":\"Combined-Shape\"}))));\n}\n\nShowPassword.defaultProps = {\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"};\n\nmodule.exports = ShowPassword;\n\nShowPassword.default = ShowPassword;\n","import factory from './icon';\r\nimport HidePassword from './glyphs/hide-password.svg';\r\nimport ShowPassord from './glyphs/show-password.svg';\r\n\r\nexport const hide = factory(HidePassword);\r\n\r\nexport const show = factory(ShowPassord);\r\n\r\n","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport Input from 'Shared/Fields/Text';\r\nimport { pixelsToUnit, thin } from 'Shared/Style';\r\nimport { show, hide } from 'Shared/Icon/Eye';\r\nimport { alto, vividtangerine } from 'Shared/Style/colors';\r\nimport { ErrorMessage } from 'Shared/FeedbackMessage';\r\n\r\ntype PropType = {\r\n name?: string;\r\n inputLabel?: string;\r\n inputPlaceholder?: string;\r\n minLength?: number;\r\n inputValue: string;\r\n onChange: React.ChangeEventHandler;\r\n error?: string[] | string;\r\n};\r\n\r\ntype StateType = {\r\n showPassword: boolean;\r\n};\r\n\r\nexport default class ResetPassword extends React.Component {\r\n constructor(props: PropType) {\r\n super(props);\r\n\r\n this.state = {\r\n showPassword: false,\r\n };\r\n }\r\n\r\n onEyeIconClick = () => {\r\n this.setState({ showPassword: !this.state.showPassword });\r\n };\r\n\r\n render() {\r\n const showEyeIcon = ;\r\n const hideEyeIcon = ;\r\n return (\r\n \r\n {this.props.inputLabel}\r\n \r\n \r\n \r\n \r\n \r\n {this.state.showPassword ? showEyeIcon : hideEyeIcon}\r\n \r\n \r\n {!!this.props.error && {this.props.error}}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InputField = styled(Input, {\r\n borderRadius: 0,\r\n paddingLeft: pixelsToUnit(16),\r\n});\r\n\r\nconst InputLabel = styled.label({\r\n marginLeft: pixelsToUnit(16),\r\n});\r\n\r\nconst InputContainer = styled.div({\r\n minHeight: pixelsToUnit(112),\r\n});\r\n\r\nconst InputWithEyeWrapper = styled.div({\r\n position: 'relative',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n});\r\n\r\nconst eyeIconStyle = styled({\r\n color: '#a4a4a4',\r\n fontWeight: 'bold',\r\n width: pixelsToUnit(25),\r\n height: pixelsToUnit(25),\r\n alignItems: 'center',\r\n});\r\n\r\nconst HideEyeIcon = eyeIconStyle(hide);\r\n\r\nconst ShowEyeIcon = eyeIconStyle(show);\r\n\r\nconst IconContainer = styled.span({\r\n backgroundColor: '#F6F6F6',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n cursor: 'pointer',\r\n display: 'flex',\r\n height: pixelsToUnit(50),\r\n marginLeft: pixelsToUnit(-1),\r\n right: pixelsToUnit(5),\r\n width: '10%',\r\n minWidth: pixelsToUnit(52),\r\n zIndex: 2,\r\n border: {\r\n xy: {\r\n width: thin,\r\n style: 'solid',\r\n color: alto,\r\n },\r\n left: {\r\n width: 0,\r\n },\r\n },\r\n});\r\n\r\nconst InputWrapper = styled.div({\r\n width: '90%',\r\n});\r\n\r\nconst Error = styled(ErrorMessage, {\r\n marginTop: 0,\r\n paddingLeft: pixelsToUnit(16),\r\n});\r\n","import React from 'react';\r\nimport { pixelsToUnit } from 'Shared/Style';\r\nimport { styled } from '@glitz/react';\r\n\r\nconst Base = styled.div({\r\n paddingLeft: pixelsToUnit(5),\r\n});\r\n\r\nexport default () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import React from 'react';\r\nimport { styled } from '@glitz/react';\r\nimport Check from 'Shared/Icon/Check-Success';\r\n\r\ntype PropType = {\r\n message: string;\r\n};\r\n\r\nexport default (props: PropType) => {\r\n return (\r\n \r\n {props.message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Content = styled.div({\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n});\r\n","/**\r\n * @ComponentFor ChangePasswordPageViewModel\r\n */\r\nimport * as React from 'react';\r\nimport connect from 'Shared/connect';\r\nimport { ConnectPropType } from 'Shared/Button/Feedback';\r\nimport { epiPropertyValue } from '@avensia/scope-episerver';\r\nimport { postJson, translate } from '@avensia/scope';\r\nimport { pixelsToUnit } from 'Shared/Style';\r\nimport AccountForm from 'Account/Form/AccountForm';\r\nimport ChangePasswordPageViewModel from './ChangePasswordPageViewModel.type';\r\nimport { Basic, Layout } from 'Shared/PageLayout/index';\r\nimport BreadcrumbsViewModel from 'Shared/Breadcrumbs/BreadcrumbsViewModel.type';\r\nimport SuccessMessage from 'Shared/SuccessMessage';\r\nimport PasswordVisibility from 'Shared/PasswordVisibility';\r\nimport MyPagesBaseLayout from 'Account/MyPages/MyPagesBaseLayout';\r\nimport { ErrorMessage } from 'Shared/FeedbackMessage';\r\nimport { styled } from '@glitz/react';\r\n\r\ntype ChangePasswordType = {\r\n inputs: any;\r\n showCurrentPassword: boolean;\r\n showNewPassword: boolean;\r\n showRepeatPassword: boolean;\r\n errors: { [item: string]: string };\r\n isSuccess: boolean;\r\n message?: string;\r\n};\r\ntype RequiredProps = ChangePasswordPageViewModel & {\r\n breadcrumbs: BreadcrumbsViewModel[];\r\n currentBreakpoint: number;\r\n};\r\n\r\ntype ConnectedProps = RequiredProps & ConnectPropType;\r\n\r\nenum currentInput {\r\n currentPassword,\r\n newPassword,\r\n repeatPassword,\r\n}\r\nconst initialInputValues = {\r\n currentPassword: '',\r\n newPassword: '',\r\n repeatPassword: '',\r\n};\r\n\r\nconst TIME_SUCCESS_MESSAGE_DISPLAY = 2000; // milliseconds\r\n\r\nclass ChangePassword extends React.Component {\r\n constructor(props: ConnectedProps) {\r\n super(props);\r\n this.state = {\r\n inputs: {\r\n ...initialInputValues\r\n },\r\n showCurrentPassword: false,\r\n showNewPassword: false,\r\n showRepeatPassword: false,\r\n errors: {\r\n ...initialInputValues\r\n },\r\n isSuccess: false,\r\n };\r\n }\r\n\r\n setInputValue = (e: React.ChangeEvent) => {\r\n this.setState({ inputs: { ...this.state.inputs, [e.currentTarget.name]: e.currentTarget.value } });\r\n };\r\n\r\n validateInputs = (inputs: any) => {\r\n let isValid = true;\r\n let errorMessageList = {};\r\n\r\n for (const [key, value] of Object.entries(inputs)) {\r\n if (!value) {\r\n isValid = false;\r\n errorMessageList = { ...errorMessageList, [key]: translate('/Account/ForgotPassword/EmailRequiredField') };\r\n }\r\n }\r\n this.setState({ errors: { ...this.state.errors, ...errorMessageList } });\r\n return isValid;\r\n };\r\n\r\n onSubmit = async () => {\r\n const isValid = this.validateInputs(this.state.inputs);\r\n if (isValid) {\r\n try {\r\n const { success, errors, message } = await postJson(this.props.changePasswordUrl, this.state.inputs);\r\n if (success) {\r\n this.setState(() => ({\r\n inputs: {\r\n currentPassword: '',\r\n newPassword: '',\r\n repeatPassword: '',\r\n },\r\n errors: {\r\n ...initialInputValues\r\n },\r\n isSuccess: true,\r\n }));\r\n } else {\r\n this.setState(() => ({\r\n errors: {\r\n ...initialInputValues, ...errors\r\n },\r\n isSuccess: false,\r\n message,\r\n }));\r\n return Promise.reject(null);\r\n }\r\n } catch (error) {\r\n this.setState(() => ({\r\n errors: {\r\n ...initialInputValues, ...error\r\n }\r\n }));\r\n return Promise.reject(null);\r\n }\r\n } else {\r\n return Promise.reject(null);\r\n }\r\n };\r\n\r\n onPasswordFieldInput = (e: React.FormEvent) => {\r\n this.setState({\r\n inputs: { ...this.state.inputs, [e.currentTarget.name]: e.currentTarget.value },\r\n errors: { ...this.state.errors, [e.currentTarget.name]: null },\r\n });\r\n };\r\n\r\n onEyeIconClick = (name: currentInput) => {\r\n switch (name) {\r\n case currentInput.currentPassword:\r\n this.setState({ showCurrentPassword: !this.state.showCurrentPassword });\r\n break;\r\n\r\n case currentInput.newPassword:\r\n this.setState({ showNewPassword: !this.state.showNewPassword });\r\n break;\r\n\r\n case currentInput.repeatPassword:\r\n this.setState({ showRepeatPassword: !this.state.showRepeatPassword });\r\n }\r\n };\r\n\r\n onSuccessMessage() {\r\n setTimeout(() => {\r\n this.setState({ isSuccess: false });\r\n }, TIME_SUCCESS_MESSAGE_DISPLAY);\r\n return ;\r\n }\r\n\r\n render() {\r\n const FormStyle = {\r\n backgroundColor: 'none',\r\n padding: {\r\n x: 0,\r\n y: pixelsToUnit(30),\r\n },\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!this.state.isSuccess && this.state.message && {this.state.message}}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst ServerError = styled(ErrorMessage, {\r\n margin: { x: 0, y: pixelsToUnit(20) },\r\n});\r\n\r\nexport default connect(state => ({\r\n currentBreakpoint: state.currentBreakpoint,\r\n}))(ChangePassword);\r\n\r\n"],"sourceRoot":""}