{"version":3,"file":"bundle.26056.6d1cbc2638cafe3253d8.js","mappings":"wtBAee,SAASA,EAAWC,GAOzB,IAAmBC,GAAe,UAA0C,kBAC9EC,EAAoBF,EAAME,mBAAqBD,EAC/C,KAAsB,IAAAE,UAAiB,MAAK,GAA3CC,EAAM,KAAEC,EAAS,KAClB,GAAyE,OAAqBH,EAAmBE,GAAtGE,EAAc,UAAWC,EAAW,UAASC,EAAY,QAG1E,OAAKD,GAAiBC,EACb,gBAAC,IAAkB,CAACC,aAAcD,EAAaE,UAGnDH,EAIAA,EAAYI,iBAAmB,IAAeC,OAAQL,EAAYM,sBAA0BN,EAAYO,GActG,gBAAC,UAAU,KAAKd,EAAK,CAAEe,UAAWR,EAAYO,GAAIZ,kBAAmBA,EAAmBc,eAAgBhB,EAAMgB,kBAZjH,gBAAC,IAAsB,CACrBL,eAAgBJ,EAAYI,eAC5BM,cAAeV,EAAYU,cAC3BC,kBAAmBd,EACnBe,WAAYd,EACZe,QAASd,EACTe,gBAA0C,OAAzBb,aAAY,EAAZA,EAAcc,SAA4C,qDAA1Bd,aAAY,EAAZA,EAAcE,WAX5D,gBAAC,IAAM,CAACa,WAAS,GAkB5B,C,kWCtCe,SAASC,EAAqBtB,EAA2BE,GAChE,SAAwB,IAAAD,WAAS,GAAK,GAArCiB,EAAO,KAAEK,EAAU,KACpB,KAAwB,IAAAtB,UAAqB,MAAK,GAAjDuB,EAAO,KAAEC,EAAU,KACpB,KAAoB,IAAAxB,UAAiC,MAAK,GAAzDyB,EAAK,KAAEC,EAAQ,KAyBtB,OAvBA,IAAAC,YAAU,WACRD,EAAS,MACTJ,GAAW,GAEX,IAAMM,EAA4B3B,EAAS,CAAEA,OAAM,GAAK,CAAC,GAEzD,QAAgC,WAAY,OAAQ2B,EAAM,KAAM7B,GAC7D8B,MAAK,SAACC,GACLN,EAAWM,EAASC,KACtB,IACCC,OAAM,SAACC,G,MACFA,aAAe,KACjBP,EAAS,CAAEnB,SAA0B,QAAjB,EAAA0B,EAAIH,SAASC,YAAI,eAAExB,UAAW0B,EAAIH,SAASC,KAAMZ,OAAQc,EAAIH,SAASX,SAI5FO,EAAS,CAAEnB,QAAS0B,EAAI1B,SAC1B,IACC2B,SAAQ,WACPZ,GAAW,EACb,GACJ,GAAG,CAACvB,EAAmBE,IAEhB,CAAEgB,QAAO,EAAEM,QAAO,EAAEE,MAAK,EAClC,C","sources":["webpack://goformz-web-app/./src/formeditor/components/PublicForm.tsx","webpack://goformz-web-app/./src/publicshare/hooks/usePublicFormSession.ts"],"sourcesContent":["import React, { useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport Loader from '../../components/loader';\nimport InvalidPublicShare from '../../publicshare/InvalidPublicShare';\nimport { ValidationType } from '../../publicshare/publicshare-types';\nimport { PublicForm } from '../../types/form-types';\nimport FormEditor, { FormEditorProps } from './FormEditor';\nimport PublicFormVerification from './PublicFormVerification';\nimport usePublicFormSession from '../../publicshare/hooks/usePublicFormSession';\n\nexport interface PublicFormProps extends FormEditorProps {\n sharedAccessToken?: string;\n publicFormData?: PublicForm;\n}\n\nexport default function PublicForm(props: PublicFormProps) {\n // flow:\n // - make a request for the verification type\n // - first request should be with a `null` secret\n // - if verification is required, ask for the secret from the user\n // - make another request with the secret to get a session\n\n const { sharedAccessToken: paramToken } = useParams<{ sharedAccessToken: string }>();\n const sharedAccessToken = props.sharedAccessToken || paramToken;\n const [secret, setSecret] = useState(null);\n const { loading: sessionLoading, session: sessionInfo, error: sessionError } = usePublicFormSession(sharedAccessToken, secret);\n\n // if there is an error, show the invalid public share component\n if (!sessionInfo && !!sessionError) {\n return ;\n }\n\n if (!sessionInfo) {\n return ;\n }\n\n if ((sessionInfo.validationType !== ValidationType.None || sessionInfo.verificationRequired) && !sessionInfo.id) {\n return (\n \n );\n }\n\n // if we made it here, we have passed verification\n return ;\n}\n","import { useEffect, useState } from 'react';\nimport { SessionDto } from '../publicshare-types';\nimport { publicShareApimCall } from '../../helpers/api';\nimport { AxiosError } from 'axios';\n\nexport type PublicFormSessionError = { message: string; status?: number };\n\nexport type PublicFormSession = {\n loading: boolean;\n session: SessionDto;\n error?: PublicFormSessionError;\n};\n\nexport default function usePublicFormSession(sharedAccessToken: string, secret?: string): PublicFormSession {\n const [loading, setLoading] = useState(true);\n const [session, setSession] = useState(null);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n setError(null);\n setLoading(true);\n\n const body: Partial = secret ? { secret } : {};\n\n publicShareApimCall('/session', 'POST', body, null, sharedAccessToken)\n .then((response) => {\n setSession(response.data);\n })\n .catch((err: Error) => {\n if (err instanceof AxiosError) {\n setError({ message: err.response.data?.message || err.response.data, status: err.response.status });\n return;\n }\n\n setError({ message: err.message });\n })\n .finally(() => {\n setLoading(false);\n });\n }, [sharedAccessToken, secret]);\n\n return { loading, session, error };\n}\n"],"names":["PublicForm","props","paramToken","sharedAccessToken","useState","secret","setSecret","sessionLoading","sessionInfo","sessionError","errorMessage","message","validationType","None","verificationRequired","id","sessionId","publicFormData","recipientName","lastSecretAttempt","postSecret","loading","validationError","status","isLoading","usePublicFormSession","setLoading","session","setSession","error","setError","useEffect","body","then","response","data","catch","err","finally"],"sourceRoot":""}