{
  "version": 3,
  "sources": ["../../../../../../Modules/Membership/Account/SignUp/SignUpPage.tsx"],
  "sourcesContent": ["import { SignUpForm, SignUpRequest } from \"@/ServerTypes/Membership\";\nimport { SignUpResponse } from \"@/ServerTypes/Membership/SignUpResponse\";\nimport { Texts } from \"@/ServerTypes/Texts\";\nimport { PropertyPanel } from \"@serenity-is/corelib\";\nimport { informationDialog, resolveUrl, serviceCall } from \"@serenity-is/corelib\";\nimport { AccountPanelTitle } from \"../AccountPanelTitle\";\n\nexport default function pageInit(opt: any) {\n    new SignUpPanel({ element: '#SignUpPanel', ...opt});\n}\n\nconst myTexts = Texts.Forms.Membership.SignUp;\n\nclass SignUpPanel extends PropertyPanel<SignUpRequest, any> {\n\n    protected getFormKey() { return SignUpForm.formKey; }\n\n    private form: SignUpForm;\n\n    constructor(props: { element?: any } & any) {\n        super(props);\n\n        this.form = new SignUpForm(this.idPrefix);\n\n        this.form.Email.element.attr(\"autocomplete\", \"off\");\n        this.form.Password.element.attr(\"autocomplete\", \"new-password\");\n\n        this.form.ConfirmEmail.addValidationRule(this.uniqueName, e => {\n            if (this.form.ConfirmEmail.value !== this.form.Email.value) {\n                return Texts.Validation.EmailConfirm;\n            }\n        });\n\n        this.form.ConfirmPassword.addValidationRule(this.uniqueName, e => {\n            if (this.form.ConfirmPassword.value !== this.form.Password.value) {\n                return Texts.Validation.PasswordConfirmMismatch;\n            }\n        });\n    }\n\n    submitClick() {\n        if (!this.validateForm()) {\n            return;\n        }\n\n        var request = this.propertyGrid.save();\n        delete request.ConfirmEmail;\n        delete request.ConfirmPassword;\n\n        serviceCall({\n            url: resolveUrl('~/Account/SignUp'),\n            request: request,\n            onSuccess: (response: SignUpResponse) => {\n                informationDialog(myTexts.Success, () => {\n                    window.location.href = resolveUrl('~/');\n                });\n            }\n        });\n    }\n\n    renderContents() {\n        const id = this.useIdPrefix();\n        this.element.empty().append(<>\n            <AccountPanelTitle />\n\n            <div class=\"s-Panel p-4\">\n                <h5 class=\"text-center my-4\">{myTexts.FormTitle}</h5>\n                <p id={id.FormInfo} class=\"text-center\">{myTexts.FormInfo}</p>\n\n                <form id={id.Form} action=\"\" autoComplete=\"off\">\n                    <input autoComplete=\"false\" name=\"hidden\" type=\"text\" style=\"display:none;\" />\n                    <div id={id.PropertyGrid}></div>\n                    <div class=\"px-field\">\n                        <button id={id.SubmitButton} type=\"submit\" class=\"btn btn-primary my-4 w-100\"\n                            onClick={e => { e.preventDefault(); this.submitClick(); }}>\n                            {myTexts.SubmitButton}\n                        </button>\n                    </div>\n                </form>\n            </div>\n        </>)\n    }\n}\n"],
  "mappings": "mNAGA,IAAAA,EAA8B,SAC9BA,EAA2D,SAG5C,SAARC,EAA0BC,EAAU,CACvC,IAAIC,EAAYC,EAAA,CAAE,QAAS,gBAAmBF,EAAI,CACtD,CAFwBG,EAAAJ,EAAA,YAIxB,IAAMK,EAAUC,EAAM,MAAM,WAAW,OAEjCC,EAAN,MAAMA,UAAoB,eAAkC,CAE9C,YAAa,CAAE,OAAOC,EAAW,OAAS,CAIpD,YAAYC,EAAgC,CACxC,MAAMA,CAAK,EAEX,KAAK,KAAO,IAAID,EAAW,KAAK,QAAQ,EAExC,KAAK,KAAK,MAAM,QAAQ,KAAK,eAAgB,KAAK,EAClD,KAAK,KAAK,SAAS,QAAQ,KAAK,eAAgB,cAAc,EAE9D,KAAK,KAAK,aAAa,kBAAkB,KAAK,WAAYE,GAAK,CAC3D,GAAI,KAAK,KAAK,aAAa,QAAU,KAAK,KAAK,MAAM,MACjD,OAAOJ,EAAM,WAAW,YAEhC,CAAC,EAED,KAAK,KAAK,gBAAgB,kBAAkB,KAAK,WAAYI,GAAK,CAC9D,GAAI,KAAK,KAAK,gBAAgB,QAAU,KAAK,KAAK,SAAS,MACvD,OAAOJ,EAAM,WAAW,uBAEhC,CAAC,CACL,CAEA,aAAc,CACV,GAAK,KAAK,aAAa,EAIvB,KAAIK,EAAU,KAAK,aAAa,KAAK,EACrC,OAAOA,EAAQ,aACf,OAAOA,EAAQ,mBAEf,eAAY,CACR,OAAK,cAAW,kBAAkB,EAClC,QAASA,EACT,UAAWP,EAACQ,GAA6B,IACrC,qBAAkBP,EAAQ,QAAS,IAAM,CACrC,OAAO,SAAS,QAAO,cAAW,IAAI,CAC1C,CAAC,CACL,EAJW,YAKf,CAAC,EACL,CAEA,gBAAiB,CACb,IAAMQ,EAAK,KAAK,YAAY,EAC5B,KAAK,QAAQ,MAAM,EAAE,OAAOC,EAAAC,EAAA,CACxB,UAAAD,EAACE,EAAA,EAAkB,EAEnBF,EAAC,OAAI,MAAM,cACP,UAAAA,EAAC,MAAG,MAAM,mBAAoB,SAAAT,EAAQ,UAAU,EAChDS,EAAC,KAAE,GAAID,EAAG,SAAU,MAAM,cAAe,SAAAR,EAAQ,SAAS,EAE1DS,EAAC,QAAK,GAAID,EAAG,KAAM,OAAO,GAAG,aAAa,MACtC,UAAAC,EAAC,SAAM,aAAa,QAAQ,KAAK,SAAS,KAAK,OAAO,MAAM,gBAAgB,EAC5EA,EAAC,OAAI,GAAID,EAAG,aAAc,EAC1BC,EAAC,OAAI,MAAM,WACP,SAAAA,EAAC,UAAO,GAAID,EAAG,aAAc,KAAK,SAAS,MAAM,6BAC7C,QAASH,GAAK,CAAEA,EAAE,eAAe,EAAG,KAAK,YAAY,CAAG,EACvD,SAAAL,EAAQ,aACb,EACJ,GACJ,GACJ,GACJ,CAAG,CACP,CACJ,EArE4DD,EAAAG,EAAA,eAA5D,IAAML,EAANK",
  "names": ["import_corelib", "pageInit", "opt", "SignUpPanel", "__spreadValues", "__name", "myTexts", "Texts", "_SignUpPanel", "SignUpForm", "props", "e", "request", "response", "id", "jsx", "Fragment", "AccountPanelTitle"]
}