{"version":3,"file":"js-respond/2025.01.31.2/main.6ebe2e376c2c25235cbc.js","mappings":"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","sources":["webpack://pc-frontend-respond/webpack/runtime/chunk loaded","webpack://pc-frontend-respond/webpack/runtime/create fake namespace object","webpack://pc-frontend-respond/./src/utils/jwt.ts","webpack://pc-frontend-respond/./src/components/layout/CssReset.ts","webpack://pc-frontend-respond/./src/components/layout/Page.tsx","webpack://pc-frontend-respond/./src/components/layout/Header.ts","webpack://pc-frontend-respond/./src/components/atoms/Spinner/style.tsx","webpack://pc-frontend-respond/./src/components/atoms/Spinner/Spinner.tsx","webpack://pc-frontend-respond/./src/themes/default.ts","webpack://pc-frontend-respond/./src/constants/responseStates.ts","webpack://pc-frontend-respond/./src/components/styles.tsx","webpack://pc-frontend-respond/./src/components/molecules/loadingModal/LoadingModal.tsx","webpack://pc-frontend-respond/./src/types.ts","webpack://pc-frontend-respond/./src/customHooks/useFormInfo.ts","webpack://pc-frontend-respond/./src/customHooks/useBreakpoints.ts","webpack://pc-frontend-respond/./src/utils/translationLoaders.ts","webpack://pc-frontend-respond/./src/utils/htmlCharcodes.ts","webpack://pc-frontend-respond/./src/utils/translation.ts","webpack://pc-frontend-respond/./src/utils/urls.ts","webpack://pc-frontend-respond/./src/localVariables/index.ts","webpack://pc-frontend-respond/./src/utils/typeConverters.ts","webpack://pc-frontend-respond/./src/customHooks/useUrlParams.ts","webpack://pc-frontend-respond/./src/customHooks/useEligibleTags.ts","webpack://pc-frontend-respond/./src/queries/fragments.ts","webpack://pc-frontend-respond/./src/queries/responseVersion.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/addResponseVersion.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/createResponse.ts","webpack://pc-frontend-respond/./src/utils/preview.ts","webpack://pc-frontend-respond/./src/customHooks/useResponseVersion.ts","webpack://pc-frontend-respond/./src/constants/validation.ts","webpack://pc-frontend-respond/./src/translations/index.ts","webpack://pc-frontend-respond/./src/utils/repeatables.ts","webpack://pc-frontend-respond/./src/utils/answers.ts","webpack://pc-frontend-respond/./src/utils/tickets.ts","webpack://pc-frontend-respond/./src/utils/purchasedTickets.ts","webpack://pc-frontend-respond/./src/utils/getters.ts","webpack://pc-frontend-respond/./src/constants/editingPermission.ts","webpack://pc-frontend-respond/./src/utils/equations.ts","webpack://pc-frontend-respond/./src/utils/formValues.ts","webpack://pc-frontend-respond/./src/components/atoms/Logo/Logo.tsx","webpack://pc-frontend-respond/./src/components/layout/Footer.ts","webpack://pc-frontend-respond/./src/components/atoms/Button/Button.tsx","webpack://pc-frontend-respond/./src/components/atoms/Icon/style.tsx","webpack://pc-frontend-respond/./src/components/atoms/Icon/Icon.tsx","webpack://pc-frontend-respond/./src/components/molecules/pageFooter/PageFooter.tsx","webpack://pc-frontend-respond/./src/pages/Error/Error.tsx","webpack://pc-frontend-respond/./src/customHooks/useTranslateFormErrors.tsx","webpack://pc-frontend-respond/./src/components/molecules/pageHeader/SelectLanguage.tsx","webpack://pc-frontend-respond/./src/pages/FormStatus/FormInDraft.tsx","webpack://pc-frontend-respond/./src/pages/FormStatus/FormArchived.tsx","webpack://pc-frontend-respond/./src/pages/FormStatus/FormCutoff.tsx","webpack://pc-frontend-respond/./src/pages/FormStatus/FormClosed.tsx","webpack://pc-frontend-respond/./src/pages/FormStatus/FormInactive.tsx","webpack://pc-frontend-respond/./src/utils/address.ts","webpack://pc-frontend-respond/./src/constants/responseSteps.ts","webpack://pc-frontend-respond/./src/utils/field.ts","webpack://pc-frontend-respond/./src/utils/validation.ts","webpack://pc-frontend-respond/./src/utils/phoneUtilities.ts","webpack://pc-frontend-respond/./src/components/atoms/FieldError/style.tsx","webpack://pc-frontend-respond/./src/components/atoms/FieldError/FieldError.tsx","webpack://pc-frontend-respond/./src/components/atoms/Froala/styles.tsx","webpack://pc-frontend-respond/./src/components/atoms/Froala/Froala.tsx","webpack://pc-frontend-respond/./src/components/atoms/Label/Label.tsx","webpack://pc-frontend-respond/./src/components/fields/TextField/TextField.tsx","webpack://pc-frontend-respond/./src/components/fields/AddressField/AddressInnerField.tsx","webpack://pc-frontend-respond/./src/customHooks/useGoogleAddress.ts","webpack://pc-frontend-respond/./src/components/fields/AddressField/AddressField.tsx","webpack://pc-frontend-respond/./src/components/atoms/Attachment/styles.tsx","webpack://pc-frontend-respond/./src/components/atoms/FileViewer/style.tsx","webpack://pc-frontend-respond/./src/constants/mimeTypes.ts","webpack://pc-frontend-respond/./src/components/atoms/PdfViewer/styles.tsx","webpack://pc-frontend-respond/./src/components/atoms/PdfViewer/PdfViewer.tsx","webpack://pc-frontend-respond/./src/components/atoms/FileViewer/FileViewer.tsx","webpack://pc-frontend-respond/./src/components/atoms/Attachment/Attachment.tsx","webpack://pc-frontend-respond/./src/components/fields/CheckboxField/CheckboxField.tsx","webpack://pc-frontend-respond/./src/utils/dateTime.ts","webpack://pc-frontend-respond/./src/components/fields/types.ts","webpack://pc-frontend-respond/./src/components/atoms/DateOption/DateOption.tsx","webpack://pc-frontend-respond/./src/components/fields/DateField/DateField.tsx","webpack://pc-frontend-respond/./src/components/atoms/ErrorBoundary/ErrorBoundary.tsx","webpack://pc-frontend-respond/./src/components/fields/IntegratedDataField/IntegratedDataField.tsx","webpack://pc-frontend-respond/./src/components/fields/FieldSelector/FieldSelector.tsx","webpack://pc-frontend-respond/./src/components/fields/DropdownConditionalField/DropdownConditionalField.tsx","webpack://pc-frontend-respond/./src/components/fields/HeaderField/HeaderField.tsx","webpack://pc-frontend-respond/./src/components/fields/ParagraphField/ParagraphField.tsx","webpack://pc-frontend-respond/./src/components/fields/PhoneField/PhoneField.tsx","webpack://pc-frontend-respond/./src/components/fields/RatingField/style.ts","webpack://pc-frontend-respond/./src/components/fields/RatingField/RatingField.tsx","webpack://pc-frontend-respond/./src/components/fields/RatingField/RatingDisplayField.tsx","webpack://pc-frontend-respond/./src/components/fields/DropdownField/DropdownField.tsx","webpack://pc-frontend-respond/./src/components/fields/TextAreaField/TextAreaField.tsx","webpack://pc-frontend-respond/./src/components/fields/TimeField/TimeField.tsx","webpack://pc-frontend-respond/./src/components/fields/UploadField/TrashButton.tsx","webpack://pc-frontend-respond/./src/components/fields/UploadField/UploadField.tsx","webpack://pc-frontend-respond/./src/components/fields/YesNoConditionalField/YesNoConditionalField.tsx","webpack://pc-frontend-respond/./src/components/fields/YesNoField/YesNoField.tsx","webpack://pc-frontend-respond/./src/components/fields/RepeatableQuestionField/components/styles.tsx","webpack://pc-frontend-respond/./src/components/atoms/NumericInput/types.ts","webpack://pc-frontend-respond/./src/components/atoms/NumericInput/getNumericInputLogic.ts","webpack://pc-frontend-respond/./src/components/atoms/NumericInput/styles.ts","webpack://pc-frontend-respond/./src/components/atoms/NumericInput/components/Vertical.tsx","webpack://pc-frontend-respond/./src/components/atoms/NumericInput/components/Horizontal.tsx","webpack://pc-frontend-respond/./src/components/atoms/NumericInput/components/Simple.tsx","webpack://pc-frontend-respond/./src/components/atoms/NumericInput/NumericInput.tsx","webpack://pc-frontend-respond/./src/components/atoms/Table/Table.tsx","webpack://pc-frontend-respond/./src/components/fields/EquationsField/components/EquationSection.tsx","webpack://pc-frontend-respond/./src/components/fields/EquationsField/styles.tsx","webpack://pc-frontend-respond/./src/components/fields/EquationsField/components/EquationsDisplayField.tsx","webpack://pc-frontend-respond/./src/components/molecules/displayAnswers/DisplayAnswers.tsx","webpack://pc-frontend-respond/./src/components/fields/RepeatableQuestionField/components/RepeatableAnswers.tsx","webpack://pc-frontend-respond/./src/components/fields/RepeatableQuestionField/components/RepeatableForm.tsx","webpack://pc-frontend-respond/./src/components/fields/RepeatableQuestionField/hooks/useRepeatableQuestionLogic.ts","webpack://pc-frontend-respond/./src/components/fields/RepeatableQuestionField/RepeatableQuestionField.tsx","webpack://pc-frontend-respond/./src/components/fields/EquationsField/hooks/useEquationsLogic.ts","webpack://pc-frontend-respond/./src/components/fields/EquationsField/components/EquationsForm.tsx","webpack://pc-frontend-respond/./src/components/fields/EquationsField/EditRow.tsx","webpack://pc-frontend-respond/./src/components/fields/EquationsField/EquationsField.tsx","webpack://pc-frontend-respond/./src/components/molecules/pageHeader/NavigationListItem.tsx","webpack://pc-frontend-respond/./src/components/molecules/totals/Totals.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/TicketSection/TicketPrice.tsx","webpack://pc-frontend-respond/./src/queries/ticketInventories.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/updateTickets.ts","webpack://pc-frontend-respond/./src/queries/responseVersions.ts","webpack://pc-frontend-respond/./src/utils/responseVersionGetters.ts","webpack://pc-frontend-respond/./src/pages/Tickets/TicketSection/TrashButton.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/Preview/styles.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/Preview/PurchasedTicketPreview.tsx","webpack://pc-frontend-respond/./src/components/atoms/Thumbnail/Thumbnail.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/TicketSection/DateNotice.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/TicketSection/QuantitySection.tsx","webpack://pc-frontend-respond/./src/components/molecules/ProgressTracker/styles.tsx","webpack://pc-frontend-respond/./src/utils/progressTracker.ts","webpack://pc-frontend-respond/./src/components/molecules/ProgressTracker/ProgressTracker.tsx","webpack://pc-frontend-respond/./src/components/molecules/errorNavigator/styles.ts","webpack://pc-frontend-respond/./src/components/molecules/errorNavigator/ErrorNavigator.tsx","webpack://pc-frontend-respond/./src/components/molecules/infoModal/styles.tsx","webpack://pc-frontend-respond/./src/components/molecules/infoModal/InfoModal.tsx","webpack://pc-frontend-respond/./src/components/molecules/navigationButtons/navigationButtons.tsx","webpack://pc-frontend-respond/./src/customHooks/useSafeMutations.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/updateAttendeeAnswers.ts","webpack://pc-frontend-respond/./src/utils/formGetters.ts","webpack://pc-frontend-respond/./src/utils/scrollToTop.ts","webpack://pc-frontend-respond/./src/pages/Tickets/PreviousOrders/styles.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/PreviousOrders/PreviousTicket.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/PreviousOrders/PreviousOrders.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/TicketsSection/TicketsSection.tsx","webpack://pc-frontend-respond/./src/queries/form.ts","webpack://pc-frontend-respond/./src/queries/organization.ts","webpack://pc-frontend-respond/./src/queries/taxesAndFees.ts","webpack://pc-frontend-respond/./src/customHooks/useTicketInventory.ts","webpack://pc-frontend-respond/./src/pages/Tickets/Tickets.tsx","webpack://pc-frontend-respond/./src/pages/TicketsAndAttendeeForm/TicketsAndAttendeeForm.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/TicketSection/TicketSection.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/Preview/TicketPreview.tsx","webpack://pc-frontend-respond/./src/components/molecules/preview/styles.tsx","webpack://pc-frontend-respond/./src/components/molecules/preview/AttendeePreview.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/Preview/TicketsPreview.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/Cart/CartButton.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/Cart/styles.tsx","webpack://pc-frontend-respond/./src/pages/Tickets/Cart/Cart.tsx","webpack://pc-frontend-respond/./src/components/molecules/previewBar/PreviewBar.tsx","webpack://pc-frontend-respond/./src/TelemetryProvider.tsx","webpack://pc-frontend-respond/./src/components/molecules/errorBar/ErrorBar.tsx","webpack://pc-frontend-respond/./src/components/molecules/pageHeader/PageHeader.tsx","webpack://pc-frontend-respond/./src/customHooks/useOrganizationByHash.ts","webpack://pc-frontend-respond/./src/pages/AccessData/form/AccessDataForm.tsx","webpack://pc-frontend-respond/./src/pages/AccessData/AccessData.tsx","webpack://pc-frontend-respond/./src/components/molecules/feedback/styles.tsx","webpack://pc-frontend-respond/./src/components/molecules/feedback/Feedback.tsx","webpack://pc-frontend-respond/./src/pages/Confirmation/Confirmation.tsx","webpack://pc-frontend-respond/./src/components/atoms/LinkAttachment/styles.tsx","webpack://pc-frontend-respond/./src/components/atoms/LinkAttachment/LinkAttachment.tsx","webpack://pc-frontend-respond/./src/components/atoms/PrimaryAttachment/styles.tsx","webpack://pc-frontend-respond/./src/components/atoms/PrimaryAttachment/PrimaryAttachment.tsx","webpack://pc-frontend-respond/./src/components/molecules/preview/AttendeesPreview.tsx","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/acceptTerms.ts","webpack://pc-frontend-respond/./src/pages/Review/components/AcceptTermsAndSubmit.tsx","webpack://pc-frontend-respond/./src/pages/Review/Payment/PaymentOption.tsx","webpack://pc-frontend-respond/./src/pages/Review/Payment/Stripe/OnlinePay.tsx","webpack://pc-frontend-respond/./src/pages/Review/Payment/Stripe/WalletPay.tsx","webpack://pc-frontend-respond/./src/pages/Review/Payment/PaymentSection.tsx","webpack://pc-frontend-respond/./src/pages/Review/Review.tsx","webpack://pc-frontend-respond/./src/pages/LandingPages/RosterLanding.tsx","webpack://pc-frontend-respond/./src/constants/responseResumeActions.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/editAttendees.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/updateSigneeAnswers.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/updateTag.ts","webpack://pc-frontend-respond/./src/utils/ResumeListItem.ts","webpack://pc-frontend-respond/./src/pages/SelectResponse/components/ResponseCard.tsx","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/updateResponseVersion.ts","webpack://pc-frontend-respond/./src/pages/SelectResponse/SelectResponse.tsx","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/restartResponse.ts","webpack://pc-frontend-respond/./src/customHooks/useResponseVersions.ts","webpack://pc-frontend-respond/./src/mutations/updaterFunctions/deleteSigneeAnswer.ts","webpack://pc-frontend-respond/./src/pages/SigneeForm/SigneeForm.tsx","webpack://pc-frontend-respond/./src/pages/SigneeForm/hooks/useSigneeQuestions.ts","webpack://pc-frontend-respond/./src/pages/StudentInfo/form/validation.ts","webpack://pc-frontend-respond/./src/components/molecules/iconButton/iconButton.tsx","webpack://pc-frontend-respond/./src/pages/StudentInfo/form/fields/AttendeeField.tsx","webpack://pc-frontend-respond/./src/pages/StudentInfo/form/StudentInfoForm.tsx","webpack://pc-frontend-respond/./src/pages/StudentInfo/StudentInfo.tsx","webpack://pc-frontend-respond/./src/pages/LandingPages/PublicLanding.tsx","webpack://pc-frontend-respond/./src/pages/SigneeInfo/EventDates.tsx","webpack://pc-frontend-respond/./src/pages/SigneeInfo/form/SigneeInfoForm.tsx","webpack://pc-frontend-respond/./src/pages/SigneeInfo/form/validation.ts","webpack://pc-frontend-respond/./src/customHooks/useGainsight.ts","webpack://pc-frontend-respond/./src/pages/SigneeInfo/SigneeInfo.tsx","webpack://pc-frontend-respond/./src/pages/LandingPages/PayNowLanding.tsx","webpack://pc-frontend-respond/./src/pages/LandingPages/PDFDownloadLanding.tsx","webpack://pc-frontend-respond/./src/Routes.tsx","webpack://pc-frontend-respond/./src/utils/cache.ts","webpack://pc-frontend-respond/./src/App.tsx","webpack://pc-frontend-respond/./src/index.tsx","webpack://pc-frontend-respond/webpack/bootstrap","webpack://pc-frontend-respond/webpack/runtime/amd define","webpack://pc-frontend-respond/webpack/runtime/amd options","webpack://pc-frontend-respond/webpack/runtime/compat get default export","webpack://pc-frontend-respond/webpack/runtime/define property getters","webpack://pc-frontend-respond/webpack/runtime/global","webpack://pc-frontend-respond/webpack/runtime/hasOwnProperty shorthand","webpack://pc-frontend-respond/webpack/runtime/make namespace object","webpack://pc-frontend-respond/webpack/runtime/node module decorator","webpack://pc-frontend-respond/webpack/runtime/publicPath","webpack://pc-frontend-respond/webpack/runtime/jsonp chunk loading","webpack://pc-frontend-respond/webpack/runtime/nonce","webpack://pc-frontend-respond/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","\nimport { debounce } from \"lodash\";\n\nconst TokenRoute = \"oauth/token\";\n\nconst inMemoryJWTManager = () => {\n let memory_token: string | null = null;\n let memory_expiresAt: Date | null = null;\n let refresh_token: string | null = null;\n const isExpired = () => (memory_token && memory_expiresAt && refresh_token && memory_expiresAt.getTime() < Date.now());\n\n const getTokenInternal = async (reset = false) => {\n if (!memory_token || isExpired() || reset) {\n if (!(process.env.AUTH_URL)) {\n throw new Error(\"Missing AUTH_URL environment variable!\");\n }\n\n const url = process.env.AUTH_URL + TokenRoute;\n\n const content = new FormData();\n if (isExpired()) {\n content.append(\"refresh_token\", refresh_token || \"\");\n content.append(\"grant_type\", \"refresh_token\");\n }\n\n // TODO: Add profileId.\n\n memory_token = null;\n memory_expiresAt = null;\n refresh_token = null;\n\n const response = await fetch(url, {\n method: \"POST\",\n credentials: \"include\",\n body: content,\n headers: {\n \"pragma\": \"no-cache\",\n \"cache-control\": \"no-cache\",\n }\n });\n\n if (response.status === 200) {\n const result = await response.json();\n memory_token = result[\"access_token\"]; // TODO: Get UserId and set on applicationInsights\n memory_expiresAt = new Date(Date.parse(result[\"expires_at\"]));\n refresh_token = result[\"refresh_token\"];\n }\n else if (response.status >= 500) {\n throw new Error(await response.text());\n }\n }\n\n return memory_token;\n };\n\n const getTokenDebounced = debounce(() => getTokenInternal(), 1000, { 'leading': true });\n const resetTokenDebounced = debounce(() => getTokenInternal(true), 1000, { 'leading': true });\n\n const getToken = (reset = false) => {\n if (reset)\n return resetTokenDebounced();\n else\n return getTokenDebounced();\n };\n\n return {\n getToken,\n }\n};\n\nexport default inMemoryJWTManager();","import { createGlobalStyle } from \"styled-components\";\n\nconst CssReset = createGlobalStyle`\n\nhtml, body {\n\n margin: 0;\n padding: 0;\n border: none;\n font-size: 14px;\n font-family: Roboto, sans-serif;\n height: 100%;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-weight: 500;\n }\n`;\n\nexport { CssReset };\n","import { Breakpoints } from \"@src/customHooks\";\nimport styled from \"styled-components\";\n\ntype FlexProps = {\n flexDirection?: \"row\" | \"row-reverse\" | \"column\" | \"column-reverse\";\n flexWrap?: \"nowrap\" | \"wrap\" | \"wrap-reverse\";\n justifyContent?:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\"\n | \"start\"\n | \"end\"\n | \"left\"\n | \"right\";\n alignItems?: \"stretch\" | \"flex-start\" | \"flex-end\" | \"center\" | \"baseline\";\n alignContent?:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\"\n | \"stretch\"\n | \"start\"\n | \"end\"\n | \"baseline\";\n gap?: number;\n flex?: string;\n};\n\nconst PageWrapper = styled.div`\n min-height: 100vh;\n background-color: #f1f2f4;\n overflow-x: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 0 auto -70px;\n`;\n\nconst ContentWrapper = styled.div<{ screenSize?: Breakpoints }>`\n margin: 50px 15px 95px 15px;\n display: flex;\n width: ${(props) => (props.screenSize === \"smallScreen\" ? `90%` : `75%`)};\n max-width: 960px;\n min-height: 100%;\n flex-direction: column;\n background-color: white;\n border-radius: 5px;\n box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.05);\n padding: ${(props) =>\n props.screenSize === \"smallScreen\" ? `35px 50px 35px 50px` : `75px 50px 75px 50px`};\n position: relative;\n`;\n\nconst Push = styled.div`\n height: 70px;\n`;\n\nconst Flex = styled.div`\n display: flex;\n flex-direction: ${(props) => props.flexDirection || \"row\"};\n flex-wrap: ${(props) => props.flexWrap || \"nowrap\"};\n justify-content: ${(props) => props.justifyContent || \"flex-start\"};\n align-items: ${(props) => props.alignItems || \"stretch\"};\n align-content: ${(props) => props.alignContent || \"flex-start\"};\n gap: ${(props) => props.gap || \"0\"}px;\n ${(props) => (props.flex ? `flex: ${props.flex}` : \"\")};\n`;\n\nexport { PageWrapper, ContentWrapper, Flex, Push };\n","import { Breakpoints } from \"@src/customHooks\";\nimport styled from \"styled-components\";\nimport { Flex } from \"./Page\";\n\nconst HeaderBar = styled.div`\n min-height: 90px;\n width: 100vw;\n display: flex;\n flex-direction: column;\n position: fixed;\n z-index: 999;\n pointer-events: none;\n & > * {\n pointer-events: auto; \n }\n`;\n\nconst HeaderBarContainer = styled(Flex)`\n display: flex;\n flex-direction: column;\n box-shadow: 4px -2px 10px -2px #000000;\n background-color: #fff;\n z-index: 999;\n`;\n\nconst Spacer = styled.div<{ height: number }>`\n height: ${(props) => props.height}px;\n width: 100vw;\n`;\n\nconst InfoBar = styled.div<{ screenSize: Breakpoints }>`\n width: 100%;\n height: 90%;\n min-height: 100px;\n display: flex;\n align-items: center;\n justify-content: left;\n margin-bottom: 3px;\n\n > div {\n padding: 5px 5px 5px ${(props) => (props.screenSize === \"desktop\" ? `20px` : `10px`)};\n border-left: ${(props) => (props.screenSize === \"desktop\" ? `solid 1px #ddd` : `hidden`)};\n }\n`;\n\nconst InfoBarContainer = styled(Flex) <{ screenSize: Breakpoints }>`\\\n flex-direction: column;\n width: ${(props) => (props.screenSize === \"desktop\" ? `auto` : `100%`)};\n`;\n\nconst NavBar = styled.div<{ screenSize: Breakpoints }>`\n height: 25%;\n display: flex;\n align-items: center;\n justify-content: ${(props) => (props.screenSize === \"desktop\" ? `left` : `space-between`)};\n`;\n\nconst NavList = styled.ul`\n list-style: none;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 16px;\n margin-top: 20px;\n padding: 0;\n cursor: default;\n`;\n\nconst SubMenuBackground = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n`;\n\nconst SubMenu = styled.ol`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 300px;\n background: #fff;\n font-size: 14px;\n box-shadow: 0 0 8px 0 #000000;\n padding: 10px;\n border-radius: 3px;\n color: #3d3d3d;\n cursor: default;\n\n li {\n margin-bottom: 10px;\n padding-left: 0;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n\n i:first-of-type {\n padding-left: 5px;\n padding-right: 5px;\n }\n }\n`;\n\nconst NavItem = styled.li<{ isCurrent: boolean; isEnabled: boolean }>`\n padding: 0 15px 5px;\n color: ${(props) => (props.isCurrent ? \"#3260D3\" : \"#C4C4C4\")};\n border-bottom: solid 2px ${(props) => (props.isCurrent ? \"#3260D3\" : \"#fff\")};\n font-weight: ${(props) => (props.isCurrent ? \"500\" : \"300\")};\n display: flex;\n align-items: center;\n position: relative;\n cursor: ${(props) => (props.isEnabled ? \"pointer\" : \"default\")};\n\n &:first-of-type {\n padding-left: 0;\n }\n\n ol {\n display: block;\n position: absolute;\n top: 40px;\n left: 20px;\n z-index: 15;\n }\n\n &:hover {\n color: ${(props) => (props.isEnabled ? \"#3260d3\" : props.isCurrent ? \"#3260D3\" : \"#C4C4C4\")};\n\n ol {\n display: block;\n }\n }\n\n i:last-of-type {\n font-size: 20px;\n padding-left: 15px;\n text-decoration: none;\n }\n\n i:first-of-type {\n font-size: 5px;\n padding-right: 15px;\n padding-left: 0;\n text-decoration: none;\n }\n`;\n\nconst TitleContainer = styled(Flex) <{ screenSize: Breakpoints }>`\n align-items: center;\n`;\n\nconst StyledOrgName = styled.p<{ screenSize: Breakpoints }>`\n padding: ${(props) => (props.screenSize === \"desktop\" ? `0px 20px` : `0px 10px 0px 0px`)};\n`;\n\nconst StyledLogo = styled.img<{ screenSize: Breakpoints }>`\n max-height: 120px;\n max-width: 120px;\n margin: ${(props) => (props.screenSize === \"desktop\" ? `0 20px` : `0px 10px 0px 0px`)};\n width: ${(props) => (props.screenSize === \"desktop\" ? `auto` : `60px`)};\n`;\n\nconst StyledTitle = styled.label<{ screenSize: Breakpoints }>`\n display: block;\n font-weight: 500;\n font-size: ${(props) => (props.screenSize === \"desktop\" ? `22px` : `18px`)};\n border-left: ${(props) => (props.screenSize === \"desktop\" ? `hidden` : `solid 1px #ddd`)};\n padding-left: ${(props) => (props.screenSize === \"desktop\" ? `0px` : `10px`)};\n color: ${(props) => props.theme.colors.values.lightblack};\n`;\n\nexport {\n HeaderBar,\n StyledOrgName,\n StyledLogo,\n StyledTitle,\n TitleContainer,\n HeaderBarContainer,\n InfoBar,\n InfoBarContainer,\n NavBar,\n NavList,\n NavItem,\n SubMenuBackground,\n SubMenu,\n Spacer,\n};\n","import styled from \"styled-components\";\n\nconst SpinnerContainer = styled.div`\n width: 80px;\n height: 100px;\n margin: 0 auto;\n`;\n\nconst SpinnerBlock = styled.div`\n position: relative;\n box-sizing: border-box;\n float: left;\n margin: 0 10px 10px 0;\n width: 12px;\n height: 12px;\n border-radius: 3px;\n background: #0283ff;\n\n @keyframes wave {\n 0% {\n top: 0;\n opacity: 1;\n }\n 50% {\n top: 30px;\n opacity: 0.2;\n }\n 100% {\n top: 0;\n opacity: 1;\n }\n }\n\n &:nth-child(4n + 1) {\n animation: wave 1.2s ease 0s infinite;\n }\n &:nth-child(4n + 2) {\n animation: wave 1.2s ease 0.2s infinite;\n }\n &:nth-child(4n + 3) {\n animation: wave 1.2s ease 0.4s infinite;\n }\n &:nth-child(4n + 4) {\n animation: wave 1.2s ease 0.6s infinite;\n margin-right: 0;\n }\n`;\n\nexport { SpinnerContainer, SpinnerBlock };\n","import React, { FC } from \"react\";\nimport { SpinnerBlock, SpinnerContainer } from \"./style\";\n\nconst Spinner: FC = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport { Spinner };\n","const defaultTheme = {\n colors: {\n alias: {\n primary: \"#0283ff\",\n lightPrimary: \"#0097e3\",\n darkPrimary: \"#006496\",\n disabled: \"#b7b7b7\",\n },\n page: {\n background: \"#F1F2F4\",\n },\n fields: {\n text: \"#212B36\",\n selected: \"#0283FF\",\n bordercolor: \"#dddfe1\",\n tablebordercolor: \"#ececec\",\n disabledBackground: \"#d8d2d2\",\n },\n values: {\n white: \"#fff\",\n lightblack: \"#273549\",\n grey: \"#868686\",\n lightgrey: \"#f3f3f3\",\n darkgrey: \"#3d3d3d\",\n red: \"#ff0000\",\n darkred: \"#dd0000\",\n lightblue: \"#3260D3\",\n yellow: \"#ef9400\",\n blue: \"#1177d9\",\n darkblue: \"#006b9e\",\n green: \"#8dc754\",\n darkgreen: \"#2f8822\",\n lightRed: \"#ff6c6c\",\n },\n },\n spacing: {\n default: \"8px\",\n medium: \"16px\",\n },\n font: {\n default: \"'Roboto', sans-serif;\",\n size: \"14px\",\n iconSize: \"16px\",\n },\n borderRadius: \"5px\",\n shadows: {\n button: \"2px 3px 6px -2px #777\",\n },\n};\n\nexport type DefaultTheme = typeof defaultTheme;\n\nexport { defaultTheme };\n","export enum ResponseState {\n StartResponse = \"Start Response\",\n ResponseInProgress = \"Response In Progress\",\n ResponsePendingApproval = \"Response Pending Approval\",\n ResponseRejected = \"Response Rejected\",\n ResponseComplete = \"Response Complete\",\n ResponseCancelled = \"Response Cancelled\",\n}\n","import styled from \"styled-components\";\nimport { defaultTheme } from \"@src/themes\";\nimport { Breakpoints } from \"@src/customHooks\";\nimport { Flex } from \"./layout/Page\";\nimport { ResponseState } from \"@src/constants/responseStates\";\n\nconst FieldWrapper = styled.div<{ fullWidth?: boolean }>`\n display: flex;\n flex-direction: column;\n padding: 15px 0;\n max-width: ${(props) => (props.fullWidth ? \"100%\" : \"600px\")};\n border-radius: ${defaultTheme.borderRadius};\n position: relative;\n`;\n\nconst StyledSelect = styled.select<{ hasError?: boolean }>`\n &:focus {\n outline: none !important;\n border: 2px solid ${defaultTheme.colors.fields.selected};\n }\n\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n height: 36px;\n font-size: 14px;\n padding-left: 10px;\n border: 1px solid ${(props) => (props.hasError ? \"red\" : props.theme.colors.fields.bordercolor)};\n border-radius: 3px;\n background: ${(props) =>\n props.hasError ? \"#ffdfdf\" : \"linear-gradient(180deg, #ffffff 0%, #f9fafb 100%)\"};\n box-shadow: 0 1px 0 0 rgba(22, 29, 37, 0.05);\n`;\n\nconst StyledDateSelectWrapper = styled.div`\n margin: 10px;\n display: flex;\n justify-content: \"center\";\n`;\n\nconst StyledDateSelect = styled.select`\n &:focus {\n outline: none !important;\n border: 2px solid ${defaultTheme.colors.fields.selected};\n }\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n height: 36px;\n width: 107px;\n font-size: 14px;\n padding-left: 10px;\n border: 1px solid #c4cdd5;\n border-radius: 3px;\n background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);\n box-shadow: 0 1px 0 0 rgba(22, 29, 37, 0.05);\n &:first-of-type {\n margin-right: 5px;\n }\n`;\n\nconst StyledButton = styled.button<{ disabled?: boolean }>`\n border-color: transparent;\n border-radius: 5px;\n color: white;\n cursor: ${(props) => (props.disabled ? \"default\" : \"pointer\")};\n background-color: ${(props) => (props.disabled ? \"#b7b7b7\" : defaultTheme.colors.alias.primary)};\n height: 40px;\n width: 150px;\n`;\n\nconst StyledOption = styled.option`\n font-family: ${defaultTheme.font.default};\n`;\n\nconst StyledTextArea = styled.textarea<{ hasError?: boolean }>`\n &:focus {\n outline: none !important;\n border: 2px solid ${defaultTheme.colors.fields.selected};\n }\n\n box-sizing: border-box;\n border: 1px solid ${(props) => (props.hasError ? \"red\" : props.theme.colors.fields.bordercolor)};\n border-radius: ${defaultTheme.borderRadius};\n font-family: ${defaultTheme.font.default};\n font-size: 100%;\n padding-left: 10px;\n height: 100px;\n background-color: ${(props) => (props.hasError ? \"#ffdfdf\" : props.theme.colors.values.white)};\n max-width: 100%;\n min-width: 100%;\n font-weight: 300;\n`;\n\nconst StyledCheckbox = styled.input.attrs({ type: \"checkbox\" })`\n &:focus {\n border: 2px solid ${defaultTheme.colors.fields.selected};\n }\n\n margin-right: 10px;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n height: 16px;\n width: 16px;\n`;\n\nconst StyledTextInput = styled.input.attrs({\n type: \"text\",\n onKeyPress: (event: React.KeyboardEvent) => {\n if (event.which === 13) {\n event.preventDefault();\n }\n },\n})<{ hasError?: boolean }>`\n &:focus {\n outline: none !important;\n border: 2px solid ${defaultTheme.colors.fields.selected};\n }\n\n &:disabled {\n background: ${defaultTheme.colors.fields.disabledBackground};\n }\n\n background-color: ${(props) => (props.hasError ? \"#ffdfdf\" : \"inherit\")};\n\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1.25px solid\n ${(props) => (props.hasError ? \"red\" : defaultTheme.colors.fields.bordercolor)};\n border-radius: ${defaultTheme.borderRadius};\n height: 40px;\n padding-left: 10px;\n font-family: ${defaultTheme.font.default};\n font-size: 100%;\n font-weight: 300;\n`;\n\nconst StyledRadioButton = styled.input.attrs({\n type: \"radio\",\n onKeyPress: (event: React.KeyboardEvent) => {\n if (event.which === 13) {\n event.preventDefault();\n }\n },\n})`\n margin-right: 7px;\n cursor: pointer;\n`;\n\nconst StyledRadioButtonLabel = styled.span<{ selected: boolean }>`\n color: ${(props) => (props.selected ? props.theme.colors.alias.primary : \"inherit\")};\n`;\n\nconst StyledUploadContainer = styled(Flex)`\n width: 100%;\n height: 250px;\n max-width: 600px;\n border: 1.25px dashed ${defaultTheme.colors.fields.bordercolor};\n padding: 20px;\n box-sizing: border-box;\n border-radius: ${defaultTheme.borderRadius};\n cursor: pointer;\n\n &:hover {\n border: 1.25px dashed ${defaultTheme.colors.fields.selected};\n }\n`;\n\nconst StyledUploadField = styled.input.attrs({ type: \"file\" })`\n display: none;\n`;\n\nconst FieldInformationLabel = styled.p`\n margin: 0;\n font-size: 12px;\n color: gray;\n margin-top: 5px;\n`;\n\nconst UploadImage = styled.img`\n margin-top: 75px;\n width: 40px;\n pointer-events: none;\n`;\n\nconst UploadButton = styled.div<{ completionPercentage?: number }>`\n color: #273549;\n border: 1px solid #273549;\n background: ${(props) =>\n `linear-gradient(to right, ${defaultTheme.colors.values.green}6e, ${defaultTheme.colors.values.green}6e ${props.completionPercentage}%, white ${props.completionPercentage}%, white)`};\n width: 100px;\n padding: 10px;\n font-size: 95%;\n text-align: center;\n border-radius: ${defaultTheme.borderRadius};\n font-weight: 500;\n margin-top: 25px;\n`;\n\nconst ProgressBar = styled.div`\n background: ${defaultTheme.colors.values.green};\n height: 37px;\n opacity: 0.5;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n`;\n\nconst UploadPreview = styled.div`\n position: relative;\n margin: 0 auto;\n width: 170px;\n height: 120px;\n\n i {\n position: absolute;\n right: -35px;\n top: -5px;\n }\n\n img {\n display: block;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n margin: auto;\n }\n`;\n\nconst PreviewImage = styled.img`\n max-width: 150px;\n max-height: 100px;\n margin: 0 auto;\n display: block;\n`;\n\nconst ProgressMessage = styled.div``;\n\nconst StyledAttendeeName = styled.h1`\n font-family: ${defaultTheme.font.default};\n font-size: 2em;\n font-weight: 300;\n margin: 0;\n`;\n\nconst HeaderContainer = styled.div`\n margin: 10px 0 25px;\n`;\n\nconst StyledHeader = styled.h1`\n font-family: ${defaultTheme.font.default};\n font-size: 1.5em;\n\n > i {\n margin-left: 15px;\n cursor: pointer;\n }\n`;\n\nconst StyledSubheader = styled.h2`\n font-family: ${defaultTheme.font.default};\n color: ${defaultTheme.colors.values.grey};\n font-size: 16px;\n font-weight: 400;\n margin: 0;\n margin-top: 3px;\n`;\n\nconst StyledSectionHeader = styled.h3`\n font-family: ${defaultTheme.font.default};\n font-size: 1.17em;\n margin: 50px 0px 25px 0px;\n\n &:first-of-type {\n margin-top: 0;\n }\n`;\n\nconst StyledSectionInstructions = styled.p`\n font-family: ${defaultTheme.font.default};\n font-size: 0.9em;\n margin: 0 0 8px;\n`;\n\nconst StyledRequiredInstructions = styled.p`\n font-family: ${defaultTheme.font.default};\n font-size: 0.8em;\n margin: 8px 0;\n`;\n\nconst StyledLabel = styled.label`\n font-family: ${defaultTheme.font.default};\n color: ${defaultTheme.colors.fields.text};\n margin-bottom: 10px;\n font-weight: 500;\n width: fit-content;\n`;\n\nconst StyledDisplayLabel = styled(StyledLabel)`\n color: #aaabab;\n`;\n\nconst StyledAnswerLabel = styled.span`\n color: #424242;\n font-weight: 500;\n`;\n\nconst StyledLine = styled.hr`\n margin: 25px 8px;\n border-top: 2px solid #d8d8d8;\n`;\n\nconst StyledRequiredLabel = styled.i`\n font-family: ${defaultTheme.font.default};\n position: absolute;\n color: #f03742;\n left: -15px;\n font-weight: 500;\n\n &::before {\n content: \"*\";\n }\n`;\n\nconst StyledInlineRequiredLabel = styled.i`\n font-family: ${defaultTheme.font.default};\n color: #f03742;\n font-weight: 500;\n display: inline-block;\n padding-right: 10px;\n\n &::before {\n content: \"*\";\n }\n`;\n\nconst StyledDivider = styled.div`\n width: 100%;\n border-bottom: 1px solid #d5d5d5;\n margin: 10px 0;\n`;\n\nconst StyledSelectedStar = styled.i<{ small?: boolean }>`\n font-size: ${(props) => (props.small ? \"15px\" : \"26px\")};\n padding: 1px;\n cursor: pointer;\n color: ${defaultTheme.colors.alias.primary};\n vertical-align: middle;\n`;\n\nconst StyledUnselectedStar = styled.i<{ small?: boolean }>`\n font-size: ${(props) => (props.small ? \"15px\" : \"26px\")};\n padding: 1px;\n cursor: pointer;\n color: #bcbcbc;\n vertical-align: middle;\n`;\n\nconst StyledResponseCard = styled.div<{ screenSize: Breakpoints; state: ResponseState }>`\n ${({ theme, screenSize, state }) => `\n\n display: flex;\n flex-direction: column;\n border: 1px solid ${\n state === ResponseState.ResponseInProgress\n ? theme.colors.values.blue\n : state === ResponseState.ResponsePendingApproval\n ? theme.colors.values.blue\n : state === ResponseState.ResponseRejected || state === ResponseState.ResponseCancelled\n ? theme.colors.values.darkred\n : state === ResponseState.ResponseComplete\n ? theme.colors.values.darkgreen\n : theme.colors.values.lightgrey\n };\n width: ${screenSize === \"desktop\" ? `380px` : `220px`};\n min-height: 225px;\n padding: 15px;\n border-radius: 5px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n margin-right: 25px;\n margin-bottom: 25px;\n\n &:hover {\n box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);\n border: 1px solid #0283ff !important;\n }\n `}\n`;\n\nconst StyledResponseCardTitle = styled(StyledLabel)<{\n state: ResponseState;\n}>`\n ${({ theme, state }) => `\n font-size: 18px;\n color: ${\n state === ResponseState.ResponseInProgress\n ? theme.colors.values.blue\n : state === ResponseState.ResponsePendingApproval\n ? theme.colors.values.blue\n : state === ResponseState.ResponseRejected || state === ResponseState.ResponseCancelled\n ? theme.colors.values.darkred\n : state === ResponseState.ResponseComplete\n ? theme.colors.values.darkgreen\n : theme.colors.fields.text\n };\n `}\n`;\n\nconst StyledInformationContainer = styled(Flex)`\n flex-direction: column;\n margin-top: 50px;\n`;\n\nconst StyledNavigationButtonsContainer = styled(Flex)<{ screenSize: Breakpoints }>`\n justify-content: space-between;\n margin-top: ${(props) => (props.screenSize === \"smallScreen\" ? `50px` : `100px`)};\n`;\n\nconst StyledErrorBar = styled.div`\n width: 100%;\n box-sizing: border-box;\n padding: 20px;\n background: ${defaultTheme.colors.values.yellow};\n color: ${defaultTheme.colors.values.darkgrey};\n z-index: 2;\n`;\n\nconst StyledAnswerRow = styled.div`\n margin: 0 0 8px;\n font-weight: 300;\n`;\n\nconst ErrorHeader = styled.header`\n margin-bottom: 10px;\n font-weight: 500;\n`;\n\nconst ErrorMessageHeader = styled.header`\n font-weight: 500;\n margin-right: 5px;\n`;\n\nconst ErrorMessage = styled.p`\n margin: 0px;\n`;\n\nconst StyledErrorBarMessage = styled.div`\n width: 80%;\n font-size: 12px;\n`;\n\nconst StyledReviewHeader = styled(StyledLabel)`\n font-size: 20px;\n`;\n\nconst StyledReviewMessage = styled.p`\n color: ${defaultTheme.colors.values.grey};\n`;\n\nconst StyledErrorContainer = styled(Flex)`\n align-items: center;\n justify-content: space-between;\n width: fit-content;\n box-shadow: 0 1px 3px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%);\n border-radius: 5px;\n padding: 0px 10px;\n gap: 20px;\n height: 40px;\n width: 100%;\n`;\n\nconst StyledErrorText = styled.p`\n margin: 0;\n color: #e01313;\n`\n\nconst StyledTermsMessage = styled.span`\n color: ${defaultTheme.colors.values.grey};\n font-size: 12px;\n margin-top: 20px;\n`;\n\nconst StyledTermsLink = styled.a`\n color: ${defaultTheme.colors.alias.primary};\n text-decoration: none;\n font-weight: 500;\n`;\n\nconst ReloadButton = styled.button`\n border-color: transparent;\n border-radius: 5px;\n color: white;\n cursor: pointer;\n background-color: ${defaultTheme.colors.alias.primary};\n padding: 5px 10px;\n font-size: 12px;\n float: right;\n`;\n\nconst LoadingModalBackground = styled.div`\n position: fixed;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${defaultTheme.colors.values.lightgrey};\n opacity: 0.6;\n z-index: 999;\n`;\n\nconst LoadingModalContent = styled.div`\n position: fixed;\n z-index: 1000;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 200px;\n height: 300px;\n`;\n\nconst LoadingMessage = styled.div`\n margin: 30px auto 0;\n font-size: 14px;\n text-align: center;\n`;\n\nconst MaxLengthMessage = styled.div`\n font-size: 80%;\n margin-bottom: 8px;\n`;\n\nconst StyledParagraph = styled.div`\n margin: 5px 0 25px;\n`;\n\nconst CurrencyLabel = styled(StyledLabel)`\n color: #273549;\n margin: 0;\n`;\n\nconst RepeatableFieldsWrapper = styled.div`\n padding: 20px;\n background: #f9fafc;\n`;\n\nconst RepeatableAddButton = styled.button<{ disabled?: boolean }>`\n background: ${(props) => (props.disabled ? \"#b7b7b7\" : defaultTheme.colors.alias.darkPrimary)};\n color: ${defaultTheme.colors.values.white};\n font-family: ${defaultTheme.font.default};\n padding: ${defaultTheme.spacing.default} ${defaultTheme.spacing.medium};\n border: none;\n cursor: ${(props) => (props.disabled ? \"default\" : \"pointer\")};\n height: 40px;\n width: 120px;\n border-radius: ${defaultTheme.borderRadius};\n margin: 0 0 10px 0;\n\n &:hover {\n background-color: ${(props) =>\n props.disabled ? \"#b7b7b7\" : defaultTheme.colors.alias.lightPrimary};\n }\n\n &:focus,\n &:active {\n outline: none;\n }\n`;\n\nconst PdfThumbnail = styled.img`\n max-width: 60px;\n margin: 5px 0;\n`;\n\nconst FileThumbnail = styled.img`\n max-width: 60px;\n margin: 5px 0;\n`;\n\nconst EquationsWrapper = styled.div`\n overflow-x: auto;\n min-width: 300px;\n margin-bottom: 15px;\n padding-bottom: 5px;\n`;\n\nconst DateFillWrapper = styled.div<{ disabled?: boolean }>`\n margin: 5px 0 0 0;\n pointer-events: ${(props) => (props.disabled ? \"none\" : \"auto\")};\n\n .date-selection-wrapper {\n display: inline-block;\n border: 1px solid #dde3e8;\n padding: 5px;\n border-radius: 3px;\n background: #fff;\n\n &:focus-within {\n border-color: #0283ff;\n }\n\n .date-separator {\n float: left;\n margin: 0 8px;\n display: block;\n position: relative;\n top: 28px;\n }\n\n .date-option {\n float: left;\n font-size: 12px;\n margin: 0;\n padding: 5px;\n border: none;\n background: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n\n &.year {\n width: 40px;\n }\n\n &.month {\n width: 45px;\n }\n\n &.day {\n width: 34px;\n }\n\n label.date-label {\n font-size: 10px;\n cursor: pointer;\n margin: 0;\n display: block;\n\n &.disabled {\n color: #dee3e9;\n }\n }\n\n select,\n .date-fill-input {\n border: none;\n margin: 5px 0 0;\n padding: 5px 0;\n display: block;\n text-align: left;\n min-height: 14px;\n font-size: 14px;\n cursor: pointer;\n border-radius: 0;\n background: none;\n border-bottom: 1px solid #dde3e8;\n font-weight: 300;\n min-width: 0;\n\n &.placeholder {\n color: #dee3e9;\n }\n\n &:focus {\n border-bottom: 1px solid #0283ff;\n }\n }\n\n i {\n display: inline-block;\n }\n\n &:first-of-type {\n margin-left: 0;\n }\n\n ul {\n position: absolute;\n margin: 0;\n padding: 0;\n background: #fff;\n border: 1px solid #dde3e8;\n max-height: 150px;\n overflow: auto;\n z-index: 1;\n\n li {\n list-style: none;\n padding: 5px 10px 0;\n\n &:hover {\n background: #78bbdb;\n }\n }\n }\n }\n }\n\n .selected-message {\n font-size: 12px;\n\n span {\n font-weight: 400;\n }\n }\n`;\n\nconst ClearIconSpacer = styled.span`\n margin: 0 5px;\n`;\n\nconst MatchFailed = styled.div`\n margin: 10px 0 20px;\n color: ${defaultTheme.colors.values.red};\n`;\n\nexport {\n StyledSelect,\n StyledTextArea,\n StyledButton,\n FieldWrapper,\n StyledCheckbox,\n StyledOption,\n StyledTextInput,\n StyledRadioButton,\n StyledRadioButtonLabel,\n StyledAttendeeName,\n StyledHeader,\n StyledSubheader,\n StyledSectionHeader,\n StyledLabel,\n StyledDisplayLabel,\n StyledAnswerLabel,\n StyledDivider,\n StyledUploadField,\n StyledSelectedStar,\n StyledUnselectedStar,\n StyledResponseCard,\n StyledResponseCardTitle,\n StyledInformationContainer,\n StyledNavigationButtonsContainer,\n StyledRequiredLabel,\n StyledInlineRequiredLabel,\n StyledDateSelect,\n StyledSectionInstructions,\n StyledRequiredInstructions,\n StyledErrorBar,\n StyledErrorText,\n StyledErrorContainer,\n ReloadButton,\n StyledErrorBarMessage,\n StyledReviewHeader,\n StyledReviewMessage,\n StyledTermsMessage,\n StyledTermsLink,\n ErrorHeader,\n ErrorMessageHeader,\n ErrorMessage,\n LoadingModalBackground,\n LoadingMessage,\n LoadingModalContent,\n StyledDateSelectWrapper,\n MaxLengthMessage,\n HeaderContainer,\n StyledParagraph,\n CurrencyLabel,\n RepeatableFieldsWrapper,\n RepeatableAddButton,\n PdfThumbnail,\n PreviewImage,\n FileThumbnail,\n StyledUploadContainer,\n FieldInformationLabel,\n UploadButton,\n UploadImage,\n UploadPreview,\n ProgressMessage,\n ProgressBar,\n EquationsWrapper,\n StyledAnswerRow,\n DateFillWrapper,\n ClearIconSpacer,\n StyledLine,\n MatchFailed,\n};\n","import { Spinner } from \"@src/components/atoms/Spinner\";\nimport {\n LoadingMessage,\n LoadingModalBackground,\n LoadingModalContent,\n} from \"@src/components/styles\";\nimport React, { FC } from \"react\";\n\nexport type LoadingProps = {\n message?: string;\n};\n\nconst LoadingModal: FC = ({ message }) => {\n return (\n <>\n \n \n {message ? {message} : null}\n \n \n \n );\n};\n\nexport { LoadingModal };\n","import { gql } from '@apollo/client';\nimport * as Apollo from '@apollo/client';\nexport type Maybe = T | null;\nexport type InputMaybe = Maybe;\nexport type Exact = { [K in keyof T]: T[K] };\nexport type MakeOptional = Omit & { [SubKey in K]?: Maybe };\nexport type MakeMaybe = Omit & { [SubKey in K]: Maybe };\nexport type MakeEmpty = { [_ in K]?: never };\nexport type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\nconst defaultOptions = {} as const;\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n Decimal: { input: any; output: any; }\n};\n\nexport type AccessDataInput = {\n key?: InputMaybe;\n value?: InputMaybe;\n};\n\nexport type AccessField = {\n __typename?: 'AccessField';\n field: Field;\n key: Scalars['String']['output'];\n};\n\nexport type Address = {\n __typename?: 'Address';\n address1?: Maybe;\n address2?: Maybe;\n city?: Maybe;\n country?: Maybe;\n id: Scalars['ID']['output'];\n postal?: Maybe;\n subdivision?: Maybe;\n timezone?: Maybe;\n};\n\nexport type Answer = {\n __typename?: 'Answer';\n answerId: Scalars['ID']['output'];\n fieldId: Scalars['ID']['output'];\n fileType?: Maybe;\n order?: Maybe;\n questionId: Scalars['ID']['output'];\n value?: Maybe;\n};\n\nexport type AnswerInput = {\n answerId?: InputMaybe;\n fieldId: Scalars['ID']['input'];\n fileType?: InputMaybe;\n order?: InputMaybe;\n questionId: Scalars['ID']['input'];\n value?: InputMaybe;\n};\n\nexport type Attachment = {\n __typename?: 'Attachment';\n contentUri: Scalars['String']['output'];\n downloadUri: Scalars['String']['output'];\n fileType: Scalars['String']['output'];\n friendlyName?: Maybe;\n id: Scalars['ID']['output'];\n isImage: Scalars['Boolean']['output'];\n isPdf: Scalars['Boolean']['output'];\n isPrimary: Scalars['Boolean']['output'];\n mimeType: Scalars['String']['output'];\n name: Scalars['String']['output'];\n printUri: Scalars['String']['output'];\n readableFileSize?: Maybe;\n sizeInBytes?: Maybe;\n thumbnailUri: Scalars['String']['output'];\n};\n\nexport type Attendee = {\n __typename?: 'Attendee';\n attachmentFileType?: Maybe;\n attachmentId?: Maybe;\n attendeeAnswers: Array;\n attendeeId: Scalars['ID']['output'];\n firstName?: Maybe;\n integratedDataOnFile?: Maybe>;\n lastName?: Maybe;\n manualPermissionDate?: Maybe;\n notes?: Maybe;\n originalValueUri?: Maybe;\n permitted?: Maybe;\n responseAttendeeId: Scalars['ID']['output'];\n tickets: Array;\n};\n\nexport type AttendeeInput = {\n attachmentId?: InputMaybe;\n firstName?: InputMaybe;\n lastName?: InputMaybe;\n manualPermissionDate?: InputMaybe;\n notes?: InputMaybe;\n permitted?: InputMaybe;\n responseAttendeeId?: InputMaybe;\n};\n\nexport type BrandingText = {\n __typename?: 'BrandingText';\n id: Scalars['ID']['output'];\n name?: Maybe;\n value?: Maybe;\n};\n\nexport type Contact = {\n __typename?: 'Contact';\n email?: Maybe;\n id: Scalars['ID']['output'];\n name?: Maybe;\n organizationId: Scalars['ID']['output'];\n phone?: Maybe;\n role?: Maybe;\n sisContactOrganizationId?: Maybe;\n};\n\nexport type DeleteAnswerInput = {\n fieldId?: InputMaybe;\n order?: InputMaybe;\n questionId?: InputMaybe;\n};\n\nexport type Document = {\n __typename?: 'Document';\n attendeeNamePermissions: Scalars['Int']['output'];\n configuration: Scalars['Int']['output'];\n customTextPermissions: Scalars['Int']['output'];\n disableAttendeeNameEditing: Scalars['Boolean']['output'];\n disableResponseEditing: Scalars['Boolean']['output'];\n formNamePermissions: Scalars['Int']['output'];\n hidden: Scalars['Boolean']['output'];\n hidePublicLinks: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n isSystemTemplate: Scalars['Boolean']['output'];\n logicalOperator: Scalars['Int']['output'];\n messageBodyPermissions: Scalars['Int']['output'];\n organization: Organization;\n organizationId: Scalars['ID']['output'];\n organizationNamePermissions: Scalars['Int']['output'];\n permissionsLastEditedBy?: Maybe;\n permissionsLastEditedOn?: Maybe;\n rosterSyncExpiryDate?: Maybe;\n rosterToMultipleGuardians: Scalars['Boolean']['output'];\n sendInvitationOnRosterSync: Scalars['Boolean']['output'];\n showContactForm: Scalars['Boolean']['output'];\n useOrganizationBranding: Scalars['Boolean']['output'];\n};\n\nexport type DocumentVersion = {\n __typename?: 'DocumentVersion';\n active?: Maybe;\n activeId?: Maybe;\n affirmativePermission?: Maybe;\n allowMultipleChildrenOnOneOrder: Scalars['Boolean']['output'];\n allowOnlinePaymentsOnly: Scalars['Boolean']['output'];\n attachments?: Maybe>;\n attachmentsPermissions: Scalars['Int']['output'];\n attendeeForm?: Maybe;\n attendeeFormPermissions: Scalars['Int']['output'];\n attendeeQuestions: Array;\n attendeeQuestionsId?: Maybe;\n confirmationMessagePermissions: Scalars['Int']['output'];\n createdBy?: Maybe;\n customResponseStatusPermissions: Scalars['Int']['output'];\n customStatuses: Array;\n customStatusesId?: Maybe;\n dataConverted: Scalars['Boolean']['output'];\n dateCreated: Scalars['String']['output'];\n description?: Maybe;\n document: Document;\n documentId: Scalars['ID']['output'];\n documentWorkflow?: Maybe;\n endDate?: Maybe;\n hasApprovers?: Maybe;\n hasReachedResponseCutOffDate?: Maybe;\n headsUpDisplayPermissions: Scalars['Int']['output'];\n headsUpDisplaySelectedQuestions?: Maybe;\n id: Scalars['ID']['output'];\n information?: Maybe;\n isGeneralSignup: Scalars['Boolean']['output'];\n lastUpdated: Scalars['String']['output'];\n lastUpdatedBy?: Maybe;\n latest?: Maybe;\n latestId?: Maybe;\n linkAttachments?: Maybe>;\n manualPaymentText?: Maybe;\n name?: Maybe;\n negativePermission?: Maybe;\n oldPrivateOrganizerAnswers?: Maybe;\n oldPublicOrganizerAnswerIds?: Maybe;\n organizerName?: Maybe;\n parentMessage?: Maybe;\n permissionSlipPermissions: Scalars['Int']['output'];\n privateOrganizerQuestions?: Maybe;\n privateQuestions: Array;\n privateQuestionsId?: Maybe;\n publicOrganizerAnswers?: Maybe>;\n publicOrganizerQuestionIds?: Maybe>;\n publicQuestions: Array;\n publicQuestionsId?: Maybe;\n redirectMessage?: Maybe;\n redirectUrl?: Maybe;\n remindersSent: Scalars['Boolean']['output'];\n requiresPermission: Scalars['Boolean']['output'];\n respondentMustSelectATicket: Scalars['Boolean']['output'];\n responseApproversPermissions: Scalars['Int']['output'];\n responseCutOffDate?: Maybe;\n responseCutOffLocalDate?: Maybe;\n responseWorkflow?: Maybe;\n restrictResponses: Scalars['Boolean']['output'];\n sendReminders: Scalars['Boolean']['output'];\n sequentialId: Scalars['Int']['output'];\n shortenedUrl?: Maybe;\n signeeForm?: Maybe;\n signeeFormPermissions: Scalars['Int']['output'];\n signeeQuestions: Array;\n signeeQuestionsId?: Maybe;\n startDate?: Maybe;\n status: Scalars['Int']['output'];\n template?: Maybe;\n templateId?: Maybe;\n ticketPermissions: Scalars['Int']['output'];\n tickets?: Maybe>;\n useLocalTranslations: Scalars['Boolean']['output'];\n useOrganizationBranding: Scalars['Boolean']['output'];\n version: Scalars['Int']['output'];\n workflowConverted: Scalars['Boolean']['output'];\n};\n\nexport type DomainMutations = {\n __typename?: 'DomainMutations';\n AcceptTerms: Scalars['Boolean']['output'];\n AddResponseVersion: ResponseVersion;\n CancelTicket?: Maybe;\n CreateOrResumeResponse: Array;\n CreateResponse: ResponseVersion;\n DeleteAttendeeAnswer: Scalars['Boolean']['output'];\n DeleteSigneeAnswer: Scalars['Boolean']['output'];\n EditAttendees: Array;\n ReserveTicket?: Maybe;\n RestartInProcessResponse: ResponseVersion;\n RestartResponse: ResponseVersion;\n SaveAttendeeAnswer: Answer;\n SaveSigneeAnswer: Answer;\n SignUpForNotification?: Maybe;\n SubmitFeedback?: Maybe;\n UpdateResponseVersion: ResponseVersion;\n UpdateTag?: Maybe;\n ValidateAccess?: Maybe;\n};\n\n\nexport type DomainMutationsAcceptTermsArgs = {\n accessData?: InputMaybe>;\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n languageCode?: InputMaybe;\n orderId?: InputMaybe;\n paymentToken?: InputMaybe;\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsAddResponseVersionArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsCancelTicketArgs = {\n countryCode?: InputMaybe;\n documentId: Scalars['ID']['input'];\n orderId: Scalars['ID']['input'];\n purchasedTicketIds?: InputMaybe>;\n responseAttendeeId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n ticketVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsCreateOrResumeResponseArgs = {\n accessData: Array;\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n organizationHash?: InputMaybe;\n responseVersionId?: InputMaybe;\n signee: SigneeInput;\n};\n\n\nexport type DomainMutationsCreateResponseArgs = {\n accessData: Array;\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n organizationHash?: InputMaybe;\n organizationId?: InputMaybe;\n responseVersionId?: InputMaybe;\n signee: SigneeInput;\n};\n\n\nexport type DomainMutationsDeleteAttendeeAnswerArgs = {\n accessData: Array;\n answerInput: DeleteAnswerInput;\n attendeeId: Scalars['ID']['input'];\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsDeleteSigneeAnswerArgs = {\n accessData: Array;\n answerInput: DeleteAnswerInput;\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsEditAttendeesArgs = {\n accessData: Array;\n attendees: Array;\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsReserveTicketArgs = {\n countryCode?: InputMaybe;\n documentId: Scalars['ID']['input'];\n reserveTicketInput?: InputMaybe;\n responseAttendeeId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n ticketVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsRestartInProcessResponseArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsRestartResponseArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsSaveAttendeeAnswerArgs = {\n accessData: Array;\n answer: AnswerInput;\n attendeeId: Scalars['ID']['input'];\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsSaveSigneeAnswerArgs = {\n accessData: Array;\n answer: AnswerInput;\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsSignUpForNotificationArgs = {\n countryCode?: InputMaybe;\n documentVersionId: Scalars['ID']['input'];\n email?: InputMaybe;\n};\n\n\nexport type DomainMutationsSubmitFeedbackArgs = {\n countryCode?: InputMaybe;\n documentVersionId: Scalars['ID']['input'];\n feedback?: InputMaybe;\n responseVersionId: Scalars['ID']['input'];\n signeeEmailAddress?: InputMaybe;\n signeeFirstName?: InputMaybe;\n signeeLastName?: InputMaybe;\n};\n\n\nexport type DomainMutationsUpdateResponseVersionArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\n\nexport type DomainMutationsUpdateTagArgs = {\n countryCode?: InputMaybe;\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n tagId?: InputMaybe;\n};\n\n\nexport type DomainMutationsValidateAccessArgs = {\n accessData?: InputMaybe>>;\n countryCode?: InputMaybe;\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n};\n\nexport type DomainQueries = {\n __typename?: 'DomainQueries';\n EligibleTags: Array;\n Form: DocumentVersion;\n Organization: Organization;\n OrganizationByHash: Organization;\n Response: ResponseVersion;\n ResponseVersions: Array;\n StaffResponseVersions: Array;\n TaxesAndFees: TaxesAndFees;\n TicketInventory: Array;\n};\n\n\nexport type DomainQueriesEligibleTagsArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n email: Scalars['String']['input'];\n organizationId: Scalars['ID']['input'];\n};\n\n\nexport type DomainQueriesFormArgs = {\n countryCode: Scalars['String']['input'];\n hashedId: Scalars['String']['input'];\n hashedOrgId?: InputMaybe;\n};\n\n\nexport type DomainQueriesOrganizationArgs = {\n countryCode: Scalars['String']['input'];\n organizationId: Scalars['ID']['input'];\n};\n\n\nexport type DomainQueriesOrganizationByHashArgs = {\n countryCode: Scalars['String']['input'];\n hash: Scalars['String']['input'];\n};\n\n\nexport type DomainQueriesResponseArgs = {\n hash: Scalars['String']['input'];\n};\n\n\nexport type DomainQueriesResponseVersionsArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n email: Scalars['String']['input'];\n};\n\n\nexport type DomainQueriesStaffResponseVersionsArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n};\n\n\nexport type DomainQueriesTaxesAndFeesArgs = {\n amount: Scalars['Float']['input'];\n currency: Scalars['String']['input'];\n organizationId: Scalars['ID']['input'];\n passFeesToBuyer: Scalars['Boolean']['input'];\n};\n\n\nexport type DomainQueriesTicketInventoryArgs = {\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n ticketIds: Array;\n};\n\nexport enum FeeMethod {\n BankTransfer = 'BankTransfer',\n DomesticCreditCard = 'DomesticCreditCard',\n DomesticDebitCard = 'DomesticDebitCard',\n DomesticPrepaidCard = 'DomesticPrepaidCard',\n InternationalCreditCard = 'InternationalCreditCard',\n InternationalDebitCard = 'InternationalDebitCard',\n InternationalPrepaidCard = 'InternationalPrepaidCard',\n Unknown = 'Unknown'\n}\n\nexport type Field = {\n __typename?: 'Field';\n collapsable: Scalars['Boolean']['output'];\n equationSections?: Maybe>;\n fields?: Maybe>;\n id: Scalars['ID']['output'];\n question?: Maybe;\n readonly: Scalars['Boolean']['output'];\n type: FieldType;\n};\n\nexport enum FieldType {\n Address = 'ADDRESS',\n Conditional = 'CONDITIONAL',\n Date = 'DATE',\n Descriptivetext = 'DESCRIPTIVETEXT',\n Divider = 'DIVIDER',\n Dropdown = 'DROPDOWN',\n Equations = 'EQUATIONS',\n FieldContainer = 'FIELD_CONTAINER',\n Header = 'HEADER',\n IntegratedData = 'INTEGRATED_DATA',\n Multiline = 'MULTILINE',\n Multiselect = 'MULTISELECT',\n MultiFieldConditional = 'MULTI_FIELD_CONDITIONAL',\n Phonenumber = 'PHONENUMBER',\n PostalZip = 'POSTAL_ZIP',\n Rating = 'RATING',\n RepeatableQuestion = 'REPEATABLE_QUESTION',\n Section = 'SECTION',\n Select = 'SELECT',\n Selectmultiple = 'SELECTMULTIPLE',\n SelectConditional = 'SELECT_CONDITIONAL',\n Singleline = 'SINGLELINE',\n Time = 'TIME',\n Upload = 'UPLOAD',\n Yesno = 'YESNO'\n}\n\nexport type IntegratedDataValue = {\n __typename?: 'IntegratedDataValue';\n integratedDataFieldId: Scalars['String']['output'];\n profileId: Scalars['ID']['output'];\n value?: Maybe;\n};\n\nexport type Inventory = {\n __typename?: 'Inventory';\n draftInitial?: Maybe;\n draftRemaining?: Maybe;\n id: Scalars['ID']['output'];\n isLimited: Scalars['Boolean']['output'];\n remaining?: Maybe;\n};\n\nexport type LinkAttachment = {\n __typename?: 'LinkAttachment';\n description?: Maybe;\n id: Scalars['ID']['output'];\n imageUri?: Maybe;\n originalUri?: Maybe;\n title?: Maybe;\n uri?: Maybe;\n};\n\nexport type Order = {\n __typename?: 'Order';\n amountOutstanding?: Maybe;\n baseFee?: Maybe;\n baseFeeString?: Maybe;\n canRefund?: Maybe;\n date: Scalars['String']['output'];\n grandTotal?: Maybe;\n grandTotalOriginal?: Maybe;\n hasBeenPaid?: Maybe;\n isCheckedOut?: Maybe;\n isRefunded?: Maybe;\n orderId: Scalars['ID']['output'];\n orderNumber: Scalars['String']['output'];\n paymentTypes?: Maybe>>;\n purchasedTickets: Array;\n purchaserFirstName?: Maybe;\n purchaserLastName?: Maybe;\n refundedAmount?: Maybe;\n subTotal?: Maybe;\n totalFees?: Maybe;\n totalFeesString?: Maybe;\n wasManuallyPaid?: Maybe;\n};\n\nexport type Organization = {\n __typename?: 'Organization';\n accessFields?: Maybe>>;\n address?: Maybe>>;\n apiKey?: Maybe;\n brandingTextValues?: Maybe>>;\n contact?: Maybe;\n countryCode?: Maybe;\n createdBy?: Maybe;\n currencyCode?: Maybe;\n dateCreated?: Maybe;\n disclaimer?: Maybe;\n divisionName?: Maybe;\n documents?: Maybe>>;\n domain?: Maybe;\n editionId: Scalars['Int']['output'];\n emailSettingsId?: Maybe;\n formsRequireApproval: Scalars['Boolean']['output'];\n hasAccessFields?: Maybe;\n hasLogo: Scalars['Boolean']['output'];\n hasSafePay?: Maybe;\n id: Scalars['ID']['output'];\n isEnabled: Scalars['Boolean']['output'];\n logo?: Maybe;\n logoMetadataId?: Maybe;\n name?: Maybe;\n nameForCommunications?: Maybe;\n numberOfStudents?: Maybe;\n organizationTypeCode: OrganizationType;\n parent?: Maybe;\n parentId?: Maybe;\n paymentSettingsId?: Maybe;\n roleLabels?: Maybe;\n sequentialId: Scalars['Int']['output'];\n stripeBillingId?: Maybe;\n trialEnding: Scalars['Boolean']['output'];\n webPageUrl?: Maybe;\n};\n\nexport enum OrganizationType {\n District = 'District'\n}\n\nexport enum PaidStatus {\n Cancelled = 'Cancelled',\n FullyRefunded = 'FullyRefunded',\n NotApplicable = 'NotApplicable',\n Paid = 'Paid',\n PartiallyRefunded = 'PartiallyRefunded',\n PaymentRequired = 'PaymentRequired'\n}\n\nexport type Profile = {\n __typename?: 'Profile';\n email?: Maybe;\n id: Scalars['ID']['output'];\n name?: Maybe;\n};\n\nexport type PurchasedTicket = {\n __typename?: 'PurchasedTicket';\n answers: Array;\n attendeeId?: Maybe;\n createdDate?: Maybe;\n description?: Maybe;\n name?: Maybe;\n orderNumber: Scalars['String']['output'];\n price: Scalars['Float']['output'];\n purchasedTicketIds: Array;\n quantity: Scalars['Int']['output'];\n sortOrder?: Maybe;\n ticketId: Scalars['ID']['output'];\n ticketVersionId: Scalars['ID']['output'];\n totalPrice: Scalars['Float']['output'];\n type: TicketTypeInfo;\n};\n\nexport type Question = {\n __typename?: 'Question';\n characterLimit?: Maybe;\n dataValue?: Maybe;\n format?: Maybe;\n hidden: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n integratedDataValue?: Maybe;\n isRequired: Scalars['Boolean']['output'];\n labelText?: Maybe;\n maxEntries?: Maybe;\n minEntries?: Maybe;\n name?: Maybe;\n pinnedValueOptions?: Maybe>;\n placeHolderText?: Maybe;\n plainLabel?: Maybe;\n reportingLabel?: Maybe;\n sortValueOptions: Scalars['Boolean']['output'];\n supportsApprovers?: Maybe;\n valueOptions?: Maybe>;\n valueType?: Maybe;\n};\n\nexport type ReserveTicketInput = {\n answers: Array;\n openValueAmount?: InputMaybe;\n orderId?: InputMaybe;\n quantity: Scalars['Int']['input'];\n};\n\nexport enum ResponseSource {\n AzureAd = 'AzureAD',\n Clever = 'Clever',\n Google = 'Google',\n Internal = 'Internal',\n Manual = 'Manual',\n MyPowerHub = 'MyPowerHub',\n Organic = 'Organic',\n Paper = 'Paper',\n PermissionClick = 'PermissionClick',\n Process = 'Process',\n QuickAdd = 'QuickAdd',\n SisImport = 'SisImport'\n}\n\nexport enum ResponseStatus {\n Cancelled = 'Cancelled',\n NotSent = 'NotSent',\n Opened = 'Opened',\n Pending = 'Pending',\n PendingApproval = 'PendingApproval',\n Rejected = 'Rejected',\n Responded = 'Responded',\n Started = 'Started',\n Unknown = 'Unknown',\n Unopened = 'Unopened'\n}\n\nexport type ResponseVersion = {\n __typename?: 'ResponseVersion';\n attendees: Array;\n completedByOrganizationName?: Maybe;\n createdDate: Scalars['String']['output'];\n documentHashId: Scalars['String']['output'];\n documentVersionId: Scalars['ID']['output'];\n hash: Scalars['String']['output'];\n isCheckedOut: Scalars['Boolean']['output'];\n isInternal?: Maybe;\n isManual: Scalars['Boolean']['output'];\n isPaymentRequired: Scalars['Boolean']['output'];\n isRostered: Scalars['Boolean']['output'];\n isSigned: Scalars['Boolean']['output'];\n orderId?: Maybe;\n orderStatus: PaidStatus;\n orders: Array;\n originalValueUri?: Maybe;\n previousOrders?: Maybe>;\n responseOrganizationId: Scalars['ID']['output'];\n responseVersionId: Scalars['ID']['output'];\n signedDate?: Maybe;\n signeeAnswers: Array;\n signeeAttachmentFileType?: Maybe;\n signeeAttachmentId?: Maybe;\n signeeEmail?: Maybe;\n signeeFirstName?: Maybe;\n signeeLastName?: Maybe;\n signeeNotes?: Maybe;\n source: ResponseSource;\n sourceId?: Maybe;\n status: ResponseStatus;\n subTotal: Scalars['Float']['output'];\n tagId?: Maybe;\n total: Scalars['Float']['output'];\n};\n\nexport type RoleLabels = {\n __typename?: 'RoleLabels';\n administrator: Scalars['String']['output'];\n attendee: Scalars['String']['output'];\n guardian: Scalars['String']['output'];\n organization: Scalars['String']['output'];\n organizer: Scalars['String']['output'];\n};\n\nexport type SigneeInput = {\n attachmentId?: InputMaybe;\n attendeeId?: InputMaybe;\n email?: InputMaybe;\n firstName?: InputMaybe;\n lastName?: InputMaybe;\n notes?: InputMaybe;\n responseSource: ResponseSource;\n tagId?: InputMaybe;\n};\n\nexport type Tag = {\n __typename?: 'Tag';\n displayName: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n};\n\nexport type Tax = {\n __typename?: 'Tax';\n gst: Scalars['Decimal']['output'];\n gstLabel?: Maybe;\n pst: Scalars['Decimal']['output'];\n pstLabel?: Maybe;\n total: Scalars['Decimal']['output'];\n};\n\nexport type TaxAndFeeEstimate = {\n __typename?: 'TaxAndFeeEstimate';\n amountToCharge: Scalars['Decimal']['output'];\n applicationFee: Scalars['Decimal']['output'];\n applicationFeeNet: Scalars['Decimal']['output'];\n applicationFeeTax: Tax;\n method: FeeMethod;\n organizationNet: Scalars['Decimal']['output'];\n provider: Scalars['String']['output'];\n providerFee: Scalars['Decimal']['output'];\n totalFeesAndTaxes: Scalars['Decimal']['output'];\n};\n\nexport type TaxesAndFees = {\n __typename?: 'TaxesAndFees';\n amount: Scalars['Decimal']['output'];\n currency: Scalars['String']['output'];\n estimates: Array;\n organizationName: Scalars['String']['output'];\n typicalMethodEstimate: TaxAndFeeEstimate;\n};\n\nexport type Ticket = {\n __typename?: 'Ticket';\n description?: Maybe;\n documentVersionId: Scalars['ID']['output'];\n endSellingDate?: Maybe;\n formQuestions?: Maybe>;\n formQuestionsId?: Maybe;\n id: Scalars['ID']['output'];\n imageId?: Maybe;\n inventory: Inventory;\n maximumQuantity?: Maybe;\n minimumQuantity?: Maybe;\n name?: Maybe;\n passAlongFees: Scalars['Boolean']['output'];\n price?: Maybe;\n sortOrder?: Maybe;\n startSellingDate?: Maybe;\n ticketId: Scalars['ID']['output'];\n typeCode: Scalars['Int']['output'];\n};\n\nexport type TicketInventory = {\n __typename?: 'TicketInventory';\n initial?: Maybe;\n isLimited: Scalars['Boolean']['output'];\n purchased: Scalars['Int']['output'];\n remaining?: Maybe;\n ticketId: Scalars['ID']['output'];\n};\n\nexport type TicketTypeInfo = {\n __typename?: 'TicketTypeInfo';\n code?: Maybe;\n defaultPrice: Scalars['Float']['output'];\n id: Scalars['Int']['output'];\n name?: Maybe;\n sortOrder: Scalars['Int']['output'];\n};\n\nexport type Workflow = {\n __typename?: 'Workflow';\n id: Scalars['ID']['output'];\n};\n\nexport type SaveSigneeAnswerMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n answer: AnswerInput;\n responseVersionId: Scalars['ID']['input'];\n accessData: Array | AccessDataInput;\n}>;\n\n\nexport type SaveSigneeAnswerMutation = { __typename?: 'DomainMutations', SaveSigneeAnswer: { __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string } };\n\nexport type DeleteSigneeAnswerMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n answerInput: DeleteAnswerInput;\n accessData: Array | AccessDataInput;\n}>;\n\n\nexport type DeleteSigneeAnswerMutation = { __typename?: 'DomainMutations', DeleteSigneeAnswer: boolean };\n\nexport type SaveAttendeeAnswerMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n answer: AnswerInput;\n responseVersionId: Scalars['ID']['input'];\n attendeeId: Scalars['ID']['input'];\n accessData: Array | AccessDataInput;\n}>;\n\n\nexport type SaveAttendeeAnswerMutation = { __typename?: 'DomainMutations', SaveAttendeeAnswer: { __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string } };\n\nexport type DeleteAttendeeAnswerMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n answerInput: DeleteAnswerInput;\n attendeeId: Scalars['ID']['input'];\n accessData: Array | AccessDataInput;\n}>;\n\n\nexport type DeleteAttendeeAnswerMutation = { __typename?: 'DomainMutations', DeleteAttendeeAnswer: boolean };\n\nexport type EditAttendeesMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n attendees: Array | AttendeeInput;\n accessData: Array | AccessDataInput;\n}>;\n\n\nexport type EditAttendeesMutation = { __typename?: 'DomainMutations', EditAttendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null }> };\n\nexport type CreateOrResumeResponseMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n signee: SigneeInput;\n organizationHash?: InputMaybe;\n responseVersionId?: InputMaybe;\n accessData: Array | AccessDataInput;\n}>;\n\n\nexport type CreateOrResumeResponseMutation = { __typename?: 'DomainMutations', CreateOrResumeResponse: Array<{ __typename: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null }> };\n\nexport type CreateResponseMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n signee: SigneeInput;\n organizationHash?: InputMaybe;\n organizationId?: InputMaybe;\n responseVersionId?: InputMaybe;\n accessData: Array | AccessDataInput;\n}>;\n\n\nexport type CreateResponseMutation = { __typename?: 'DomainMutations', CreateResponse: { __typename: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null } };\n\nexport type RestartResponseMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n}>;\n\n\nexport type RestartResponseMutation = { __typename?: 'DomainMutations', RestartResponse: { __typename: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null } };\n\nexport type RestartInProcessResponseMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n}>;\n\n\nexport type RestartInProcessResponseMutation = { __typename?: 'DomainMutations', RestartInProcessResponse: { __typename: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null } };\n\nexport type AddResponseVersionMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n}>;\n\n\nexport type AddResponseVersionMutation = { __typename?: 'DomainMutations', AddResponseVersion: { __typename: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null } };\n\nexport type UpdateResponseVersionMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n}>;\n\n\nexport type UpdateResponseVersionMutation = { __typename?: 'DomainMutations', UpdateResponseVersion: { __typename: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null } };\n\nexport type ValidateAccessMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n accessData: Array | AccessDataInput;\n responseVersionId: Scalars['ID']['input'];\n}>;\n\n\nexport type ValidateAccessMutation = { __typename?: 'DomainMutations', ValidateAccess?: boolean | null };\n\nexport type UpdateTagMutationVariables = Exact<{\n documentId: Scalars['ID']['input'];\n countryCode: Scalars['String']['input'];\n tagId?: InputMaybe;\n responseVersionId: Scalars['ID']['input'];\n}>;\n\n\nexport type UpdateTagMutation = { __typename?: 'DomainMutations', UpdateTag?: boolean | null };\n\nexport type AcceptTermsMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n accessData?: InputMaybe | AccessDataInput>;\n paymentToken?: InputMaybe;\n orderId?: InputMaybe;\n languageCode?: InputMaybe;\n}>;\n\n\nexport type AcceptTermsMutation = { __typename?: 'DomainMutations', AcceptTerms: boolean };\n\nexport type SignUpForNotificationMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n email: Scalars['String']['input'];\n documentVersionId: Scalars['ID']['input'];\n}>;\n\n\nexport type SignUpForNotificationMutation = { __typename?: 'DomainMutations', SignUpForNotification?: boolean | null };\n\nexport type SubmitFeedbackMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentVersionId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n feedback: Scalars['String']['input'];\n signeeEmailAddress: Scalars['String']['input'];\n signeeFirstName: Scalars['String']['input'];\n signeeLastName: Scalars['String']['input'];\n}>;\n\n\nexport type SubmitFeedbackMutation = { __typename?: 'DomainMutations', SubmitFeedback?: boolean | null };\n\nexport type ReserveTicketMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n responseAttendeeId: Scalars['ID']['input'];\n ticketVersionId: Scalars['ID']['input'];\n reserveTicketInput: ReserveTicketInput;\n}>;\n\n\nexport type ReserveTicketMutation = { __typename?: 'DomainMutations', ReserveTicket?: string | null };\n\nexport type CancelTicketMutationVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n responseVersionId: Scalars['ID']['input'];\n responseAttendeeId: Scalars['ID']['input'];\n ticketVersionId: Scalars['ID']['input'];\n purchasedTicketIds: Array | Scalars['ID']['input'];\n orderId: Scalars['ID']['input'];\n}>;\n\n\nexport type CancelTicketMutation = { __typename?: 'DomainMutations', CancelTicket?: boolean | null };\n\nexport type FormInfoQueryVariables = Exact<{\n hashedId: Scalars['String']['input'];\n countryCode: Scalars['String']['input'];\n hashedOrgId?: InputMaybe;\n}>;\n\n\nexport type FormInfoQuery = { __typename?: 'DomainQueries', Form: { __typename?: 'DocumentVersion', id: string, name?: string | null, status: number, redirectUrl?: string | null, documentId: string, redirectMessage?: string | null, allowMultipleChildrenOnOneOrder: boolean, allowOnlinePaymentsOnly: boolean, respondentMustSelectATicket: boolean, manualPaymentText?: string | null, parentMessage?: string | null, information?: string | null, organizerName?: string | null, requiresPermission: boolean, isGeneralSignup: boolean, restrictResponses: boolean, hasApprovers?: boolean | null, hasReachedResponseCutOffDate?: boolean | null, responseCutOffLocalDate?: string | null, startDate?: string | null, endDate?: string | null, affirmativePermission?: string | null, negativePermission?: string | null, useOrganizationBranding: boolean, useLocalTranslations: boolean, document: { __typename?: 'Document', id: string, disableResponseEditing: boolean, disableAttendeeNameEditing: boolean, showContactForm: boolean, organization: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, parent?: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } }, attachments?: Array<{ __typename?: 'Attachment', id: string, friendlyName?: string | null, name: string, isPdf: boolean, contentUri: string, thumbnailUri: string, printUri: string, downloadUri: string, fileType: string, readableFileSize?: string | null, mimeType: string, isImage: boolean, sizeInBytes?: number | null, isPrimary: boolean }> | null, linkAttachments?: Array<{ __typename?: 'LinkAttachment', id: string, title?: string | null, description?: string | null, uri?: string | null, imageUri?: string | null, originalUri?: string | null }> | null, publicQuestions: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }>, publicOrganizerAnswers?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null, signeeQuestions: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }>, attendeeQuestions: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }>, tickets?: Array<{ __typename?: 'Ticket', id: string, name?: string | null, description?: string | null, startSellingDate?: string | null, endSellingDate?: string | null, imageId?: string | null, typeCode: number, minimumQuantity?: number | null, maximumQuantity?: number | null, price?: number | null, passAlongFees: boolean, ticketId: string, documentVersionId: string, formQuestionsId?: string | null, inventory: { __typename?: 'Inventory', id: string, isLimited: boolean, remaining?: number | null, draftInitial?: number | null, draftRemaining?: number | null }, formQuestions?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }> | null }> | null, template?: { __typename?: 'DocumentVersion', attachmentsPermissions: number, ticketPermissions: number, signeeFormPermissions: number, attendeeFormPermissions: number, document: { __typename?: 'Document', id: string, disableResponseEditing: boolean, disableAttendeeNameEditing: boolean, showContactForm: boolean, organization: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, parent?: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } }, attachments?: Array<{ __typename?: 'Attachment', id: string, friendlyName?: string | null, name: string, isPdf: boolean, contentUri: string, thumbnailUri: string, printUri: string, downloadUri: string, fileType: string, readableFileSize?: string | null, mimeType: string, isImage: boolean, sizeInBytes?: number | null, isPrimary: boolean }> | null, linkAttachments?: Array<{ __typename?: 'LinkAttachment', id: string, title?: string | null, description?: string | null, uri?: string | null, imageUri?: string | null, originalUri?: string | null }> | null, publicQuestions: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }>, signeeQuestions: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }>, attendeeQuestions: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }>, tickets?: Array<{ __typename?: 'Ticket', id: string, name?: string | null, description?: string | null, startSellingDate?: string | null, endSellingDate?: string | null, imageId?: string | null, typeCode: number, minimumQuantity?: number | null, maximumQuantity?: number | null, price?: number | null, passAlongFees: boolean, ticketId: string, documentVersionId: string, formQuestionsId?: string | null, inventory: { __typename?: 'Inventory', id: string, isLimited: boolean, remaining?: number | null, draftInitial?: number | null, draftRemaining?: number | null }, formQuestions?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }> | null }> | null } | null } };\n\nexport type FormAttachmentFragmentFragment = { __typename?: 'Attachment', id: string, friendlyName?: string | null, name: string, isPdf: boolean, contentUri: string, thumbnailUri: string, printUri: string, downloadUri: string, fileType: string, readableFileSize?: string | null, mimeType: string, isImage: boolean, sizeInBytes?: number | null, isPrimary: boolean };\n\nexport type LinkAttachmentFragmentFragment = { __typename?: 'LinkAttachment', id: string, title?: string | null, description?: string | null, uri?: string | null, imageUri?: string | null, originalUri?: string | null };\n\nexport type FieldFragmentFragment = { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean };\n\nexport type QuestionFragmentFragment = { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null };\n\nexport type AnswerFragmentFragment = { __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string };\n\nexport type TicketFragmentFragment = { __typename?: 'Ticket', id: string, name?: string | null, description?: string | null, startSellingDate?: string | null, endSellingDate?: string | null, imageId?: string | null, typeCode: number, minimumQuantity?: number | null, maximumQuantity?: number | null, price?: number | null, passAlongFees: boolean, ticketId: string, documentVersionId: string, formQuestionsId?: string | null, inventory: { __typename?: 'Inventory', id: string, isLimited: boolean, remaining?: number | null, draftInitial?: number | null, draftRemaining?: number | null }, formQuestions?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null, fields?: Array<{ __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, equationSections?: Array<{ __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null }> | null, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null }> | null }> | null }> | null }> | null };\n\nexport type TicketTypeFragmentFragment = { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number };\n\nexport type PurchasedTicketFragmentFragment = { __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> };\n\nexport type AttendeeFragmentFragment = { __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null };\n\nexport type OrderFragmentFragment = { __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> };\n\nexport type ResponseVersionFragmentFragment = { __typename?: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null };\n\nexport type IntegratedDataValueFragmentFragment = { __typename?: 'IntegratedDataValue', value?: string | null, integratedDataFieldId: string, profileId: string };\n\nexport type OrganizationFragmentFragment = { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null };\n\nexport type DocumentFragmentFragment = { __typename?: 'Document', id: string, disableResponseEditing: boolean, disableAttendeeNameEditing: boolean, showContactForm: boolean, organization: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, parent?: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } };\n\nexport type TaxFragmentFragment = { __typename?: 'Tax', gst: any, gstLabel?: string | null, pst: any, pstLabel?: string | null, total: any };\n\nexport type TaxAndFeeEstimateFragmentFragment = { __typename?: 'TaxAndFeeEstimate', amountToCharge: any, applicationFee: any, method: FeeMethod, provider: string, providerFee: any, applicationFeeNet: any, totalFeesAndTaxes: any, organizationNet: any, applicationFeeTax: { __typename?: 'Tax', gst: any, gstLabel?: string | null, pst: any, pstLabel?: string | null, total: any } };\n\nexport type TaxesAndFeesFragmentFragment = { __typename?: 'TaxesAndFees', amount: any, currency: string, organizationName: string, estimates: Array<{ __typename?: 'TaxAndFeeEstimate', amountToCharge: any, applicationFee: any, method: FeeMethod, provider: string, providerFee: any, applicationFeeNet: any, totalFeesAndTaxes: any, organizationNet: any, applicationFeeTax: { __typename?: 'Tax', gst: any, gstLabel?: string | null, pst: any, pstLabel?: string | null, total: any } }>, typicalMethodEstimate: { __typename?: 'TaxAndFeeEstimate', amountToCharge: any, applicationFee: any, method: FeeMethod, provider: string, providerFee: any, applicationFeeNet: any, totalFeesAndTaxes: any, organizationNet: any, applicationFeeTax: { __typename?: 'Tax', gst: any, gstLabel?: string | null, pst: any, pstLabel?: string | null, total: any } } };\n\nexport type TicketInventoryFragmentFragment = { __typename?: 'TicketInventory', initial?: number | null, isLimited: boolean, purchased: number, remaining?: number | null, ticketId: string };\n\nexport type TagFragmentFragment = { __typename?: 'Tag', id: string, displayName: string };\n\nexport type OrganizationInfoQueryVariables = Exact<{\n organizationId: Scalars['ID']['input'];\n countryCode: Scalars['String']['input'];\n}>;\n\n\nexport type OrganizationInfoQuery = { __typename?: 'DomainQueries', Organization: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } };\n\nexport type OrganizationByHashQueryVariables = Exact<{\n hashedId: Scalars['String']['input'];\n countryCode: Scalars['String']['input'];\n}>;\n\n\nexport type OrganizationByHashQuery = { __typename?: 'DomainQueries', OrganizationByHash: { __typename?: 'Organization', id: string, isEnabled: boolean, name?: string | null, logo?: string | null, hasSafePay?: boolean | null, countryCode?: string | null, currencyCode?: string | null, disclaimer?: string | null, roleLabels?: { __typename?: 'RoleLabels', organization: string, administrator: string, organizer: string, guardian: string, attendee: string } | null, accessFields?: Array<{ __typename?: 'AccessField', key: string, field: { __typename?: 'Field', id: string, type: FieldType, collapsable: boolean, readonly: boolean, question?: { __typename?: 'Question', id: string, name?: string | null, isRequired: boolean, labelText?: string | null, placeHolderText?: string | null, dataValue?: string | null, characterLimit?: number | null, format?: string | null, valueType?: string | null, valueOptions?: Array | null, hidden: boolean, sortValueOptions: boolean, pinnedValueOptions?: Array | null, minEntries?: number | null, maxEntries?: number | null, supportsApprovers?: boolean | null, plainLabel?: string | null } | null } } | null> | null } };\n\nexport type ResponseQueryVariables = Exact<{\n hash: Scalars['String']['input'];\n}>;\n\n\nexport type ResponseQuery = { __typename?: 'DomainQueries', Response: { __typename?: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null } };\n\nexport type ResponseVersionsQueryVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n email: Scalars['String']['input'];\n}>;\n\n\nexport type ResponseVersionsQuery = { __typename?: 'DomainQueries', ResponseVersions: Array<{ __typename?: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null }> };\n\nexport type StaffResponseVersionsQueryVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n}>;\n\n\nexport type StaffResponseVersionsQuery = { __typename?: 'DomainQueries', StaffResponseVersions: Array<{ __typename?: 'ResponseVersion', responseVersionId: string, documentVersionId: string, documentHashId: string, hash: string, completedByOrganizationName?: string | null, responseOrganizationId: string, isRostered: boolean, orderStatus: PaidStatus, isPaymentRequired: boolean, status: ResponseStatus, total: number, subTotal: number, signeeEmail?: string | null, signeeFirstName?: string | null, signeeLastName?: string | null, isSigned: boolean, isCheckedOut: boolean, createdDate: string, source: ResponseSource, sourceId?: string | null, isInternal?: boolean | null, isManual: boolean, signedDate?: string | null, signeeNotes?: string | null, signeeAttachmentId?: string | null, signeeAttachmentFileType?: string | null, originalValueUri?: string | null, tagId?: string | null, attendees: Array<{ __typename?: 'Attendee', responseAttendeeId: string, attendeeId: string, firstName?: string | null, lastName?: string | null, permitted?: boolean | null, manualPermissionDate?: string | null, attachmentId?: string | null, attachmentFileType?: string | null, notes?: string | null, tickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }>, attendeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, integratedDataOnFile?: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> | null }>, signeeAnswers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }>, orders: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }>, previousOrders?: Array<{ __typename?: 'Order', orderId: string, canRefund?: boolean | null, wasManuallyPaid?: boolean | null, orderNumber: string, date: string, subTotal?: number | null, grandTotal?: number | null, grandTotalOriginal?: number | null, hasBeenPaid?: boolean | null, isRefunded?: boolean | null, isCheckedOut?: boolean | null, baseFee?: number | null, baseFeeString?: string | null, totalFees?: number | null, totalFeesString?: string | null, paymentTypes?: Array | null, refundedAmount?: number | null, amountOutstanding?: number | null, purchaserFirstName?: string | null, purchaserLastName?: string | null, purchasedTickets: Array<{ __typename?: 'PurchasedTicket', name?: string | null, orderNumber: string, description?: string | null, price: number, totalPrice: number, quantity: number, createdDate?: string | null, sortOrder?: number | null, ticketId: string, ticketVersionId: string, purchasedTicketIds: Array, attendeeId?: string | null, type: { __typename?: 'TicketTypeInfo', name?: string | null, id: number, defaultPrice: number, code?: string | null, sortOrder: number }, answers: Array<{ __typename?: 'Answer', answerId: string, value?: string | null, fieldId: string, fileType?: string | null, order?: number | null, questionId: string }> }> }> | null }> };\n\nexport type EligibleTagsQueryVariables = Exact<{\n documentId: Scalars['ID']['input'];\n organizationId: Scalars['ID']['input'];\n email: Scalars['String']['input'];\n countryCode: Scalars['String']['input'];\n}>;\n\n\nexport type EligibleTagsQuery = { __typename?: 'DomainQueries', EligibleTags: Array<{ __typename?: 'Tag', id: string, displayName: string }> };\n\nexport type TaxesAndFeesQueryVariables = Exact<{\n organizationId: Scalars['ID']['input'];\n passFeesToBuyer: Scalars['Boolean']['input'];\n amount: Scalars['Float']['input'];\n currency: Scalars['String']['input'];\n}>;\n\n\nexport type TaxesAndFeesQuery = { __typename?: 'DomainQueries', TaxesAndFees: { __typename?: 'TaxesAndFees', amount: any, currency: string, organizationName: string, estimates: Array<{ __typename?: 'TaxAndFeeEstimate', amountToCharge: any, applicationFee: any, method: FeeMethod, provider: string, providerFee: any, applicationFeeNet: any, totalFeesAndTaxes: any, organizationNet: any, applicationFeeTax: { __typename?: 'Tax', gst: any, gstLabel?: string | null, pst: any, pstLabel?: string | null, total: any } }>, typicalMethodEstimate: { __typename?: 'TaxAndFeeEstimate', amountToCharge: any, applicationFee: any, method: FeeMethod, provider: string, providerFee: any, applicationFeeNet: any, totalFeesAndTaxes: any, organizationNet: any, applicationFeeTax: { __typename?: 'Tax', gst: any, gstLabel?: string | null, pst: any, pstLabel?: string | null, total: any } } } };\n\nexport type TicketInventoryQueryVariables = Exact<{\n countryCode: Scalars['String']['input'];\n documentId: Scalars['ID']['input'];\n ticketIds: Array | Scalars['ID']['input'];\n}>;\n\n\nexport type TicketInventoryQuery = { __typename?: 'DomainQueries', TicketInventory: Array<{ __typename?: 'TicketInventory', initial?: number | null, isLimited: boolean, purchased: number, remaining?: number | null, ticketId: string }> };\n\nexport const FormAttachmentFragmentFragmentDoc = gql`\n fragment FormAttachmentFragment on Attachment {\n id\n friendlyName\n name\n isPdf\n contentUri\n thumbnailUri\n printUri\n downloadUri\n fileType\n readableFileSize\n mimeType\n isPdf\n isImage\n sizeInBytes\n isPrimary\n}\n `;\nexport const LinkAttachmentFragmentFragmentDoc = gql`\n fragment LinkAttachmentFragment on LinkAttachment {\n id\n title\n description\n uri\n imageUri\n originalUri\n}\n `;\nexport const FieldFragmentFragmentDoc = gql`\n fragment FieldFragment on Field {\n id\n type\n collapsable\n readonly\n}\n `;\nexport const QuestionFragmentFragmentDoc = gql`\n fragment QuestionFragment on Question {\n id\n name\n isRequired\n labelText\n placeHolderText\n dataValue\n characterLimit\n format\n valueType\n valueOptions\n hidden\n sortValueOptions\n pinnedValueOptions\n minEntries\n maxEntries\n supportsApprovers\n plainLabel\n}\n `;\nexport const TicketFragmentFragmentDoc = gql`\n fragment TicketFragment on Ticket {\n id\n name\n description\n startSellingDate\n endSellingDate\n imageId\n typeCode\n minimumQuantity\n maximumQuantity\n price\n passAlongFees\n ticketId\n documentVersionId\n formQuestionsId\n inventory {\n id\n isLimited\n remaining\n draftInitial\n draftRemaining\n }\n formQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n}\n ${FieldFragmentFragmentDoc}\n${QuestionFragmentFragmentDoc}`;\nexport const TicketTypeFragmentFragmentDoc = gql`\n fragment TicketTypeFragment on TicketTypeInfo {\n name\n id\n defaultPrice\n code\n sortOrder\n}\n `;\nexport const AnswerFragmentFragmentDoc = gql`\n fragment AnswerFragment on Answer {\n answerId\n value\n fieldId\n fileType\n order\n questionId\n}\n `;\nexport const PurchasedTicketFragmentFragmentDoc = gql`\n fragment PurchasedTicketFragment on PurchasedTicket {\n type {\n ...TicketTypeFragment\n }\n name\n orderNumber\n description\n price\n totalPrice\n quantity\n createdDate\n sortOrder\n ticketId\n ticketVersionId\n purchasedTicketIds\n attendeeId\n answers {\n ...AnswerFragment\n }\n}\n ${TicketTypeFragmentFragmentDoc}\n${AnswerFragmentFragmentDoc}`;\nexport const AttendeeFragmentFragmentDoc = gql`\n fragment AttendeeFragment on Attendee {\n responseAttendeeId\n attendeeId\n firstName\n lastName\n permitted\n manualPermissionDate\n attachmentId\n attachmentFileType\n notes\n tickets {\n ...PurchasedTicketFragment\n }\n attendeeAnswers {\n ...AnswerFragment\n }\n integratedDataOnFile {\n ...AnswerFragment\n }\n}\n ${PurchasedTicketFragmentFragmentDoc}\n${AnswerFragmentFragmentDoc}`;\nexport const OrderFragmentFragmentDoc = gql`\n fragment OrderFragment on Order {\n orderId\n canRefund\n wasManuallyPaid\n orderNumber\n date\n subTotal\n grandTotal\n grandTotalOriginal\n hasBeenPaid\n isRefunded\n isCheckedOut\n baseFee\n baseFeeString\n totalFees\n totalFeesString\n paymentTypes\n refundedAmount\n amountOutstanding\n purchaserFirstName\n purchaserLastName\n purchasedTickets {\n ...PurchasedTicketFragment\n }\n}\n ${PurchasedTicketFragmentFragmentDoc}`;\nexport const ResponseVersionFragmentFragmentDoc = gql`\n fragment ResponseVersionFragment on ResponseVersion {\n responseVersionId\n documentVersionId\n documentHashId\n hash\n completedByOrganizationName\n responseOrganizationId\n isRostered\n orderStatus\n isPaymentRequired\n status\n total\n subTotal\n signeeEmail\n signeeFirstName\n signeeLastName\n isSigned\n isCheckedOut\n createdDate\n attendees {\n ...AttendeeFragment\n }\n source\n sourceId\n isInternal\n isManual\n signedDate\n signeeNotes\n signeeAttachmentId\n signeeAttachmentFileType\n originalValueUri\n signeeAnswers {\n ...AnswerFragment\n }\n orders {\n ...OrderFragment\n }\n previousOrders {\n ...OrderFragment\n }\n hash\n tagId\n}\n ${AttendeeFragmentFragmentDoc}\n${AnswerFragmentFragmentDoc}\n${OrderFragmentFragmentDoc}`;\nexport const IntegratedDataValueFragmentFragmentDoc = gql`\n fragment IntegratedDataValueFragment on IntegratedDataValue {\n value\n integratedDataFieldId\n profileId\n}\n `;\nexport const OrganizationFragmentFragmentDoc = gql`\n fragment OrganizationFragment on Organization {\n id\n isEnabled\n name\n logo\n hasSafePay\n countryCode\n currencyCode\n disclaimer\n roleLabels {\n organization\n administrator\n organizer\n guardian\n attendee\n }\n accessFields {\n key\n field {\n ...FieldFragment\n question {\n ...QuestionFragment\n }\n }\n }\n}\n ${FieldFragmentFragmentDoc}\n${QuestionFragmentFragmentDoc}`;\nexport const DocumentFragmentFragmentDoc = gql`\n fragment DocumentFragment on Document {\n id\n disableResponseEditing\n disableAttendeeNameEditing\n showContactForm\n organization {\n ...OrganizationFragment\n parent {\n ...OrganizationFragment\n }\n }\n}\n ${OrganizationFragmentFragmentDoc}`;\nexport const TaxFragmentFragmentDoc = gql`\n fragment TaxFragment on Tax {\n gst\n gstLabel\n pst\n pstLabel\n total\n}\n `;\nexport const TaxAndFeeEstimateFragmentFragmentDoc = gql`\n fragment TaxAndFeeEstimateFragment on TaxAndFeeEstimate {\n amountToCharge\n applicationFee\n applicationFeeTax {\n ...TaxFragment\n }\n method\n provider\n providerFee\n applicationFeeNet\n totalFeesAndTaxes\n organizationNet\n}\n ${TaxFragmentFragmentDoc}`;\nexport const TaxesAndFeesFragmentFragmentDoc = gql`\n fragment TaxesAndFeesFragment on TaxesAndFees {\n amount\n currency\n estimates {\n ...TaxAndFeeEstimateFragment\n }\n organizationName\n typicalMethodEstimate {\n ...TaxAndFeeEstimateFragment\n }\n}\n ${TaxAndFeeEstimateFragmentFragmentDoc}`;\nexport const TicketInventoryFragmentFragmentDoc = gql`\n fragment TicketInventoryFragment on TicketInventory {\n initial\n isLimited\n purchased\n remaining\n ticketId\n}\n `;\nexport const TagFragmentFragmentDoc = gql`\n fragment TagFragment on Tag {\n id\n displayName\n}\n `;\nexport const SaveSigneeAnswerDocument = gql`\n mutation SaveSigneeAnswer($countryCode: String!, $documentId: ID!, $answer: AnswerInput!, $responseVersionId: ID!, $accessData: [AccessDataInput!]!) {\n SaveSigneeAnswer(\n countryCode: $countryCode\n documentId: $documentId\n answer: $answer\n accessData: $accessData\n responseVersionId: $responseVersionId\n ) {\n ...AnswerFragment\n }\n}\n ${AnswerFragmentFragmentDoc}`;\nexport type SaveSigneeAnswerMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSaveSigneeAnswerMutation__\n *\n * To run a mutation, you first call `useSaveSigneeAnswerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSaveSigneeAnswerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [saveSigneeAnswerMutation, { data, loading, error }] = useSaveSigneeAnswerMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * answer: // value for 'answer'\n * responseVersionId: // value for 'responseVersionId'\n * accessData: // value for 'accessData'\n * },\n * });\n */\nexport function useSaveSigneeAnswerMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SaveSigneeAnswerDocument, options);\n }\nexport type SaveSigneeAnswerMutationHookResult = ReturnType;\nexport type SaveSigneeAnswerMutationResult = Apollo.MutationResult;\nexport type SaveSigneeAnswerMutationOptions = Apollo.BaseMutationOptions;\nexport const DeleteSigneeAnswerDocument = gql`\n mutation DeleteSigneeAnswer($countryCode: String!, $documentId: ID!, $responseVersionId: ID!, $answerInput: DeleteAnswerInput!, $accessData: [AccessDataInput!]!) {\n DeleteSigneeAnswer(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n answerInput: $answerInput\n accessData: $accessData\n )\n}\n `;\nexport type DeleteSigneeAnswerMutationFn = Apollo.MutationFunction;\n\n/**\n * __useDeleteSigneeAnswerMutation__\n *\n * To run a mutation, you first call `useDeleteSigneeAnswerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteSigneeAnswerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteSigneeAnswerMutation, { data, loading, error }] = useDeleteSigneeAnswerMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * answerInput: // value for 'answerInput'\n * accessData: // value for 'accessData'\n * },\n * });\n */\nexport function useDeleteSigneeAnswerMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(DeleteSigneeAnswerDocument, options);\n }\nexport type DeleteSigneeAnswerMutationHookResult = ReturnType;\nexport type DeleteSigneeAnswerMutationResult = Apollo.MutationResult;\nexport type DeleteSigneeAnswerMutationOptions = Apollo.BaseMutationOptions;\nexport const SaveAttendeeAnswerDocument = gql`\n mutation SaveAttendeeAnswer($countryCode: String!, $documentId: ID!, $answer: AnswerInput!, $responseVersionId: ID!, $attendeeId: ID!, $accessData: [AccessDataInput!]!) {\n SaveAttendeeAnswer(\n countryCode: $countryCode\n documentId: $documentId\n answer: $answer\n responseVersionId: $responseVersionId\n attendeeId: $attendeeId\n accessData: $accessData\n ) {\n ...AnswerFragment\n }\n}\n ${AnswerFragmentFragmentDoc}`;\nexport type SaveAttendeeAnswerMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSaveAttendeeAnswerMutation__\n *\n * To run a mutation, you first call `useSaveAttendeeAnswerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSaveAttendeeAnswerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [saveAttendeeAnswerMutation, { data, loading, error }] = useSaveAttendeeAnswerMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * answer: // value for 'answer'\n * responseVersionId: // value for 'responseVersionId'\n * attendeeId: // value for 'attendeeId'\n * accessData: // value for 'accessData'\n * },\n * });\n */\nexport function useSaveAttendeeAnswerMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SaveAttendeeAnswerDocument, options);\n }\nexport type SaveAttendeeAnswerMutationHookResult = ReturnType;\nexport type SaveAttendeeAnswerMutationResult = Apollo.MutationResult;\nexport type SaveAttendeeAnswerMutationOptions = Apollo.BaseMutationOptions;\nexport const DeleteAttendeeAnswerDocument = gql`\n mutation DeleteAttendeeAnswer($countryCode: String!, $documentId: ID!, $responseVersionId: ID!, $answerInput: DeleteAnswerInput!, $attendeeId: ID!, $accessData: [AccessDataInput!]!) {\n DeleteAttendeeAnswer(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n answerInput: $answerInput\n attendeeId: $attendeeId\n accessData: $accessData\n )\n}\n `;\nexport type DeleteAttendeeAnswerMutationFn = Apollo.MutationFunction;\n\n/**\n * __useDeleteAttendeeAnswerMutation__\n *\n * To run a mutation, you first call `useDeleteAttendeeAnswerMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useDeleteAttendeeAnswerMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [deleteAttendeeAnswerMutation, { data, loading, error }] = useDeleteAttendeeAnswerMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * answerInput: // value for 'answerInput'\n * attendeeId: // value for 'attendeeId'\n * accessData: // value for 'accessData'\n * },\n * });\n */\nexport function useDeleteAttendeeAnswerMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(DeleteAttendeeAnswerDocument, options);\n }\nexport type DeleteAttendeeAnswerMutationHookResult = ReturnType;\nexport type DeleteAttendeeAnswerMutationResult = Apollo.MutationResult;\nexport type DeleteAttendeeAnswerMutationOptions = Apollo.BaseMutationOptions;\nexport const EditAttendeesDocument = gql`\n mutation EditAttendees($countryCode: String!, $documentId: ID!, $responseVersionId: ID!, $attendees: [AttendeeInput!]!, $accessData: [AccessDataInput!]!) {\n EditAttendees(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n attendees: $attendees\n accessData: $accessData\n ) {\n responseAttendeeId\n attendeeId\n firstName\n lastName\n permitted\n manualPermissionDate\n attachmentId\n attachmentFileType\n notes\n }\n}\n `;\nexport type EditAttendeesMutationFn = Apollo.MutationFunction;\n\n/**\n * __useEditAttendeesMutation__\n *\n * To run a mutation, you first call `useEditAttendeesMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useEditAttendeesMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [editAttendeesMutation, { data, loading, error }] = useEditAttendeesMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * attendees: // value for 'attendees'\n * accessData: // value for 'accessData'\n * },\n * });\n */\nexport function useEditAttendeesMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(EditAttendeesDocument, options);\n }\nexport type EditAttendeesMutationHookResult = ReturnType;\nexport type EditAttendeesMutationResult = Apollo.MutationResult;\nexport type EditAttendeesMutationOptions = Apollo.BaseMutationOptions;\nexport const CreateOrResumeResponseDocument = gql`\n mutation CreateOrResumeResponse($countryCode: String!, $documentId: ID!, $signee: SigneeInput!, $organizationHash: String, $responseVersionId: ID, $accessData: [AccessDataInput!]!) {\n CreateOrResumeResponse(\n countryCode: $countryCode\n documentId: $documentId\n signee: $signee\n organizationHash: $organizationHash\n responseVersionId: $responseVersionId\n accessData: $accessData\n ) {\n ...ResponseVersionFragment\n __typename\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\nexport type CreateOrResumeResponseMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateOrResumeResponseMutation__\n *\n * To run a mutation, you first call `useCreateOrResumeResponseMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateOrResumeResponseMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createOrResumeResponseMutation, { data, loading, error }] = useCreateOrResumeResponseMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * signee: // value for 'signee'\n * organizationHash: // value for 'organizationHash'\n * responseVersionId: // value for 'responseVersionId'\n * accessData: // value for 'accessData'\n * },\n * });\n */\nexport function useCreateOrResumeResponseMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateOrResumeResponseDocument, options);\n }\nexport type CreateOrResumeResponseMutationHookResult = ReturnType;\nexport type CreateOrResumeResponseMutationResult = Apollo.MutationResult;\nexport type CreateOrResumeResponseMutationOptions = Apollo.BaseMutationOptions;\nexport const CreateResponseDocument = gql`\n mutation CreateResponse($countryCode: String!, $documentId: ID!, $signee: SigneeInput!, $organizationHash: String, $organizationId: ID, $responseVersionId: ID, $accessData: [AccessDataInput!]!) {\n CreateResponse(\n countryCode: $countryCode\n documentId: $documentId\n signee: $signee\n organizationHash: $organizationHash\n organizationId: $organizationId\n responseVersionId: $responseVersionId\n accessData: $accessData\n ) {\n ...ResponseVersionFragment\n __typename\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\nexport type CreateResponseMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCreateResponseMutation__\n *\n * To run a mutation, you first call `useCreateResponseMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCreateResponseMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [createResponseMutation, { data, loading, error }] = useCreateResponseMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * signee: // value for 'signee'\n * organizationHash: // value for 'organizationHash'\n * organizationId: // value for 'organizationId'\n * responseVersionId: // value for 'responseVersionId'\n * accessData: // value for 'accessData'\n * },\n * });\n */\nexport function useCreateResponseMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CreateResponseDocument, options);\n }\nexport type CreateResponseMutationHookResult = ReturnType;\nexport type CreateResponseMutationResult = Apollo.MutationResult;\nexport type CreateResponseMutationOptions = Apollo.BaseMutationOptions;\nexport const RestartResponseDocument = gql`\n mutation RestartResponse($countryCode: String!, $documentId: ID!, $responseVersionId: ID!) {\n RestartResponse(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n ) {\n ...ResponseVersionFragment\n __typename\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\nexport type RestartResponseMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRestartResponseMutation__\n *\n * To run a mutation, you first call `useRestartResponseMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRestartResponseMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [restartResponseMutation, { data, loading, error }] = useRestartResponseMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * },\n * });\n */\nexport function useRestartResponseMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RestartResponseDocument, options);\n }\nexport type RestartResponseMutationHookResult = ReturnType;\nexport type RestartResponseMutationResult = Apollo.MutationResult;\nexport type RestartResponseMutationOptions = Apollo.BaseMutationOptions;\nexport const RestartInProcessResponseDocument = gql`\n mutation RestartInProcessResponse($countryCode: String!, $documentId: ID!, $responseVersionId: ID!) {\n RestartInProcessResponse(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n ) {\n ...ResponseVersionFragment\n __typename\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\nexport type RestartInProcessResponseMutationFn = Apollo.MutationFunction;\n\n/**\n * __useRestartInProcessResponseMutation__\n *\n * To run a mutation, you first call `useRestartInProcessResponseMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useRestartInProcessResponseMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [restartInProcessResponseMutation, { data, loading, error }] = useRestartInProcessResponseMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * },\n * });\n */\nexport function useRestartInProcessResponseMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(RestartInProcessResponseDocument, options);\n }\nexport type RestartInProcessResponseMutationHookResult = ReturnType;\nexport type RestartInProcessResponseMutationResult = Apollo.MutationResult;\nexport type RestartInProcessResponseMutationOptions = Apollo.BaseMutationOptions;\nexport const AddResponseVersionDocument = gql`\n mutation AddResponseVersion($countryCode: String!, $documentId: ID!, $responseVersionId: ID!) {\n AddResponseVersion(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n ) {\n ...ResponseVersionFragment\n __typename\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\nexport type AddResponseVersionMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAddResponseVersionMutation__\n *\n * To run a mutation, you first call `useAddResponseVersionMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAddResponseVersionMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [addResponseVersionMutation, { data, loading, error }] = useAddResponseVersionMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * },\n * });\n */\nexport function useAddResponseVersionMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AddResponseVersionDocument, options);\n }\nexport type AddResponseVersionMutationHookResult = ReturnType;\nexport type AddResponseVersionMutationResult = Apollo.MutationResult;\nexport type AddResponseVersionMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateResponseVersionDocument = gql`\n mutation UpdateResponseVersion($countryCode: String!, $documentId: ID!, $responseVersionId: ID!) {\n UpdateResponseVersion(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n ) {\n ...ResponseVersionFragment\n __typename\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\nexport type UpdateResponseVersionMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateResponseVersionMutation__\n *\n * To run a mutation, you first call `useUpdateResponseVersionMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateResponseVersionMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateResponseVersionMutation, { data, loading, error }] = useUpdateResponseVersionMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * },\n * });\n */\nexport function useUpdateResponseVersionMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateResponseVersionDocument, options);\n }\nexport type UpdateResponseVersionMutationHookResult = ReturnType;\nexport type UpdateResponseVersionMutationResult = Apollo.MutationResult;\nexport type UpdateResponseVersionMutationOptions = Apollo.BaseMutationOptions;\nexport const ValidateAccessDocument = gql`\n mutation ValidateAccess($countryCode: String!, $documentId: ID!, $accessData: [AccessDataInput!]!, $responseVersionId: ID!) {\n ValidateAccess(\n countryCode: $countryCode\n documentId: $documentId\n accessData: $accessData\n responseVersionId: $responseVersionId\n )\n}\n `;\nexport type ValidateAccessMutationFn = Apollo.MutationFunction;\n\n/**\n * __useValidateAccessMutation__\n *\n * To run a mutation, you first call `useValidateAccessMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useValidateAccessMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [validateAccessMutation, { data, loading, error }] = useValidateAccessMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * accessData: // value for 'accessData'\n * responseVersionId: // value for 'responseVersionId'\n * },\n * });\n */\nexport function useValidateAccessMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(ValidateAccessDocument, options);\n }\nexport type ValidateAccessMutationHookResult = ReturnType;\nexport type ValidateAccessMutationResult = Apollo.MutationResult;\nexport type ValidateAccessMutationOptions = Apollo.BaseMutationOptions;\nexport const UpdateTagDocument = gql`\n mutation UpdateTag($documentId: ID!, $countryCode: String!, $tagId: ID, $responseVersionId: ID!) {\n UpdateTag(\n documentId: $documentId\n countryCode: $countryCode\n tagId: $tagId\n responseVersionId: $responseVersionId\n )\n}\n `;\nexport type UpdateTagMutationFn = Apollo.MutationFunction;\n\n/**\n * __useUpdateTagMutation__\n *\n * To run a mutation, you first call `useUpdateTagMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useUpdateTagMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [updateTagMutation, { data, loading, error }] = useUpdateTagMutation({\n * variables: {\n * documentId: // value for 'documentId'\n * countryCode: // value for 'countryCode'\n * tagId: // value for 'tagId'\n * responseVersionId: // value for 'responseVersionId'\n * },\n * });\n */\nexport function useUpdateTagMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(UpdateTagDocument, options);\n }\nexport type UpdateTagMutationHookResult = ReturnType;\nexport type UpdateTagMutationResult = Apollo.MutationResult;\nexport type UpdateTagMutationOptions = Apollo.BaseMutationOptions;\nexport const AcceptTermsDocument = gql`\n mutation AcceptTerms($countryCode: String!, $documentId: ID!, $responseVersionId: ID!, $accessData: [AccessDataInput!], $paymentToken: String, $orderId: ID, $languageCode: String) {\n AcceptTerms(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n accessData: $accessData\n paymentToken: $paymentToken\n orderId: $orderId\n languageCode: $languageCode\n )\n}\n `;\nexport type AcceptTermsMutationFn = Apollo.MutationFunction;\n\n/**\n * __useAcceptTermsMutation__\n *\n * To run a mutation, you first call `useAcceptTermsMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useAcceptTermsMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [acceptTermsMutation, { data, loading, error }] = useAcceptTermsMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * accessData: // value for 'accessData'\n * paymentToken: // value for 'paymentToken'\n * orderId: // value for 'orderId'\n * languageCode: // value for 'languageCode'\n * },\n * });\n */\nexport function useAcceptTermsMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(AcceptTermsDocument, options);\n }\nexport type AcceptTermsMutationHookResult = ReturnType;\nexport type AcceptTermsMutationResult = Apollo.MutationResult;\nexport type AcceptTermsMutationOptions = Apollo.BaseMutationOptions;\nexport const SignUpForNotificationDocument = gql`\n mutation SignUpForNotification($countryCode: String!, $email: String!, $documentVersionId: ID!) {\n SignUpForNotification(\n countryCode: $countryCode\n email: $email\n documentVersionId: $documentVersionId\n )\n}\n `;\nexport type SignUpForNotificationMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSignUpForNotificationMutation__\n *\n * To run a mutation, you first call `useSignUpForNotificationMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSignUpForNotificationMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [signUpForNotificationMutation, { data, loading, error }] = useSignUpForNotificationMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * email: // value for 'email'\n * documentVersionId: // value for 'documentVersionId'\n * },\n * });\n */\nexport function useSignUpForNotificationMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SignUpForNotificationDocument, options);\n }\nexport type SignUpForNotificationMutationHookResult = ReturnType;\nexport type SignUpForNotificationMutationResult = Apollo.MutationResult;\nexport type SignUpForNotificationMutationOptions = Apollo.BaseMutationOptions;\nexport const SubmitFeedbackDocument = gql`\n mutation SubmitFeedback($countryCode: String!, $documentVersionId: ID!, $responseVersionId: ID!, $feedback: String!, $signeeEmailAddress: String!, $signeeFirstName: String!, $signeeLastName: String!) {\n SubmitFeedback(\n countryCode: $countryCode\n documentVersionId: $documentVersionId\n responseVersionId: $responseVersionId\n feedback: $feedback\n signeeEmailAddress: $signeeEmailAddress\n signeeFirstName: $signeeFirstName\n signeeLastName: $signeeLastName\n )\n}\n `;\nexport type SubmitFeedbackMutationFn = Apollo.MutationFunction;\n\n/**\n * __useSubmitFeedbackMutation__\n *\n * To run a mutation, you first call `useSubmitFeedbackMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useSubmitFeedbackMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [submitFeedbackMutation, { data, loading, error }] = useSubmitFeedbackMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentVersionId: // value for 'documentVersionId'\n * responseVersionId: // value for 'responseVersionId'\n * feedback: // value for 'feedback'\n * signeeEmailAddress: // value for 'signeeEmailAddress'\n * signeeFirstName: // value for 'signeeFirstName'\n * signeeLastName: // value for 'signeeLastName'\n * },\n * });\n */\nexport function useSubmitFeedbackMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(SubmitFeedbackDocument, options);\n }\nexport type SubmitFeedbackMutationHookResult = ReturnType;\nexport type SubmitFeedbackMutationResult = Apollo.MutationResult;\nexport type SubmitFeedbackMutationOptions = Apollo.BaseMutationOptions;\nexport const ReserveTicketDocument = gql`\n mutation ReserveTicket($countryCode: String!, $documentId: ID!, $responseVersionId: ID!, $responseAttendeeId: ID!, $ticketVersionId: ID!, $reserveTicketInput: ReserveTicketInput!) {\n ReserveTicket(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n responseAttendeeId: $responseAttendeeId\n ticketVersionId: $ticketVersionId\n reserveTicketInput: $reserveTicketInput\n )\n}\n `;\nexport type ReserveTicketMutationFn = Apollo.MutationFunction;\n\n/**\n * __useReserveTicketMutation__\n *\n * To run a mutation, you first call `useReserveTicketMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useReserveTicketMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [reserveTicketMutation, { data, loading, error }] = useReserveTicketMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * responseAttendeeId: // value for 'responseAttendeeId'\n * ticketVersionId: // value for 'ticketVersionId'\n * reserveTicketInput: // value for 'reserveTicketInput'\n * },\n * });\n */\nexport function useReserveTicketMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(ReserveTicketDocument, options);\n }\nexport type ReserveTicketMutationHookResult = ReturnType;\nexport type ReserveTicketMutationResult = Apollo.MutationResult;\nexport type ReserveTicketMutationOptions = Apollo.BaseMutationOptions;\nexport const CancelTicketDocument = gql`\n mutation CancelTicket($countryCode: String!, $documentId: ID!, $responseVersionId: ID!, $responseAttendeeId: ID!, $ticketVersionId: ID!, $purchasedTicketIds: [ID!]!, $orderId: ID!) {\n CancelTicket(\n countryCode: $countryCode\n documentId: $documentId\n responseVersionId: $responseVersionId\n responseAttendeeId: $responseAttendeeId\n ticketVersionId: $ticketVersionId\n purchasedTicketIds: $purchasedTicketIds\n orderId: $orderId\n )\n}\n `;\nexport type CancelTicketMutationFn = Apollo.MutationFunction;\n\n/**\n * __useCancelTicketMutation__\n *\n * To run a mutation, you first call `useCancelTicketMutation` within a React component and pass it any options that fit your needs.\n * When your component renders, `useCancelTicketMutation` returns a tuple that includes:\n * - A mutate function that you can call at any time to execute the mutation\n * - An object with fields that represent the current status of the mutation's execution\n *\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\n *\n * @example\n * const [cancelTicketMutation, { data, loading, error }] = useCancelTicketMutation({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * responseVersionId: // value for 'responseVersionId'\n * responseAttendeeId: // value for 'responseAttendeeId'\n * ticketVersionId: // value for 'ticketVersionId'\n * purchasedTicketIds: // value for 'purchasedTicketIds'\n * orderId: // value for 'orderId'\n * },\n * });\n */\nexport function useCancelTicketMutation(baseOptions?: Apollo.MutationHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useMutation(CancelTicketDocument, options);\n }\nexport type CancelTicketMutationHookResult = ReturnType;\nexport type CancelTicketMutationResult = Apollo.MutationResult;\nexport type CancelTicketMutationOptions = Apollo.BaseMutationOptions;\nexport const FormInfoDocument = gql`\n query FormInfo($hashedId: String!, $countryCode: String!, $hashedOrgId: String) {\n Form(hashedId: $hashedId, countryCode: $countryCode, hashedOrgId: $hashedOrgId) {\n id\n name\n status\n redirectUrl\n documentId\n redirectMessage\n allowMultipleChildrenOnOneOrder\n allowOnlinePaymentsOnly\n respondentMustSelectATicket\n manualPaymentText\n parentMessage\n information\n organizerName\n requiresPermission\n isGeneralSignup\n restrictResponses\n hasApprovers\n hasReachedResponseCutOffDate\n responseCutOffLocalDate\n startDate\n endDate\n affirmativePermission\n negativePermission\n useOrganizationBranding\n useLocalTranslations\n document {\n ...DocumentFragment\n }\n attachments {\n ...FormAttachmentFragment\n }\n linkAttachments {\n ...LinkAttachmentFragment\n }\n publicQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n publicOrganizerAnswers {\n ...AnswerFragment\n }\n signeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n attendeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n tickets {\n ...TicketFragment\n }\n template {\n attachmentsPermissions\n ticketPermissions\n signeeFormPermissions\n attendeeFormPermissions\n document {\n ...DocumentFragment\n }\n attachments {\n ...FormAttachmentFragment\n }\n linkAttachments {\n ...LinkAttachmentFragment\n }\n publicQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n signeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n attendeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n tickets {\n ...TicketFragment\n }\n }\n }\n}\n ${DocumentFragmentFragmentDoc}\n${FormAttachmentFragmentFragmentDoc}\n${LinkAttachmentFragmentFragmentDoc}\n${FieldFragmentFragmentDoc}\n${QuestionFragmentFragmentDoc}\n${AnswerFragmentFragmentDoc}\n${TicketFragmentFragmentDoc}`;\n\n/**\n * __useFormInfoQuery__\n *\n * To run a query within a React component, call `useFormInfoQuery` and pass it any options that fit your needs.\n * When your component renders, `useFormInfoQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useFormInfoQuery({\n * variables: {\n * hashedId: // value for 'hashedId'\n * countryCode: // value for 'countryCode'\n * hashedOrgId: // value for 'hashedOrgId'\n * },\n * });\n */\nexport function useFormInfoQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(FormInfoDocument, options);\n }\nexport function useFormInfoLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(FormInfoDocument, options);\n }\nexport type FormInfoQueryHookResult = ReturnType;\nexport type FormInfoLazyQueryHookResult = ReturnType;\nexport type FormInfoQueryResult = Apollo.QueryResult;\nexport const OrganizationInfoDocument = gql`\n query OrganizationInfo($organizationId: ID!, $countryCode: String!) {\n Organization(organizationId: $organizationId, countryCode: $countryCode) {\n ...OrganizationFragment\n }\n}\n ${OrganizationFragmentFragmentDoc}`;\n\n/**\n * __useOrganizationInfoQuery__\n *\n * To run a query within a React component, call `useOrganizationInfoQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationInfoQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationInfoQuery({\n * variables: {\n * organizationId: // value for 'organizationId'\n * countryCode: // value for 'countryCode'\n * },\n * });\n */\nexport function useOrganizationInfoQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationInfoDocument, options);\n }\nexport function useOrganizationInfoLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationInfoDocument, options);\n }\nexport type OrganizationInfoQueryHookResult = ReturnType;\nexport type OrganizationInfoLazyQueryHookResult = ReturnType;\nexport type OrganizationInfoQueryResult = Apollo.QueryResult;\nexport const OrganizationByHashDocument = gql`\n query OrganizationByHash($hashedId: String!, $countryCode: String!) {\n OrganizationByHash(hash: $hashedId, countryCode: $countryCode) {\n ...OrganizationFragment\n }\n}\n ${OrganizationFragmentFragmentDoc}`;\n\n/**\n * __useOrganizationByHashQuery__\n *\n * To run a query within a React component, call `useOrganizationByHashQuery` and pass it any options that fit your needs.\n * When your component renders, `useOrganizationByHashQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useOrganizationByHashQuery({\n * variables: {\n * hashedId: // value for 'hashedId'\n * countryCode: // value for 'countryCode'\n * },\n * });\n */\nexport function useOrganizationByHashQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(OrganizationByHashDocument, options);\n }\nexport function useOrganizationByHashLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(OrganizationByHashDocument, options);\n }\nexport type OrganizationByHashQueryHookResult = ReturnType;\nexport type OrganizationByHashLazyQueryHookResult = ReturnType;\nexport type OrganizationByHashQueryResult = Apollo.QueryResult;\nexport const ResponseDocument = gql`\n query Response($hash: String!) {\n Response(hash: $hash) {\n ...ResponseVersionFragment\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\n\n/**\n * __useResponseQuery__\n *\n * To run a query within a React component, call `useResponseQuery` and pass it any options that fit your needs.\n * When your component renders, `useResponseQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useResponseQuery({\n * variables: {\n * hash: // value for 'hash'\n * },\n * });\n */\nexport function useResponseQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ResponseDocument, options);\n }\nexport function useResponseLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ResponseDocument, options);\n }\nexport type ResponseQueryHookResult = ReturnType;\nexport type ResponseLazyQueryHookResult = ReturnType;\nexport type ResponseQueryResult = Apollo.QueryResult;\nexport const ResponseVersionsDocument = gql`\n query ResponseVersions($countryCode: String!, $documentId: ID!, $email: String!) {\n ResponseVersions(\n countryCode: $countryCode\n documentId: $documentId\n email: $email\n ) {\n ...ResponseVersionFragment\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\n\n/**\n * __useResponseVersionsQuery__\n *\n * To run a query within a React component, call `useResponseVersionsQuery` and pass it any options that fit your needs.\n * When your component renders, `useResponseVersionsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useResponseVersionsQuery({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * email: // value for 'email'\n * },\n * });\n */\nexport function useResponseVersionsQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(ResponseVersionsDocument, options);\n }\nexport function useResponseVersionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(ResponseVersionsDocument, options);\n }\nexport type ResponseVersionsQueryHookResult = ReturnType;\nexport type ResponseVersionsLazyQueryHookResult = ReturnType;\nexport type ResponseVersionsQueryResult = Apollo.QueryResult;\nexport const StaffResponseVersionsDocument = gql`\n query StaffResponseVersions($countryCode: String!, $documentId: ID!) {\n StaffResponseVersions(countryCode: $countryCode, documentId: $documentId) {\n ...ResponseVersionFragment\n }\n}\n ${ResponseVersionFragmentFragmentDoc}`;\n\n/**\n * __useStaffResponseVersionsQuery__\n *\n * To run a query within a React component, call `useStaffResponseVersionsQuery` and pass it any options that fit your needs.\n * When your component renders, `useStaffResponseVersionsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useStaffResponseVersionsQuery({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * },\n * });\n */\nexport function useStaffResponseVersionsQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(StaffResponseVersionsDocument, options);\n }\nexport function useStaffResponseVersionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(StaffResponseVersionsDocument, options);\n }\nexport type StaffResponseVersionsQueryHookResult = ReturnType;\nexport type StaffResponseVersionsLazyQueryHookResult = ReturnType;\nexport type StaffResponseVersionsQueryResult = Apollo.QueryResult;\nexport const EligibleTagsDocument = gql`\n query EligibleTags($documentId: ID!, $organizationId: ID!, $email: String!, $countryCode: String!) {\n EligibleTags(\n documentId: $documentId\n organizationId: $organizationId\n email: $email\n countryCode: $countryCode\n ) {\n ...TagFragment\n }\n}\n ${TagFragmentFragmentDoc}`;\n\n/**\n * __useEligibleTagsQuery__\n *\n * To run a query within a React component, call `useEligibleTagsQuery` and pass it any options that fit your needs.\n * When your component renders, `useEligibleTagsQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useEligibleTagsQuery({\n * variables: {\n * documentId: // value for 'documentId'\n * organizationId: // value for 'organizationId'\n * email: // value for 'email'\n * countryCode: // value for 'countryCode'\n * },\n * });\n */\nexport function useEligibleTagsQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(EligibleTagsDocument, options);\n }\nexport function useEligibleTagsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(EligibleTagsDocument, options);\n }\nexport type EligibleTagsQueryHookResult = ReturnType;\nexport type EligibleTagsLazyQueryHookResult = ReturnType;\nexport type EligibleTagsQueryResult = Apollo.QueryResult;\nexport const TaxesAndFeesDocument = gql`\n query TaxesAndFees($organizationId: ID!, $passFeesToBuyer: Boolean!, $amount: Float!, $currency: String!) {\n TaxesAndFees(\n organizationId: $organizationId\n passFeesToBuyer: $passFeesToBuyer\n amount: $amount\n currency: $currency\n ) {\n ...TaxesAndFeesFragment\n }\n}\n ${TaxesAndFeesFragmentFragmentDoc}`;\n\n/**\n * __useTaxesAndFeesQuery__\n *\n * To run a query within a React component, call `useTaxesAndFeesQuery` and pass it any options that fit your needs.\n * When your component renders, `useTaxesAndFeesQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useTaxesAndFeesQuery({\n * variables: {\n * organizationId: // value for 'organizationId'\n * passFeesToBuyer: // value for 'passFeesToBuyer'\n * amount: // value for 'amount'\n * currency: // value for 'currency'\n * },\n * });\n */\nexport function useTaxesAndFeesQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(TaxesAndFeesDocument, options);\n }\nexport function useTaxesAndFeesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(TaxesAndFeesDocument, options);\n }\nexport type TaxesAndFeesQueryHookResult = ReturnType;\nexport type TaxesAndFeesLazyQueryHookResult = ReturnType;\nexport type TaxesAndFeesQueryResult = Apollo.QueryResult;\nexport const TicketInventoryDocument = gql`\n query TicketInventory($countryCode: String!, $documentId: ID!, $ticketIds: [ID!]!) {\n TicketInventory(\n countryCode: $countryCode\n documentId: $documentId\n ticketIds: $ticketIds\n ) {\n ...TicketInventoryFragment\n }\n}\n ${TicketInventoryFragmentFragmentDoc}`;\n\n/**\n * __useTicketInventoryQuery__\n *\n * To run a query within a React component, call `useTicketInventoryQuery` and pass it any options that fit your needs.\n * When your component renders, `useTicketInventoryQuery` returns an object from Apollo Client that contains loading, error, and data properties\n * you can use to render your UI.\n *\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\n *\n * @example\n * const { data, loading, error } = useTicketInventoryQuery({\n * variables: {\n * countryCode: // value for 'countryCode'\n * documentId: // value for 'documentId'\n * ticketIds: // value for 'ticketIds'\n * },\n * });\n */\nexport function useTicketInventoryQuery(baseOptions: Apollo.QueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useQuery(TicketInventoryDocument, options);\n }\nexport function useTicketInventoryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) {\n const options = {...defaultOptions, ...baseOptions}\n return Apollo.useLazyQuery(TicketInventoryDocument, options);\n }\nexport type TicketInventoryQueryHookResult = ReturnType;\nexport type TicketInventoryLazyQueryHookResult = ReturnType;\nexport type TicketInventoryQueryResult = Apollo.QueryResult;\n\n export interface PossibleTypesResultData {\n possibleTypes: {\n [key: string]: string[]\n }\n }\n const result: PossibleTypesResultData = {\n \"possibleTypes\": {}\n};\n export default result;\n ","import { ApolloError } from \"@apollo/client\";\nimport { DocumentVersion, FormInfoQuery, useFormInfoQuery } from \"@src/types\";\nimport { useUrlParams } from \"./useUrlParams\";\n\nexport type FormInfo = {\n form: DocumentVersion;\n loading: boolean;\n error: ApolloError | undefined;\n};\n\nexport const useFormInfo = (): FormInfo => {\n const { countryCode, documentHashedId, hashedOrgId } = useUrlParams();\n\n const formInfoQuery = useFormInfoQuery({\n variables: { hashedId: documentHashedId || \"\", countryCode, hashedOrgId },\n fetchPolicy: \"cache-first\",\n skip: !documentHashedId || !countryCode,\n });\n\n const form = formInfoQuery?.data?.Form;\n\n return {\n form: form as NonNullable as DocumentVersion,\n loading: formInfoQuery.loading,\n error: formInfoQuery.error,\n };\n};\n","import { useMediaQuery } from \"react-responsive\";\n\nexport type Breakpoints = 'desktop' | \"smallScreen\";\n\nconst useBreakPoints = (): Breakpoints => {\n const isSmallScreen = useMediaQuery({ query: \"(max-width: 1224px)\" });\n\n return isSmallScreen ? \"smallScreen\" : \"desktop\";\n}\n\nexport {useBreakPoints}","import axios from \"axios\";\nimport DataLoader from \"dataloader\";\n\nimport { IsLoadingTranslation } from \"@src/localVariables\";\n\nconst GOOGLE_TRANSLATE_ENDPOINT = `https://translation.googleapis.com/language/translate/v2?key=${process.env.GOOGLE_API_KEY}`;\nconst GOOGLE_SEGMENT_LIMIT = 128;\n\nexport type TranslationLoaderParameters = {\n text: string;\n target: string;\n source: string;\n countryCode: string;\n};\n\nconst cacheKeyFn = (value: TranslationLoaderParameters) =>\n `${value.text}-${value.target}-${value.source}-${value.countryCode}}`;\n\nconst getPcTranslateEndpoint = (countryCode: string, langCode: string) =>\n `${process.env.DOCUMENTS_URL}respond/${countryCode}/${langCode}/translations`;\n\nconst translateMultipleTextsFromGoogle = async (\n texts: string[],\n target: string,\n source: string\n) => {\n const result = await axios.post(GOOGLE_TRANSLATE_ENDPOINT, {\n q: texts,\n target,\n source,\n });\n\n const translationDict = texts.reduce((acc, cur, index) => {\n acc[cur] = result.data.data.translations[index]?.translatedText ?? \"\";\n return acc;\n }, {} as Record);\n\n return translationDict;\n};\n\nconst translateFromPC = async (\n texts: string[],\n target: string,\n source: string,\n countryCode: string\n) => {\n const PC_TRANSLATE_ENDPOINT = getPcTranslateEndpoint(countryCode, target);\n\n try {\n const result = await axios.post(PC_TRANSLATE_ENDPOINT, {\n text: texts,\n target,\n source,\n });\n\n return result.data.Translations;\n } catch (e) {\n console.error(`PC Translation Error: ${e}`);\n const result = await translateMultipleTextsFromGoogle(texts, target, source);\n\n return result;\n }\n};\n\n// This DataLoader instance will return an object that contains a `load` method.\n// The `load` method will be called various times when the application renders.\n// The DataLoader then aggregates all calls and makes a single run of the function below.\nconst pcTranslationLoader = new DataLoader(\n async (values) => {\n IsLoadingTranslation(true);\n\n const target = values[0]?.target;\n const source = values[0]?.source;\n const countryCode = values[0]?.countryCode;\n\n const texts = values.map((value) => value.text);\n const textsSet = new Set(texts);\n const uniqueTexts = Array.from(textsSet);\n\n let finalResults: Record = {};\n\n for (let i = 0; i < uniqueTexts.length; i += GOOGLE_SEGMENT_LIMIT) {\n const chunk = texts.slice(i, i + GOOGLE_SEGMENT_LIMIT);\n const result = await translateFromPC(chunk, target, source, countryCode);\n\n finalResults = {\n ...finalResults,\n ...result,\n };\n }\n\n const result = values.map(({ text }) => finalResults[text] ?? \"\");\n\n IsLoadingTranslation(false);\n return result;\n },\n { cacheKeyFn }\n);\n\nconst translateFromGoogle = async (\n texts: string[],\n target: string,\n source: string\n): Promise => {\n const result = await axios.post(GOOGLE_TRANSLATE_ENDPOINT, {\n q: texts,\n target,\n source,\n });\n\n return result.data.data.translations.map(\n (translation: { translatedText?: string }) => translation.translatedText ?? \"\"\n );\n};\n\nconst googleTranslationLoader = new DataLoader(\n async (values) => {\n IsLoadingTranslation(true);\n\n const target = values[0]?.target;\n const source = values[0]?.source;\n\n const texts = values.map((value) => value.text);\n const results = [];\n\n // Iterate trough all texts and call the translation API\n // for 128 of them at a time.\n // This is a limitation of the Google Translation API.\n\n for (let i = 0; i < texts.length; i += GOOGLE_SEGMENT_LIMIT) {\n const chunk = texts.slice(i, i + GOOGLE_SEGMENT_LIMIT);\n const chunkResults = await translateFromGoogle(chunk, target, source);\n results.push(...chunkResults);\n }\n\n IsLoadingTranslation(false);\n return results;\n },\n { cacheKeyFn }\n);\n\nexport { pcTranslationLoader, googleTranslationLoader };\n","const decodeHtmlCharCodes = (str: string): string =>\n new DOMParser().parseFromString(str, \"text/html\").body.textContent || \"\";\n\n/**\n * Determines wheter or not a string has one or more valid HTML tags\n * @param label\n */\nconst isHTMLlabel = (label: string): boolean => {\n const regexForHTML = /<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)<\\/\\1>/;\n return regexForHTML.test(label);\n};\n\nconst decodeHTMLEntities = (rawStr: string) =>\n rawStr.replace(/&#(\\d+);/g, (_match, dec) => `${String.fromCharCode(dec)}`);\n\nexport { decodeHtmlCharCodes, isHTMLlabel, decodeHTMLEntities };\n","import { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useUrlParams } from \"@src/customHooks\";\n\nimport {\n TranslationLoaderParameters,\n pcTranslationLoader,\n googleTranslationLoader,\n} from \"./translationLoaders\";\nimport { decodeHTMLEntities } from \"./htmlCharcodes\";\n\ntype TranslationDictionary = Record>;\n\n/**\n * This hook returns a function that receives a string and calls the Google Translate\n * API to return a translated string. The returned function can be used on conditionals or rendering,\n * since it's not a hook itself.\n * @returns {function(text: string): string}\n */\nexport const useGoogleTranslate = () => {\n const { i18n } = useTranslation();\n const [translationDict, setTranslationDict] = useState({});\n const { form } = useFormInfo();\n const { countryCode } = useUrlParams();\n\n const { resolvedLanguage } = i18n;\n\n type TranslateParams = {\n text: string;\n languageISOCode: string;\n useLocalTranslations?: boolean;\n countryCode: string;\n preferredLanguage?: string;\n };\n\n async function translate({\n text,\n languageISOCode,\n countryCode,\n useLocalTranslations,\n preferredLanguage,\n }: TranslateParams) {\n if (!text || !languageISOCode || !process.env.GOOGLE_API_KEY) return text;\n\n const loaderParams: TranslationLoaderParameters = {\n text,\n target: languageISOCode,\n source: preferredLanguage || DefaultLanguage.code,\n countryCode,\n };\n\n return useLocalTranslations\n ? pcTranslationLoader.load(loaderParams)\n : googleTranslationLoader.load(loaderParams);\n }\n\n const addTranslation = (original: string, translated: string) =>\n setTranslationDict((dict) => ({\n ...dict,\n [resolvedLanguage]: {\n ...dict[resolvedLanguage],\n [original]: translated,\n },\n }));\n\n const executeTranslation = async (text: string, preferredLanguage?: string) => {\n const result = await translate({\n text,\n languageISOCode: i18n.resolvedLanguage,\n useLocalTranslations: form.useLocalTranslations,\n countryCode,\n preferredLanguage,\n });\n\n addTranslation(text, decodeHTMLEntities(result));\n };\n\n const translateFunction = (text: string, preferredLanguage?: string) => {\n const sourceLanguage = preferredLanguage || DefaultLanguage.code;\n const destinationLanguage = resolvedLanguage;\n\n if (sourceLanguage !== destinationLanguage) {\n const missingTranslation = typeof translationDict?.[resolvedLanguage]?.[text] === \"undefined\";\n\n if (!!text && missingTranslation) {\n //Adds a \"fake\" translation to the dictionary. This way the request won't fire again\n //for this text\n addTranslation(text, text);\n\n //Executes the actual translation\n executeTranslation(text, preferredLanguage);\n\n return \"\";\n }\n\n return translationDict?.[resolvedLanguage]?.[text] || \"\";\n } else {\n // Text is already in the default language.\n return text;\n }\n };\n\n return translateFunction;\n};\n\nexport const getLanguageDisplayName = (languageISOCode: string) => {\n const nameGenerator = new Intl.DisplayNames(languageISOCode, { type: \"language\" });\n return nameGenerator.of(languageISOCode) || \"\";\n};\n\nexport type Language = {\n code: string;\n display: string;\n};\n\nexport const DefaultLanguage: Language = { display: \"English\", code: \"en\" };\n\nexport const Languages: Language[] = [\n { display: \"Afrikaans\", code: \"af\" },\n { display: \"Albanian\", code: \"sq\" },\n { display: \"Amharic\", code: \"am\" },\n { display: \"Arabic\", code: \"ar\" },\n { display: \"Armenian\", code: \"hy\" },\n { display: \"Assamese\", code: \"as\" },\n { display: \"Aymara\", code: \"ay\" },\n { display: \"Azerbaijani\", code: \"az\" },\n { display: \"Bambara\", code: \"bm\" },\n { display: \"Basque\", code: \"eu\" },\n { display: \"Belarusian\", code: \"be\" },\n { display: \"Bengali\", code: \"bn\" },\n { display: \"Bhojpuri\", code: \"bho\" },\n { display: \"Bosnian\", code: \"bs\" },\n { display: \"Bulgarian\", code: \"bg\" },\n { display: \"Catalan\", code: \"ca\" },\n { display: \"Cebuano\", code: \"ceb\" },\n { display: \"Chinese (Simplified)\", code: \"zh-CN\" },\n { display: \"Chinese (Traditional)\", code: \"zh-TW\" },\n { display: \"Corsican\", code: \"co\" },\n { display: \"Croatian\", code: \"hr\" },\n { display: \"Czech\", code: \"cs\" },\n { display: \"Danish\", code: \"da\" },\n { display: \"Dhivehi\", code: \"dv\" },\n { display: \"Dogri\", code: \"doi\" },\n { display: \"Dutch\", code: \"nl\" },\n { display: \"English\", code: \"en\" },\n { display: \"Esperanto\", code: \"eo\" },\n { display: \"Estonian\", code: \"et\" },\n { display: \"Ewe\", code: \"ee\" },\n { display: \"Finnish\", code: \"fi\" },\n { display: \"French\", code: \"fr\" },\n { display: \"Frisian\", code: \"fy\" },\n { display: \"Galician\", code: \"gl\" },\n { display: \"Georgian\", code: \"ka\" },\n { display: \"German\", code: \"de\" },\n { display: \"Greek\", code: \"el\" },\n { display: \"Guarani\", code: \"gn\" },\n { display: \"Gujarati\", code: \"gu\" },\n { display: \"Haitian Creole\", code: \"ht\" },\n { display: \"Hausa\", code: \"ha\" },\n { display: \"Hawaiian\", code: \"haw\" },\n { display: \"Hebrew\", code: \"he\" },\n { display: \"Hindi\", code: \"hi\" },\n { display: \"Hmong\", code: \"hmn\" },\n { display: \"Hungarian\", code: \"hu\" },\n { display: \"Icelandic\", code: \"is\" },\n { display: \"Igbo\", code: \"ig\" },\n { display: \"Ilocano\", code: \"ilo\" },\n { display: \"Indonesian\", code: \"id\" },\n { display: \"Irish\", code: \"ga\" },\n { display: \"Italian\", code: \"it\" },\n { display: \"Japanese\", code: \"ja\" },\n { display: \"Javanese\", code: \"jv\" },\n { display: \"Kannada\", code: \"kn\" },\n { display: \"Kazakh\", code: \"kk\" },\n { display: \"Khmer\", code: \"km\" },\n { display: \"Kinyarwanda\", code: \"rw\" },\n { display: \"Konkani\", code: \"gom\" },\n { display: \"Korean\", code: \"ko\" },\n { display: \"Krio\", code: \"kri\" },\n { display: \"Kurdish\", code: \"ku\" },\n { display: \"Kurdish (Sorani)\", code: \"ckb\" },\n { display: \"Kyrgyz\", code: \"ky\" },\n { display: \"Lao\", code: \"lo\" },\n { display: \"Latin\", code: \"la\" },\n { display: \"Latvian\", code: \"lv\" },\n { display: \"Lingala\", code: \"ln\" },\n { display: \"Lithuanian\", code: \"lt\" },\n { display: \"Luganda\", code: \"lg\" },\n { display: \"Luxembourgish\", code: \"lb\" },\n { display: \"Macedonian\", code: \"mk\" },\n { display: \"Maithili\", code: \"mai\" },\n { display: \"Malagasy\", code: \"mg\" },\n { display: \"Malay\", code: \"ms\" },\n { display: \"Malayalam\", code: \"ml\" },\n { display: \"Maltese\", code: \"mt\" },\n { display: \"Maori\", code: \"mi\" },\n { display: \"Marathi\", code: \"mr\" },\n { display: \"Mizo\", code: \"lus\" },\n { display: \"Mongolian\", code: \"mn\" },\n { display: \"Myanmar (Burmese)\", code: \"my\" },\n { display: \"Nepali\", code: \"ne\" },\n { display: \"Norwegian\", code: \"no\" },\n { display: \"Nyanja (Chichewa)\", code: \"ny\" },\n { display: \"Odia (Oriya)\", code: \"or\" },\n { display: \"Oromo\", code: \"om\" },\n { display: \"Pashto\", code: \"ps\" },\n { display: \"Persian\", code: \"fa\" },\n { display: \"Polish\", code: \"pl\" },\n { display: \"Portuguese (Portugal, Brazil)\", code: \"pt\" },\n { display: \"Punjabi\", code: \"pa\" },\n { display: \"Quechua\", code: \"qu\" },\n { display: \"Romanian\", code: \"ro\" },\n { display: \"Russian\", code: \"ru\" },\n { display: \"Samoan\", code: \"sm\" },\n { display: \"Sanskrit\", code: \"sa\" },\n { display: \"Scots Gaelic\", code: \"gd\" },\n { display: \"Sepedi\", code: \"nso\" },\n { display: \"Serbian\", code: \"sr\" },\n { display: \"Sesotho\", code: \"st\" },\n { display: \"Shona\", code: \"sn\" },\n { display: \"Sindhi\", code: \"sd\" },\n { display: \"Sinhala (Sinhalese)\", code: \"si\" },\n { display: \"Slovak\", code: \"sk\" },\n { display: \"Slovenian\", code: \"sl\" },\n { display: \"Somali\", code: \"so\" },\n { display: \"Spanish, Castilian\", code: \"es\" },\n { display: \"Sundanese\", code: \"su\" },\n { display: \"Swahili\", code: \"sw\" },\n { display: \"Swedish\", code: \"sv\" },\n { display: \"Tagalog\", code: \"tl\" },\n { display: \"Tajik\", code: \"tg\" },\n { display: \"Tamil\", code: \"ta\" },\n { display: \"Tatar\", code: \"tt\" },\n { display: \"Telugu\", code: \"te\" },\n { display: \"Thai\", code: \"th\" },\n { display: \"Tigrinya\", code: \"ti\" },\n { display: \"Tsonga\", code: \"ts\" },\n { display: \"Turkish\", code: \"tr\" },\n { display: \"Turkmen\", code: \"tk\" },\n { display: \"Twi (Akan)\", code: \"ak\" },\n { display: \"Ukrainian\", code: \"uk\" },\n { display: \"Urdu\", code: \"ur\" },\n { display: \"Uyghur\", code: \"ug\" },\n { display: \"Uzbek\", code: \"uz\" },\n { display: \"Vietnamese\", code: \"vi\" },\n { display: \"Welsh\", code: \"cy\" },\n { display: \"Xhosa\", code: \"xh\" },\n { display: \"Yiddish\", code: \"yi\" },\n { display: \"Yoruba\", code: \"yo\" },\n { display: \"Zulu\", code: \"zu\" }\n]\n\n","// Various URLs that are commonly used throughout the app should go here.\n\nconst getManualAttachmentUploadUrl = (\n countryCode: string,\n documentId: string,\n responseVersionId: string\n): string => {\n return `${\n process.env.RESPONSES_URL\n }response/${countryCode.toLowerCase()}/${documentId}/${responseVersionId}/manual-attachment/upload`;\n};\n\nconst getViewFileUrl = (countryCode: string, documentId: string): string => {\n return `${process.env.RESPONSES_URL}response/${countryCode.toLowerCase()}/${documentId}/media`;\n};\n\nconst DefaultCountryCode = \"Int\";\n\nexport { getManualAttachmentUploadUrl, getViewFileUrl, DefaultCountryCode };\n","import { ApolloError, makeVar } from \"@apollo/client\";\nimport { AccessDataInput, ResponseSource } from \"@src/types\";\nimport { DefaultLanguage, Language } from \"@src/utils/translation\";\nimport { DefaultCountryCode } from \"@src/utils/urls\";\nimport { GraphQLError } from \"graphql\";\n\nexport type SigneeInfoValues = {\n firstName: string;\n lastName: string;\n email: string;\n notes?: string;\n attachmentId?: string;\n responseSource: ResponseSource;\n tagId: string | null;\n};\n\nexport type UrlParts = {\n baseUrl: string;\n responseHashedId?: string;\n documentHashedId?: string;\n countryCode: string;\n hashedOrgId?: string;\n visitedPages: NavSlug[];\n};\n\nexport type NavSlug = \"\" | \"signee-form\" | \"attendee-form/0\" | \"review\" | \"questions\";\n\nconst OrderId = makeVar(null);\nconst HasAccess = makeVar(false);\nconst AccessDataAnswers = makeVar([]);\n\nconst IsPreviewInventoryLoaded = makeVar(false);\nconst IsPayNow = makeVar(false);\nconst SelectedPaymentType = makeVar(null);\nconst UrlParams = makeVar({\n baseUrl: \"\",\n countryCode: DefaultCountryCode,\n visitedPages: [],\n});\nconst ResponseVersionHash = makeVar(\"\");\nconst SelectedLanguage = makeVar(DefaultLanguage);\nconst RequestError = makeVar(null);\nconst ResponseAlreadySubmitted = makeVar(false);\n\nconst IsLoadingTranslation = makeVar(false);\n\nconst GainsightInitialized = makeVar(false);\n\nexport {\n HasAccess,\n AccessDataAnswers,\n IsPreviewInventoryLoaded,\n UrlParams,\n IsPayNow,\n SelectedPaymentType,\n ResponseVersionHash,\n OrderId,\n SelectedLanguage,\n RequestError,\n ResponseAlreadySubmitted,\n IsLoadingTranslation,\n GainsightInitialized\n};\n","import omit from \"lodash/omit\";\n\nimport { Answer, AnswerInput, AttendeeInput, ResponseSource, ResponseVersion } from \"@src/types\";\n\nexport type FormAttendee = {\n responseAttendeeId: string;\n firstName: string | null;\n lastName: string | null;\n permitted?: \"yes\" | \"no\" | null;\n manualPermissionDate: string | null;\n attachmentId: string | null;\n attachmentFileType: string | null;\n notes: string | null;\n};\n\nconst formAttendeeToAttendeeInput = (attendee: FormAttendee): AttendeeInput =>\n omit(\n {\n ...attendee,\n firstName: attendee.firstName || \"\",\n lastName: attendee.lastName || \"\",\n permitted: attendee.permitted === \"yes\",\n manualPermissionDate: attendee.manualPermissionDate ?? null,\n attachmentId: attendee.attachmentId ?? null,\n notes: attendee.notes ?? null,\n },\n \"__typename\",\n \"attendeeAnswers\",\n \"attendeeId\",\n \"attachmentFileType\"\n );\n\nconst answerToAnswerInput = (answer: Answer | AnswerInput): AnswerInput =>\n omit(answer, \"__typename\");\n\nfunction objectToStringifiedArray(object: Record): string | null {\n const truthyKeys = Object.keys(object).filter((key) => object[key]);\n\n return truthyKeys.length > 0 ? JSON.stringify(truthyKeys) : null;\n}\n\nconst parseStringIntoArray = (stringifiedArray: string): string[] => {\n try {\n const parsedArray: string[] = JSON.parse(stringifiedArray);\n\n if (Array.isArray(parsedArray)) {\n return parsedArray;\n }\n\n throw \"parseStringIntoArray: Stringified object is not an array.\";\n } catch (e) {\n console.error(e);\n\n // give the value back as the expected type\n return [stringifiedArray];\n }\n};\n\nconst parseStringToNumber = (string: string | undefined): number | undefined => {\n if (!string) {\n return undefined;\n }\n\n const parsedNumber = Number(string);\n\n return isNaN(parsedNumber) ? undefined : parsedNumber;\n};\n\n/**\n * Check if a {@link ResponseVersion}'s {@link ResponseSource} is the same as the given {@link ResponseSource}.\n * @returns True if the sources match, false if not.\n */\nconst checkResponseVersionSource = (responseVersion: ResponseVersion | null, responseSource: ResponseSource): boolean =>\n responseVersion?.source != null && responseSource != null ? responseVersion.source === responseSource : false;\n\nexport {\n formAttendeeToAttendeeInput,\n objectToStringifiedArray,\n parseStringIntoArray,\n answerToAnswerInput,\n parseStringToNumber,\n checkResponseVersionSource,\n};\n","import { useReactiveVar } from \"@apollo/client\";\nimport { useParams } from \"react-router-dom\";\n\nimport { NavSlug, UrlParams } from \"@src/localVariables\";\nimport { parseStringToNumber } from \"@src/utils/typeConverters\";\nimport { useMemo } from \"react\";\nimport { DefaultCountryCode } from \"@src/utils/urls\";\n\ntype UrlParams = {\n baseUrl: string;\n responseHashedId?: string;\n documentHashedId?: string;\n countryCode: string;\n hashedOrgId?: string;\n visitedPages: NavSlug[];\n attendeeIndex?: number;\n markAsVisited: (navSlug: NavSlug) => void;\n};\n\nconst useUrlParams = (): UrlParams => {\n const { attendeeIndex } = useParams();\n\n const { baseUrl, documentHashedId, responseHashedId, countryCode, hashedOrgId, visitedPages } =\n useReactiveVar(UrlParams);\n\n const parsedAttendeeIndex = useMemo(() => parseStringToNumber(attendeeIndex), [attendeeIndex]);\n\n const shardCode = countryCode\n ? countryCode.toLocaleUpperCase()\n : DefaultCountryCode;\n\n const markAsVisited = (navSlug: NavSlug) => {\n const wasVisited = visitedPages.includes(navSlug);\n if (!wasVisited) {\n UrlParams({\n baseUrl,\n documentHashedId,\n responseHashedId,\n countryCode,\n hashedOrgId,\n visitedPages: [...visitedPages, navSlug],\n });\n }\n };\n\n return {\n baseUrl,\n documentHashedId,\n responseHashedId,\n countryCode: shardCode,\n hashedOrgId,\n visitedPages,\n attendeeIndex: parsedAttendeeIndex,\n markAsVisited,\n };\n};\n\nexport { useUrlParams };\n","import { ApolloError } from \"@apollo/client\";\nimport { useEligibleTagsQuery } from \"@src/types\";\nimport { EligibleTagsQuery, Tag } from \"@src/types\";\nimport { useUrlParams } from \"./useUrlParams\";\n\nexport type EligibleTagsInfo = {\n eligibleTags: Tag[];\n loading: boolean;\n error: ApolloError | undefined;\n };\n\n export const useCachedEligibleTags = (documentId: string, organizationId: string, email: string): EligibleTagsInfo => {\n\n const { countryCode } = useUrlParams();\n\n const query = useEligibleTagsQuery({\n variables: { documentId, organizationId, email, countryCode },\n fetchPolicy: \"cache-first\",\n skip: !documentId || !organizationId || !email || !countryCode\n });\n\n const tags = query?.data?.EligibleTags;\n\n return {\n eligibleTags: tags as NonNullable as Tag[],\n loading: query.loading,\n error: query.error,\n };\n };","import gql from \"graphql-tag\";\r\n\r\nconst FormAttachmentFragment = gql`\r\n fragment FormAttachmentFragment on Attachment {\r\n id\r\n friendlyName\r\n name\r\n isPdf\r\n contentUri\r\n thumbnailUri\r\n printUri\r\n downloadUri\r\n fileType\r\n readableFileSize\r\n mimeType\r\n isPdf\r\n isImage\r\n sizeInBytes\r\n isPrimary\r\n }\r\n`;\r\n\r\nconst LinkAttachmentFragment = gql`\r\n fragment LinkAttachmentFragment on LinkAttachment {\r\n id\r\n title\r\n description\r\n uri\r\n imageUri\r\n originalUri\r\n }\r\n`;\r\n\r\nconst FieldFragment = gql`\r\n fragment FieldFragment on Field {\r\n id\r\n type\r\n collapsable\r\n readonly\r\n }\r\n`;\r\n\r\nconst QuestionFragment = gql`\r\n fragment QuestionFragment on Question {\r\n id\r\n name\r\n isRequired\r\n labelText\r\n placeHolderText\r\n dataValue\r\n characterLimit\r\n format\r\n valueType\r\n valueOptions\r\n hidden\r\n sortValueOptions\r\n pinnedValueOptions\r\n minEntries\r\n maxEntries\r\n supportsApprovers\r\n plainLabel\r\n }\r\n`;\r\n\r\nconst AnswerFragment = gql`\r\n fragment AnswerFragment on Answer {\r\n answerId\r\n value\r\n fieldId\r\n fileType\r\n order\r\n questionId\r\n }\r\n`;\r\n\r\nconst TicketFragment = gql`\r\n fragment TicketFragment on Ticket {\r\n id\r\n name\r\n description\r\n startSellingDate\r\n endSellingDate\r\n imageId\r\n typeCode\r\n minimumQuantity\r\n maximumQuantity\r\n price\r\n passAlongFees\r\n ticketId\r\n documentVersionId\r\n formQuestionsId\r\n inventory {\r\n id\r\n isLimited\r\n remaining\r\n draftInitial\r\n draftRemaining\r\n }\r\n formQuestions {\r\n ...FieldFragment\r\n equationSections {\r\n ...QuestionFragment\r\n }\r\n question {\r\n ...QuestionFragment\r\n }\r\n fields {\r\n ...FieldFragment\r\n equationSections {\r\n ...QuestionFragment\r\n }\r\n question {\r\n ...QuestionFragment\r\n }\r\n fields {\r\n ...FieldFragment\r\n equationSections {\r\n ...QuestionFragment\r\n }\r\n question {\r\n ...QuestionFragment\r\n }\r\n fields {\r\n ...FieldFragment\r\n equationSections {\r\n ...QuestionFragment\r\n }\r\n question {\r\n ...QuestionFragment\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ${FieldFragment}\r\n ${QuestionFragment}\r\n`;\r\n\r\nconst TicketTypeFragment = gql`\r\n fragment TicketTypeFragment on TicketTypeInfo {\r\n name\r\n id\r\n defaultPrice\r\n code\r\n sortOrder\r\n }\r\n`;\r\n\r\nconst PurchasedTicketFragment = gql`\r\n fragment PurchasedTicketFragment on PurchasedTicket {\r\n type {\r\n ...TicketTypeFragment\r\n }\r\n name\r\n orderNumber\r\n description\r\n price\r\n totalPrice\r\n quantity\r\n createdDate\r\n sortOrder\r\n ticketId\r\n ticketVersionId\r\n purchasedTicketIds\r\n attendeeId\r\n answers {\r\n ...AnswerFragment\r\n }\r\n }\r\n ${TicketTypeFragment}\r\n ${AnswerFragment}\r\n`;\r\n\r\nconst AttendeeFragment = gql`\r\n fragment AttendeeFragment on Attendee {\r\n responseAttendeeId\r\n attendeeId\r\n firstName\r\n lastName\r\n permitted\r\n manualPermissionDate\r\n attachmentId\r\n attachmentFileType\r\n notes\r\n tickets {\r\n ...PurchasedTicketFragment\r\n }\r\n attendeeAnswers {\r\n ...AnswerFragment\r\n }\r\n integratedDataOnFile {\r\n ...AnswerFragment\r\n }\r\n }\r\n ${PurchasedTicketFragment}\r\n ${AnswerFragment}\r\n`;\r\n\r\nconst OrderFragment = gql`\r\n fragment OrderFragment on Order {\r\n orderId\r\n canRefund\r\n wasManuallyPaid\r\n orderNumber\r\n date\r\n subTotal\r\n grandTotal\r\n grandTotalOriginal\r\n hasBeenPaid\r\n isRefunded\r\n isCheckedOut\r\n baseFee\r\n baseFeeString\r\n totalFees\r\n totalFeesString\r\n paymentTypes\r\n refundedAmount\r\n amountOutstanding\r\n purchaserFirstName\r\n purchaserLastName\r\n purchasedTickets {\r\n ...PurchasedTicketFragment\r\n }\r\n }\r\n ${PurchasedTicketFragment}\r\n`;\r\n\r\nconst ResponseVersionFragment = gql`\r\n fragment ResponseVersionFragment on ResponseVersion {\r\n responseVersionId\r\n documentVersionId\r\n documentHashId\r\n hash\r\n completedByOrganizationName\r\n responseOrganizationId\r\n isRostered\r\n orderStatus\r\n isPaymentRequired\r\n status\r\n total\r\n subTotal\r\n signeeEmail\r\n signeeFirstName\r\n signeeLastName\r\n isSigned\r\n isCheckedOut\r\n createdDate\r\n attendees {\r\n ...AttendeeFragment\r\n }\r\n source\r\n sourceId\r\n isInternal\r\n isManual\r\n signedDate\r\n signeeNotes\r\n signeeAttachmentId\r\n signeeAttachmentFileType\r\n originalValueUri\r\n signeeAnswers {\r\n ...AnswerFragment\r\n }\r\n orders {\r\n ...OrderFragment\r\n }\r\n previousOrders {\r\n ...OrderFragment\r\n }\r\n hash\r\n tagId\r\n }\r\n ${AttendeeFragment}\r\n ${PurchasedTicketFragment}\r\n ${AnswerFragment}\r\n ${OrderFragment}\r\n`;\r\n\r\nconst IntegratedDataValueFragment = gql`\r\n fragment IntegratedDataValueFragment on IntegratedDataValue {\r\n value\r\n integratedDataFieldId\r\n profileId\r\n }\r\n`;\r\n\r\nconst OrganizationFragment = gql`\r\n fragment OrganizationFragment on Organization {\r\n id\r\n isEnabled\r\n name\r\n logo\r\n hasSafePay\r\n countryCode\r\n currencyCode\r\n disclaimer\r\n roleLabels {\r\n organization\r\n administrator\r\n organizer\r\n guardian\r\n attendee\r\n }\r\n accessFields {\r\n key\r\n field {\r\n ...FieldFragment\r\n question {\r\n ...QuestionFragment\r\n }\r\n }\r\n }\r\n }\r\n ${FieldFragment}\r\n`;\r\n\r\nconst DocumentFragment = gql`\r\n fragment DocumentFragment on Document {\r\n id\r\n disableResponseEditing\r\n disableAttendeeNameEditing\r\n showContactForm\r\n organization {\r\n ...OrganizationFragment\r\n parent {\r\n ...OrganizationFragment\r\n }\r\n }\r\n }\r\n ${OrganizationFragment}\r\n`;\r\n\r\nconst TaxFragment = gql`\r\n fragment TaxFragment on Tax {\r\n gst\r\n gstLabel\r\n pst\r\n pstLabel\r\n total\r\n }\r\n`;\r\n\r\nconst TaxAndFeeEstimateFragment = gql`\r\n fragment TaxAndFeeEstimateFragment on TaxAndFeeEstimate {\r\n amountToCharge\r\n applicationFee\r\n applicationFeeTax {\r\n ...TaxFragment\r\n }\r\n method\r\n provider\r\n providerFee\r\n applicationFeeNet\r\n totalFeesAndTaxes\r\n organizationNet\r\n }\r\n ${TaxFragment}\r\n`;\r\n\r\nconst TaxesAndFeesFragment = gql`\r\n fragment TaxesAndFeesFragment on TaxesAndFees {\r\n amount\r\n currency\r\n estimates {\r\n ...TaxAndFeeEstimateFragment\r\n }\r\n organizationName\r\n typicalMethodEstimate {\r\n ...TaxAndFeeEstimateFragment\r\n }\r\n }\r\n ${TaxAndFeeEstimateFragment}\r\n`;\r\n\r\nconst TicketInventoryFragment = gql`\r\n fragment TicketInventoryFragment on TicketInventory {\r\n initial\r\n isLimited\r\n purchased\r\n remaining\r\n ticketId\r\n }\r\n`;\r\n\r\nconst TagFragment = gql`\r\n fragment TagFragment on Tag {\r\n id\r\n displayName\r\n }\r\n`;\r\n\r\nexport {\r\n FormAttachmentFragment,\r\n LinkAttachmentFragment,\r\n FieldFragment,\r\n QuestionFragment,\r\n ResponseVersionFragment,\r\n AttendeeFragment,\r\n AnswerFragment,\r\n IntegratedDataValueFragment,\r\n OrganizationFragment,\r\n DocumentFragment,\r\n TicketFragment,\r\n TicketTypeFragment,\r\n PurchasedTicketFragment,\r\n OrderFragment,\r\n TaxesAndFeesFragment,\r\n TicketInventoryFragment,\r\n TagFragment,\r\n};\r\n","import gql from \"graphql-tag\";\n\nimport { ResponseVersionFragment } from \"./fragments\";\n\nconst RESPONSE_VERSION_QUERY = gql`\n query Response($hash: String!) {\n Response(hash: $hash) {\n ...ResponseVersionFragment\n }\n }\n ${ResponseVersionFragment}\n`;\n\nexport { RESPONSE_VERSION_QUERY };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\nimport {\n AddResponseVersionMutation,\n AddResponseVersionMutationVariables,\n ResponseQuery,\n ResponseVersion,\n} from \"@src/types\";\n\ntype AddResponseVersionMutationUpdater = () =>\n MutationUpdaterFunction<\n AddResponseVersionMutation,\n AddResponseVersionMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\nconst addResponseVersionMutationUpdater: AddResponseVersionMutationUpdater = () =>\n async (cache, { data: mutationResult }) => {\n const newResponse = mutationResult?.AddResponseVersion as ResponseVersion;\n updateResponseQuery(cache, newResponse);\n\n return newResponse;\n };\n\nconst updateResponseQuery = (\n cache: ApolloCache,\n responseVersion: ResponseVersion\n) =>\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseVersion.hash,\n },\n overwrite: true,\n },\n () => {\n return {\n __typename: \"DomainQueries\",\n Response: responseVersion,\n };\n }\n );\n\nexport {\n addResponseVersionMutationUpdater,\n updateResponseQuery,\n};\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport {\n CreateResponseMutation,\n CreateResponseMutationVariables,\n ResponseVersion,\n} from \"@src/types\";\nimport { updateResponseQuery } from \"./addResponseVersion\";\n\ntype CreateResponseMutationUpdaterType = () =>\n MutationUpdaterFunction<\n CreateResponseMutation,\n CreateResponseMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\nconst createResponseMutationUpdater: CreateResponseMutationUpdaterType =\n () =>\n async (cache, { data: mutationResult }) => {\n const response = mutationResult?.CreateResponse as ResponseVersion;\n updateResponseQuery(cache, response);\n };\n\nexport { createResponseMutationUpdater };\n","import { ApolloClient } from \"@apollo/client\";\nimport { SigneeInfoValues } from \"@src/localVariables\";\nimport { createResponseMutationUpdater } from \"@src/mutations/updaterFunctions/createResponse\";\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\nimport {\n Answer,\n AnswerInput,\n Attendee,\n AttendeeInput,\n CreateResponseMutation,\n DeleteAttendeeAnswerMutation,\n DeleteSigneeAnswerMutation,\n EditAttendeesMutation,\n PaidStatus,\n ResponseQuery,\n ResponseSource,\n ResponseStatus,\n SaveAttendeeAnswerMutation,\n SaveSigneeAnswerMutation,\n Ticket,\n TicketInventory,\n TicketInventoryQuery,\n} from \"@src/types\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport const PreviewHash = \"PREVIEW\";\n\nexport const getPreviewSignee = (\n signee: SigneeInfoValues | null | undefined\n): SigneeInfoValues => ({\n firstName: signee?.firstName || \"John\",\n lastName: signee?.lastName || \"Doe\",\n email: signee?.email || \"john.doe@me.com\",\n responseSource: signee?.responseSource || ResponseSource.Organic,\n tagId: null,\n});\n\nexport const getPreviewAttendees = (\n attendees: AttendeeInput[],\n currentAttendees: Attendee[] | undefined\n): EditAttendeesMutation[\"EditAttendees\"] =>\n attendees.map((attendee) => {\n const currentAttendee = currentAttendees?.find(\n (current) => current.responseAttendeeId === attendee.responseAttendeeId\n );\n return currentAttendee\n ? {\n ...currentAttendee,\n firstName: attendee.firstName,\n lastName: attendee.lastName,\n permitted: attendee.permitted,\n __typename: \"Attendee\",\n }\n : {\n ...attendee,\n responseAttendeeId: uuidv4(),\n attendeeId: uuidv4(),\n tickets: [],\n attendeeAnswers: [],\n attachmentFileType: null,\n integratedDataOnFile: [],\n __typename: \"Attendee\",\n };\n });\n\nexport const getPreviewResponseVersion = (\n signee: SigneeInfoValues,\n documentVersionId: string,\n isGeneralSignup: boolean\n): CreateResponseMutation[\"CreateResponse\"] => ({\n responseVersionId: uuidv4(),\n documentVersionId,\n documentHashId: \"\",\n tagId: null,\n hash: PreviewHash,\n responseOrganizationId: uuidv4(),\n isRostered: false,\n orderStatus: PaidStatus.NotApplicable,\n isPaymentRequired: false,\n status: ResponseStatus.Started,\n total: 0,\n subTotal: 0,\n signeeEmail: signee.email,\n signeeFirstName: signee.firstName,\n signeeLastName: signee.lastName,\n isSigned: false,\n isCheckedOut: false,\n createdDate: new Date().toString(),\n completedByOrganizationName: '',\n attendees: [\n {\n responseAttendeeId: uuidv4(),\n attendeeId: uuidv4(),\n firstName: isGeneralSignup ? signee.firstName : \"Johnny\",\n lastName: isGeneralSignup ? signee.lastName : \"Doe\",\n permitted: true,\n manualPermissionDate: null,\n tickets: [],\n attendeeAnswers: [],\n attachmentId: null,\n attachmentFileType: null,\n notes: null,\n integratedDataOnFile: null,\n __typename: \"Attendee\",\n },\n ],\n source: ResponseSource.Organic,\n sourceId: null,\n isInternal: null,\n isManual: false,\n signedDate: null,\n signeeNotes: null,\n signeeAttachmentId: null,\n signeeAttachmentFileType: null,\n originalValueUri: null,\n signeeAnswers: [],\n orders: [],\n previousOrders: [],\n __typename: \"ResponseVersion\",\n});\n\nexport const getPreviewInventories = (tickets: Ticket[]): TicketInventoryQuery[\"TicketInventory\"] =>\n tickets.map((ticket) => {\n const initial = ticket.inventory.draftInitial || 0;\n const remaining = ticket.inventory.draftRemaining || 0;\n return {\n id: uuidv4(),\n initial: initial,\n isLimited: ticket.inventory.isLimited,\n purchased: initial - remaining,\n remaining: remaining,\n ticketId: ticket.ticketId,\n __typename: \"TicketInventory\",\n } as TicketInventory;\n });\n\nexport const getSigneeAnswer = (\n answerInput: AnswerInput\n): SaveSigneeAnswerMutation[\"SaveSigneeAnswer\"] => mapAnswerInputsToAnswers([answerInput])[0];\n\nexport const getAttendeeAnswer = (\n answerInput: AnswerInput\n): SaveAttendeeAnswerMutation[\"SaveAttendeeAnswer\"] => mapAnswerInputsToAnswers([answerInput])[0];\n\nexport const mapAnswerInputsToAnswers = (answerInputs: AnswerInput[]): Answer[] => {\n return answerInputs.map((answerInput) => ({\n __typename: \"Answer\",\n fieldId: answerInput.fieldId,\n answerId: answerInput.answerId ?? uuidv4(),\n questionId: answerInput.questionId,\n fileType: answerInput.fileType || null,\n order: answerInput.order || null,\n value: answerInput.value,\n }));\n};\n\nexport const getDeleteSigneeAnswerResponseForPreview =\n (): DeleteSigneeAnswerMutation[\"DeleteSigneeAnswer\"] => true;\n\nexport const getDeleteAttendeeAnswerResponseForPreview =\n (): DeleteAttendeeAnswerMutation[\"DeleteAttendeeAnswer\"] => true;\n\n// Creates a \"preview\" response version in cache without saving to the backend\nexport const previewOnCreateResponse = (\n documentId: string,\n documentVersionId: string,\n isGeneralSignup: boolean,\n signee: SigneeInfoValues,\n countryCode: string,\n client: ApolloClient\n) => {\n // Fetch the current response data from cache (if any exists)\n const currentData = client.cache.readQuery({\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: PreviewHash,\n },\n });\n\n const previewResponseVersion = currentData?.Response\n ? // Continue with existing response data but with the new signee values\n ({\n ...currentData.Response,\n signeeFirstName: signee.firstName,\n signeeLastName: signee.lastName,\n signeeEmail: signee.email,\n } as CreateResponseMutation[\"CreateResponse\"])\n : // Generate new stubbed preview response version\n getPreviewResponseVersion(signee, documentVersionId, isGeneralSignup);\n\n const updater = createResponseMutationUpdater();\n if (updater) {\n updater(\n client.cache,\n { data: { CreateResponse: previewResponseVersion } },\n {\n variables: {\n documentId,\n countryCode: countryCode,\n signee,\n accessData: [],\n },\n }\n );\n }\n\n return previewResponseVersion;\n};\n","import { ApolloError } from \"@apollo/client\";\nimport { ResponseQuery, ResponseVersion, useResponseQuery } from \"@src/types\";\nimport { PreviewHash } from \"@src/utils/preview\";\n\nexport type ResponseVersionInfo = {\n responseVersion: NonNullable;\n loading: boolean;\n error: ApolloError | undefined;\n};\n\nexport const useCachedResponseVersion = (hash: string): ResponseVersionInfo => {\n\n const query = useResponseQuery({\n variables: { hash },\n fetchPolicy: hash === PreviewHash ? \"cache-only\" : \"cache-first\",\n skip: !hash\n });\n\n const responseVersion = query?.data?.Response;\n\n return {\n responseVersion: responseVersion as NonNullable as ResponseVersion,\n loading: query.loading,\n error: query.error,\n };\n};\n","const MIN_LENGTH = 2;\nconst MAX_LENGTH = 100;\n\nconst TRUTHY_STRING = \"true\";\nconst FALSY_STRING = \"false\";\n\nconst DEFAULT_PHONE_MASK = \"(###) ###-####\";\n\nexport { MIN_LENGTH, MAX_LENGTH, TRUTHY_STRING, FALSY_STRING, DEFAULT_PHONE_MASK };\n","import { initReactI18next } from \"react-i18next\";\nimport i18next from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\n\nimport { DefaultLanguage } from \"@src/utils/translation\";\n\n// Translation files\nimport common_af from \"./af/common.json\";\nimport common_ak from \"./ak/common.json\";\nimport common_am from \"./am/common.json\";\nimport common_ar from \"./ar/common.json\";\nimport common_as from \"./as/common.json\";\nimport common_ay from \"./ay/common.json\";\nimport common_az from \"./az/common.json\";\nimport common_be from \"./be/common.json\";\nimport common_bg from \"./bg/common.json\";\nimport common_bho from \"./bho/common.json\";\nimport common_bm from \"./bm/common.json\";\nimport common_bn from \"./bn/common.json\";\nimport common_bs from \"./bs/common.json\";\nimport common_ca from \"./ca/common.json\";\nimport common_ceb from \"./ceb/common.json\";\nimport common_ckb from \"./ckb/common.json\";\nimport common_co from \"./co/common.json\";\nimport common_cs from \"./cs/common.json\";\nimport common_cy from \"./cy/common.json\";\nimport common_da from \"./da/common.json\";\nimport common_de from \"./de/common.json\";\nimport common_doi from \"./doi/common.json\";\nimport common_dv from \"./dv/common.json\";\nimport common_ee from \"./ee/common.json\";\nimport common_el from \"./el/common.json\";\nimport common_en from \"./en/common.json\";\nimport common_eo from \"./eo/common.json\";\nimport common_es from \"./es/common.json\";\nimport common_et from \"./et/common.json\";\nimport common_eu from \"./eu/common.json\";\nimport common_fa from \"./fa/common.json\";\nimport common_fi from \"./fi/common.json\";\nimport common_fr from \"./fr/common.json\";\nimport common_fy from \"./fy/common.json\";\nimport common_ga from \"./ga/common.json\";\nimport common_gd from \"./gd/common.json\";\nimport common_gl from \"./gl/common.json\";\nimport common_gn from \"./gn/common.json\";\nimport common_gom from \"./gom/common.json\";\nimport common_gu from \"./gu/common.json\";\nimport common_ha from \"./ha/common.json\";\nimport common_haw from \"./haw/common.json\";\nimport common_he from \"./he/common.json\";\nimport common_hi from \"./hi/common.json\";\nimport common_hmn from \"./hmn/common.json\";\nimport common_hr from \"./hr/common.json\";\nimport common_ht from \"./ht/common.json\";\nimport common_hu from \"./hu/common.json\";\nimport common_hy from \"./hy/common.json\";\nimport common_id from \"./id/common.json\";\nimport common_ig from \"./ig/common.json\";\nimport common_ilo from \"./ilo/common.json\";\nimport common_is from \"./is/common.json\";\nimport common_it from \"./it/common.json\";\nimport common_ja from \"./ja/common.json\";\nimport common_jv from \"./jv/common.json\";\nimport common_ka from \"./ka/common.json\";\nimport common_kk from \"./kk/common.json\";\nimport common_km from \"./km/common.json\";\nimport common_kn from \"./kn/common.json\";\nimport common_ko from \"./ko/common.json\";\nimport common_kri from \"./kri/common.json\";\nimport common_ku from \"./ku/common.json\";\nimport common_ky from \"./ky/common.json\";\nimport common_la from \"./la/common.json\";\nimport common_lb from \"./lb/common.json\";\nimport common_lg from \"./lg/common.json\";\nimport common_ln from \"./ln/common.json\";\nimport common_lo from \"./lo/common.json\";\nimport common_lt from \"./lt/common.json\";\nimport common_lv from \"./lv/common.json\";\nimport common_lus from \"./lus/common.json\";\nimport common_mai from \"./mai/common.json\";\nimport common_mg from \"./mg/common.json\";\nimport common_mi from \"./mi/common.json\";\nimport common_mk from \"./mk/common.json\";\nimport common_ml from \"./ml/common.json\";\nimport common_mn from \"./mn/common.json\";\nimport common_mr from \"./mr/common.json\";\nimport common_ms from \"./ms/common.json\";\nimport common_mt from \"./mt/common.json\";\nimport common_my from \"./my/common.json\";\nimport common_ne from \"./ne/common.json\";\nimport common_nl from \"./nl/common.json\";\nimport common_no from \"./no/common.json\";\nimport common_nso from \"./nso/common.json\";\nimport common_ny from \"./ny/common.json\";\nimport common_or from \"./or/common.json\";\nimport common_om from \"./om/common.json\";\nimport common_pa from \"./pa/common.json\";\nimport common_pl from \"./pl/common.json\";\nimport common_ps from \"./ps/common.json\";\nimport common_pt from \"./pt/common.json\";\nimport common_qu from \"./qu/common.json\";\nimport common_ro from \"./ro/common.json\";\nimport common_ru from \"./ru/common.json\";\nimport common_rw from \"./rw/common.json\";\nimport common_sa from \"./sa/common.json\";\nimport common_sd from \"./sd/common.json\";\nimport common_si from \"./si/common.json\";\nimport common_sk from \"./sk/common.json\";\nimport common_sl from \"./sl/common.json\";\nimport common_sm from \"./sm/common.json\";\nimport common_sn from \"./sn/common.json\";\nimport common_so from \"./so/common.json\";\nimport common_sq from \"./sq/common.json\";\nimport common_sr from \"./sr/common.json\";\nimport common_st from \"./st/common.json\";\nimport common_su from \"./su/common.json\";\nimport common_sv from \"./sv/common.json\";\nimport common_sw from \"./sw/common.json\";\nimport common_ta from \"./ta/common.json\";\nimport common_te from \"./te/common.json\";\nimport common_tg from \"./tg/common.json\";\nimport common_th from \"./th/common.json\";\nimport common_ti from \"./ti/common.json\";\nimport common_tk from \"./tk/common.json\";\nimport common_tl from \"./tl/common.json\";\nimport common_tr from \"./tr/common.json\";\nimport common_ts from \"./ts/common.json\";\nimport common_tt from \"./tt/common.json\";\nimport common_ug from \"./ug/common.json\";\nimport common_uk from \"./uk/common.json\";\nimport common_ur from \"./ur/common.json\";\nimport common_uz from \"./uz/common.json\";\nimport common_vi from \"./vi/common.json\";\nimport common_xh from \"./xh/common.json\";\nimport common_yi from \"./yi/common.json\";\nimport common_yo from \"./yo/common.json\";\nimport common_zh_CN from \"./zh-CN/common.json\";\nimport common_zh_TW from \"./zh-TW/common.json\";\nimport common_zu from \"./zu/common.json\";\n\ni18next\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n debug: true,\n interpolation: { escapeValue: false },\n fallbackLng: DefaultLanguage.code,\n resources: {\n af: {\n translation: common_af,\n },\n ak: {\n translation: common_ak,\n },\n am: {\n translation: common_am,\n },\n ar: {\n translation: common_ar,\n },\n as: {\n translation: common_as,\n },\n ay: {\n translation: common_ay,\n },\n az: {\n translation: common_az,\n },\n be: {\n translation: common_be,\n },\n bg: {\n translation: common_bg,\n },\n bho: {\n translation: common_bho,\n },\n bm: {\n translation: common_bm,\n },\n bn: {\n translation: common_bn,\n },\n bs: {\n translation: common_bs,\n },\n ca: {\n translation: common_ca,\n },\n ceb: {\n translation: common_ceb,\n },\n ckb: {\n translation: common_ckb,\n },\n co: {\n translation: common_co,\n },\n cs: {\n translation: common_cs,\n },\n cy: {\n translation: common_cy,\n },\n da: {\n translation: common_da,\n },\n de: {\n translation: common_de,\n },\n doi: {\n translation: common_doi,\n },\n dv: {\n translation: common_dv,\n },\n ee: {\n translation: common_ee,\n },\n el: {\n translation: common_el,\n },\n en: {\n translation: common_en,\n },\n eo: {\n translation: common_eo,\n },\n es: {\n translation: common_es,\n },\n et: {\n translation: common_et,\n },\n eu: {\n translation: common_eu,\n },\n fa: {\n translation: common_fa,\n },\n fi: {\n translation: common_fi,\n },\n fr: {\n translation: common_fr,\n },\n fy: {\n translation: common_fy,\n },\n ga: {\n translation: common_ga,\n },\n gd: {\n translation: common_gd,\n },\n gl: {\n translation: common_gl,\n },\n gn: {\n translation: common_gn,\n },\n gom: {\n translation: common_gom,\n },\n gu: {\n translation: common_gu,\n },\n ha: {\n translation: common_ha,\n },\n haw: {\n translation: common_haw,\n },\n he: {\n translation: common_he,\n },\n hi: {\n translation: common_hi,\n },\n hmn: {\n translation: common_hmn,\n },\n hr: {\n translation: common_hr,\n },\n ht: {\n translation: common_ht,\n },\n hu: {\n translation: common_hu,\n },\n hy: {\n translation: common_hy,\n },\n id: {\n translation: common_id,\n },\n ig: {\n translation: common_ig,\n },\n ilo: {\n translation: common_ilo,\n },\n is: {\n translation: common_is,\n },\n it: {\n translation: common_it,\n },\n ja: {\n translation: common_ja,\n },\n jv: {\n translation: common_jv,\n },\n ka: {\n translation: common_ka,\n },\n kk: {\n translation: common_kk,\n },\n km: {\n translation: common_km,\n },\n kn: {\n translation: common_kn,\n },\n ko: {\n translation: common_ko,\n },\n kri: {\n translation: common_kri,\n },\n ku: {\n translation: common_ku,\n },\n ky: {\n translation: common_ky,\n },\n la: {\n translation: common_la,\n },\n lb: {\n translation: common_lb,\n },\n lg: {\n translation: common_lg,\n },\n ln: {\n translation: common_ln,\n },\n lo: {\n translation: common_lo,\n },\n lt: {\n translation: common_lt,\n },\n lv: {\n translation: common_lv,\n },\n lus: {\n translation: common_lus,\n },\n mai: {\n translation: common_mai,\n },\n mg: {\n translation: common_mg,\n },\n mi: {\n translation: common_mi,\n },\n mk: {\n translation: common_mk,\n },\n ml: {\n translation: common_ml,\n },\n mn: {\n translation: common_mn,\n },\n mr: {\n translation: common_mr,\n },\n ms: {\n translation: common_ms,\n },\n mt: {\n translation: common_mt,\n },\n my: {\n translation: common_my,\n },\n ne: {\n translation: common_ne,\n },\n nl: {\n translation: common_nl,\n },\n no: {\n translation: common_no,\n },\n nso: {\n translation: common_nso,\n },\n ny: {\n translation: common_ny,\n },\n or: {\n translation: common_or,\n },\n om: {\n translation: common_om,\n },\n pa: {\n translation: common_pa,\n },\n pl: {\n translation: common_pl,\n },\n ps: {\n translation: common_ps,\n },\n pt: {\n translation: common_pt,\n },\n qu: {\n translation: common_qu,\n },\n ro: {\n translation: common_ro,\n },\n ru: {\n translation: common_ru,\n },\n rw: {\n translation: common_rw,\n },\n sa: {\n translation: common_sa,\n },\n sd: {\n translation: common_sd,\n },\n si: {\n translation: common_si,\n },\n sk: {\n translation: common_sk,\n },\n sl: {\n translation: common_sl,\n },\n sm: {\n translation: common_sm,\n },\n sn: {\n translation: common_sn,\n },\n so: {\n translation: common_so,\n },\n sq: {\n translation: common_sq,\n },\n sr: {\n translation: common_sr,\n },\n st: {\n translation: common_st,\n },\n su: {\n translation: common_su,\n },\n sv: {\n translation: common_sv,\n },\n sw: {\n translation: common_sw,\n },\n ta: {\n translation: common_ta,\n },\n te: {\n translation: common_te,\n },\n tg: {\n translation: common_tg,\n },\n th: {\n translation: common_th,\n },\n tk: {\n translation: common_tk,\n },\n ti: {\n translation: common_ti,\n },\n tl: {\n translation: common_tl,\n },\n tr: {\n translation: common_tr,\n },\n ts: {\n translation: common_ts,\n },\n tt: {\n translation: common_tt,\n },\n ug: {\n translation: common_ug,\n },\n uk: {\n translation: common_uk,\n },\n ur: {\n translation: common_ur,\n },\n uz: {\n translation: common_uz,\n },\n vi: {\n translation: common_vi,\n },\n xh: {\n translation: common_xh,\n },\n yi: {\n translation: common_yi,\n },\n yo: {\n translation: common_yo,\n },\n \"zh-CN\": {\n translation: common_zh_CN,\n },\n \"zh-TW\": {\n translation: common_zh_TW,\n },\n zu: {\n translation: common_zu,\n },\n },\n }, (err, _) => {\n if (err) console.error('i18next initialization error:', err);\n else console.log('i18next initialized successfully');\n });\n\n\nexport { i18next };\n","import { i18next } from \"@src/translations\";\n\nimport { Answer, AnswerInput, Field, FieldType } from \"@src/types\";\nimport { InnerFields } from \"./formValuesTypes\";\nimport { getPlainLabel } from \"./getters\";\n\ntype RepeatableInnerFields = Record>;\n\n/**\n * Gets the answers from the InnerFields of a RepeatableValue.\n * @param value InnerFields\n * @returns An array of Answer.\n */\n\nconst getInnerFieldAnswersFromRepeatableValue = (values: InnerFields): AnswerInput[] => {\n const innerFieldValues = values as RepeatableInnerFields;\n\n const innerFieldAnswers = Object.values(innerFieldValues);\n\n return innerFieldAnswers.flatMap((value) =>\n value.questionId && value.fieldId ? (value as Answer) : (Object.values(value) as Answer[])\n );\n};\n\nexport type LabelValuePair = {\n label: string;\n value: string;\n fileType: string;\n};\n\ntype GetLabelValuePairArgs = {\n field: Field;\n answers: AnswerInput[];\n overrideFieldId?: string | null;\n};\n\nconst getLabelValuePair = ({\n field,\n answers,\n overrideFieldId,\n}: GetLabelValuePairArgs): LabelValuePair => {\n const fieldId = overrideFieldId || field.id;\n\n const answer = answers.find(\n (answer) => answer.fieldId === fieldId && answer.questionId === field.question?.id\n );\n\n let value = answer?.value || i18next.t(\"labels.noAnswer\") || \"\";\n\n if (\n (field.type === FieldType.Multiselect || field.type === FieldType.Selectmultiple) &&\n answer?.value\n ) {\n try {\n const selectedOptions = JSON.parse(answer.value);\n value =\n selectedOptions.length > 0\n ? selectedOptions.join(\", \")\n : i18next.t(\"labels.noAnswer\") || \"\";\n } catch {\n value = i18next.t(\"labels.noAnswer\") || \"\";\n }\n }\n\n if (field.type === FieldType.Date && field.question?.format && answer?.value) {\n }\n\n let label = getPlainLabel(field);\n\n if (!label || label === \"\") label = i18next.t(\"labels.noLabel\");\n\n return {\n label,\n value,\n fileType: answer?.fileType ?? \"\",\n };\n};\n\nexport { getInnerFieldAnswersFromRepeatableValue, getLabelValuePair };\n","import omit from \"lodash/omit\";\r\nimport { Answer, AnswerInput } from \"@src/types\";\r\nimport {\r\n ConditionalValue,\r\n EquationValue,\r\n InitialValuesObject,\r\n InnerFields,\r\n IntegratedDataFieldValue,\r\n RepeatableValue,\r\n} from \"./formValuesTypes\";\r\nimport { getInnerFieldAnswersFromRepeatableValue } from \"./repeatables\";\r\n\r\nconst getAnswersFromInnerFields = (value: InnerFields): AnswerInput[] =>\r\n Object.values(value) as AnswerInput[];\r\n\r\nconst getAnswersFromConditionalValue = (value: ConditionalValue): AnswerInput[] => {\r\n const innerFields = omit(value, [\"answer\"]);\r\n const answers = Object.values(innerFields).flatMap((possibleFieldValue) =>\r\n getAnswersFromPossibleFieldValue(possibleFieldValue)\r\n );\r\n\r\n return [value.answer, ...answers];\r\n};\r\n\r\nconst getAnswersFromRepeatableValue = (value: RepeatableValue): AnswerInput[] => {\r\n const innerFields = omit(value, [\"answers\", \"isDirty\"]);\r\n const innerFieldAnswers = getInnerFieldAnswersFromRepeatableValue(innerFields);\r\n\r\n return [...value.answers, ...innerFieldAnswers];\r\n};\r\n\r\nconst getAnswersFromEquationValue = (value: EquationValue): AnswerInput[] => value.allAnswers;\r\n\r\nconst getAnswersFromPossibleFieldValue = (possibleFieldValue: unknown): AnswerInput[] => {\r\n // Only Conditional and IntegratedData values have an \"answer\" property\r\n if ((possibleFieldValue as ConditionalValue | IntegratedDataFieldValue).answer) {\r\n return getAnswersFromConditionalValue(possibleFieldValue as ConditionalValue);\r\n }\r\n\r\n // Only Repeatable values have an \"answers\" property\r\n if ((possibleFieldValue as RepeatableValue).answers) {\r\n return getAnswersFromRepeatableValue(possibleFieldValue as RepeatableValue);\r\n }\r\n\r\n // Only Equation values have an \"allAnswers\" property\r\n if ((possibleFieldValue as EquationValue).allAnswers) {\r\n return getAnswersFromEquationValue(possibleFieldValue as EquationValue);\r\n }\r\n\r\n // If there's no \"questionId\" or \"fieldId\" property, it's an Address value\r\n if (\r\n typeof (possibleFieldValue as AnswerInput).questionId === \"undefined\" &&\r\n typeof (possibleFieldValue as AnswerInput).fieldId === \"undefined\"\r\n ) {\r\n return getAnswersFromInnerFields(possibleFieldValue as InnerFields);\r\n }\r\n\r\n // Otherwise, it's a simple AnswerInput\r\n return [possibleFieldValue] as AnswerInput[];\r\n};\r\n\r\n/**\r\n * Checks Formik state looking for answers that were not submitted.\r\n *\r\n * @param {InitialValuesObject} values\r\n * @param {string[]} omitFieldKeys\r\n * @returns {AnswerInput[]}\r\n */\r\nconst checkUnsubmittedAnswers = (values: InitialValuesObject, omitFieldKeys?: string[]) => {\r\n values = omit(values, omitFieldKeys || []);\r\n\r\n const answersArray = Object.values(values).flatMap((value) =>\r\n getAnswersFromPossibleFieldValue(value)\r\n );\r\n\r\n return answersArray\r\n .filter((answer) => !answer.answerId && !!answer.value)\r\n .map((x) => omit(x, \"answerId\"));\r\n};\r\n\r\ntype DeleteNestedAnswersArgs = {\r\n clearedFields: InitialValuesObject;\r\n value: ConditionalValue;\r\n deleteAnswer?: (answer: AnswerInput) => Promise;\r\n};\r\n\r\nconst deleteNestedAnswers = ({ clearedFields, value, deleteAnswer }: DeleteNestedAnswersArgs) => {\r\n // Delete any nested answers\r\n for (const key in clearedFields) {\r\n const nestedAnswer = value[key] as Answer | Record;\r\n const fieldId = nestedAnswer.fieldId;\r\n\r\n if (fieldId && nestedAnswer && nestedAnswer.value) {\r\n deleteAnswer && deleteAnswer(nestedAnswer as Answer);\r\n } else {\r\n for (const addressKey in nestedAnswer) {\r\n const addressAswer = nestedAnswer as Record;\r\n const innerAnswer = addressAswer[addressKey] as Answer;\r\n\r\n if (innerAnswer && innerAnswer.value) {\r\n deleteAnswer && deleteAnswer(innerAnswer);\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport {\r\n getAnswersFromPossibleFieldValue,\r\n checkUnsubmittedAnswers,\r\n deleteNestedAnswers,\r\n\r\n // Testing exports\r\n getAnswersFromInnerFields as _getAnswersFromInnerFields,\r\n getAnswersFromRepeatableValue as _getAnswersFromRepeatableValue,\r\n getAnswersFromConditionalValue as _getAnswersFromConditionalValue,\r\n getAnswersFromEquationValue as _getAnswersFromEquationValue,\r\n};\r\n","import { AnswerInput, Ticket } from \"@src/types\";\r\nimport { PossibleFieldValue } from \"./formValuesTypes\";\r\nimport { getAnswersFromPossibleFieldValue } from \"./answers\";\r\n\r\nconst getTicketAnswers = (possibleFieldValues: PossibleFieldValue[]): AnswerInput[] =>\r\n possibleFieldValues\r\n .flatMap((value) => getAnswersFromPossibleFieldValue(value))\r\n .filter((x) => x !== undefined);\r\n\r\nconst checkTicketSellingDates = (ticket: Ticket) => {\r\n let canBuyTicket = true;\r\n\r\n if (ticket.startSellingDate) {\r\n canBuyTicket = new Date(ticket.startSellingDate) <= new Date();\r\n }\r\n\r\n if (ticket.endSellingDate && canBuyTicket) {\r\n canBuyTicket = new Date(ticket.endSellingDate) >= new Date();\r\n }\r\n\r\n return canBuyTicket;\r\n};\r\n\r\nexport { getTicketAnswers, checkTicketSellingDates };\r\n","import { i18next } from \"@src/translations\";\nimport common_en from \"@src/translations/en/common.json\";\n\nimport {\n Answer,\n AnswerInput,\n Attendee,\n FeeMethod,\n Order,\n PurchasedTicket,\n ResponseVersion,\n Ticket,\n} from \"@src/types\";\nimport AmexIcon from \"../assets/payment/americanexp.png\";\nimport ApIcon from \"../assets/payment/ap.png\";\nimport CashCheckIcon from \"../assets/payment/cashcheck.png\";\nimport GpIcon from \"../assets/payment/gp.png\";\nimport McIcon from \"../assets/payment/mastercard.png\";\nimport MpIcon from \"../assets/payment/mp.png\";\nimport VisaIcon from \"../assets/payment/visa.png\";\nimport { Token } from \"@stripe/stripe-js\";\nimport { OrderInfo } from \"./getters\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { checkTicketSellingDates } from \"./tickets\";\nimport { Normalize } from \"react-i18next\";\n\nexport type Image = {\n src: string;\n alt: string;\n};\n\nexport enum TicketMode {\n SHOPPING,\n PREVIEW,\n CART_PREVIEW,\n CHECKOUT,\n}\n\nexport enum PaymentMethodType {\n CREDITCARD,\n WALLET,\n MANUAL,\n}\n\nexport enum FeeMethodType {\n Unknown = 0,\n DomesticCreditCard = 1,\n InternationalCreditCard = 2,\n DomesticDebitCard = 3,\n InternationalDebitCard = 4,\n BankTransfer = 5,\n DomesticPrepaidCard = 6,\n InternationalPrepaidCard = 7,\n}\n\nexport type PaymentMethod = {\n label: string;\n type: PaymentMethodType;\n icons: Image[];\n isOnline: boolean;\n isSafePay: boolean;\n};\n\nconst t = (translationkey: Normalize, options?: Record) =>\n i18next.t(translationkey, options);\n\nexport const getPurchasedTicketKey = (purchasedTicket: PurchasedTicket): string =>\n `${purchasedTicket.ticketId || \"\"}_${JSON.stringify(purchasedTicket.answers) || \"\"}_${\n purchasedTicket.price || \"\"\n }`;\n\nexport const currencyFormatter: (\n locale: string,\n currencyCode?: string | null\n) => Intl.NumberFormat = (locale, currencyCode) =>\n new Intl.NumberFormat(locale, {\n style: \"currency\",\n currency: currencyCode || \"CAD\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n\nexport const currencyParseLocaleNumber = (stringNumber: string): number => {\n const dollarSign = \"$\";\n const thousandSeparator = Intl.NumberFormat(\"en-US\")\n .format(11111)\n .replace(/\\p{Number}/gu, \"\");\n const decimalSeparator = Intl.NumberFormat(\"en-US\")\n .format(1.1)\n .replace(/\\p{Number}/gu, \"\");\n\n return parseFloat(\n stringNumber\n .replace(new RegExp(\"\\\\\" + dollarSign, \"g\"), \"\")\n .replace(new RegExp(\"\\\\\" + thousandSeparator, \"g\"), \"\")\n .replace(new RegExp(\"\\\\\" + decimalSeparator), \".\")\n );\n};\n\nexport const getPaymentMethods = (manualPaymentText: string): PaymentMethod[] => {\n return [\n {\n label: t(\"pages.tickets.creditCard\"),\n type: PaymentMethodType.CREDITCARD,\n isOnline: true,\n isSafePay: false,\n icons: [\n { src: McIcon, alt: t(\"pages.tickets.masterCardMasterCardDebit\") },\n { src: VisaIcon, alt: t(\"pages.tickets.visaVisaDebit\") },\n { src: AmexIcon, alt: \"American Express\" },\n ],\n },\n {\n label: t(\"pages.tickets.walletPay\"),\n type: PaymentMethodType.WALLET,\n isOnline: true,\n isSafePay: true,\n icons: [\n { src: ApIcon, alt: \"Apple Pay\" },\n { src: GpIcon, alt: \"Google Pay\" },\n { src: MpIcon, alt: \"Microsoft Pay\" },\n ],\n },\n {\n label: manualPaymentText ?? t(\"pages.tickets.cashCheque\"),\n type: PaymentMethodType.MANUAL,\n isOnline: false,\n isSafePay: false,\n icons: [{ src: CashCheckIcon, alt: t(\"pages.tickets.manualPayment\") }],\n },\n ];\n};\n\nexport const hasPassAlongFees = (tickets: Ticket[]): boolean =>\n tickets?.some((ticket) => ticket.passAlongFees) ?? false;\n\nexport const getStripeTokenFeeMethod = (token: Token, country: string): FeeMethod | null => {\n if (token == null || token.type !== \"card\" || !token.card) {\n return null;\n }\n\n const credit = token.card?.funding === \"credit\";\n const debit = token.card?.funding === \"debit\";\n\n if (country.toUpperCase() === token.card?.country?.toUpperCase()) {\n return credit ? FeeMethod.DomesticCreditCard : debit ? FeeMethod.DomesticDebitCard : null;\n }\n\n return credit\n ? FeeMethod.InternationalCreditCard\n : debit\n ? FeeMethod.InternationalDebitCard\n : null;\n};\n\nexport const getHashCode = (text: string): number => {\n return text.split(\"\").reduce(function (a, b) {\n a = (a << 5) - a + b.charCodeAt(0);\n return a & a;\n }, 0);\n};\n\nexport const getAnswerHash = (answers: Answer[]): number =>\n getHashCode(\n answers\n .map((x) => x.value)\n .sort((a, b) => (a || \"\").localeCompare(b || \"\"))\n .join(\"\")\n );\n\nexport type GetQuantityInCartArgs = {\n cart?: Attendee[];\n attendeeId: string | null;\n ticketVersionId: string;\n};\n\nexport const getQuantityInCart = ({\n cart,\n attendeeId,\n ticketVersionId,\n}: GetQuantityInCartArgs): number => {\n if (!cart) return 0;\n\n return cart\n .filter((cartAttendee) => !attendeeId || cartAttendee.attendeeId === attendeeId)\n .map((cartAttendee) => cartAttendee.tickets)\n .reduce((a, b) => a.concat(b), [])\n .filter((purchasedTicket) => purchasedTicket.ticketVersionId === ticketVersionId)\n .map((purchasedTicket) => purchasedTicket.quantity)\n .reduce((a, b) => a + b, 0);\n};\n\nexport type ReserveTicketArgs = {\n orderId: string | null;\n ticketVersionId: string;\n responseAttendeeId: string;\n answers: AnswerInput[];\n openValueAmount?: number;\n quantity: number;\n};\n\nexport type CancelTicketArgs = {\n ticketVersionId: string;\n responseAttendeeId: string;\n purchasedTicketIds: string[];\n};\n\nexport const getUnpaidOrderInfo = (\n selectedResponseVersion: ResponseVersion,\n attendees: Attendee[]\n): OrderInfo | null => {\n if (selectedResponseVersion) {\n const unpaidOrder = selectedResponseVersion.isCheckedOut\n ? selectedResponseVersion.orders.find(\n (order) => order.isCheckedOut && (order.amountOutstanding || 0) > 0\n )\n : null;\n\n if (unpaidOrder) {\n const responseAttendees = cloneDeep(selectedResponseVersion.attendees);\n\n responseAttendees.map((attendee) => {\n attendee.tickets = unpaidOrder.purchasedTickets.filter(\n (pt) => pt.attendeeId === attendee.attendeeId\n );\n });\n\n return {\n total: unpaidOrder.grandTotal || 0,\n subtotal: unpaidOrder.subTotal || 0,\n cart: responseAttendees,\n latestOrder: unpaidOrder as Order,\n previousOrders: [],\n attendees: attendees,\n };\n }\n }\n\n return null;\n};\n\n// ticket minimums include amounts ordered on any order for this signee on this form\nexport const ticketMinimumsAreMet = (tickets: Ticket[], orders: Order[]): boolean => {\n let result = true;\n\n if (tickets && tickets.length > 0) {\n for (const ticket of tickets.filter((x) => x.minimumQuantity && x.minimumQuantity > 0)) {\n // Are the tickets buyable?\n if (\n !checkTicketSellingDates(ticket) ||\n (ticket.inventory.isLimited && ticket.inventory.remaining == 0)\n ) {\n continue;\n }\n\n const purchasedTickets = orders\n .flatMap((x) => x.purchasedTickets)\n .filter((x) => x.ticketId === ticket.ticketId);\n\n const quantityOrdered = purchasedTickets.reduce((acc, curr) => (acc += curr.quantity), 0);\n\n if (quantityOrdered < ticket.minimumQuantity!) {\n result = false;\n break;\n }\n }\n }\n\n return result;\n};\n\n// ticket maximums include amounts ordered on any order for this signee on this form\nexport const ticketMaximumsAreNotExceeded = (tickets: Ticket[], orders: Order[]): boolean => {\n let result = true;\n\n if (tickets && tickets.length > 0) {\n for (const ticket of tickets.filter((x) => x.maximumQuantity && x.maximumQuantity > 0)) {\n // Are the tickets buyable?\n if (\n !checkTicketSellingDates(ticket) ||\n (ticket.inventory.isLimited && ticket.inventory.remaining == 0)\n ) {\n continue;\n }\n\n const purchasedTickets = orders\n .flatMap((x) => x.purchasedTickets)\n .filter((x) => x.ticketId === ticket.ticketId);\n\n const quantityOrdered = purchasedTickets.reduce((acc, curr) => (acc += curr.quantity), 0);\n\n if (quantityOrdered > ticket.maximumQuantity!) {\n result = false;\n break;\n }\n }\n }\n\n return result;\n};\n","import omit from \"lodash/omit\";\r\nimport snakeCase from \"lodash/snakeCase\";\r\n\r\nimport { ModifiableSection } from \"@src/constants/editingPermission\";\r\nimport { DEFAULT_PHONE_MASK } from \"@src/constants/validation\";\r\nimport {\r\n Answer,\r\n AnswerInput,\r\n Attachment,\r\n Attendee,\r\n Field,\r\n FieldType,\r\n FormInfoQuery,\r\n LinkAttachment,\r\n Order,\r\n Question,\r\n ResponseVersion,\r\n Ticket,\r\n} from \"@src/types\";\r\nimport { decodeHtmlCharCodes } from \"./htmlCharcodes\";\r\nimport { answerToAnswerInput, FormAttendee } from \"./typeConverters\";\r\nimport { getUnpaidOrderInfo } from \"./purchasedTickets\";\r\n\r\ntype GetBoolean = (form: FormInfoQuery[\"Form\"] | null | undefined) => boolean;\r\n\r\ntype GetFields = (form: FormInfoQuery[\"Form\"]) => Field[];\r\n\r\ntype GetAnswers = (form: FormInfoQuery[\"Form\"]) => Answer[];\r\n\r\ntype GetTickets = (form: FormInfoQuery[\"Form\"]) => Ticket[];\r\n\r\ntype GetAttachments = (form: FormInfoQuery[\"Form\"]) => Attachment[];\r\n\r\ntype GetLinkAttachments = (form: FormInfoQuery[\"Form\"]) => LinkAttachment[];\r\n\r\nconst getSigneeFields: GetFields = (form) =>\r\n form\r\n ? form.template &&\r\n form.template.signeeQuestions &&\r\n form.template.signeeFormPermissions !== ModifiableSection\r\n ? [...form.template.signeeQuestions, ...(form.signeeQuestions || [])]\r\n : form.signeeQuestions || []\r\n : [];\r\n\r\nconst getAttendeeFields: GetFields = (form) =>\r\n form\r\n ? form.template &&\r\n form.template.attendeeQuestions &&\r\n form.template.attendeeFormPermissions !== ModifiableSection\r\n ? [...form.template.attendeeQuestions, ...(form.attendeeQuestions || [])]\r\n : form.attendeeQuestions || []\r\n : [];\r\n\r\nconst getTickets: GetTickets = (form) =>\r\n form\r\n ? form.template &&\r\n form.template.ticketPermissions !== ModifiableSection &&\r\n form.template.tickets\r\n ? form.template.tickets.concat(form.tickets ?? [])\r\n : form.tickets ?? []\r\n : [];\r\n\r\nconst getAttachments: GetAttachments = (form) =>\r\n form\r\n ? form.template &&\r\n form.template.attachments &&\r\n form.template.attachmentsPermissions !== ModifiableSection\r\n ? [...form.template.attachments, ...(form.attachments || [])]\r\n : form.attachments || []\r\n : [];\r\n\r\nconst getLinkAttachments: GetLinkAttachments = (form) =>\r\n form\r\n ? form.template &&\r\n form.template.linkAttachments &&\r\n form.template.attachmentsPermissions !== ModifiableSection\r\n ? [...form.template.linkAttachments, ...(form.linkAttachments || [])]\r\n : form.linkAttachments || []\r\n : [];\r\n\r\nconst getPublicOrganizerFields: GetFields = (form) =>\r\n form?.template?.publicQuestions ?? form?.publicQuestions ?? [];\r\n\r\nconst getPublicOrganizerAnswers: GetAnswers = (form) => form?.publicOrganizerAnswers ?? [];\r\n\r\nconst hasSafePay: GetBoolean = (form) => form?.document?.organization?.hasSafePay ?? false;\r\n\r\n/**\r\n * Returns the label with HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getLabel = (field: Field): string => {\r\n switch (field.type) {\r\n case FieldType.Equations:\r\n return getEquationFielLabel(field);\r\n case FieldType.IntegratedData:\r\n return getIntegratedDataFieldLabel(field);\r\n default:\r\n return getSimpleFieldLabel(field);\r\n }\r\n};\r\n\r\n/**\r\n * Returns the equation label with HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getEquationFielLabel = (field: Field): string =>\r\n field.equationSections && field.equationSections.length\r\n ? field.equationSections[0].labelText || \"\"\r\n : \"\";\r\n\r\n/**\r\n * Returns the Integrated Date label with HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getIntegratedDataFieldLabel = (field: Field): string =>\r\n getSimpleFieldPlainLabel(field.fields ? field.fields[0] : field);\r\n\r\n/**\r\n * Returns the field's label with HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getSimpleFieldLabel = (field: Field): string =>\r\n field.question && field.question.labelText\r\n ? field.question.labelText\r\n : field.question?.plainLabel || \"\";\r\n\r\n/**\r\n * Returns the label without HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getPlainLabel = (field: Field): string => {\r\n switch (field.type) {\r\n case FieldType.Equations:\r\n return getEquationFieldName(field);\r\n case FieldType.IntegratedData:\r\n return getIntegratedDataFieldName(field);\r\n default:\r\n return getSimpleFieldPlainLabel(field);\r\n }\r\n};\r\n\r\n/**\r\n * Returns the Integrated Date label without HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getIntegratedDataFieldName = (field: Field): string =>\r\n getSimpleFieldPlainLabel(field.fields ? field.fields[0] : field);\r\n\r\n/**\r\n * Returns the field's label without HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getSimpleFieldPlainLabel = (field: Field): string =>\r\n field.question && field.question.plainLabel\r\n ? decodeHtmlCharCodes(field.question.plainLabel)\r\n : field.question?.labelText\r\n ? decodeHtmlCharCodes(field.question.labelText)\r\n : \"\";\r\n\r\n/**\r\n * Returns the equation label without HTML tags and formatting\r\n * @param field\r\n * @returns\r\n */\r\nconst getEquationFieldName = (field: Field): string =>\r\n field.equationSections && field.equationSections.length\r\n ? decodeHtmlCharCodes(field.equationSections[0].plainLabel || \"\")\r\n : \"\";\r\n\r\nconst getValueOptions = (field: Field): string[] =>\r\n field.question && field.question.valueOptions\r\n ? field.question.valueOptions.map(decodeHtmlCharCodes)\r\n : [];\r\n\r\nconst getPinnedValueOptions = (field: Field): string[] =>\r\n field.question && field.question.pinnedValueOptions\r\n ? field.question.pinnedValueOptions.map(decodeHtmlCharCodes)\r\n : [];\r\n\r\nconst getDateFormat = (field: Field): string =>\r\n field.question && field.question.format ? field.question.format : \"\";\r\n\r\nconst getPhoneFormat = (field: Field): string =>\r\n field.question && field.question.format\r\n ? field.question.format.replaceAll(/([0-9,a-z,A-Z])/g, \"#\")\r\n : DEFAULT_PHONE_MASK;\r\n\r\nconst getYesOrNoFields = (fields: Field[]): (Field[] | undefined)[] => {\r\n const [yesFieldContainer, noFieldContainer] = fields && fields.length === 2 ? fields : [];\r\n\r\n const yesFields =\r\n yesFieldContainer && yesFieldContainer.fields && yesFieldContainer.fields.length\r\n ? yesFieldContainer.fields\r\n : undefined;\r\n\r\n const noFields =\r\n noFieldContainer && noFieldContainer.fields && noFieldContainer.fields.length\r\n ? noFieldContainer.fields\r\n : undefined;\r\n\r\n return [yesFields, noFields];\r\n};\r\n\r\nconst getFieldId = (field: Field, prefix?: string | null): string => {\r\n return prefix ? `${prefix}_${field.id}` : field.id;\r\n};\r\n\r\n/**\r\n * Generates a key to access the values in Formik's state.\r\n *\r\n * @param {Field} field Field object\r\n * @param {string} containerQuestionId ID of the container questions, e.g. an Address or Repeatable Field\r\n * @returns {string} A string with the ID of the container question and the prefixed ID of the provided field's question.\r\n */\r\n\r\nconst getFieldKey = (field: Field, containerQuestionId?: string): string => {\r\n const questionId = getFieldId(field, field.type);\r\n\r\n return containerQuestionId ? `${containerQuestionId}.${questionId}` : questionId;\r\n};\r\n\r\nconst getEquationSectionId = (question: Question): string => {\r\n const questionName = question.id || \"\";\r\n\r\n return questionName;\r\n};\r\n\r\nconst getCharacterLimit = (field: Field): number =>\r\n field.question && field.question.characterLimit ? field.question.characterLimit : -1;\r\n\r\nconst getPlaceholderText = (field: Field): string =>\r\n field.question && field.question.placeHolderText\r\n ? decodeHtmlCharCodes(field.question.placeHolderText || \"\")\r\n : \"\";\r\n\r\nconst getHeaderText = (field: Field): string => {\r\n const header = field.fields && field.fields.length ? field.fields[0] : undefined;\r\n\r\n return header ? getPlaceholderText(header) : \"\";\r\n};\r\n\r\nconst getSubheaderText = (field: Field): string => {\r\n const subHeader = field.fields && field.fields.length === 2 ? field.fields[1] : undefined;\r\n\r\n return subHeader ? getPlaceholderText(subHeader) : \"\";\r\n};\r\n\r\nconst getQuestionSnakeCaseName = (question: Question): string =>\r\n question.name ? snakeCase(question.name) : \"\";\r\n\r\nconst getQuestionDataValue = (question: Question): string => question.dataValue || \"\";\r\n\r\nconst getFormAttendees = (\r\n selectedResponseVersion: ResponseVersion | null | undefined\r\n): FormAttendee[] => {\r\n const YES = \"yes\" as const;\r\n const NO = \"no\" as const;\r\n\r\n if (selectedResponseVersion) {\r\n const formAttendees = selectedResponseVersion?.attendees\r\n ? selectedResponseVersion.attendees.map((attendee) =>\r\n omit(\r\n {\r\n ...attendee,\r\n firstName: attendee.firstName || \"\",\r\n lastName: attendee.lastName || \"\",\r\n permitted:\r\n attendee.permitted === true ? YES : attendee.permitted === false ? NO : null,\r\n manualPermissionDate: attendee.manualPermissionDate ?? null,\r\n attachmentId: attendee.attachmentId ?? null,\r\n attachmentFileType: attendee.attachmentFileType ?? null,\r\n notes: attendee.notes ?? null,\r\n },\r\n [\"__typename\", \"attendeeAnswers\", \"tickets\", \"integratedDataOnFile\"]\r\n )\r\n )\r\n : [];\r\n\r\n return formAttendees;\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nexport type OrderInfo = {\r\n total: number;\r\n subtotal: number;\r\n cart: Attendee[];\r\n latestOrder?: Order;\r\n previousOrders: Order[];\r\n attendees?: Attendee[];\r\n};\r\n\r\nconst getOrderInfo = (\r\n selectedResponseVersion: ResponseVersion | null | undefined,\r\n isPayNow: boolean\r\n): OrderInfo | null => {\r\n if (selectedResponseVersion) {\r\n const order = !selectedResponseVersion.isCheckedOut\r\n ? selectedResponseVersion.orders.find((order) => !order.isCheckedOut)\r\n : null;\r\n\r\n return !order && isPayNow\r\n ? getUnpaidOrderInfo(selectedResponseVersion, [])\r\n : {\r\n total: selectedResponseVersion.total,\r\n subtotal: selectedResponseVersion.subTotal,\r\n cart: selectedResponseVersion.attendees ?? [],\r\n latestOrder: order as Order,\r\n previousOrders: selectedResponseVersion.previousOrders ?? [],\r\n };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getAttendeesList = (\r\n selectedResponseVersion: ResponseVersion | undefined | null\r\n): Attendee[] => {\r\n if (selectedResponseVersion) {\r\n return selectedResponseVersion.attendees || [];\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nconst getSigneeAnswers = (\r\n selectedResponseVersion: ResponseVersion | undefined | null\r\n): AnswerInput[] => {\r\n if (selectedResponseVersion) {\r\n const signeeAnswers = selectedResponseVersion.signeeAnswers || [];\r\n\r\n return signeeAnswers.map(answerToAnswerInput);\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nexport type AttendeeAnswersDictionary = Record;\r\n\r\nconst getAttendeeAnswers = (\r\n selectedResponseVersion: ResponseVersion | undefined | null\r\n): AttendeeAnswersDictionary => {\r\n if (selectedResponseVersion) {\r\n const attendeeAnswers: Record =\r\n selectedResponseVersion.attendees.reduce((acc, attendee) => {\r\n acc[attendee.responseAttendeeId] = attendee.attendeeAnswers.map(answerToAnswerInput);\r\n return acc;\r\n }, {} as AttendeeAnswersDictionary) || {};\r\n\r\n return attendeeAnswers;\r\n } else {\r\n return {};\r\n }\r\n};\r\n\r\n/**\r\n * Given an array of objects that have the \"order\" property, this function iterates\r\n * through them and returns the greatest order among them plus one.\r\n *\r\n * @param rows An array of objects that contain an \"order\" property.\r\n * @returns {Number} A number that represents the index of the next row.\r\n */\r\n\r\nconst getNextRowOrder = (rows: { order?: number | null }[]): number =>\r\n rows.length ? Math.max(...rows.map((row) => row.order || 0)) + 1 : 0;\r\n\r\ntype FindAnswerForQuestionsArgs = {\r\n answers: Answer[];\r\n questionId: string;\r\n fieldId: string;\r\n order?: number | null;\r\n};\r\n\r\nconst findAnswerForQuestion = ({\r\n answers,\r\n questionId,\r\n fieldId,\r\n order = null,\r\n}: FindAnswerForQuestionsArgs): Answer | undefined => {\r\n answers = answers ? answers : [];\r\n\r\n // check both the field id and question id b/c of old bad data where question ids are duplicated,\r\n // we can't just rely on the field id either. I mostly just cry quietly to myself at night.\r\n return order\r\n ? answers.find((x) => x.questionId === questionId && x.fieldId === fieldId && x.order === order)\r\n : answers.find((x) => x.questionId === questionId && x.fieldId === fieldId);\r\n};\r\n\r\nconst isQuestionRequired = (question?: Question): boolean => question?.isRequired || false;\r\n\r\nconst getInnerFieldsFromConditional = (field: Field): Field[] => {\r\n if (\r\n field.type === FieldType.Conditional ||\r\n field.type === FieldType.SelectConditional ||\r\n field.type === FieldType.MultiFieldConditional\r\n ) {\r\n const fieldContainers = field.fields || [];\r\n return fieldContainers.flatMap((container) => container.fields || []);\r\n } else {\r\n console.error(\"This field is not a conditional field.\");\r\n return [];\r\n }\r\n};\r\n\r\nexport {\r\n getSigneeFields,\r\n getAttendeeFields,\r\n getPlainLabel,\r\n getLabel,\r\n getValueOptions,\r\n getPinnedValueOptions,\r\n getDateFormat,\r\n getPhoneFormat,\r\n getYesOrNoFields,\r\n getSimpleFieldPlainLabel,\r\n getEquationFieldName,\r\n getFieldKey,\r\n getCharacterLimit,\r\n getFieldId,\r\n getPlaceholderText,\r\n getHeaderText,\r\n getSubheaderText,\r\n getQuestionSnakeCaseName,\r\n getQuestionDataValue,\r\n getEquationSectionId,\r\n getFormAttendees,\r\n getAttendeesList,\r\n getSigneeAnswers,\r\n getAttendeeAnswers,\r\n getNextRowOrder,\r\n getOrderInfo,\r\n getTickets,\r\n hasSafePay,\r\n getAttachments,\r\n getLinkAttachments,\r\n findAnswerForQuestion,\r\n isQuestionRequired,\r\n getInnerFieldsFromConditional,\r\n getPublicOrganizerAnswers,\r\n getPublicOrganizerFields,\r\n\r\n //Testing exports\r\n getIntegratedDataFieldName as _getIntegratedDataFieldName,\r\n};\r\n","const ModifiableSection = 3;\n\nexport { ModifiableSection }","import { parse } from \"mathjs\";\nimport keyBy from \"lodash/keyBy\";\nimport groupBy from \"lodash/groupBy\";\n\nimport { AnswerInput, Field, Question } from \"@src/types\";\nimport { getEquationSectionId, getQuestionDataValue, isQuestionRequired } from \"./getters\";\nimport { EquationValue, InnerFields } from \"./formValuesTypes\";\n\nconst getEquationQuestionNameForExpression = (question: Question): string =>\n question.name\n ? question.name\n .toLowerCase()\n .replace(/^([^a-z])+/, \"\") // Remove all leading non-alphabetic characters\n .replace(/\\s/g, \"_\") // Replace all spaces with underscores\n .replace(/[\\W]/g, \"\") // Remove all remaining non-alphanumeric characters\n : \"\";\n\nconst getEquationIdAsNameForExpression = (value: string): string =>\n value\n ? value\n .toLowerCase()\n .replace(/^([^a-z])+/, \"\") // Remove all leading non-alphabetic characters\n .replace(/\\s/g, \"_\") // Replace all spaces with underscores\n .replace(/[\\W]/g, \"\") // Remove all remaining non-alphanumeric characters\n : \"\";\n\nconst getEquationInputQuestions = (field: Field): Question[] =>\n field.fields && field.fields.length > 0 ? field.fields[0].equationSections || [] : [];\n\nconst getEquationCalculatedQuestions = (field: Field): Question[] =>\n field.fields && field.fields.length > 1 ? field.fields[1].equationSections || [] : [];\n\nconst getEquationAggregateQuestions = (field: Field): Question[] =>\n field.fields && field.fields.length > 2 ? field.fields[2].equationSections || [] : [];\n\nconst getExpressionValues = (answers: AnswerInput[]): Record =>\n answers.reduce((acc, answer) => {\n if (answer && answer.questionId !== \"row\") {\n const name = getEquationIdAsNameForExpression(answer.questionId);\n\n acc[name] = acc[name] ? [...acc[name], answer.value || \"\"] : [answer.value || \"\"];\n }\n\n return acc;\n }, {} as Record);\n\ntype GetCalculatedValue = {\n values: Record;\n question: Question;\n};\n\nconst getCalculatedValue = ({ question, values }: GetCalculatedValue): string => {\n const expression = getQuestionDataValue(question);\n\n try {\n return `${parse(expression).evaluate(values)}`;\n } catch (e) {\n return \"\";\n }\n};\n\ntype GetInputAnswers = {\n inputQuestions: Question[];\n innerFields: InnerFields;\n rowId: string;\n};\n\ntype GetInputAnswersReturn = {\n inputAnswers: AnswerInput[];\n expressionValues: Record;\n};\n\nconst getInputAnswersAndExpressionValues = ({\n inputQuestions,\n innerFields,\n rowId,\n}: GetInputAnswers): GetInputAnswersReturn => {\n return inputQuestions.reduce(\n (acc, question) => {\n const expressionName = getEquationQuestionNameForExpression(question);\n const sectionId = getEquationSectionId(question);\n const answer = innerFields[sectionId] as AnswerInput;\n\n // if there's a default value set, assign it\n if (!answer.value && question.characterLimit) {\n answer.value = question.characterLimit.toString();\n }\n\n const newAnswer: AnswerInput = {\n ...answer,\n fieldId: rowId,\n };\n\n acc.inputAnswers.push(newAnswer);\n\n acc.expressionValues = {\n ...acc.expressionValues,\n [expressionName]: newAnswer.value || \"\",\n };\n\n return acc;\n },\n {\n inputAnswers: [],\n expressionValues: {},\n } as GetInputAnswersReturn\n );\n};\n\ntype GetCalculatedAnswersArgs = {\n calculatedQuestions: Question[];\n rowId: string;\n expressionValues: Record;\n};\n\ntype GetCalculatedAnswersInitialValues = {\n calculatedAnswers: AnswerInput[];\n calculatedExpressionValues: Record;\n};\n\nconst getCalculatedAnswers = ({\n calculatedQuestions,\n rowId,\n expressionValues,\n}: GetCalculatedAnswersArgs): AnswerInput[] => {\n const { calculatedAnswers } = calculatedQuestions.reduce(\n (acc, question) => {\n const expressionName = getEquationQuestionNameForExpression(question);\n const result = getCalculatedValue({\n question,\n values: acc.calculatedExpressionValues,\n });\n\n const newAnswer: AnswerInput = {\n fieldId: rowId,\n questionId: question.name || \"\",\n value: result,\n };\n\n acc.calculatedAnswers.push(newAnswer);\n\n acc.calculatedExpressionValues = {\n ...acc.calculatedExpressionValues,\n [expressionName]: result,\n };\n\n return acc;\n },\n {\n calculatedAnswers: [],\n calculatedExpressionValues: expressionValues,\n } as GetCalculatedAnswersInitialValues\n );\n\n return calculatedAnswers;\n};\n\ntype GetAggregateAnswers = {\n aggregateQuestions: Question[];\n fieldId: string;\n allAnswers: AnswerInput[];\n};\n\nconst getAggregateAnswers = ({\n aggregateQuestions,\n fieldId,\n allAnswers,\n}: GetAggregateAnswers): AnswerInput[] => {\n const expressionValues = getExpressionValues(allAnswers);\n\n const { aggregateAnswers } = aggregateQuestions.reduce(\n (acc, question) => {\n const expressionName = getEquationQuestionNameForExpression(question);\n const result = getCalculatedValue({\n question,\n values: acc.expressionValues,\n });\n\n const newAnswer: AnswerInput = {\n fieldId,\n questionId: question.name || \"\",\n value: result,\n };\n\n acc.aggregateAnswers.push(newAnswer);\n\n acc.expressionValues = {\n ...acc.expressionValues,\n [expressionName]: result,\n };\n\n return acc;\n },\n {\n aggregateAnswers: [],\n expressionValues,\n } as {\n aggregateAnswers: AnswerInput[];\n expressionValues: Record;\n }\n );\n\n return aggregateAnswers;\n};\n\ntype AnswersArrayToEquationValueArgs = {\n answers: AnswerInput[];\n fieldId?: string | null;\n aggregateQuestions: Question[];\n};\n\nconst answersArrayToEquationValue = ({\n answers,\n fieldId,\n aggregateQuestions,\n}: AnswersArrayToEquationValueArgs): EquationValue => {\n const initialObject: EquationValue = {\n rows: [],\n aggregates: {},\n allAnswers: [],\n isDirty: false,\n };\n\n const answersDictionary = groupBy(answers, \"fieldId\");\n\n const rowsAndAggregates = answersDictionary[fieldId || \"\"] || [];\n\n const { rows, aggregates, allAnswers } = rowsAndAggregates.reduce((acc, answer) => {\n if (answer.questionId === \"row\") {\n const rowPlaceholder = answer;\n const rowAnswers = answersDictionary[rowPlaceholder.answerId || \"\"] || [];\n\n acc.rows.push({\n ...rowPlaceholder,\n order: rowPlaceholder.order || 0,\n answers: keyBy(rowAnswers, \"questionId\"),\n });\n\n acc.allAnswers = [...acc.allAnswers, ...rowAnswers, rowPlaceholder];\n } else {\n acc.aggregates[answer.questionId] = answer;\n\n acc.allAnswers.push(answer);\n }\n\n return acc;\n }, initialObject);\n\n const aggregateAnswers = aggregateQuestions.reduce((acc, question) => {\n const questionId = question.id;\n const newAnswer: AnswerInput = {\n fieldId: fieldId || \"\",\n questionId,\n fileType: null,\n order: null,\n value: \"\",\n };\n\n acc[questionId] = aggregates[question.name || \"\"] || newAnswer;\n return acc;\n }, {} as Record);\n\n return {\n rows: rows.sort((a, b) => (a.order || 0) - (b.order || 0)),\n aggregates: aggregateAnswers,\n isDirty: false,\n allAnswers,\n };\n};\n\nconst getValueForEquationInputQuestion = (question: Question): string => {\n const questionType = question.valueType;\n const defaultValue = question.characterLimit;\n const min = question.minEntries ? question.minEntries : 0;\n\n if (questionType === \"text\") {\n return \"\";\n }\n\n if (questionType === \"integer\") {\n return `${defaultValue || min}`;\n }\n\n return defaultValue ? `${defaultValue.toFixed(2)}` : `${min.toFixed(2)}`;\n};\n\ntype GetEquationInnerFieldValuesArgs = {\n inputQuestions: Question[];\n calculatedQuestions: Question[];\n};\n\nconst getEquationInnerFieldInitialValues = ({\n inputQuestions,\n calculatedQuestions,\n}: GetEquationInnerFieldValuesArgs): InnerFields => {\n const tableRows = [...inputQuestions, ...calculatedQuestions];\n\n const tableRowAnswers = tableRows.reduce((innerFields, question) => {\n const sectionAnswer: AnswerInput = {\n // Equation answers are created with an empty fieldId because it needs\n // to reference the id of the \"row\" that will be created when the answer\n // is submitted.\n fieldId: \"\",\n questionId: question.name || \"\",\n value: getValueForEquationInputQuestion(question),\n };\n\n innerFields[question.id] = sectionAnswer;\n\n return innerFields;\n }, {} as InnerFields);\n\n return tableRowAnswers;\n};\n\nconst isEquationRequired = (field: Field): boolean => {\n const mainEquationQuestion =\n field.equationSections && field.equationSections.length ? field.equationSections[0] : null;\n\n const required = mainEquationQuestion ? isQuestionRequired(mainEquationQuestion) : false;\n\n return required;\n};\n\nexport {\n getEquationInputQuestions,\n getEquationCalculatedQuestions,\n getEquationAggregateQuestions,\n answersArrayToEquationValue,\n getEquationInnerFieldInitialValues,\n getExpressionValues,\n getInputAnswersAndExpressionValues,\n getCalculatedAnswers,\n getCalculatedValue,\n getAggregateAnswers,\n isEquationRequired,\n getEquationQuestionNameForExpression,\n getEquationIdAsNameForExpression,\n\n //testing exports\n getValueForEquationInputQuestion as _getValueForEquationInputQuestion,\n};\n","import { Answer, AnswerInput, Field, FieldType, Maybe } from \"@src/types\";\nimport {\n answersArrayToEquationValue,\n getEquationAggregateQuestions,\n getEquationCalculatedQuestions,\n getEquationInnerFieldInitialValues,\n getEquationInputQuestions,\n} from \"./equations\";\nimport {\n ConditionalValue,\n EquationValue,\n InitialValuesObject,\n InnerFields,\n IntegratedDataFieldValue,\n RepeatableValue,\n} from \"./formValuesTypes\";\nimport { getFieldKey, getInnerFieldsFromConditional, getNextRowOrder } from \"./getters\";\n\ntype AnswerGetterArgs = {\n field: Field;\n order?: number;\n answers?: AnswerInput[];\n answersDictionary?: Record;\n integratedDataOnFileDictionary?: Record;\n};\n\ntype AnswerGetter = (args: AnswerGetterArgs) => ReturnType;\n\nconst getSimpleValue: AnswerGetter = ({ field, order, answersDictionary }) => {\n const answerkey = getAnswerKey({\n fieldId: field.id || \"\",\n questionId: field.question?.id || \"\",\n order: order || null,\n });\n\n const existingAnswer = answersDictionary && answersDictionary[answerkey];\n\n return existingAnswer\n ? { ...existingAnswer, value: existingAnswer.value || \"\" }\n : ({\n value: \"\",\n fileType: null,\n fieldId: field.id || \"\",\n questionId: field.question?.id || \"\",\n order,\n } as AnswerInput);\n};\n\nconst getAddressValue: AnswerGetter = ({\n field: addressField,\n order,\n answersDictionary,\n}) => {\n const fields = addressField.fields || [];\n\n const innerFields = fields.reduce((acc, innerField) => {\n const isHidden = innerField.question?.hidden;\n\n if (!isHidden) {\n const innerFieldKey = getFieldKey(innerField);\n\n // Address answers have the fieldId of the container Address field and questionId\n // of the inner field (Street Address, Postal Code, etc.)\n const answerKey = getAnswerKey({\n fieldId: addressField.id,\n questionId: innerField.question?.id,\n order,\n });\n\n const selectedAnswer = answersDictionary && answersDictionary[answerKey];\n\n acc[innerFieldKey] =\n selectedAnswer ||\n ({\n value: \"\",\n fileType: null,\n fieldId: addressField.id || \"\",\n questionId: innerField.question?.id || \"\",\n order,\n } as AnswerInput);\n }\n\n return acc;\n }, {} as InnerFields);\n\n return innerFields;\n};\n\nconst getConditionalValue: AnswerGetter = ({\n field,\n order,\n answersDictionary,\n}) => {\n const fields = getInnerFieldsFromConditional(field);\n\n const answer = getSimpleValue({\n field,\n order,\n answersDictionary,\n });\n\n const innerFields = getFormInitialValues({\n fields,\n order,\n answersDictionary,\n });\n\n return {\n answer,\n ...innerFields,\n };\n};\n\nconst getRepeatableValue: AnswerGetter = ({ field, answers: allAnswers }) => {\n const fields = field.fields || [];\n\n const fieldIds = fields.map((field) => field.id || \"\");\n\n const answers = allAnswers\n ? allAnswers.filter((answer) => fieldIds.includes(answer.fieldId))\n : [];\n\n const innerFields = getFormInitialValues({\n fields,\n order: getNextRowOrder(answers),\n answersDictionary: {},\n });\n\n return {\n answers,\n isDirty: false,\n ...innerFields,\n };\n};\n\nconst getEquationValue: AnswerGetter = ({ field, answers }) => {\n const aggregateQuestions = getEquationAggregateQuestions(field);\n\n const { rows, aggregates, allAnswers } = answersArrayToEquationValue({\n answers: answers || [],\n fieldId: field.id,\n aggregateQuestions,\n });\n\n return {\n rows,\n aggregates,\n allAnswers: allAnswers,\n isDirty: false,\n };\n};\n\nconst getEquationInnerFields = (field: Field): InnerFields => {\n const inputQuestions = getEquationInputQuestions(field);\n const calculatedQuestions = getEquationCalculatedQuestions(field);\n\n return getEquationInnerFieldInitialValues({\n inputQuestions,\n calculatedQuestions,\n });\n};\n\nconst getPhoneValue: AnswerGetter = ({ field, order, answersDictionary }) => {\n const answerkey = getAnswerKey({\n fieldId: field.id || \"\",\n questionId: field.question?.id || \"\",\n order: order || null,\n });\n\n const existingAnswer = answersDictionary && answersDictionary[answerkey];\n\n return existingAnswer\n ? { ...existingAnswer, value: existingAnswer.value || \"\" }\n : ({\n value: \"\",\n fileType: null,\n fieldId: field.id || \"\",\n questionId: field.question?.id || \"\",\n order,\n } as AnswerInput);\n};\n\nconst getCheckboxValue: AnswerGetter = ({ field, order, answersDictionary }) => {\n const answerkey = getAnswerKey({\n fieldId: field.id || \"\",\n questionId: field.question?.id || \"\",\n order: order || null,\n });\n\n const existingAnswer = answersDictionary && answersDictionary[answerkey];\n\n return existingAnswer\n ? { ...existingAnswer, value: existingAnswer.value || \"\" }\n : ({\n value: \"\",\n fileType: null,\n fieldId: field.id || \"\",\n questionId: field.question?.id || \"\",\n order,\n } as AnswerInput);\n};\n\nconst getIntegratedValue: AnswerGetter = ({\n field,\n order,\n answersDictionary,\n integratedDataOnFileDictionary,\n}) => {\n const key = field.question?.dataValue?.split(\":\")[1].toLowerCase() || \"\";\n const responseAnswer =\n answersDictionary &&\n answersDictionary[\n getAnswerKey({\n fieldId: field.fields?.[0].id,\n questionId: field.fields?.[0].question?.id,\n order: null,\n })\n ];\n const existingAnswer = integratedDataOnFileDictionary && integratedDataOnFileDictionary[key];\n\n const answer = existingAnswer\n ? {\n value: existingAnswer.value || \"\",\n fileType: null,\n fieldId: field.fields?.[0].id || \"\",\n questionId: field.fields?.[0].question?.id || \"\",\n order,\n }\n : ({\n value: \"\",\n fileType: null,\n fieldId: field.fields?.[0].id || \"\",\n questionId: field.fields?.[0].question?.id || \"\",\n order,\n } as AnswerInput);\n\n const innerFields = field.fields\n ? getFormInitialValues({\n fields: field.fields,\n order,\n answersDictionary,\n integratedDataOnFileDictionary,\n })\n : [];\n\n const fieldKey = field.fields ? getFieldKey(field.fields[0]) : \"\";\n\n if (isInitialValuesObject(innerFields)) {\n innerFields[fieldKey] = responseAnswer || answer;\n }\n\n return {\n answer,\n ...innerFields,\n };\n};\n\nfunction isInitialValuesObject(obj: unknown): obj is InitialValuesObject {\n return typeof obj === \"object\" && obj !== null && !Array.isArray(obj);\n}\n\nconst fieldAnswersRecord = {\n [FieldType.Address]: getAddressValue,\n [FieldType.MultiFieldConditional]: getConditionalValue,\n [FieldType.Conditional]: getConditionalValue,\n [FieldType.SelectConditional]: getConditionalValue,\n [FieldType.RepeatableQuestion]: getRepeatableValue,\n [FieldType.Multiselect]: getCheckboxValue,\n [FieldType.Selectmultiple]: getCheckboxValue,\n [FieldType.Date]: getSimpleValue,\n [FieldType.Time]: getSimpleValue,\n [FieldType.Yesno]: getSimpleValue,\n [FieldType.Upload]: getSimpleValue,\n [FieldType.Multiline]: getSimpleValue,\n [FieldType.Rating]: getSimpleValue,\n [FieldType.Select]: getSimpleValue,\n [FieldType.Dropdown]: getSimpleValue,\n [FieldType.Singleline]: getSimpleValue,\n [FieldType.PostalZip]: getSimpleValue,\n [FieldType.Equations]: getEquationValue,\n [FieldType.Phonenumber]: getPhoneValue,\n [FieldType.IntegratedData]: getIntegratedValue,\n};\n\ntype AnswerGetterKey = keyof typeof fieldAnswersRecord;\n\ntype GetAnswerKeyArgs = {\n fieldId?: string | null;\n questionId?: string | null;\n order?: number | null;\n};\n\nconst getAnswerKey = ({ fieldId, questionId, order }: GetAnswerKeyArgs) =>\n `${fieldId || \"\"}_${questionId || \"\"}_${order || \"\"}`;\n\nconst getAnswersDictionary = (answers: T[]) =>\n answers.reduce((acc, answer) => {\n const answerKey = getAnswerKey(answer);\n\n acc[answerKey] = answer;\n return acc;\n }, {} as Record);\n\nconst getIntegratedDataDictionary = (answers: AnswerInput[]) =>\n answers.reduce((acc, answer) => {\n const answerKey = answer.questionId;\n\n acc[answerKey] = answer;\n return acc;\n }, {} as Record);\n\ntype GetFormInitialValues = {\n fields: Field[];\n answers?: AnswerInput[];\n integratedDataOnFile?: Maybe;\n answersDictionary?: Record;\n integratedDataOnFileDictionary?: Record;\n order?: number;\n};\n\nconst getFormInitialValues = ({\n fields,\n answers,\n integratedDataOnFile,\n answersDictionary,\n integratedDataOnFileDictionary,\n order,\n}: GetFormInitialValues): InitialValuesObject => {\n const newDictionary = answersDictionary || getAnswersDictionary(answers || []);\n const integratedDataOnFileDict =\n integratedDataOnFileDictionary || getIntegratedDataDictionary(integratedDataOnFile || []);\n\n const reducer = (acc: InitialValuesObject, field: Field) => {\n const questionId = getFieldKey(field);\n\n const answerGetterFunction = fieldAnswersRecord[field.type as AnswerGetterKey];\n\n if (answerGetterFunction) {\n acc[questionId] = answerGetterFunction({\n field,\n order,\n answers,\n integratedDataOnFileDictionary: integratedDataOnFileDict,\n answersDictionary: newDictionary,\n });\n }\n\n return acc;\n };\n\n const initialValues = fields.reduce(reducer, {} as InitialValuesObject);\n\n return initialValues;\n};\n\nexport {\n getFormInitialValues,\n getEquationValue,\n getEquationInnerFields,\n getAnswersDictionary,\n getAnswerKey,\n};\n","import React, { FunctionComponent } from \"react\";\nimport styled from \"styled-components\";\n\nimport NormalLogoImg from \"@src/assets/logo.png\";\nimport CircleLogoImg from \"@src/assets/pc-logo-icon-circle.png\";\n\nexport type logoStyles = \"normal\" | \"circle\";\n\nexport type LogoProps = {\n style: logoStyles;\n width: string;\n height: string;\n};\n\nconst StyledImg = styled.img``;\n\nconst Logo: FunctionComponent = ({ style, width, height }: LogoProps) => {\n return (\n \n );\n};\n\nconst GetLogoImage = (style: string) => {\n switch (style) {\n case \"normal\":\n return NormalLogoImg;\n case \"circle\":\n return CircleLogoImg;\n default:\n return NormalLogoImg;\n }\n};\n\nexport { Logo };\n","import { Breakpoints } from \"@src/customHooks\";\nimport { defaultTheme } from \"@src/themes\";\nimport styled from \"styled-components\";\n\nconst StyledFooterBar = styled.div<{screenSize: Breakpoints}>`\n display: flex;\n justify-content: ${(props) => (props.screenSize === \"desktop\" ? `space-between` : `center`)};\n align-items: ${(props) => (props.screenSize === \"desktop\" ? `normal` : `center`)};\n height: 70px;\n width: 100%;\n background-color: ${defaultTheme.colors.alias.primary};\n`;\n\nconst StyledLink = styled.a`\n text-decoration: none;\n color: white;\n font-family: \"Roboto\", sans-serif;\n font-size: 12px;\n`;\n\nconst StyledCopyright = styled.p<{screenSize: Breakpoints}>`\n font-family: ${defaultTheme.font.default};\n color: rgba(255, 255, 255, 0.5);\n font-size: 12px;\n padding-top: 0;\n width: ${(props) => (props.screenSize === \"desktop\" ? `400px` : `300px`)};\n text-align: center;\n`;\n\nconst StyledLogoContainer = styled.div<{screenSize: Breakpoints}>`\n display: flex;\n align-items: center;\n padding-left: ${(props) => (props.screenSize === \"desktop\" ? `20px` : `0px`)};\n width: ${(props) => (props.screenSize === \"desktop\" ? `400px` : `auto`)};\n justify-content: ${(props) => (props.screenSize === \"desktop\" ? `normal` : `center`)};\n`;\n\nconst StyledLinkContainer = styled.div<{screenSize: Breakpoints}>`\n display: flex;\n align-items: center;\n justify-content: ${(props) => (props.screenSize === \"desktop\" ? `space-around` : `space-evenly`)};\n width: ${(props) => (props.screenSize === \"desktop\" ? `400px` : `300px`)};\n padding-top: 10px;\n`;\n\nexport { StyledFooterBar, StyledLink, StyledCopyright, StyledLogoContainer, StyledLinkContainer };\n","import styled from \"styled-components\";\n\nimport { defaultTheme } from \"@src/themes\";\nimport { Breakpoints } from \"@src/customHooks\";\n\nconst {\n colors: { alias: colorAlias, values: colorValues },\n spacing,\n borderRadius,\n font,\n} = defaultTheme;\n\nexport type ButtonProps = {\n primary?: boolean;\n disabled?: boolean;\n screenSize?: Breakpoints;\n hoverColor?: string;\n backgroundColor?: string;\n};\n\nconst Button = styled.button`\n ${({ primary, disabled, screenSize, hoverColor, backgroundColor }) => `\n border-radius: ${borderRadius};\n border: 0px solid transparent;\n padding: ${spacing.default} ${spacing.medium};\n font-family: ${font.default};\n background-color: ${\n disabled\n ? colorAlias.disabled\n : primary\n ? colorAlias.primary\n : backgroundColor\n ? backgroundColor\n : colorValues.white\n };\n color: ${primary ? colorValues.white : colorAlias.lightPrimary};\n cursor: ${disabled ? \"default\" : \"pointer\"};\n min-width: ${screenSize === \"smallScreen\" ? \"100px\" : \"150px\"};\n width: fit-content;\n height: 40px;\n\n &:hover {\n background-color: ${disabled ? \"default\" : hoverColor ?? colorAlias.lightPrimary};\n }\n\n &:active {\n outline: none;\n }\n `}\n`;\n\nconst SmallButton = styled(Button)`\n ${({ screenSize }) => `\n padding: ${screenSize === \"smallScreen\" ? `${spacing.default} ${spacing.default}` : `${spacing.default} ${spacing.medium}`};\n min-width: ${screenSize === \"smallScreen\" ? \"0\" : \"150px\"};\n `}\n`;\n\nexport { Button, SmallButton };\n","import styled from \"styled-components\";\nimport { Button } from \"../Button\";\n\ntype StyledIconProps = {\n clickable?: boolean;\n color?: string;\n size?: string;\n hoverEnabled?: boolean;\n hoverColor?: string;\n disabled?: boolean;\n};\n\nconst StyledIcon = styled.i`\n cursor: ${(props) => (props.clickable && !props.disabled ? \"pointer\" : \"inherit\")};\n color: ${(props) => props.color || props.theme.colors.fields.text};\n font-size: ${(props) => props.size || props.theme.font.iconSize};\n\n &:hover {\n ${(props) =>\n !props.disabled &&\n props.hoverEnabled &&\n `\n color: ${props.hoverColor || props.theme.colors.fields.selected};\n `}\n }\n\n ${Button} & {\n color: white;\n padding-right: 10px;\n }\n`;\n\nexport { StyledIcon };\n","import React, { FC } from \"react\";\nimport { StyledIcon } from \"./style\";\n\nexport type faIconStyles = \"solid\" | \"regular\" | \"light\" | \"thin\" | \"duotone\";\n\nexport type IconProps = {\n style: faIconStyles;\n icon: string;\n color?: string;\n size?: string;\n clickable?: boolean;\n onClick?: () => void;\n testId?: string;\n overrideStyles?: React.CSSProperties;\n};\n\nconst Icon: FC = ({\n style,\n icon,\n color,\n size,\n onClick,\n testId,\n overrideStyles,\n ...rest\n}: IconProps) => {\n return (\n \n );\n};\n\nexport { Icon };\n","import { Logo } from \"@src/components/atoms/Logo\";\nimport {\n StyledCopyright,\n StyledFooterBar,\n StyledLink,\n StyledLinkContainer,\n StyledLogoContainer,\n} from \"@src/components/layout/Footer\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport React, { FunctionComponent } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport PCIIcon from \"@src/assets/pci-icon.png\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport ReactTooltip from \"react-tooltip\";\nimport { useBreakPoints } from \"@src/customHooks\";\n\nconst PageFooter: FunctionComponent = ({}) => {\n const { t } = useTranslation();\n const screenSize = useBreakPoints();\n\n const links = (\n \n \n {t(\"links.legal\")}\n \n \n {t(\"links.tipsAndFaq\")}\n \n\n {screenSize !== \"smallScreen\" ? (\n \n \n \n \n ) : null}\n\n \n {t(\"messages.securityInformation\")}\n \n \n );\n\n const copyright = (\n \n \n {t(\"messages.copyright\", { year: new Date().getFullYear() })}\n \n \n );\n\n return (\n \n \n {screenSize === \"smallScreen\" ? (\n \n ) : (\n \n )}\n \n {screenSize === \"smallScreen\" ? (\n {[links, copyright]}\n ) : (\n [copyright, links]\n )}\n \n );\n};\n\nexport { PageFooter };\n","import { ApolloError } from \"@apollo/client\";\nimport { Flex, PageWrapper } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { StyledHeader, StyledLabel } from \"@src/components/styles\";\nimport { Breakpoints, useBreakPoints } from \"@src/customHooks\";\nimport React, { FunctionComponent } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport styled from \"styled-components\";\nimport { Logo } from \"../../components/atoms/Logo\";\n\ntype ErrorProps = { error: ApolloError | string };\n\ntype ErrorWrapperArgs = { screenSize: Breakpoints };\n\nconst StyledErrorWrapper = styled(Flex) `\n margin-right: ${(props) => (props.screenSize === \"desktop\" ? `50px` : `25px`)};\n padding-left: 5vw;\n`;\n\nconst ErrorComponent: FunctionComponent = ({ error }) => {\n const internalMessage = error instanceof ApolloError ? error.message : undefined;\n const isString = typeof error === \"string\";\n\n const message = isString ? error : undefined; // we should not show backend messages to the end user.\n\n const screenSize = useBreakPoints();\n\n const logoDimensions = screenSize === \"smallScreen\" ? \"100px\" : \"200px\";\n\n const { t } = useTranslation();\n\n let helpText = t(\"errors.generic\");\n\n if (message?.includes(\"404\") || message?.includes(\"Incorrect URL\") || internalMessage?.includes(\"404\")) {\n helpText = t(\"errors.404\");\n } else if (message?.includes(\"500\") || internalMessage?.includes(\"500\")) {\n helpText = t(\"errors.500\");\n }\n\n return (\n \n \n \n {message && {message}}\n {helpText}\n \n \n \n \n \n \n \n );\n};\n\nexport { ErrorComponent };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormikContext } from \"formik\";\nimport React, { FC, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport isPlainObject from \"lodash/isPlainObject\";\n\ntype TouchErrorFieldsArgs = {\n errors: Record;\n touched: Record;\n prefix?: string;\n setFieldTouched: (fieldName: string) => void;\n};\n\n/**\n * Touches fields with errors. Error fields can be a string, object or array of fields\n * @param {TouchErrorFieldsArgs} args\n */\nconst touchErrorFields = ({ errors, touched, prefix, setFieldTouched }: TouchErrorFieldsArgs) => {\n if (!isPlainObject(errors)) return;\n\n Object.keys(errors).forEach((fieldName) => {\n if (isPlainObject(errors[fieldName])) {\n if (touched && touched[fieldName]) {\n touchErrorFields({\n prefix: fieldName,\n errors: errors[fieldName],\n touched: touched[fieldName],\n setFieldTouched,\n });\n }\n } else if (Array.isArray(errors[fieldName])) {\n const errorsArray: Record[] = errors[fieldName];\n\n errorsArray.forEach((innerErrors, idx) => {\n const fieldTouched = touched && touched[fieldName] ? touched[fieldName][idx] : undefined;\n if (fieldTouched) {\n touchErrorFields({\n errors: innerErrors,\n touched: fieldTouched,\n prefix: `touched[${idx}]`,\n setFieldTouched,\n });\n }\n });\n } else {\n setFieldTouched(`${prefix}.${fieldName}`);\n }\n });\n};\n\nconst useTranslateFormErrors = () => {\n const { errors, touched, setFieldTouched, validateForm } = useFormikContext();\n const { i18n } = useTranslation();\n\n useEffect(() => {\n const runValidation = async () => {\n if (Object.keys(errors).length) {\n // Re-validates the form\n await validateForm();\n\n // Touches all fields with errors, so the validation messages are updated\n touchErrorFields({ errors, touched, setFieldTouched });\n }\n };\n\n i18n.on(\"languageChanged\", () => {\n runValidation();\n });\n\n return () => {\n i18n.off(\"languageChanged\", () => {\n (\"\");\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errors, i18n.resolvedLanguage]);\n};\n\ntype TranslateFormErrorsProps = {\n children: JSX.Element[] | JSX.Element;\n};\n\n/**\n * This components runs a hook that listens to the `languageChanged` i18next event and re-runs the\n * form's validation whenever the user changes the language. This is done to get the correct error message\n * strings in the current language selected by the user.\n *\n * It should wrap all contents of a Formik tag:\n * @example\n * \n * \n * \n * \n * \n * \n *\n */\nconst TranslateFormErrors: FC = ({ children }) => {\n useTranslateFormErrors();\n return <>{children};\n};\n\nexport { TranslateFormErrors };\n","import React, { FC } from \"react\";\nimport styled from \"styled-components\";\n\nimport { StyledOption } from \"@src/components/styles\";\nimport { defaultTheme } from \"@src/themes\";\nimport { DefaultLanguage, Language, Languages } from \"@src/utils/translation\";\nimport { useTranslation } from \"react-i18next\";\nimport { useReactiveVar } from \"@apollo/client\";\nimport { IsLoadingTranslation } from \"@src/localVariables\";\nimport { StyledIcon } from \"@src/components/atoms/Icon\";\n\nconst Wrapper = styled.div`\n &:focus {\n border: 2px solid ${defaultTheme.colors.fields.selected};\n }\n\n box-sizing: border-box;\n font-size: 12px;\n border: 1px solid ${(props) => props.theme.colors.fields.bordercolor};\n border-radius: 0;\n width: 170px;\n padding: 0 10px;\n margin: 10px 20px 10px 10px;\n height: fit-content;\n position: relative;\n`;\n\nconst LanguageStyledSelect = styled.select`\n &:focus {\n outline: none !important;\n }\n\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 12px;\n border: none;\n border-radius: 0;\n width: 150px;\n cursor: pointer;\n height: 37px;\n`;\n\nconst LoadingIcon = styled(StyledIcon)`\n position: absolute;\n right: 25px;\n top: 10px;\n color: ${(props) => props.theme.colors.fields.text};\n`;\n\ntype SelectLanguageProps = {\n onLanguageChanged(language: Language): void;\n};\n\nconst SelectLanguage: FC = ({ onLanguageChanged }) => {\n const { i18n } = useTranslation();\n const isLoadingTranslations = useReactiveVar(IsLoadingTranslation);\n\n return (\n \n \n onLanguageChanged(\n Languages.find((x) => x.code === event.currentTarget.value) ?? DefaultLanguage\n )\n }\n value={i18n.resolvedLanguage}\n >\n {Languages.sort((a, b) => (a.display || \"\").localeCompare(b.display || \"\")).map(\n (option) => (\n \n {option.display}\n \n )\n )}\n \n {isLoadingTranslations ? : null}\n \n );\n};\n\nexport { SelectLanguage };\n","import React, { FunctionComponent } from \"react\";\nimport { ContentWrapper, Flex, PageWrapper } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport {\n StyledHeader,\n StyledInformationContainer,\n StyledLabel,\n StyledSectionHeader,\n StyledTextInput,\n} from \"@src/components/styles\";\nimport { FormInfoQuery, useSignUpForNotificationMutation } from \"@src/types\";\nimport { Button } from \"@src/components/atoms/Button\";\nimport { Field, Form, Formik } from \"formik\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport * as Yup from \"yup\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { Language, useGoogleTranslate } from \"@src/utils/translation\";\nimport { SelectLanguage } from \"@src/components/molecules/pageHeader/SelectLanguage\";\n\ntype FormInDraftProps = { form: NonNullable };\n\nconst FormInDraft: FunctionComponent = ({ form }: FormInDraftProps) => {\n const { countryCode } = useUrlParams();\n const screenSize = useBreakPoints();\n const { t, i18n } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n\n const onLanguageChanged = (language: Language) => {\n i18n.changeLanguage(language.code);\n };\n\n const [signUp, { data }] = useSignUpForNotificationMutation();\n\n const yupValidation = Yup.object().shape({ email: Yup.string().email() });\n const formName = googleTranslate(form.name || \"\");\n\n return (\n <>\n \n \n \n \n {formName}\n \n \n\n {data?.SignUpForNotification ? (\n \n {t(\"pages.formInDraft.gotIt\")}\n {t(\"pages.formInDraft.youWillBeNotified\", { formName })}\n \n ) : (\n \n {t(\"pages.formInDraft.holdOn\")}\n
\n \n {t(\"labels.organizer\")} {form.organizerName}\n \n
\n
\n \n \n {t(\"pages.formInDraft.formIsBeingEdited\")}\n \n \n
\n
\n \n {t(\"pages.formInDraft.wouldYouLikeToBeNotified\")}\n \n
\n \n signUp({\n variables: {\n email: values.email,\n documentVersionId: form.id,\n countryCode,\n },\n })\n }\n validationSchema={yupValidation}\n >\n {({ isValid }) => (\n \n
\n \n \n \n \n
\n
\n )}\n \n
\n )}\n
\n \n
\n \n \n );\n};\n\nexport { FormInDraft };\n","import React, { FC } from \"react\";\nimport { ContentWrapper, Flex, PageWrapper } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport { FormInfoQuery } from \"@src/types\";\nimport { StyledHeader, StyledLabel } from \"@src/components/styles\";\nimport { useTranslation } from \"react-i18next\";\nimport { SelectLanguage } from \"@src/components/molecules/pageHeader/SelectLanguage\";\nimport { Language, useGoogleTranslate } from \"@src/utils/translation\";\n\ntype FormArchivedProps = { form: NonNullable };\n\nconst FormArchived: FC = ({ form }) => {\n const screenSize = useBreakPoints();\n const googleTranslate = useGoogleTranslate();\n const { t, i18n } = useTranslation();\n\n const onLanguageChanged = (language: Language) => {\n i18n.changeLanguage(language.code);\n };\n\n return (\n <>\n \n \n \n \n {googleTranslate(form.name || \"\")}\n \n \n {t(\"pages.formStatus.archivedMessage\")}\n \n \n \n \n \n );\n};\n\nexport { FormArchived };\n","import React, { FC } from \"react\";\nimport { ContentWrapper, Flex, PageWrapper } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport { FormInfoQuery } from \"@src/types\";\nimport { StyledHeader, StyledLabel } from \"@src/components/styles\";\nimport { useTranslation } from \"react-i18next\";\nimport { Language, useGoogleTranslate } from \"@src/utils/translation\";\nimport { SelectLanguage } from \"@src/components/molecules/pageHeader/SelectLanguage\";\n\ntype FormCutoffProps = { form: NonNullable };\n\nconst FormCutoff: FC = ({ form }) => {\n const screenSize = useBreakPoints();\n const googleTranslate = useGoogleTranslate();\n const { t, i18n } = useTranslation();\n\n const onLanguageChanged = (language: Language) => {\n i18n.changeLanguage(language.code);\n };\n\n return (\n <>\n \n \n \n \n {googleTranslate(form.name || \"\")}\n \n \n {t(\"pages.formStatus.responseCutOffMessage\")}\n \n \n \n \n \n );\n};\n\nexport { FormCutoff };\n","import React, { FC } from \"react\";\nimport { ContentWrapper, Flex, PageWrapper } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport { FormInfoQuery } from \"@src/types\";\nimport { StyledHeader, StyledLabel } from \"@src/components/styles\";\nimport { useTranslation } from \"react-i18next\";\nimport { Language, useGoogleTranslate } from \"@src/utils/translation\";\nimport { SelectLanguage } from \"@src/components/molecules/pageHeader/SelectLanguage\";\n\ntype FormClosedProps = { form: NonNullable };\n\nconst FormClosed: FC = ({ form }) => {\n const screenSize = useBreakPoints();\n const googleTranslate = useGoogleTranslate();\n const { t, i18n } = useTranslation();\n\n const onLanguageChanged = (language: Language) => {\n i18n.changeLanguage(language.code);\n };\n\n if (form.redirectUrl) {\n window.location.href = form.redirectUrl;\n return null;\n }\n\n return (\n <>\n \n \n \n \n {googleTranslate(form.name || \"\")}\n \n \n \n {form.redirectMessage\n ? googleTranslate(form.redirectMessage)\n : t(\"pages.formStatus.closed\")}\n \n \n \n \n \n \n );\n};\n\nexport { FormClosed };\n","import React, { FunctionComponent } from \"react\";\nimport { ContentWrapper, Flex, PageWrapper } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport {\n StyledHeader,\n StyledInformationContainer,\n StyledLabel,\n} from \"@src/components/styles\";\nimport { FormInfoQuery } from \"@src/types\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { Language, useGoogleTranslate } from \"@src/utils/translation\";\nimport { SelectLanguage } from \"@src/components/molecules/pageHeader/SelectLanguage\";\n\ntype FormInactiveProps = { form: NonNullable };\n\nconst FormInactive: FunctionComponent = ({ form }: FormInactiveProps) => {\n const screenSize = useBreakPoints();\n const { t, i18n } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n\n const onLanguageChanged = (language: Language) => {\n i18n.changeLanguage(language.code);\n };\n\n const formName = googleTranslate(form.name || \"\");\n\n return (\n <>\n \n \n \n \n {formName}\n \n \n \n \n \n {t(\"pages.formStatus.inactive\")}\n \n \n \n \n \n \n \n \n );\n};\n\nexport { FormInactive };\n","import { Answer, Field } from \"@src/types\";\r\n\r\nconst AddressFieldNames = [\r\n \"streetAddress\",\r\n \"streetAddressLine2\",\r\n \"city\",\r\n \"stateProv\",\r\n \"postalZip\",\r\n] as const;\r\n\r\nexport type AddressFieldName = typeof AddressFieldNames[number];\r\n\r\nconst getStreetNumber = (place: google.maps.places.PlaceResult): string | null =>\r\n place.address_components?.find((x: { types: string[] }) => x.types.indexOf(\"street_number\") > -1)\r\n ?.long_name ?? null;\r\n\r\nconst getStreet = (place: google.maps.places.PlaceResult): string | null =>\r\n place.address_components?.find((x: { types: string[] }) => x.types.indexOf(\"route\") > -1)\r\n ?.long_name ?? null;\r\n\r\nconst getProvince = (place: google.maps.places.PlaceResult): string | null =>\r\n place.address_components?.find(\r\n (x: { types: string[] }) => x.types.indexOf(\"administrative_area_level_1\") > -1\r\n )?.long_name ?? null;\r\n\r\nconst getCity = (place: google.maps.places.PlaceResult): string | null =>\r\n place.address_components?.find((x: { types: string[] }) => x.types.indexOf(\"locality\") > -1)\r\n ?.long_name ??\r\n place.address_components?.find(\r\n (x: { types: string[] }) => x.types.indexOf(\"administrative_area_level_2\") > -1\r\n )?.long_name ??\r\n null;\r\n\r\nconst getPostalCode = (place: google.maps.places.PlaceResult): string | null =>\r\n place.address_components?.find((x: { types: string[] }) => x.types.indexOf(\"postal_code\") > -1)\r\n ?.long_name ?? null;\r\n\r\nconst getStreetAddress = (place: google.maps.places.PlaceResult): string =>\r\n `${getStreetNumber(place) || \"\"} ${getStreet(place) || \"\"}`.trim();\r\n\r\ntype GetAddressInnerFieldValueArgs = {\r\n place: google.maps.places.PlaceResult;\r\n fieldName?: AddressFieldName | null;\r\n};\r\n\r\nconst getAddressInnerFieldValue = ({\r\n place,\r\n fieldName,\r\n}: GetAddressInnerFieldValueArgs): string | null => {\r\n switch (fieldName) {\r\n case \"streetAddress\":\r\n return getStreetAddress(place);\r\n\r\n case \"city\":\r\n return getCity(place);\r\n\r\n case \"stateProv\":\r\n return getProvince(place);\r\n\r\n case \"postalZip\":\r\n return getPostalCode(place);\r\n\r\n default:\r\n return \"\";\r\n }\r\n};\r\n\r\ntype GetAddressInnerFieldValuesArgs = {\r\n fieldsDictionary: Record;\r\n value: Record;\r\n place: google.maps.places.PlaceResult;\r\n};\r\n\r\nconst getAddressInnerFieldValues = ({\r\n fieldsDictionary,\r\n value,\r\n place,\r\n}: GetAddressInnerFieldValuesArgs): Record => {\r\n const newValue = Object.keys(fieldsDictionary).reduce((acc, fieldKey) => {\r\n const fieldName = fieldsDictionary[fieldKey].question?.name as\r\n | AddressFieldName\r\n | null\r\n | undefined;\r\n\r\n const fieldValue = getAddressInnerFieldValue({ place, fieldName });\r\n\r\n acc[fieldKey] = {\r\n ...value[fieldKey],\r\n value: fieldValue,\r\n };\r\n\r\n return acc;\r\n }, {} as Record);\r\n\r\n return newValue;\r\n};\r\n\r\nconst getAddressInnerFields = (addressField: Field): Field[] =>\r\n addressField.fields?.filter((x) => !x.question?.hidden) || [];\r\n\r\nexport {\r\n getAddressInnerFieldValues,\r\n AddressFieldNames,\r\n getAddressInnerFields,\r\n\r\n // Testing exports\r\n getStreetNumber as _getStreetNumber,\r\n getStreet as _getStreet,\r\n getProvince as _getProvince,\r\n getCity as _getCity,\r\n getPostalCode as _getPostalCode,\r\n getStreetAddress as _getStreetAddress,\r\n getAddressInnerFieldValue as _getAddressInnerFieldValue,\r\n};\r\n","export enum ResponseStep {\n SigneeForm = 0,\n AttendeeForm = 1,\n Tickets = 2,\n}","import { cloneDeep } from \"@apollo/client/utilities\";\n\nimport { AnswerInput, Field, FieldType } from \"@src/types\";\nimport { getValueOptions } from \"./getters\";\n\nconst isCollapsed = (field: Field, fields: Field[], collapsedHeaders: string[]): boolean => {\n\n const fieldsThatDontCollapse = [FieldType.Header, FieldType.Divider, FieldType.Section];\n\n if (field && field.type && !fieldsThatDontCollapse.includes(field.type)) {\n\n let relatedFields = cloneDeep(fields);\n\n relatedFields = relatedFields.slice(\n 0,\n relatedFields.findIndex((x) => x.id === field.id)\n );\n\n const relatedHeaderIndex = relatedFields\n .reverse()\n .findIndex((x) => x.type && fieldsThatDontCollapse.includes(x.type));\n\n if (relatedHeaderIndex < 0) {\n return false;\n }\n\n const relatedHeaderField = relatedFields[relatedHeaderIndex];\n\n if (relatedHeaderField.type !== FieldType.Header && relatedHeaderField.type !== FieldType.Section) {\n return false;\n }\n\n const headerFieldIndex = fields.findIndex((x) => x.id === relatedHeaderField.id);\n\n return isCollapsed(fields[headerFieldIndex], fields, collapsedHeaders);\n } else if (field?.id) {\n return collapsedHeaders.indexOf(field.id) >= 0;\n }\n\n return false;\n};\n\nconst isComplexField = (field: Field): boolean => {\n return (\n field &&\n (field.type === FieldType.Equations ||\n field.type === FieldType.Conditional ||\n field.type === FieldType.SelectConditional ||\n field.type === FieldType.MultiFieldConditional ||\n field.type === FieldType.RepeatableQuestion ||\n field.type === FieldType.Address ||\n field.type === FieldType.IntegratedData ||\n field.type === FieldType.Upload)\n );\n};\n\nconst isNoInputField = (field: Field): boolean => {\n return (\n field &&\n (field.type === FieldType.Header ||\n field.type === FieldType.Section ||\n field.type === FieldType.Divider ||\n field.type === FieldType.Descriptivetext)\n );\n};\n\nconst isSimpleField = (field: Field): boolean => {\n return field && !isComplexField(field) && !isNoInputField(field);\n};\n\nconst collectFieldAnswers = (field: Field, allAnswers: AnswerInput[]): AnswerInput[] => {\n let answers = allAnswers ? allAnswers.filter((x) => x !== null && x.fieldId === field.id) : [];\n\n if (field.type === FieldType.Equations) {\n if (allAnswers) {\n // row answers reference the row id not the field id\n const rowIds = answers.filter((x) => x.questionId === \"row\").map((y) => y.answerId);\n\n answers = answers.concat(allAnswers.filter((x) => rowIds.includes(x.fieldId)));\n }\n }\n\n if (field.fields && field.fields.length > 0) {\n // if the field contains fields we need those answers as well\n field.fields.map(\n (subField) => (answers = answers.concat(collectFieldAnswers(subField, allAnswers)))\n );\n }\n\n return answers;\n};\n\n/**\n * Get the approriate nested fields of a conditonal. For example,\n * if we have a YesNo condtional with required fields in both yes/no sections,\n * we can't add them all to be checked because the user can't answer them all.\n */\nconst getConditionalNestedFields = (field: Field, answers: AnswerInput[]): Field[] => {\n let fieldsToCheck: Field[] = [];\n\n if ((field.type === FieldType.MultiFieldConditional || field.type === FieldType.Conditional) && field.fields?.length === 2) {\n const answer = answers.find((x) => x.fieldId === field.id && x.questionId === field.question?.id);\n if (answer) {\n fieldsToCheck = fieldsToCheck.concat(answer.value === \"true\" ? field.fields[0].fields ?? []: field.fields[1].fields ?? [])\n }\n }\n\n if (field.type === FieldType.SelectConditional) {\n const answer = answers.find((x) => x.fieldId === field.id && x.questionId === field.question?.id);\n if (answer) {\n const selectedIndex = getValueOptions(field).findIndex((option) => option === answer.value);\n fieldsToCheck = fieldsToCheck.concat(selectedIndex >= 0 && field.fields && field.fields[selectedIndex] ? field.fields[selectedIndex].fields || [] : []);\n }\n }\n\n return fieldsToCheck;\n}\n\nconst isConditional = (field: Field): boolean => {\n return (\n field &&\n (field.type === FieldType.Conditional ||\n field.type === FieldType.SelectConditional ||\n field.type === FieldType.MultiFieldConditional)\n );\n}\n\nconst canHaveChildFields = (field: Field): boolean => {\n return (\n field &&\n (field.type === FieldType.Equations ||\n field.type === FieldType.Conditional ||\n field.type === FieldType.SelectConditional ||\n field.type === FieldType.MultiFieldConditional ||\n field.type === FieldType.RepeatableQuestion ||\n field.type === FieldType.Address ||\n field.type === FieldType.IntegratedData ||\n field.type === FieldType.FieldContainer)\n );\n}\n\n\nexport { isCollapsed, isComplexField, isNoInputField, isSimpleField, isConditional, collectFieldAnswers, canHaveChildFields, getConditionalNestedFields };\n","import isEmpty from \"lodash/isEmpty\";\r\nimport * as Yup from \"yup\";\r\nimport { ObjectShape } from \"yup/lib/object\";\r\nimport { useTranslation, TFunction, Normalize } from \"react-i18next\";\r\n\r\nimport {\r\n Answer,\r\n AnswerInput,\r\n Attendee,\r\n Field,\r\n FieldType,\r\n Order,\r\n Question,\r\n Ticket,\r\n} from \"@src/types\";\r\nimport { phoneDefaultFormat } from \"./phoneUtilities\";\r\nimport { OrderInfo, getFieldKey, isQuestionRequired } from \"./getters\";\r\nimport { isEquationRequired } from \"./equations\";\r\nimport { ResponseStep } from \"@src/constants/responseSteps\";\r\nimport { useUrlParams } from \"@src/customHooks\";\r\nimport { AttendeeFormRoute, SigneeFormRoute } from \"@src/Routes\";\r\nimport { ticketMaximumsAreNotExceeded, ticketMinimumsAreMet } from \"./purchasedTickets\";\r\nimport {\r\n canHaveChildFields,\r\n getConditionalNestedFields,\r\n isConditional,\r\n isNoInputField,\r\n} from \"./field\";\r\nimport common_en from \"@src/translations/en/common.json\";\r\n\r\ntype ValidationSchema = Yup.ObjectSchema;\r\nexport type TranslationKey = Normalize;\r\n\r\nconst parseMultiselectJSON = (value: string) => {\r\n try {\r\n return JSON.parse(value);\r\n } catch {\r\n return null;\r\n }\r\n};\r\n\r\nconst validateValueFormat = (field: Field, value?: string | null) => {\r\n const question = field.question;\r\n\r\n if (question) {\r\n const phoneFormat = question.format ?? phoneDefaultFormat;\r\n const valueNumbers = value?.match(/[A-Za-z\\d]/g);\r\n const questionNumbers = phoneFormat.match(/[A-Za-z\\d]/g);\r\n\r\n return !!(\r\n (!question.isRequired && isEmpty(value)) ||\r\n (!isEmpty(value) &&\r\n valueNumbers &&\r\n questionNumbers &&\r\n valueNumbers.length === questionNumbers.length)\r\n );\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nconst validateValues = (field: Field, question: Question, values: string[]) =>\r\n !question.isRequired ||\r\n (question.isRequired &&\r\n values &&\r\n values.length > 0 &&\r\n field.type !== FieldType.Header &&\r\n field.type !== FieldType.Divider &&\r\n field.type !== FieldType.Section);\r\n\r\ntype ValidateSingleFieldArgs = {\r\n question?: Question | null;\r\n t: TFunction;\r\n};\r\n\r\nconst validateString = ({ question, t }: ValidateSingleFieldArgs): ValidationSchema => {\r\n const errorMessage = t(\"validation.required\");\r\n\r\n return Yup.object().shape({\r\n value:\r\n question && !question.hidden && isQuestionRequired(question)\r\n ? Yup.string().trim().required(errorMessage)\r\n : Yup.string().nullable(),\r\n });\r\n};\r\n\r\nconst getSchemaForEquationQuestion = ({\r\n question,\r\n t,\r\n}: ValidateSingleFieldArgs): ValidationSchema => {\r\n const shouldValidate = question && !question.hidden;\r\n const isRequired = shouldValidate ? isQuestionRequired(question) : false;\r\n\r\n const min = question && question.minEntries ? question.minEntries : 0;\r\n const max = question && question.maxEntries ? question.maxEntries : -1;\r\n\r\n const minErrorMessage = t(\"validation.minValue\", { min });\r\n const maxErrorMessage = t(\"validation.maxValue\", { max });\r\n const requiredErrorMessage = t(\"validation.required\");\r\n\r\n if (question?.valueType === \"text\") {\r\n return validateString({ question, t });\r\n }\r\n\r\n const minSchema = Yup.number().min(min, minErrorMessage);\r\n\r\n const maxSchema = max > -1 ? minSchema.max(max, maxErrorMessage) : minSchema;\r\n\r\n const finalSchema = isRequired ? maxSchema.required(requiredErrorMessage) : maxSchema;\r\n\r\n return Yup.object().shape({\r\n value: shouldValidate ? finalSchema : Yup.number(),\r\n });\r\n};\r\n\r\ntype ValidateRepeatableValues = {\r\n repeatableAnswers?: Answer[];\r\n question?: Question | null;\r\n};\r\n\r\nconst validateRepeatableMinEntries = ({\r\n repeatableAnswers,\r\n question,\r\n}: ValidateRepeatableValues): boolean => {\r\n if (question && !question.hidden) {\r\n const order = repeatableAnswers ? repeatableAnswers.flatMap((x) => x.order || 0) : [];\r\n const numberOfEntries = new Set(order).size;\r\n\r\n const isValid = !question.minEntries || numberOfEntries >= question.minEntries;\r\n\r\n return isValid;\r\n } else {\r\n return true;\r\n }\r\n};\r\n\r\nconst validateRepeatableMaxEntries = ({\r\n repeatableAnswers,\r\n question,\r\n}: ValidateRepeatableValues): boolean => {\r\n if (question && !question.hidden) {\r\n const order = repeatableAnswers ? repeatableAnswers.flatMap((x) => x.order || 0) : [];\r\n const numberOfEntries = new Set(order).size;\r\n\r\n const isValid =\r\n !question.maxEntries || question.maxEntries < 1 || numberOfEntries <= question.maxEntries;\r\n\r\n return isValid;\r\n } else {\r\n return true;\r\n }\r\n};\r\n\r\nconst validateCheckbox = (field: Field, checkboxValue?: string | null) => {\r\n let value: string[] = [];\r\n const question = field.question;\r\n\r\n if (question && value) {\r\n if (checkboxValue) {\r\n value = parseMultiselectJSON(checkboxValue || \"\") as string[];\r\n\r\n // if the answer came straight from SIS it will be a string and would not have parsed\r\n if (value === null) {\r\n value = [checkboxValue || \"\"];\r\n }\r\n }\r\n\r\n return validateValues(field, question, value.length > 0 ? value : []);\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nconst validateAddressField = (field: Field) => {\r\n const fieldKey = getFieldKey(field);\r\n\r\n return Yup.object().shape({\r\n [fieldKey]: Yup.object(),\r\n });\r\n};\r\n\r\nconst validateTextField = (field: Field, t: TFunction) => {\r\n const fieldKey = getFieldKey(field);\r\n\r\n return Yup.object().shape({\r\n [fieldKey]: validateString({ question: field.question, t }),\r\n });\r\n};\r\n\r\nconst validateRepeatableField = (field: Field, t: TFunction) => {\r\n const fieldKey = getFieldKey(field);\r\n\r\n const minEntriesMessage = t(\"validation.minEntries\", {\r\n length: field.question?.minEntries,\r\n });\r\n\r\n const maxEntriesMessage = t(\"validation.maxEntries\", {\r\n length: field.question?.maxEntries,\r\n });\r\n\r\n const shouldNotContainValuesMessage = t(\"validation.shouldNotContainValues\");\r\n\r\n const newSchema = Yup.object().shape({\r\n [fieldKey]: Yup.object().shape({\r\n answers: Yup.array()\r\n .test(\"TestMinEntries\", minEntriesMessage, (repeatableAnswers) =>\r\n validateRepeatableMinEntries({ repeatableAnswers, question: field.question })\r\n )\r\n .test(\"TestMaxEntries\", maxEntriesMessage, (repeatableAnswers) =>\r\n validateRepeatableMaxEntries({ repeatableAnswers, question: field.question })\r\n ),\r\n isDirty: Yup.boolean().test(\r\n \"ShouldNotContainValues\",\r\n shouldNotContainValuesMessage,\r\n (isDirty) => !isDirty\r\n ),\r\n }),\r\n });\r\n\r\n return newSchema;\r\n};\r\n\r\nconst validateEquationField = (field: Field, t: TFunction) => {\r\n const fieldKey = getFieldKey(field);\r\n const isRequired = isEquationRequired(field);\r\n\r\n const minEntriesErrorMessage = t(\"validation.minEntries\", { length: 1 });\r\n\r\n const shouldNotContainValuesMessage = t(\"validation.shouldNotContainValues\");\r\n\r\n const newSchema = Yup.object().shape({\r\n [fieldKey]: Yup.object().shape({\r\n rows: isRequired ? Yup.array().min(1, minEntriesErrorMessage) : Yup.array(),\r\n isDirty: Yup.boolean().test(\r\n \"ShouldNotContainValues\",\r\n shouldNotContainValuesMessage,\r\n (isDirty) => !isDirty\r\n ),\r\n }),\r\n });\r\n\r\n return newSchema;\r\n};\r\n\r\nconst validateYesNoConditionalField = (field: Field, t: TFunction) => {\r\n const fieldKey = getFieldKey(field);\r\n\r\n const conditionalSchema = Yup.object().shape({\r\n [fieldKey]: Yup.object().shape({\r\n answer: validateString({ question: field.question, t }),\r\n }),\r\n });\r\n\r\n return conditionalSchema;\r\n};\r\n\r\nconst validatePhoneField = (field: Field, t: TFunction) => {\r\n const fieldKey = getFieldKey(field);\r\n\r\n const errorMessage = t(\"validation.required\");\r\n\r\n const phoneSchema = Yup.object().shape({\r\n [fieldKey]: validateString({ question: field.question, t }).test(\r\n \"TestValueIsDifferentThanMask\",\r\n errorMessage,\r\n (value) => validateValueFormat(field, value.value)\r\n ),\r\n });\r\n\r\n return phoneSchema;\r\n};\r\n\r\nconst validateCheckboxField = (field: Field, t: TFunction) => {\r\n const fieldKey = getFieldKey(field);\r\n\r\n const errorMessage = t(\"validation.required\");\r\n\r\n const checkboxSchema = Yup.object().shape({\r\n [fieldKey]: validateString({ question: field.question, t }).test(\r\n \"TestCheckBox\",\r\n errorMessage,\r\n (value) => validateCheckbox(field, value.value)\r\n ),\r\n });\r\n\r\n return checkboxSchema;\r\n};\r\n\r\ntype GetValidationForSingleField = {\r\n field: Field;\r\n t: TFunction;\r\n};\r\n\r\nconst getSchemaforSingleField = ({ field, t }: GetValidationForSingleField): ValidationSchema => {\r\n switch (field.type) {\r\n case FieldType.Address:\r\n return validateAddressField(field);\r\n\r\n case FieldType.RepeatableQuestion:\r\n return validateRepeatableField(field, t);\r\n\r\n case FieldType.Phonenumber:\r\n return validatePhoneField(field, t);\r\n\r\n case FieldType.Multiselect:\r\n case FieldType.Selectmultiple:\r\n return validateCheckboxField(field, t);\r\n\r\n case FieldType.MultiFieldConditional:\r\n case FieldType.SelectConditional:\r\n case FieldType.Conditional:\r\n return validateYesNoConditionalField(field, t);\r\n\r\n case FieldType.Equations:\r\n return validateEquationField(field, t);\r\n\r\n default:\r\n return validateTextField(field, t);\r\n }\r\n};\r\n\r\nconst useFieldValidation = (\r\n field: Field\r\n): ((fieldValue: Record) => string | void) => {\r\n const { t } = useTranslation();\r\n\r\n return (fieldValue) => {\r\n const fieldKey = getFieldKey(field);\r\n const schema = getSchemaforSingleField({ field, t });\r\n\r\n const formattedValue = {\r\n [fieldKey]: fieldValue,\r\n };\r\n\r\n try {\r\n schema.validateSync(formattedValue);\r\n return;\r\n } catch (err) {\r\n const error = err as Yup.ValidationError;\r\n return error.message;\r\n }\r\n };\r\n};\r\n\r\nexport type FormError = {\r\n message: string;\r\n step: ResponseStep;\r\n route: string;\r\n};\r\n\r\nconst useValidateAnswers = (\r\n requiresPermission: boolean,\r\n mustSelectAtLeastOneTicket: boolean,\r\n isGeneralSignup: boolean,\r\n cartOrder?: OrderInfo | null,\r\n signeeFields?: Field[],\r\n signeeAnswers?: AnswerInput[],\r\n attendeeFields?: Field[],\r\n attendees?: Attendee[],\r\n tickets?: Ticket[],\r\n orders?: Order[]\r\n): FormError[] => {\r\n const { t } = useTranslation();\r\n const { baseUrl } = useUrlParams();\r\n\r\n const formErrors: FormError[] = [];\r\n\r\n if (signeeFields && signeeAnswers) {\r\n // Validating Signee\r\n const signeeErrorFields = checkAnswers(signeeFields, signeeAnswers, t);\r\n\r\n let message = \"\";\r\n\r\n if (signeeErrorFields.length > 1) {\r\n message = `${\r\n isGeneralSignup\r\n ? t(\"validation.questionsSectionErrorPlural\", { length: signeeErrorFields.length })\r\n : t(\"validation.signeeFormErrorPlural\", { length: signeeErrorFields.length })\r\n } `;\r\n } else if (signeeErrorFields.length > 0) {\r\n message = `${\r\n isGeneralSignup\r\n ? t(\"validation.questionsSectionErrorSingular\")\r\n : t(\"validation.signeeFormErrorSingular\")\r\n }`;\r\n }\r\n\r\n if (signeeErrorFields.length > 0) {\r\n formErrors.push({\r\n message,\r\n step: ResponseStep.SigneeForm,\r\n route: `${baseUrl}/${SigneeFormRoute}`,\r\n });\r\n }\r\n }\r\n\r\n if (attendeeFields && attendees) {\r\n // Validating Attendees\r\n attendees.forEach((attendee, index) => {\r\n if (attendee.permitted || !requiresPermission) {\r\n const attendeeErrorFields = checkAnswers(attendeeFields, attendee.attendeeAnswers, t);\r\n\r\n if (attendeeErrorFields.length > 0) {\r\n formErrors.push({\r\n message:\r\n attendeeErrorFields.length > 1\r\n ? t(\"messages.attendeeHasErrorsPlural\", {\r\n firstName: attendee.firstName,\r\n lastName: attendee.lastName,\r\n length: attendeeErrorFields.length,\r\n })\r\n : t(\"messages.attendeeHasErrorSingular\", {\r\n firstName: attendee.firstName,\r\n lastName: attendee.lastName,\r\n }),\r\n step: ResponseStep.AttendeeForm,\r\n route: `${baseUrl}/${AttendeeFormRoute}/${index}`,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (tickets) {\r\n if (\r\n mustSelectAtLeastOneTicket &&\r\n (!cartOrder || cartOrder.cart.some((attendee) => attendee?.tickets?.length === 0))\r\n ) {\r\n formErrors.push({\r\n message: t(\"validation.noTicketsWhenRequired\"),\r\n step: ResponseStep.Tickets,\r\n route: `${baseUrl}/${AttendeeFormRoute}/0`,\r\n });\r\n }\r\n\r\n const ticketMinimumsAreValid = ticketMinimumsAreMet(tickets ?? [], orders ?? []);\r\n const ticketMaximumsAreValid = ticketMaximumsAreNotExceeded(tickets ?? [], orders ?? []);\r\n\r\n if (!ticketMinimumsAreValid)\r\n formErrors.push({\r\n message: t(\"validation.ticketMinimumsAreNotMet\"),\r\n step: ResponseStep.Tickets,\r\n route: `${baseUrl}/${AttendeeFormRoute}/0`,\r\n });\r\n\r\n if (!ticketMaximumsAreValid)\r\n formErrors.push({\r\n message: t(\"validation.ticketMaximumsAreExceeded\"),\r\n step: ResponseStep.Tickets,\r\n route: `${baseUrl}/${AttendeeFormRoute}/0`,\r\n });\r\n }\r\n\r\n return formErrors;\r\n};\r\n\r\nconst checkAnswers = (fields: Field[], answers: AnswerInput[], t: TFunction): Field[] => {\r\n const failedFields: Field[] = [];\r\n let fieldsToCheck: Field[] = [];\r\n\r\n if (fields && answers) {\r\n fields\r\n .filter((x) => !isNoInputField(x))\r\n .forEach((field) => {\r\n fieldsToCheck.push(field);\r\n\r\n // Get the relevant nested fields of a conditional\r\n if (isConditional(field)) {\r\n fieldsToCheck = fieldsToCheck.concat(getConditionalNestedFields(field, answers));\r\n } else if (canHaveChildFields(field) && field.fields) {\r\n if (\r\n field.type !== FieldType.RepeatableQuestion ||\r\n (field.type === FieldType.RepeatableQuestion && (field.question?.minEntries ?? -1) > 0)\r\n ) {\r\n fieldsToCheck = fieldsToCheck.concat(field.fields);\r\n }\r\n }\r\n });\r\n\r\n fieldsToCheck.forEach(async (field) => {\r\n const answer = answers.find(\r\n (x) => x.fieldId === field.id || x.questionId === field.question?.id\r\n );\r\n const fieldSchema = getSchemaforSingleField({ field, t });\r\n const fieldKey = getFieldKey(field);\r\n\r\n let fieldAnswer = {};\r\n\r\n switch (field.type) {\r\n case FieldType.SelectConditional:\r\n case FieldType.MultiFieldConditional:\r\n case FieldType.Conditional:\r\n fieldAnswer = {\r\n [fieldKey]: { answer: answer },\r\n };\r\n break;\r\n\r\n case FieldType.RepeatableQuestion:\r\n const fieldIds = field.fields?.map((x) => x.id) ?? [];\r\n const repeatableAnswers = answers.filter((x) => fieldIds.indexOf(x.fieldId) > -1);\r\n\r\n fieldAnswer = {\r\n [fieldKey]: { answers: repeatableAnswers },\r\n };\r\n break;\r\n\r\n case FieldType.Equations:\r\n const equationAnswer = answers.find(\r\n (x) => x.fieldId === field.id && x.questionId === \"row\"\r\n );\r\n fieldAnswer = {\r\n [fieldKey]: { rows: equationAnswer ? [equationAnswer] : [] },\r\n };\r\n break;\r\n\r\n default:\r\n fieldAnswer = {\r\n [fieldKey]: answer,\r\n };\r\n break;\r\n }\r\n\r\n try {\r\n await fieldSchema.validateSync(fieldAnswer);\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n failedFields.push(field);\r\n }\r\n }\r\n });\r\n }\r\n\r\n return failedFields;\r\n};\r\n\r\ntype Errors = Record>>;\r\ntype ErrorList = { key: string; message: string };\r\n\r\nconst getErrorListFromErrorObjects = (errors: Errors, parentKey?: string): ErrorList[] =>\r\n Object.entries(errors)\r\n .map(([key, message]) => {\r\n if (typeof message === \"string\") {\r\n const newKey = parentKey ? `${parentKey}.${key}` : key;\r\n return { key: newKey, message };\r\n } else {\r\n return getErrorListFromErrorObjects(message, key);\r\n }\r\n })\r\n .flat();\r\n\r\nexport {\r\n useFieldValidation,\r\n validateString,\r\n useValidateAnswers,\r\n getSchemaForEquationQuestion,\r\n getErrorListFromErrorObjects,\r\n};\r\n","const phoneDefaultFormat = \"(111) 111-1111\";\r\n\r\nconst cleanFormat = (value: string): string => {\r\n if (value) {\r\n value = value.replace(/([\"{\",\"}\",\"_\"])/g, \"\");\r\n\r\n return value.replace(/([0-9,a-z,A-Z])/g, \"1\");\r\n }\r\n\r\n return value;\r\n};\r\n\r\nconst createMask = (format: string): (string | RegExp)[] => {\r\n const digitRegExp = /\\d/;\r\n\r\n return format.split(\"\").map((char) => (digitRegExp.test(char) ? digitRegExp : char));\r\n};\r\n\r\nexport { phoneDefaultFormat, cleanFormat, createMask };\r\n","import { Flex } from \"@src/components/layout/Page\";\nimport styled from \"styled-components\";\n\nconst StyledErrorContainer = styled(Flex)`\n margin-top: 7px;\n margin-left: 3px;\n`;\n\nconst StyledFieldError = styled.p`\n color: #c00109;\n margin: 0px 0px 24px 5px;\n`;\n\nexport { StyledErrorContainer, StyledFieldError };\n","import { getIn, useFormikContext } from \"formik\";\nimport React, { FC } from \"react\";\nimport { Icon } from \"../Icon\";\nimport { StyledErrorContainer, StyledFieldError } from \"./style\";\n\nexport type FieldErrorProps = {\n name: string;\n id: string;\n children?: (message: string) => JSX.Element;\n};\n\nconst FieldError: FC = ({ name, id, children }) => {\n const { errors, touched } = useFormikContext();\n const error = getIn(errors, name);\n const touch = getIn(touched, name);\n const isString = typeof error === \"string\";\n\n if (touch && error && isString) {\n if (children) {\n return children(error);\n } else {\n return (\n \n \n {error}\n \n );\n }\n }\n\n return null;\n};\n\nexport { FieldError };\n","import styled from \"styled-components\";\n\nconst FroalaContainer = styled.div`\n margin: 0 0 30px;\n`;\n\nexport {\n FroalaContainer,\n}","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n///\n\nimport React from \"react\";\nimport FroalaEditorView from \"react-froala-wysiwyg/FroalaEditorView\";\nimport \"froala-editor/css/froala_style.min.css\";\nimport \"froala-editor/css/froala_editor.pkgd.min.css\";\nimport { FroalaContainer } from \"./styles\";\n\nexport type FroalaProps = {\n isFieldLabel?: boolean;\n text?: string | null;\n};\n\nconst Froala: React.FC = ({ text, isFieldLabel }) => {\n return text ? (\n isFieldLabel ? (\n \n ) : (\n \n \n \n )\n ) : (\n <>\n );\n};\n\nexport { Froala };\n","import { StyledLabel } from \"@src/components/styles\";\nimport { isHTMLlabel } from \"@src/utils/htmlCharcodes\";\nimport React, { FC } from \"react\";\nimport { Froala } from \"../Froala\";\n\ntype LabelProps = {\n children: string;\n};\n\nconst Label: FC = ({ children }) => {\n const isHTML = isHTMLlabel(children);\n\n return isHTML ? : {children};\n};\n\nexport { Label };\n","import React, { ChangeEventHandler, FocusEventHandler } from \"react\";\nimport omit from \"lodash/omit\";\n\nimport {\n FieldWrapper,\n MaxLengthMessage,\n StyledRequiredLabel,\n StyledTextInput,\n} from \"@src/components/styles\";\nimport { TextFieldProps } from \"../types\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TextField = React.forwardRef(\n (\n {\n label,\n id,\n value,\n isRequired,\n maxLength,\n placeHolderText,\n error,\n touched,\n setValue,\n saveAnswer,\n onBlur,\n },\n ref\n ) => {\n const { t } = useTranslation();\n const handleChange: ChangeEventHandler = (event) =>\n setValue({ ...value, value: event.target.value });\n\n const handleBlur: FocusEventHandler = async (event) => {\n const newAnswer = { ...value, value: event.target.value };\n\n onBlur && onBlur(event);\n\n const answerId = saveAnswer ? await saveAnswer(omit(newAnswer, \"__typename\")) : \"\";\n\n setValue({\n ...newAnswer,\n answerId,\n });\n };\n\n return (\n \n {isRequired ? : null}\n \n\n {maxLength && maxLength > 0 ? (\n {t(\"labels.characterLimit\", { length: maxLength })}\n ) : null}\n 0 ? maxLength : undefined}\n placeholder={placeHolderText ? placeHolderText : undefined}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n \n \n );\n }\n);\n\n// This has to be set here because the component is being created on an anonymous\n// function inside the call to React.forwardRef()\nTextField.displayName = \"TextField\";\n\nexport { TextField };\n","import React, { useEffect, useRef } from \"react\";\r\nimport { useField } from \"formik\";\r\nimport { useDebounce } from \"use-debounce\";\r\n\r\nimport { AnswerInput, Field } from \"@src/types\";\r\nimport { getFieldKey, getLabel } from \"@src/utils/getters\";\r\nimport { useFieldValidation } from \"@src/utils/validation\";\r\nimport { TextField } from \"../TextField\";\r\nimport { useGoogleTranslate } from \"@src/utils/translation\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype AddressInnerFieldProps = {\r\n field: Field;\r\n parentFieldId: string;\r\n saveAnswer?: (answer: AnswerInput) => Promise;\r\n};\r\n\r\nconst AddressInnerField = React.forwardRef(\r\n ({ field, parentFieldId, saveAnswer }, ref) => {\r\n const { t } = useTranslation();\r\n const googleTranslate = useGoogleTranslate();\r\n\r\n const fieldKey = getFieldKey(field, parentFieldId);\r\n const label = googleTranslate(getLabel(field));\r\n const isRequired = field.question?.isRequired ?? false;\r\n\r\n const placeHolder = field.question?.placeHolderText\r\n ? googleTranslate(field.question?.placeHolderText)\r\n : ref\r\n ? t(\"placeholders.enterALocation\")\r\n : \"\";\r\n\r\n const validate = useFieldValidation(field);\r\n\r\n const [input, meta, helpers] = useField({ name: fieldKey, validate });\r\n\r\n const inputValueRef = useRef(input.value);\r\n inputValueRef.current = input.value;\r\n \r\n const [debouncedValue, debounceControls] = useDebounce(input.value, 2000, {\r\n leading: false,\r\n trailing: true,\r\n });\r\n\r\n // Saves the answer whenever the debounced value changes.\r\n // The value of the field can change due to the user typing on it or selecting an address.\r\n // This centralizes the saving of the answer in a single place no matter how it changed.\r\n useEffect(() => {\r\n save(debouncedValue);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [debouncedValue]);\r\n\r\n // Flushes the debounced callback when the component unmounts\r\n // so values entered right before clicking \"Next\" are saved.\r\n useEffect(() => {\r\n return () => {\r\n if (debounceControls.isPending()) {\r\n // Save the absolute latest answer when this component unmounts.\r\n save(inputValueRef.current);\r\n }\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const save = async (newAnswer: AnswerInput) => {\r\n const answerId = saveAnswer ? await saveAnswer(newAnswer) : \"\";\r\n\r\n const newValue = answerId ? { ...newAnswer, answerId } : newAnswer;\r\n\r\n helpers.setValue(newValue);\r\n };\r\n\r\n const setValue = async (value: AnswerInput) => {\r\n value && helpers.setValue(value);\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n);\r\n\r\n// This has to be set here because the component is being created on an anonyous\r\n// function inside the call to React.forwardRef()\r\nAddressInnerField.displayName = \"AddressInnerField\";\r\n\r\nexport { AddressInnerField };\r\n","import { useEffect, useRef } from \"react\";\r\n\r\ntype useGoogleAddressProps = {\r\n onPlaceSelected: (place: google.maps.places.PlaceResult) => void;\r\n};\r\n\r\nconst useGoogleAddress = ({ onPlaceSelected }: useGoogleAddressProps) => {\r\n const autoCompleteRef = useRef(null);\r\n const inputRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n autoCompleteRef.current = new window.google.maps.places.Autocomplete(inputRef.current, {\r\n types: [\"address\"],\r\n });\r\n\r\n autoCompleteRef.current.addListener(\"place_changed\", async () => {\r\n if (autoCompleteRef.current) {\r\n const place = await autoCompleteRef.current.getPlace();\r\n onPlaceSelected(place);\r\n }\r\n });\r\n\r\n inputRef.current.addEventListener(\"blur\", async () => {\r\n\r\n window.setTimeout(() => {\r\n // this is a complete hack. when the browser auto complete is used\r\n // the google autocomplete list can get detached from any event (it seems)\r\n // and is stuck visible on the screen. this at least hides it\r\n const containers = document.getElementsByClassName(\"pac-container\");\r\n for (let index = 0; index < containers.length; index++)\r\n containers[index].setAttribute(\"style\", \"display: none\");\r\n }, 500);\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return inputRef;\r\n};\r\n\r\nexport { useGoogleAddress };\r\n","import React, { FC, useMemo } from \"react\";\nimport keyBy from \"lodash/keyBy\";\n\nimport { Answer, AnswerInput, Field } from \"@src/types\";\nimport { PossibleFieldValue } from \"@src/utils/formValuesTypes\";\nimport { getFieldKey } from \"@src/utils/getters\";\nimport { getAddressInnerFieldValues } from \"@src/utils/address\";\nimport { AddressInnerField } from \"./AddressInnerField\";\nimport { useGoogleAddress } from \"@src/customHooks/useGoogleAddress\";\nimport { Label } from \"@src/components/atoms/Label\";\n\nexport type PlaceSelectedResult = {\n province: string | null;\n city: string | null;\n postalCode: string | null;\n streetAddress: string | null;\n};\n\ntype AddressFieldProps = {\n id: string;\n label: string;\n fields: Field[];\n value: Record;\n error?: Record;\n setValue: (value: PossibleFieldValue) => void;\n saveAnswer?: (answer: AnswerInput) => Promise;\n};\n\nconst AddressField: FC = ({\n id,\n label,\n fields,\n value,\n setValue,\n saveAnswer,\n}) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const fieldsDictionary = useMemo(() => keyBy(fields, (field) => getFieldKey(field)), []);\n\n const onPlaceSelected = (place: google.maps.places.PlaceResult) => {\n const newValue = getAddressInnerFieldValues({ fieldsDictionary, value, place });\n\n setValue(newValue);\n };\n\n const inputRef = useGoogleAddress({ onPlaceSelected });\n\n return (\n
\n \n\n {Object.keys(fieldsDictionary).map((fieldKey) => {\n const addressField = fieldsDictionary[fieldKey];\n const questionName = addressField.question?.name || \"\";\n const isMainAddressField = questionName === \"streetAddress\";\n\n return (\n \n );\n })}\n
\n );\n};\n\nexport { AddressField };\n","import styled from \"styled-components\";\nimport { defaultTheme } from \"@src/themes\";\n\nconst AttachmentContainer = styled.div`\n display: flex;\n align-items: center;\n margin: 0 0 15px;\n`;\n\nconst AttachmentInformationContainer = styled.div`\n display: flex;\n margin-left: 15px;\n cursor: pointer;\n`;\n\nconst AttachmentActionsContainer = styled.div`\n display: flex;\n margin-left: 15px;\n margin-top: 2px;\n justify-content: space-between;\n width: 50px;\n align-items: center;\n`;\n\nconst AttachmentName = styled.p`\n font-family: ${defaultTheme.font.default};\n`;\n\nconst AttachmentImage = styled.img`\n height: 45px;\n cursor: pointer;\n box-shadow: 0px 0px 5px 0 #777;\n`;\n\nexport {\n AttachmentContainer,\n AttachmentInformationContainer,\n AttachmentActionsContainer,\n AttachmentName,\n AttachmentImage,\n};\n","import { defaultTheme } from \"@src/themes\";\nimport styled from \"styled-components\";\n\nconst FileViewerModalBackground = styled.div`\n position: fixed;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${defaultTheme.colors.values.darkgrey};\n opacity: 0.8;\n z-index: 999;\n`;\n\nconst FileViewerModalContent = styled.div`\n position: fixed;\n z-index: 1000;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 95%;\n height: 95%;\n`;\n\nconst ImageView = styled.img`\n position: absolute;\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 8px;\n`;\n\nconst PdfContainer = styled.div`\n position: absolute;\n max-width: 630px;\n max-height: 100%;\n min-height: 75%;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n`;\n\nconst FileViewerModalClose = styled.i`\n position: absolute;\n right: 0;\n top: 0;\n font-size: 22px;\n cursor: pointer;\n color: ${defaultTheme.colors.values.white};\n z-index: 5;\n`;\n\nexport { FileViewerModalBackground, FileViewerModalContent, FileViewerModalClose, PdfContainer, ImageView };","export enum MimeType {\n PDF = \"application/pdf\",\n PNG = \"image/png\",\n JPG = \"image/jpeg\",\n BMP = \"image/bmp\",\n GIF = \"image/gif\",\n}","import { defaultTheme } from \"@src/themes\";\nimport styled from \"styled-components\";\n\nconst PdfViewerContainer = styled.div`\n box-shadow: 4px 0px 40px 0 rgb(16 36 94 / 20%);\n margin: 25px;\n overflow: auto;\n border-radius: 8px;\n padding: 3px 3px 40px;\n background: ${defaultTheme.colors.values.white};\n\n canvas {\n margin: auto;\n }\n`;\n\nconst PdfControls = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n box-shadow: 0 30px 40px 0 rgb(16 36 94 / 20%);\n margin: 0 auto;\n width: fit-content;\n min-width: 150px;\n border-radius: ${defaultTheme.borderRadius};\n padding: 15px;\n text-align: center;\n`;\n\nconst PdfControlsButton = styled.span`\n display: inline-block;\n padding: 5px;\n margin: 0 15px;\n border-radius: ${defaultTheme.borderRadius};\n cursor: pointer;\n font-size: 10px;\n\n &:hover {\n color: ${defaultTheme.colors.values.white};\n background: ${defaultTheme.colors.alias.primary};\n }\n`;\n\nconst PageNumber = styled.span`\n font-size: 12px;\n`;\n\nexport { PdfViewerContainer, PdfControls, PdfControlsButton, PageNumber };\n","import React, { FunctionComponent, useState } from \"react\";\nimport { PageNumber, PdfControls, PdfControlsButton, PdfViewerContainer } from \"./styles\";\nimport { Document, Page } from \"react-pdf/dist/esm/entry.webpack\";\nimport { pdfjs } from \"react-pdf\";\nimport 'react-pdf/dist/esm/Page/TextLayer.css';\nimport 'react-pdf/dist/esm/Page/AnnotationLayer.css';\nimport { Spinner } from \"../Spinner\";\nimport { Icon } from \"../Icon\";\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;\n\ntype PdfViewerProps = {\n contentUri: string;\n printUri?: string;\n downloadUri?: string;\n};\n\nconst PdfViewer: FunctionComponent = ({ contentUri, printUri, downloadUri }) => {\n const [numPages, setNumPages] = useState(0);\n const [pageNumber, setPageNumber] = useState(1);\n\n const onDocumentLoadSuccess = (e: { numPages: number }) => {\n setNumPages(e.numPages);\n };\n\n const onIncrementPage = () => {\n if (pageNumber < numPages) setPageNumber(pageNumber + 1);\n };\n\n const onDecrementPage = () => {\n if (pageNumber > 1) setPageNumber(pageNumber - 1);\n };\n\n return (\n \n console.log(e)}\n onSourceError={(e) => console.log(e)}\n onLoadSuccess={onDocumentLoadSuccess}\n loading={}\n >\n \n
\n {numPages > 0 ? (\n \n \n \n \n \n {pageNumber} of {numPages}\n \n \n \n \n {printUri ? (\n \n \n \n ) : null}\n\n {downloadUri ? (\n \n \n \n ) : null}\n \n ) : null}\n \n );\n};\n\nexport { PdfViewer };\n","import React, { FC, useEffect } from \"react\";\nimport {\n FileViewerModalBackground,\n FileViewerModalClose,\n FileViewerModalContent,\n ImageView,\n PdfContainer,\n} from \"./style\";\nimport { MimeType } from \"@src/constants/mimeTypes\";\nimport { PdfViewer } from \"../PdfViewer/PdfViewer\";\n\nexport type FileViewerProps = {\n viewUrl: string;\n mimeType: string;\n dismiss: () => void;\n};\n\nconst FileViewer: FC = ({ viewUrl, mimeType, dismiss }) => {\n\n useEffect(() => {\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n dismiss();\n }\n };\n window.addEventListener(\"keydown\", handleEsc);\n\n return () => {\n window.removeEventListener(\"keydown\", handleEsc);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <>\n \n \n {mimeType === MimeType.PDF ? (\n \n \n \n ) : (\n \n )}\n \n \n \n );\n};\n\nexport { FileViewer };\n","import React, { FunctionComponent, useState } from \"react\";\nimport { Attachment } from \"@src/types\";\n\nimport {\n AttachmentInformationContainer,\n AttachmentContainer,\n AttachmentImage,\n AttachmentName,\n AttachmentActionsContainer,\n} from \"./styles\";\nimport AnyIcon from \"@src/assets/any.png\";\nimport ImageIcon from \"@src/assets/image.png\";\nimport PDFIcon from \"@src/assets/pdf.png\";\nimport { Icon } from \"../Icon\";\nimport { FileViewer } from \"../FileViewer\";\n\ntype AttachmentProps = {\n attachment: Attachment;\n};\n\nconst AttachmentComponent: FunctionComponent = ({ attachment }) => {\n\n const [showFile, setShowFile] = useState(false);\n\n const GetLogoImage = (fileType: string) => {\n if (fileType.includes(\"image/\")) {\n return ImageIcon;\n } else if (fileType.includes(\"application/pdf\")) {\n return PDFIcon;\n } else {\n return AnyIcon;\n }\n };\n\n return (\n {\n showFile\n ? setShowFile(false)}\n />\n : null\n }\n setShowFile(true)} src={GetLogoImage(attachment.fileType)} />\n \n setShowFile(true)}>{attachment.friendlyName}\n \n {attachment.printUri ? (\n \n \n \n ) : null}\n\n {attachment.downloadUri ? (\n \n \n \n ) : null}\n \n \n );\n};\n\nexport { AttachmentComponent };\n","import React, { FC, useEffect, useState } from \"react\";\nimport omit from \"lodash/omit\";\n\nimport { AnswerInput } from \"@src/types\";\nimport { parseStringIntoArray } from \"@src/utils/typeConverters\";\nimport { FieldWrapper, StyledCheckbox, StyledLabel, StyledRequiredLabel } from \"../../styles\";\nimport { MutlipleChoiceProps } from \"../types\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { Label } from \"@src/components/atoms/Label\";\n\nconst CheckboxField: FC = ({\n id,\n label,\n value,\n isRequired,\n options,\n pinnedValueOptions,\n sort,\n setValue,\n saveAnswer,\n}) => {\n const [answerId, setAnswerId] = useState(value.answerId ?? \"\");\n\n const googleTranslate = useGoogleTranslate();\n let selectedOptions = value?.value ? parseStringIntoArray(value.value) : [];\n\n // for fields like integrated fields it's possible the stored answer is no longer\n // an option to select from\n selectedOptions = selectedOptions.filter((x) => options.indexOf(x) > -1);\n\n if (sort) {\n options.sort();\n }\n\n if (pinnedValueOptions) {\n options = options.filter((x) => !pinnedValueOptions.includes(x));\n options.unshift(...pinnedValueOptions);\n }\n\n // Once we get an answerId, add it to the answer.\n // This id will be reused whenever a new answer is created, so this should run only once\n // after render.\n useEffect(() => {\n if (answerId) {\n setValue({ ...value, answerId });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [answerId]);\n\n const handleChange = (option: string) => async () => {\n const updatedOptions = selectedOptions.includes(option)\n ? selectedOptions.filter((selectedOption) => selectedOption !== option)\n : [...selectedOptions, option];\n\n const newAnswer: AnswerInput = omit(\n {\n ...value,\n value: JSON.stringify(updatedOptions),\n },\n \"__typename\"\n );\n\n setValue(newAnswer);\n\n const newAnswerId = saveAnswer ? await saveAnswer(newAnswer) : \"\";\n\n // Triggers the useEffect that adds the answerId to the answer.\n newAnswerId !== answerId && setAnswerId(newAnswerId);\n };\n\n return value ? (\n \n {isRequired ? : null}\n \n\n {options.map((option) => (\n \n \n {googleTranslate(option)}\n \n ))}\n\n \n \n ) : null;\n};\n\nexport { CheckboxField };\n","import dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\n\ndayjs.extend(customParseFormat);\n\ntype GetReadableDateArgs = {\n dateString: string;\n options?: Intl.DateTimeFormatOptions;\n locale?: string | string[];\n};\n\nconst getReadableDate = ({ dateString, options, locale }: GetReadableDateArgs): string => {\n try {\n const timezonePattern = /\\+\\d{2}:\\d{2}$|-\\d{2}:\\d{2}$/;\n\n if (!timezonePattern.test(dateString) && !dateString.endsWith(\"Z\")) {\n dateString += \"Z\";\n }\n const dateObject = new Date(dateString);\n\n return dateObject.toLocaleDateString(locale, options);\n } catch (e) {\n console.error(\"Unable to parse date with these options: \", { dateString, options, locale }, e);\n\n return \"\";\n }\n};\n\ntype FormatDateArgs = {\n date: Date;\n format: string;\n};\n\nconst formatDate = ({ date, format }: FormatDateArgs): string => {\n const dateObject = dayjs(date);\n\n return dateObject.isValid() ? dateObject.format(format) : \"\";\n};\n\ntype GetDateObjectArgs = {\n dateString: string | number | Date;\n format: string;\n};\n\nconst getDateObject = (args?: GetDateObjectArgs): Date => {\n try {\n const { dateString, format } = args || {\n dateString: undefined,\n format: undefined,\n };\n\n const dateObject = dayjs(dateString, format);\n\n if (dateObject.isValid()) {\n return dateObject.toDate();\n } else {\n throw new Error(\"Provided dateString and format are not valid\");\n }\n } catch (error) {\n console.error(\"Unable to parse time in this format: \", { args }, error);\n\n return new Date();\n }\n};\n\nconst getYears = (startYear = 1900, yearsInTheFuture = 5): string[] => {\n const years: string[] = [];\n const today = dayjs();\n const thisYear = today.year();\n\n for (let index = thisYear + yearsInTheFuture; index >= startYear; index--) {\n years.push(index.toString());\n }\n\n return years;\n};\n\nexport { formatDate, getDateObject, getReadableDate, getYears };\n\n","import { AnswerInput, Field } from \"@src/types\";\nimport { FieldHelperProps } from \"formik\";\n\nexport type FieldProps = {\n field: Field;\n parentQuestionId?: string;\n};\n\nexport type FieldAnswer = {\n value: string | null;\n fileType?: string;\n order?: string;\n};\n\nexport type ErrorObject = {\n value: string;\n};\n\nexport type CommonFieldProps = {\n label: string;\n id: string;\n value: AnswerInput;\n error?: string;\n touched: boolean;\n isRequired: boolean;\n setValue: FieldHelperProps[\"setValue\"];\n saveAnswer?: (answer: AnswerInput) => Promise;\n};\n\nexport type TextFieldProps = CommonFieldProps & {\n placeHolderText: string;\n maxLength?: number;\n onBlur?: (e: React.FocusEvent) => void;\n};\n\nexport type MutlipleChoiceProps = CommonFieldProps & {\n options: string[];\n pinnedValueOptions: string[];\n sort: boolean;\n};\n\nexport const DateFormats = {\n Long: \"dddd MMMM DD, YYYY\",\n Standard: \"MMMM DD, YYYY\",\n YearMonthDay: \"YYYY-MM-DD\",\n MonthDayYear: \"MM/DD/YYYY\",\n};\n","import React from \"react\";\r\n\r\ninterface Props {\r\n id: string;\r\n label: string;\r\n placeholder: string;\r\n selectedOption?: string | null;\r\n options: string[];\r\n class?: string;\r\n disabled?: boolean;\r\n\r\n onChange?(value: string): void;\r\n}\r\n\r\nexport class DateOption extends React.Component {\r\n public render(): JSX.Element {\r\n const classNames = [\"date-option\"];\r\n\r\n if (this.props.class) {\r\n classNames.push(this.props.class);\r\n }\r\n\r\n return (\r\n
\r\n \r\n {this.props.label}\r\n {this.renderList()}\r\n \r\n
\r\n );\r\n }\r\n\r\n private renderList() {\r\n return (\r\n this.onClick(e)}\r\n onChange={(event) => this.onSelected(event.target.value)}\r\n disabled={!this.props.options || this.props.options.length === 0 || this.props.disabled}\r\n >\r\n \r\n {this.props.options.map((x, index) => (\r\n \r\n ))}\r\n \r\n );\r\n }\r\n\r\n private onSelected(value: string) {\r\n this.props.onChange && value !== \"-1\" && this.props.onChange(value);\r\n this.setState({ openList: false });\r\n }\r\n\r\n private onClick(event: React.MouseEvent) {\r\n event.stopPropagation();\r\n }\r\n}\r\n","import React from \"react\";\r\nimport dayjs from \"dayjs\";\r\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\r\nimport { i18next } from \"@src/translations\";\r\nimport common_en from \"@src/translations/en/common.json\";\r\n\r\nimport { getYears } from \"@src/utils/dateTime\";\r\nimport { Icon } from \"@src/components/atoms/Icon\";\r\nimport { DateFormats, ErrorObject } from \"../types\";\r\nimport { DateOption } from \"../../atoms/DateOption\";\r\nimport { AnswerInput } from \"@src/types\";\r\nimport { DateFillWrapper, FieldWrapper, StyledRequiredLabel } from \"@src/components/styles\";\r\nimport { FieldError } from \"@src/components/atoms/FieldError\";\r\nimport { Normalize } from \"react-i18next\";\r\nimport { Label } from \"@src/components/atoms/Label\";\r\nimport { useGoogleTranslate } from \"@src/utils/translation\";\r\n\r\ndayjs.extend(customParseFormat);\r\n\r\ninterface _Props {\r\n id: string;\r\n minDate?: dayjs.Dayjs;\r\n isRequired?: boolean;\r\n format?: string;\r\n answer: AnswerInput;\r\n readonly?: boolean;\r\n disabled?: boolean;\r\n years?: string[];\r\n hideState?: boolean;\r\n allowChangeOnInvalid?: boolean;\r\n label: string;\r\n error?: ErrorObject | string;\r\n showClearIcon?: boolean;\r\n\r\n setValue?(value: AnswerInput): void;\r\n saveAnswer?(value: AnswerInput): Promise;\r\n googleTranslate: (text: string) => string;\r\n}\r\n\r\ninterface State {\r\n year: number | null;\r\n month: number | null;\r\n day: number | null;\r\n relativeMode: boolean;\r\n}\r\n\r\nexport class _DateField extends React.Component<_Props, State> {\r\n private years: string[];\r\n private months: string[];\r\n\r\n public constructor(props: _Props) {\r\n super(props);\r\n\r\n this.years = props.years ? props.years : getYears();\r\n this.months = [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\r\n\r\n const value = this.getValue();\r\n\r\n this.state = {\r\n year: value && value.isValid() ? value.year() : null,\r\n month: value && value.isValid() ? value.month() + 1 : null,\r\n day: value && value.isValid() ? value.date() : null,\r\n relativeMode: false,\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps: { answer: AnswerInput }) {\r\n if (prevProps.answer !== this.props.answer) {\r\n const value = this.getValue();\r\n\r\n this.setState({\r\n year: value && value.isValid() ? value.year() : null,\r\n month: value && value.isValid() ? value.month() + 1 : null,\r\n day: value && value.isValid() ? value.date() : null,\r\n relativeMode: false,\r\n });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const stateValue = this.getValueState();\r\n const value = this.getValue();\r\n const days = this.getDays();\r\n\r\n return (\r\n \r\n {this.props.isRequired ? : null}\r\n \r\n\r\n \r\n
\r\n {this.props.showClearIcon && (this.state.year || this.state.month || this.state.day) ? (\r\n this.removeAnswer()} />\r\n ) : null}\r\n\r\n this.onYearChanged(x)}\r\n label={this.t(\"labels.year\")}\r\n placeholder=\"yyyy\"\r\n />\r\n\r\n /\r\n\r\n this.onMonthChanged(x)}\r\n label={this.t(\"labels.month\")}\r\n placeholder=\"mm\"\r\n />\r\n\r\n /\r\n\r\n this.onDayChanged(x)}\r\n label={this.t(\"labels.day\")}\r\n placeholder=\"dd\"\r\n />\r\n
\r\n\r\n {!this.props.hideState ? (\r\n value && value.isValid() ? (\r\n

\r\n {this.t(\"messages.youHaveSelected\", {\r\n dateTime: this.props.googleTranslate(value.format(this.getFormat())),\r\n })}\r\n

\r\n ) : stateValue.isValid() && !this.meetsMinimum(stateValue) ? (\r\n \r\n {this.t(\"messages.selectionDoesNotExceed\", {\r\n date: stateValue.format(this.getFormat()),\r\n minDate: this.props.minDate ? this.props.minDate.format(this.getFormat()) : \"\",\r\n })}\r\n

\r\n ) : (\r\n \r\n {this.t(\"messages.noDateSelected\")}\r\n

\r\n )\r\n ) : null}\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n private removeAnswer() {\r\n this.setState(\r\n {\r\n year: null,\r\n month: null,\r\n day: null,\r\n },\r\n () => {\r\n const emptyAnswer = {\r\n ...this.props.answer,\r\n value: \"\",\r\n };\r\n\r\n this.props.setValue && this.props.setValue(emptyAnswer);\r\n this.props.saveAnswer && this.props.saveAnswer(emptyAnswer);\r\n }\r\n );\r\n }\r\n\r\n private onYearChanged(year: string) {\r\n this.setState({ year: parseInt(year, 10) }, () => this.modified());\r\n }\r\n\r\n private onMonthChanged(month: string) {\r\n this.setState({ month: parseInt(month, 10) }, () => this.modified());\r\n }\r\n\r\n private onDayChanged(day: string) {\r\n this.setState({ day: parseInt(day, 10) }, () => this.modified());\r\n }\r\n\r\n private isValid(): boolean {\r\n const invalidStates = [null, undefined, NaN];\r\n\r\n return (\r\n !invalidStates.includes(this.state.year) &&\r\n !invalidStates.includes(this.state.month) &&\r\n !invalidStates.includes(this.state.day)\r\n );\r\n }\r\n\r\n private getValue(): dayjs.Dayjs {\r\n const currentValue = this.props.answer ? this.props.answer.value : \"\";\r\n let parsedValue = dayjs(currentValue, this.getFormat());\r\n\r\n if (!parsedValue.isValid()) {\r\n parsedValue = dayjs(currentValue);\r\n }\r\n\r\n return parsedValue;\r\n }\r\n\r\n private getValueState(): dayjs.Dayjs {\r\n const formattedMonth =\r\n this.state.month && this.state.month < 10 ? `0${this.state.month}` : this.state.month;\r\n const formattedDay =\r\n this.state.day && this.state.day < 10 ? `0${this.state.day}` : this.state.day;\r\n\r\n return dayjs(`${this.state.year}${formattedMonth}${formattedDay}`);\r\n }\r\n\r\n private getDays() {\r\n const days: string[] = [];\r\n\r\n if (this.state.year && this.state.month) {\r\n const daysInMonth = new Date(this.state.year, this.state.month, 0).getDate();\r\n\r\n for (let index = 1; index <= daysInMonth; index++) {\r\n if (index < 10) {\r\n days.push(`0${index}`);\r\n } else {\r\n days.push(index.toString());\r\n }\r\n }\r\n }\r\n\r\n return days;\r\n }\r\n\r\n private getFormat() {\r\n return Object.values(DateFormats).includes(this.props.format ?? \"\")\r\n ? this.props.format\r\n : DateFormats.MonthDayYear;\r\n }\r\n\r\n private meetsMinimum(currentValue: dayjs.Dayjs): boolean {\r\n if (this.props.minDate === undefined) {\r\n return true;\r\n }\r\n\r\n return this.props.minDate < currentValue;\r\n }\r\n\r\n private async modified() {\r\n const isValid = this.isValid();\r\n\r\n if (!this.props.readonly && (isValid || this.props.allowChangeOnInvalid)) {\r\n const value = this.getValueState();\r\n\r\n if (this.meetsMinimum(value)) {\r\n const format = this.getFormat();\r\n\r\n const newAnswer = {\r\n ...this.props.answer,\r\n value: value.format(format),\r\n };\r\n\r\n this.props.setValue && this.props.setValue(newAnswer);\r\n\r\n const answerId = this.props.saveAnswer ? await this.props.saveAnswer(newAnswer) : \"\";\r\n this.props.setValue && this.props.setValue({ ...newAnswer, answerId });\r\n }\r\n }\r\n }\r\n\r\n private getError() {\r\n if (typeof this.props.error === \"string\" || this.props.error instanceof String) {\r\n return this.props.error as string;\r\n } else {\r\n return this.props.error?.value || \"\";\r\n }\r\n }\r\n\r\n private t(translationKey: Normalize, variables?: Record) {\r\n return i18next.t(translationKey, variables);\r\n }\r\n}\r\n\r\ninterface Props {\r\n id: string;\r\n minDate?: dayjs.Dayjs;\r\n isRequired?: boolean;\r\n format?: string;\r\n answer: AnswerInput;\r\n readonly?: boolean;\r\n disabled?: boolean;\r\n years?: string[];\r\n hideState?: boolean;\r\n allowChangeOnInvalid?: boolean;\r\n label: string;\r\n error?: ErrorObject | string;\r\n showClearIcon?: boolean;\r\n\r\n setValue?(value: AnswerInput): void;\r\n saveAnswer?(value: AnswerInput): Promise;\r\n}\r\n\r\n// Passes a hook down to the class component\r\nexport const DateField = (props: Props) => {\r\n const googleTranslate = useGoogleTranslate();\r\n return <_DateField {...props} googleTranslate={googleTranslate} />;\r\n};\r\n","import React, { Component, ErrorInfo } from \"react\";\nimport { Normalize } from \"react-i18next\";\n\nimport common_en from \"@src/translations/en/common.json\";\nimport { i18next } from \"@src/translations\";\n\ninterface Props {\n children: JSX.Element;\n name?: string;\n}\n\ninterface State {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends Component {\n public state: State = {\n hasError: false,\n };\n\n public static getDerivedStateFromError(): State {\n return { hasError: true };\n }\n\n public componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n console.error(`Uncaught error in ${this.props.name}:`, error, errorInfo);\n }\n\n private t(translationKey: Normalize, variables?: Record) {\n return i18next.t(translationKey, variables);\n }\n\n public render(): JSX.Element {\n if (this.state.hasError) {\n // TODO: Redirect to full page error message with generic message\n return

{this.t(\"errors.500\")}

;\n }\n\n return this.props.children;\n }\n}\n\nexport { ErrorBoundary };\n","import React, { FC } from \"react\";\n\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { FieldWrapper, StyledRequiredLabel } from \"@src/components/styles\";\nimport { AnswerInput, Field } from \"@src/types\";\nimport { FieldSelector } from \"../FieldSelector\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { useTranslation } from \"react-i18next\";\n\ntype IntegratedDataFieldProps = {\n id: string;\n label: string;\n field: Field;\n isRequired: boolean;\n readOnly: boolean;\n originalValue: AnswerInput;\n error?: string;\n saveAnswer?: (answer: AnswerInput) => Promise;\n};\n\nconst IntegratedDataField: FC = ({\n id,\n label,\n field,\n isRequired,\n readOnly,\n originalValue,\n saveAnswer,\n}) => {\n const { t } = useTranslation();\n\n return (\n \n {isRequired ? : null}\n {label ? : null}\n {\" \"}\n \n {originalValue?.value ? originalValue?.value : t(\"messages.noValueOnRecord\")}\n \n {!readOnly ? (\n \n ) : null}\n \n \n );\n};\n\nexport { IntegratedDataField };\n","import { useField } from \"formik\";\nimport React, { FC } from \"react\";\n\nimport { ErrorBoundary } from \"@src/components/atoms/ErrorBoundary\";\nimport { StyledDivider } from \"@src/components/styles\";\nimport { AnswerInput, Field, FieldType } from \"@src/types\";\nimport {\n getEquationAggregateQuestions,\n getEquationCalculatedQuestions,\n getEquationInputQuestions,\n} from \"@src/utils/equations\";\nimport { PossibleFieldValue } from \"@src/utils/formValuesTypes\";\nimport {\n getDateFormat,\n getFieldKey,\n getHeaderText,\n getLabel,\n getPhoneFormat,\n getPinnedValueOptions,\n getSubheaderText,\n getValueOptions,\n} from \"@src/utils/getters\";\nimport { useFieldValidation } from \"@src/utils/validation\";\nimport {\n AddressField,\n CheckboxField,\n DateField,\n DropdownConditionalField,\n DropdownField,\n EquationsField,\n HeaderField,\n ParagraphField,\n PhoneField,\n RatingField,\n RepeatableQuestionField,\n TextAreaField,\n TextField,\n TimeField,\n UploadField,\n YesNoConditionalField,\n YesNoField,\n} from \"..\";\nimport { IntegratedDataField } from \"../IntegratedDataField\";\nimport { getAddressInnerFields } from \"@src/utils/address\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\nexport type FieldSelectorProps = {\n field: Field;\n containerQuestionId?: string;\n isCollapsed?: boolean;\n uploadUrl?: string;\n viewFileUrl?: string;\n hideLabel?: boolean;\n isTicketQuestion?: boolean;\n saveAnswer?: (answer: AnswerInput) => Promise;\n deleteAnswer?: (answer: AnswerInput) => Promise;\n handleToggleCollapse?: (id: string) => void;\n fileSelected?: (fieldId: string, questionId: string, file: File) => void;\n fileRemoved?: (fieldId: string, questionId: string) => void;\n};\n\nconst FieldSelector: FC = ({\n field,\n containerQuestionId,\n isCollapsed,\n uploadUrl,\n viewFileUrl,\n hideLabel,\n isTicketQuestion,\n saveAnswer,\n deleteAnswer,\n handleToggleCollapse,\n fileSelected,\n fileRemoved,\n}) => {\n const googleTranslate = useGoogleTranslate();\n const id = getFieldKey(field, containerQuestionId);\n const label = hideLabel ? \"\" : googleTranslate(getLabel(field));\n const isRequired = field.question?.isRequired ?? false;\n const placeHolder = field.question?.placeHolderText\n ? googleTranslate(field.question?.placeHolderText)\n : \"\";\n\n const validate = useFieldValidation(field);\n const [input, meta, helpers] = useField({ name: id, validate });\n const error = meta.error;\n\n const setValue = async (value: PossibleFieldValue) => {\n value && helpers.setValue(value);\n };\n\n if (field.type !== FieldType.Header && field.type !== FieldType.Section && isCollapsed) {\n return null;\n }\n\n switch (field.type) {\n case FieldType.MultiFieldConditional:\n case FieldType.Conditional:\n return (\n \n \n \n );\n\n case FieldType.SelectConditional:\n return (\n \n \n \n );\n\n case FieldType.RepeatableQuestion:\n return (\n \n \n \n );\n\n case FieldType.Select:\n case FieldType.Dropdown:\n return (\n \n \n \n );\n\n case FieldType.Multiline:\n return (\n \n \n \n );\n\n case FieldType.Multiselect:\n case FieldType.Selectmultiple:\n return (\n \n \n \n );\n\n case FieldType.Singleline:\n case FieldType.PostalZip:\n return (\n \n \n \n );\n\n case FieldType.Yesno:\n return (\n \n \n \n );\n\n case FieldType.Header:\n case FieldType.Section:\n return (\n \n \n \n );\n\n case FieldType.Divider:\n return ;\n\n case FieldType.Descriptivetext:\n return (\n \n \n \n );\n\n case FieldType.Address:\n return (\n \n }\n setValue={setValue}\n saveAnswer={saveAnswer}\n />\n \n );\n\n case FieldType.Date:\n return (\n \n \n \n );\n\n case FieldType.Phonenumber:\n return (\n \n \n \n );\n\n case FieldType.Rating:\n return (\n \n \n \n );\n\n case FieldType.Time:\n return (\n \n \n \n );\n\n case FieldType.Upload:\n return (\n \n \n \n );\n\n case FieldType.Equations:\n return saveAnswer && deleteAnswer ? (\n \n \n \n ) : null;\n\n case FieldType.IntegratedData:\n return saveAnswer && field.fields && field.fields.length === 1 ? (\n \n \n \n ) : null;\n\n default:\n return null;\n }\n};\n\nexport { FieldSelector };\n","import React, { ChangeEventHandler, FC } from \"react\";\nimport omit from \"lodash/omit\";\n\nimport { getPinnedValueOptions, getValueOptions } from \"@src/utils/getters\";\nimport {\n FieldWrapper,\n StyledSelect,\n StyledOption,\n StyledRequiredLabel,\n} from \"@src/components/styles\";\nimport { AnswerInput, Field } from \"@src/types\";\nimport { FieldSelector } from \"../FieldSelector\";\nimport { ConditionalValue } from \"@src/utils/formValuesTypes\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { getFormInitialValues } from \"@src/utils/formValues\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { useTranslation } from \"react-i18next\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { deleteNestedAnswers } from \"@src/utils/answers\";\n\ntype DropdownConditionalProps = {\n id: string;\n label: string;\n value: ConditionalValue;\n isRequired: boolean;\n field: Field;\n uploadUrl?: string;\n viewFileUrl?: string;\n error?: Record | string;\n setValue: (value: ConditionalValue) => void;\n saveAnswer?: (answer: AnswerInput) => Promise;\n deleteAnswer?: (answer: AnswerInput) => Promise;\n};\n\nconst DropdownConditionalField: FC = ({\n id,\n label,\n value,\n isRequired,\n field,\n uploadUrl,\n viewFileUrl,\n setValue,\n saveAnswer,\n deleteAnswer,\n}) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n\n let options = getValueOptions(field);\n const pinnedValueOptions = getPinnedValueOptions(field);\n\n if (field.question?.sortValueOptions) {\n options.sort();\n }\n\n if (pinnedValueOptions) {\n options = options.filter((x) => !pinnedValueOptions.includes(x));\n options.unshift(...pinnedValueOptions);\n }\n\n const selectedIndex = getValueOptions(field).findIndex((option) => option === value.answer.value);\n const selectedOptionFields =\n selectedIndex >= 0 && field.fields && field.fields[selectedIndex]\n ? field.fields[selectedIndex].fields || []\n : [];\n\n const handleChange: ChangeEventHandler = async ({\n target: { value: eventValue },\n }) => {\n const newAnswer: AnswerInput = omit({ ...value.answer, value: eventValue }, \"__typename\");\n\n if (eventValue !== value.answer.value) {\n if (!eventValue) {\n const allFields = field.fields\n ? field.fields.flatMap((fieldGroup) => (fieldGroup.fields ? fieldGroup.fields : []))\n : [];\n\n const clearedFields = getFormInitialValues({ fields: allFields });\n\n deleteNestedAnswers({ clearedFields, value, deleteAnswer });\n\n const newValue = {\n ...clearedFields,\n answer: newAnswer,\n };\n\n setValue(newValue);\n\n const answerId = saveAnswer ? await saveAnswer(newValue.answer) : \"\";\n\n setValue({\n ...newValue,\n answer: {\n ...newValue.answer,\n answerId,\n },\n });\n } else {\n const newValue = {\n ...value,\n answer: newAnswer,\n };\n\n setValue(newValue);\n\n const answerId = saveAnswer ? await saveAnswer(newValue.answer) : \"\";\n\n setValue({\n ...newValue,\n answer: {\n ...newValue.answer,\n answerId,\n },\n });\n }\n }\n };\n\n return (\n \n {isRequired ? : null}\n \n\n \n {t(\"labels.selectAnOption\")}\n\n {options.map((option) => (\n \n {googleTranslate(option)}\n \n ))}\n \n\n {selectedOptionFields.map((field) => (\n \n ))}\n \n \n );\n};\n\nexport { DropdownConditionalField };\n","import React, { FC } from \"react\";\n\nimport { HeaderContainer, StyledHeader, StyledSubheader } from \"../../styles\";\n\ntype HeaderFieldProps = {\n fieldId: string;\n headerText: string;\n subheaderText?: string;\n collapsible: boolean;\n isCollapsed: boolean;\n handleToggleCollapse?: (fieldId: string) => void;\n};\n\nconst HeaderField: FC = ({\n fieldId,\n headerText,\n subheaderText,\n collapsible,\n isCollapsed,\n handleToggleCollapse,\n}) => {\n return (\n \n \n {headerText}\n {collapsible && handleToggleCollapse ? (\n isCollapsed ? (\n handleToggleCollapse(fieldId)} className=\"fa fa-caret-right\">\n ) : (\n handleToggleCollapse(fieldId)} className=\"fa fa-caret-down\">\n )\n ) : null}\n \n {isCollapsed ? null : {subheaderText}}\n \n );\n};\n\nexport { HeaderField };\n","import React, { FC } from \"react\";\nimport { Froala } from \"@src/components/atoms/Froala\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\ntype ParagraphFieldProps = {\n text: string;\n};\n\nconst ParagraphField: FC = ({ text }) => {\n const googleTranslate = useGoogleTranslate();\n\n return ;\n};\n\nexport { ParagraphField };\n","import React, { ChangeEventHandler, FC, FocusEventHandler } from \"react\";\nimport NumberFormat from \"react-number-format\";\nimport omit from \"lodash/omit\";\n\nimport { FieldWrapper, StyledRequiredLabel, StyledTextInput } from \"@src/components/styles\";\nimport { TextFieldProps } from \"../types\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport styled from \"styled-components\";\nimport { defaultTheme } from \"@src/themes\";\nimport { Label } from \"@src/components/atoms/Label\";\n\ntype PhoneFieldProps = TextFieldProps & {\n phoneFormat: string;\n};\n\nconst PhoneErrorContainer = styled.div<{ hasError?: boolean }>`\n > input {\n width: 100%;\n background-color: ${(props) => (props.hasError ? \"#ffdfdf\" : \"inherit\")};\n border: 1.25px solid\n ${(props) => (props.hasError ? \"red\" : defaultTheme.colors.fields.bordercolor)};\n }\n`;\n\nconst PhoneField: FC = ({\n id,\n label,\n error,\n touched,\n phoneFormat,\n value,\n isRequired,\n setValue,\n saveAnswer,\n}) => {\n const handleChange: ChangeEventHandler = (e) =>\n setValue({ ...value, value: e.target.value });\n\n const handleBlur: FocusEventHandler = async (e) => {\n const newAnswer = { ...value, value: e.target.value };\n\n const answerId = saveAnswer ? await saveAnswer(omit(newAnswer, \"__typename\")) : \"\";\n\n setValue({\n ...newAnswer,\n answerId,\n });\n };\n\n return (\n \n {isRequired ? : null}\n \n\n \n \n \n\n \n \n );\n};\n\nexport { PhoneField };\n","import styled from \"styled-components\";\r\n\r\nconst ClearIconWrapper = styled.div`\r\n margin: 0 5px;\r\n`;\r\n\r\nexport { ClearIconWrapper };\r\n","import React, { FC } from \"react\";\nimport { FaStar, FaRegStar } from \"react-icons/fa\";\nimport omit from \"lodash/omit\";\n\nimport {\n FieldWrapper,\n StyledRequiredLabel,\n StyledSelectedStar,\n StyledUnselectedStar,\n} from \"@src/components/styles\";\nimport { CommonFieldProps } from \"../types\";\nimport { AnswerInput } from \"@src/types\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { ClearIconWrapper } from \"./style\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { Label } from \"@src/components/atoms/Label\";\n\ntype RatingFieldProps = CommonFieldProps;\n\nconst RatingField: FC = ({\n id,\n label,\n value,\n isRequired,\n setValue,\n saveAnswer,\n}) => {\n const rating = value?.value ? parseInt(value.value, 10) : 0;\n\n const handleChange = (rating: number) => async () => {\n const newAnswer: AnswerInput = {\n ...value,\n value: rating.toString(),\n };\n\n setValue(newAnswer);\n\n const answerId = saveAnswer ? await saveAnswer(omit(newAnswer, \"__typename\")) : \"\";\n\n setValue({\n ...newAnswer,\n answerId,\n });\n };\n\n const handleClear = () => {\n const newAnswer: AnswerInput = {\n ...value,\n value: \"\",\n };\n\n setValue(newAnswer);\n saveAnswer && saveAnswer(omit(newAnswer, \"__typename\"));\n };\n\n const selectedStar = (\n \n \n \n );\n\n const unSelectedStar = (\n \n \n \n );\n\n return (\n \n {isRequired ? : null}\n \n\n
\n
\n {rating > 0 ? selectedStar : unSelectedStar}\n
\n
\n {rating > 1 ? selectedStar : unSelectedStar}\n
\n
\n {rating > 2 ? selectedStar : unSelectedStar}\n
\n
\n {rating > 3 ? selectedStar : unSelectedStar}\n
\n
\n {rating > 4 ? selectedStar : unSelectedStar}\n
\n {rating > 0 ? (\n \n \n \n ) : null}\n
\n \n
\n );\n};\n\nexport { RatingField };\n","import React, { FC } from \"react\";\nimport { FaStar, FaRegStar } from \"react-icons/fa\";\n\nimport {\n StyledAnswerRow,\n StyledDisplayLabel,\n StyledSelectedStar,\n StyledUnselectedStar,\n} from \"@src/components/styles\";\nimport { Field } from \"@src/types\";\n\ntype RatingFieldProps = {\n field: Field;\n label: string;\n value: string;\n};\n\nconst RatingDisplayField: FC = ({ field, label, value }) => {\n const rating = value ? parseInt(value, 10) : 0;\n\n const selectedStar = (\n \n \n \n );\n\n const unSelectedStar = (\n \n \n \n );\n\n return (\n \n {label} \n {rating > 0 ? selectedStar : unSelectedStar}\n {rating > 1 ? selectedStar : unSelectedStar}\n {rating > 2 ? selectedStar : unSelectedStar}\n {rating > 3 ? selectedStar : unSelectedStar}\n {rating > 4 ? selectedStar : unSelectedStar}\n \n );\n};\n\nexport { RatingDisplayField };\n","import React, { FC } from \"react\";\nimport omit from \"lodash/omit\";\n\nimport {\n FieldWrapper,\n StyledOption,\n StyledRequiredLabel,\n StyledSelect,\n} from \"@src/components/styles\";\nimport { MutlipleChoiceProps } from \"../types\";\nimport { AnswerInput } from \"@src/types\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { useTranslation } from \"react-i18next\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { Label } from \"@src/components/atoms/Label\";\n\nconst DropdownField: FC = ({\n id,\n label,\n value,\n options,\n pinnedValueOptions,\n sort,\n isRequired,\n error,\n touched,\n setValue,\n saveAnswer,\n}) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n\n if (sort) {\n options.sort();\n }\n\n if (pinnedValueOptions) {\n options = options.filter((x) => !pinnedValueOptions.includes(x));\n options.unshift(...pinnedValueOptions);\n }\n\n const handleChange = async (e: React.ChangeEvent) => {\n const newAnswer: AnswerInput = omit(\n {\n ...value,\n value: e.target.value,\n },\n \"__typename\"\n );\n\n setValue(newAnswer);\n\n const answerId = saveAnswer ? await saveAnswer(newAnswer) : \"\";\n\n setValue({\n ...newAnswer,\n answerId,\n });\n };\n\n return (\n \n {isRequired ? : null}\n \n\n \n {t(\"labels.selectAnOption\")}\n\n {options.map((option) => (\n \n {googleTranslate(option)}\n \n ))}\n \n \n \n );\n};\n\nexport { DropdownField };\n","import React, { ChangeEventHandler, FC, FocusEventHandler } from \"react\";\nimport omit from \"lodash/omit\";\n\nimport {\n FieldWrapper,\n MaxLengthMessage,\n StyledRequiredLabel,\n StyledTextArea,\n} from \"@src/components/styles\";\nimport { TextFieldProps } from \"../types\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { useTranslation } from \"react-i18next\";\n\ntype TextAreaFieldProps = TextFieldProps;\n\nconst TextAreaField: FC = ({\n label,\n id,\n value,\n isRequired,\n error,\n touched,\n maxLength,\n placeHolderText,\n setValue,\n saveAnswer,\n}) => {\n const { t } = useTranslation();\n const handleChange: ChangeEventHandler = (event) =>\n setValue({ ...value, value: event.target.value });\n\n const handleBlur: FocusEventHandler = async (event) => {\n const newValue = { ...value, value: event.target.value };\n\n const answerId = saveAnswer ? await saveAnswer(omit(newValue, \"__typename\")) : \"\";\n\n setValue({\n ...newValue,\n answerId,\n });\n };\n\n return (\n \n {isRequired ? : null}\n \n\n {maxLength && maxLength > 0 ? (\n {t(\"labels.characterLimit\", { length: maxLength })}\n ) : null}\n 0 ? maxLength : undefined}\n placeholder={placeHolderText ? placeHolderText : undefined}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n \n \n );\n};\n\nexport { TextAreaField };\n","import React from \"react\";\r\nimport { i18next } from \"@src/translations\";\r\nimport common_en from \"@src/translations/en/common.json\";\r\n\r\nimport { DateOption } from \"@src/components/atoms/DateOption\";\r\nimport { Icon } from \"@src/components/atoms/Icon\";\r\nimport { AnswerInput } from \"@src/types\";\r\nimport { DateFillWrapper, FieldWrapper, StyledRequiredLabel } from \"@src/components/styles\";\r\nimport { ErrorObject } from \"../types\";\r\nimport { FieldError } from \"@src/components/atoms/FieldError\";\r\nimport { Normalize } from \"react-i18next\";\r\nimport { Label } from \"@src/components/atoms/Label\";\r\n\r\ninterface Props {\r\n id: string;\r\n isRequired?: boolean;\r\n value: AnswerInput;\r\n readonly?: boolean;\r\n hideState?: boolean;\r\n allowChangeOnInvalid?: boolean;\r\n disabled?: boolean;\r\n label: string;\r\n error?: ErrorObject | string;\r\n showClearIcon?: boolean;\r\n\r\n setValue?(value: AnswerInput): void;\r\n saveAnswer?(answer: AnswerInput): Promise;\r\n}\r\n\r\ninterface State {\r\n hour?: string | null;\r\n minute?: string | null;\r\n amPm?: string | null;\r\n relativeMode: boolean;\r\n}\r\n\r\nexport class TimeField extends React.Component {\r\n private hours = [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\r\n private minutes: string[];\r\n private amPmOptions: string[] = [\"AM\", \"PM\"];\r\n\r\n public constructor(props: Props) {\r\n super(props);\r\n\r\n const { hour, minute, amPm } = this.getValue();\r\n this.minutes = [];\r\n\r\n for (let index = 0; index < 60; index++) {\r\n this.minutes.push(index < 10 ? `0${index}` : `${index}`);\r\n }\r\n\r\n this.state = {\r\n hour,\r\n minute,\r\n amPm,\r\n relativeMode: false,\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps: { value: AnswerInput }) {\r\n if (prevProps.value !== this.props.value) {\r\n const { hour, minute, amPm } = this.getValue();\r\n\r\n this.setState({\r\n hour,\r\n minute,\r\n amPm,\r\n });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n \r\n {this.props.isRequired ? : null}\r\n \r\n\r\n \r\n
\r\n {this.props.showClearIcon &&\r\n (this.state.hour || this.state.minute || this.state.amPm) ? (\r\n this.removeAnswer()} />\r\n ) : null}\r\n\r\n this.onHourChanged(x)}\r\n label={this.t(\"labels.hour\")}\r\n placeholder=\"hh\"\r\n />\r\n\r\n :\r\n\r\n this.onMinuteChanged(x)}\r\n label={this.t(\"labels.minute\")}\r\n placeholder=\"mm\"\r\n />\r\n\r\n this.onAmPmChanged(x)}\r\n label={this.t(\"labels.amPm\")}\r\n placeholder=\"--\"\r\n />\r\n
\r\n\r\n {!this.props.hideState ? (\r\n this.isValid() ? (\r\n

\r\n {this.t(\"messages.youHaveSelected\", { dateTime: this.format() })}\r\n

\r\n ) : (\r\n

\r\n {this.t(\"messages.noTimeSelected\")}\r\n

\r\n )\r\n ) : null}\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n private removeAnswer() {\r\n this.setState(\r\n {\r\n hour: null,\r\n minute: null,\r\n amPm: null,\r\n },\r\n () => {\r\n const emptyAnswer = {\r\n ...this.props.value,\r\n value: \"\",\r\n };\r\n\r\n this.props.setValue && this.props.setValue(emptyAnswer);\r\n this.props.saveAnswer && this.props.saveAnswer(emptyAnswer);\r\n }\r\n );\r\n }\r\n\r\n private getValue() {\r\n const selectedTime = this.props.value;\r\n const hour = selectedTime.value ? selectedTime.value.substring(0, 2) : null;\r\n const minute = selectedTime.value ? selectedTime.value.substring(3, 5) : null;\r\n const amPm = selectedTime.value ? selectedTime.value.substring(6, 8) : null;\r\n\r\n return { hour, minute, amPm };\r\n }\r\n\r\n private format() {\r\n return `${this.state.hour}:${this.state.minute} ${this.state.amPm}`;\r\n }\r\n\r\n private onHourChanged(hour: string) {\r\n this.setState({ hour }, () => this.modified());\r\n }\r\n\r\n private onMinuteChanged(minute: string) {\r\n this.setState({ minute }, () => this.modified());\r\n }\r\n\r\n private onAmPmChanged(amPm: string) {\r\n this.setState({ amPm }, () => this.modified());\r\n }\r\n\r\n private isValid(): boolean {\r\n return !!this.state.hour && !!this.state.minute && !!this.state.amPm;\r\n }\r\n\r\n private async modified() {\r\n const isValid = this.isValid();\r\n\r\n if (!this.props.readonly && (isValid || this.props.allowChangeOnInvalid)) {\r\n const newAnswer = {\r\n ...this.props.value,\r\n value: this.format(),\r\n };\r\n\r\n this.props.setValue && this.props.setValue(newAnswer);\r\n\r\n const answerId = this.props.saveAnswer ? await this.props.saveAnswer(newAnswer) : \"\";\r\n\r\n this.props.setValue &&\r\n this.props.setValue({\r\n ...newAnswer,\r\n answerId,\r\n });\r\n }\r\n }\r\n\r\n private getError() {\r\n if (typeof this.props.error === \"string\" || this.props.error instanceof String) {\r\n return this.props.error as string;\r\n } else {\r\n return this.props.error?.value || \"\";\r\n }\r\n }\r\n\r\n private t(text: Normalize, options?: Record) {\r\n return i18next.t(text, options);\r\n }\r\n}\r\n","import { StyledIcon } from \"@src/components/atoms/Icon\";\nimport { DefaultTheme } from \"@src/themes/default\";\nimport React, { FC } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\n\nconst TrashIcon = styled(StyledIcon)`\n padding: 15px;\n`;\n\nexport type TrashButtonProps = {\n title: string;\n testId?: string;\n style?: React.CSSProperties;\n onClick: (e: React.MouseEvent) => void;\n};\n\nconst TrashButton: FC = ({ title, testId, style, onClick }) => {\n const theme = useTheme() as DefaultTheme;\n return (\n onClick(e)}\n title={title}\n data-testid={testId}\n style={style}\n />\n );\n};\n\nexport { TrashButton };\n","import React, {\n ChangeEventHandler,\n DragEventHandler,\n FC,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport PdfIcon from \"@src/assets/pdf.png\";\nimport FileIcon from \"@src/assets/any.png\";\nimport UploadIcon from \"@src/assets/upload.png\";\nimport { MimeType } from \"@src/constants/mimeTypes\";\nimport omit from \"lodash/omit\";\nimport { FieldHelperProps } from \"formik\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport {\n FieldWrapper,\n FileThumbnail,\n PdfThumbnail,\n PreviewImage,\n ProgressMessage,\n StyledRequiredLabel,\n StyledUploadContainer,\n StyledUploadField,\n FieldInformationLabel,\n UploadButton,\n UploadImage,\n UploadPreview,\n} from \"@src/components/styles\";\nimport { TrashButton } from \"./TrashButton\";\nimport { AnswerInput } from \"@src/types\";\nimport axios, { AxiosProgressEvent } from \"axios\";\nimport { FileViewer } from \"@src/components/atoms/FileViewer\";\nimport {\n FieldError,\n StyledErrorContainer,\n StyledFieldError,\n} from \"@src/components/atoms/FieldError\";\nimport { useTranslation } from \"react-i18next\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { TranslationKey } from \"@src/utils/validation\";\n\ntype UploadFieldProps = {\n label: string;\n id: string;\n questionId: string;\n fieldId: string;\n answer: AnswerInput;\n error?: string;\n isRequired: boolean;\n uploadUrl?: string;\n viewFileUrl?: string;\n isManualAttachment?: boolean;\n saveAnswer?: (answer: AnswerInput) => Promise;\n deleteAnswer?: (answer: AnswerInput) => Promise;\n setValue: FieldHelperProps[\"setValue\"];\n\n // used when the upload field is nested and the upload needs to be delayed\n // for example in repeatable fields\n fileSelected?: (fieldId: string, questionId: string, file: File) => void;\n fileRemoved?: (fieldId: string, questionId: string) => void;\n};\n\nexport type SelectedFile = {\n data: string;\n name: string;\n mimeType: string;\n};\n\nconst isImage = (type: string) => {\n return (\n type === MimeType.BMP || type === MimeType.PNG || type === MimeType.JPG || type === MimeType.GIF\n );\n};\n\ntype UploadFieldError = {\n errorKey: TranslationKey | null;\n fileName: string;\n};\n\nconst UploadField: FC = ({\n id,\n fieldId,\n questionId,\n label,\n answer,\n isRequired,\n uploadUrl,\n viewFileUrl,\n isManualAttachment,\n saveAnswer,\n deleteAnswer,\n setValue,\n fileSelected,\n fileRemoved,\n}) => {\n const { t } = useTranslation();\n const inputRef = useRef(null);\n const [selectedFile, setFile] = useState(null);\n const [progress, setProgress] = useState(100);\n const [showFile, setShowFile] = useState(false);\n const [error, setError] = useState({ errorKey: null, fileName: \"\" });\n const [userUploadedAFile, setUserUploadedAFile] = useState(false);\n\n const allowedFileTypes: string[] = [\n MimeType.BMP,\n MimeType.GIF,\n MimeType.JPG,\n MimeType.PNG,\n MimeType.PDF,\n ];\n\n useEffect(() => {\n const isInsideRepeatable = !!(fileSelected && fileRemoved);\n\n if (!answer?.answerId || isInsideRepeatable) {\n setUserUploadedAFile(false);\n setShowFile(false);\n setFile(null);\n if (inputRef?.current) inputRef.current.value = \"\";\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [answer.answerId]);\n\n const imageUrl =\n !userUploadedAFile && viewFileUrl && answer?.value && answer?.value !== \"repeatable-upload\"\n ? `${viewFileUrl}/${answer.value}`\n : selectedFile?.data;\n\n const canUpload = (file: File) => {\n let fileIsValid = false;\n\n if (file) {\n if (file.size > 10000000) {\n setError({ errorKey: \"validation.fileOverMaxSize\", fileName: file.name });\n } else if (!allowedFileTypes.includes(file.type)) {\n setError({ errorKey: \"validation.fileIsOfWrongType\", fileName: \"\" });\n } else {\n setError({ errorKey: null, fileName: \"\" });\n fileIsValid = true;\n }\n }\n\n return fileIsValid;\n };\n\n const handleChange: ChangeEventHandler = async (e) => {\n if (e.target.files && e.target.files[0]) {\n const file = e.target.files[0];\n // TODO: show a validation error if the file can't be uploaded\n if (canUpload(file)) {\n const reader = new FileReader();\n\n reader.readAsDataURL(file);\n reader.onloadend = () => {\n if (reader.result) {\n setFile({\n data: reader.result.toString(),\n name: file.name,\n mimeType: file.type,\n });\n }\n };\n\n await upload(file);\n }\n }\n };\n\n const onDropped: DragEventHandler = async (event) => {\n event.stopPropagation();\n event.preventDefault();\n\n if (event.dataTransfer.files && event.dataTransfer.files.length === 1) {\n const file = event.dataTransfer.files[0];\n\n // TODO: show a validation error if the file can't be uploaded\n if (canUpload(file)) {\n const reader = new FileReader();\n\n reader.readAsDataURL(file);\n reader.onloadend = () => {\n if (reader.result) {\n setFile({\n data: reader.result.toString(),\n name: file.name,\n mimeType: file.type,\n });\n }\n };\n\n await upload(file);\n }\n }\n };\n\n const onDragOver: DragEventHandler = (event) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const upload = async (file: File) => {\n // User has uplaoded a file. From that point on\n // use only the local copy of that file to display the thumbnail.\n setUserUploadedAFile(true);\n\n if (canUpload(file) && uploadUrl) {\n const form = new FormData();\n form.append(\"file\", file, file.name);\n form.append(\"fieldId\", fieldId);\n form.append(\"questionId\", questionId);\n\n const result = await axios.post(uploadUrl, form, {\n onUploadProgress: (p: AxiosProgressEvent) => setProgress(Math.ceil((p.loaded / (p.total ?? 1)) * 100)),\n });\n\n // only assign use the properties of an Answer that will pass validation\n const newAnswer = {\n answerId: result.data.answerId,\n fieldId: result.data.fieldId,\n questionId: result.data.questionId,\n value: result.data.value,\n fileType: result.data.fileType,\n order: result.data.order,\n };\n\n setValue(!isManualAttachment ? newAnswer : result.data);\n if (saveAnswer) {\n saveAnswer(newAnswer);\n }\n } else if (fileSelected) {\n // We're in a repeatable.\n // So do a fake upload until the answer is added.\n // At which point the real upload will be performed.\n const uploadAnswer = {\n answerId: uuidv4(),\n fieldId: fieldId,\n questionId: questionId,\n value: \"repeatable-upload\",\n fileType: file.type,\n order: 0,\n };\n\n setValue(uploadAnswer);\n\n fileSelected(fieldId, questionId, file);\n } else {\n // We're in preview mode.\n const uploadAnswer = {\n answerId: uuidv4(),\n fieldId: fieldId,\n questionId: questionId,\n value: \"preview\",\n fileType: file.type,\n order: 0,\n };\n\n setValue(uploadAnswer);\n\n if (saveAnswer) {\n saveAnswer(uploadAnswer);\n }\n }\n };\n\n const handleUploadClick = () => {\n if (inputRef.current && progress === 100) inputRef.current.click();\n };\n\n const handleTrashClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n setFile(null);\n\n if (inputRef.current) inputRef.current.value = \"\";\n const newAnswer: AnswerInput = omit(\n {\n ...answer,\n value: \"\",\n },\n \"__typename\"\n );\n\n setValue(newAnswer);\n\n if (deleteAnswer) {\n deleteAnswer(newAnswer);\n }\n\n if (fileRemoved) {\n fileRemoved(fieldId, questionId);\n }\n };\n\n const handleFileClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n\n if (selectedFile || answer) setShowFile(true);\n };\n\n return (\n \n {showFile && imageUrl ? (\n setShowFile(false)}\n />\n ) : null}\n {isRequired ? : null}\n \n\n \n \n {selectedFile || imageUrl ? (\n \n \n {selectedFile ? (\n isImage(selectedFile.mimeType) ? (\n \n ) : selectedFile.mimeType === MimeType.PDF ? (\n \n ) : (\n \n )\n ) : answer.fileType ? (\n isImage(answer.fileType) ? (\n \n ) : answer.fileType === MimeType.PDF ? (\n \n ) : (\n \n )\n ) : null}\n \n ) : (\n \n )}\n \n {progress < 100 ? (\n {progress}%\n ) : selectedFile || imageUrl ? (\n t(\"labels.replaceFile\")\n ) : (\n t(\"labels.addFile\")\n )}\n \n\n \n \n {t(\"validation.maxFileSize\")}\n \n\n {error.errorKey && error.fileName ? (\n \n \n \n {t(error.errorKey, { fileName: error.fileName }) as string}\n \n \n ) : null}\n \n \n );\n};\n\nexport { UploadField };\n","import omit from \"lodash/omit\";\nimport React, { ChangeEventHandler, FunctionComponent, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport {\n ClearIconSpacer,\n FieldWrapper,\n StyledLabel,\n StyledRadioButton,\n StyledRadioButtonLabel,\n StyledRequiredLabel,\n} from \"@src/components/styles\";\nimport { FALSY_STRING, TRUTHY_STRING } from \"@src/constants/validation\";\nimport { AnswerInput, Field } from \"@src/types\";\nimport { ConditionalValue } from \"@src/utils/formValuesTypes\";\nimport { getYesOrNoFields } from \"@src/utils/getters\";\nimport { FieldSelector } from \"../FieldSelector\";\nimport { getFormInitialValues } from \"@src/utils/formValues\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { deleteNestedAnswers } from \"@src/utils/answers\";\n\ntype YesNoConditionalProps = {\n id: string;\n label: string;\n value: ConditionalValue;\n isRequired: boolean;\n fields: Field[];\n uploadUrl?: string;\n viewFileUrl?: string;\n error?: Record | string;\n setValue: (value: ConditionalValue) => void;\n saveAnswer?: (answer: AnswerInput) => Promise;\n deleteAnswer?: (answer: AnswerInput) => Promise;\n};\n\nconst YesNoConditionalField: FunctionComponent = ({\n id,\n label,\n value,\n isRequired,\n fields,\n uploadUrl,\n viewFileUrl,\n setValue,\n saveAnswer,\n deleteAnswer,\n}: YesNoConditionalProps) => {\n const { t } = useTranslation();\n const [answerId, setAnswerId] = useState(value.answer.answerId ?? \"\");\n\n const [yesFields, noFields] = getYesOrNoFields(fields);\n\n const yesChecked = value && !!value.answer && value.answer.value === TRUTHY_STRING;\n const noChecked = value && !!value.answer && value.answer.value === FALSY_STRING;\n\n // Once we get an answerId, add it to the answer.\n // This id will be reused whenever a new answer is created, so this should run only once\n // after render.\n useEffect(() => {\n if (answerId) {\n setValue({ ...value, answer: { ...value.answer, answerId } });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [answerId]);\n\n const handleChange: ChangeEventHandler = async (e) => {\n const newAnswer: AnswerInput = omit(\n {\n ...value.answer,\n value: e.target.value,\n },\n \"__typename\"\n );\n\n setValue({ ...value, answer: newAnswer });\n\n const newAnswerId = saveAnswer ? await saveAnswer(newAnswer) : \"\";\n\n newAnswerId !== answerId && setAnswerId(newAnswerId);\n };\n\n const handleClear = () => {\n const allFields = [...(yesFields ?? []), ...(noFields ?? [])];\n const clearedFields = getFormInitialValues({ fields: allFields });\n\n deleteNestedAnswers({ clearedFields, value, deleteAnswer });\n\n const newAnswer = {\n ...value.answer,\n value: \"\",\n };\n\n setValue({\n ...clearedFields,\n answer: newAnswer,\n });\n\n saveAnswer && saveAnswer(newAnswer);\n };\n\n return (\n \n {isRequired ? : null}\n \n {value && value.answer && value.answer.value ? (\n \n \n \n ) : null}\n\n \n \n \n {t(\"labels.yes\")}\n \n\n \n \n {t(\"labels.no\")}\n \n \n\n {yesChecked && yesFields ? (\n
\n {yesFields.map((field) => (\n \n ))}\n
\n ) : null}\n\n {noChecked && noFields ? (\n
\n {noFields.map((field) => (\n \n ))}\n
\n ) : null}\n \n
\n );\n};\n\nexport { YesNoConditionalField };\n","import React, { ChangeEventHandler, FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport omit from \"lodash/omit\";\n\nimport {\n ClearIconSpacer,\n FieldWrapper,\n StyledLabel,\n StyledRadioButton,\n StyledRadioButtonLabel,\n StyledRequiredLabel,\n} from \"@src/components/styles\";\nimport { CommonFieldProps } from \"../types\";\nimport { AnswerInput } from \"@src/types\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { FALSY_STRING, TRUTHY_STRING } from \"@src/constants/validation\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { Label } from \"@src/components/atoms/Label\";\n\ntype YesNoFieldProps = CommonFieldProps;\n\nconst YesNoField: FC = ({\n label,\n id,\n value,\n isRequired,\n setValue,\n saveAnswer,\n}) => {\n const { t } = useTranslation();\n const [answerId, setAnswerId] = useState(value.answerId ?? \"\");\n\n const yesChecked = !!value?.value && value.value === TRUTHY_STRING;\n const noChecked = !!value?.value && value.value === FALSY_STRING;\n\n // Once we get an answerId, add it to the answer.\n // This id will be reused whenever a new answer is created, so this should run only once\n // after render.\n useEffect(() => {\n if (answerId) {\n setValue({ ...value, answerId });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [answerId]);\n\n const handleChange: ChangeEventHandler = async (e) => {\n const newAnswer: AnswerInput = omit(\n {\n ...value,\n value: e.target.value,\n },\n \"__typename\"\n );\n\n setValue(newAnswer);\n\n const newAnswerId = saveAnswer ? await saveAnswer(newAnswer) : \"\";\n\n // Triggers the useEffect that adds the answerId to the answer.\n newAnswerId !== answerId && setAnswerId(newAnswerId);\n };\n\n const handleClear = () => {\n const emptyAnswer: AnswerInput = omit(\n {\n ...value,\n value: \"\",\n },\n \"__typename\"\n );\n\n setValue(emptyAnswer);\n saveAnswer && saveAnswer(emptyAnswer);\n };\n\n return (\n \n {isRequired ? : null}\n \n {value.value ? (\n \n \n \n ) : null}\n\n \n \n \n {t(\"labels.yes\")}\n \n \n \n {t(\"labels.no\")}\n \n \n\n \n \n );\n};\n\nexport { YesNoField };\n","import styled from \"styled-components\";\n\nconst AnswerBackground = styled.div`\n background-color: #e1ecf5;\n padding: 15px;\n border-radius: 5px;\n margin: 10px 0;\n`;\n\nconst ButtonRow = styled.div`\n display: flex;\n padding: 5px;\n justify-content: center;\n margin-top: 15px;\n\n > button {\n\n margin: 0 10px;\n }\n`;\n\nexport { AnswerBackground, ButtonRow };\n","export type NumericType = \"currency\" | \"decimal\" | \"integer\";\r\n\r\nexport enum ControlType {\r\n None,\r\n Vertical,\r\n Horizontal,\r\n}\r\n\r\nexport type NumericInnerFieldProps = {\r\n ticketId?: string;\r\n value?: string | null;\r\n max?: number;\r\n min: number;\r\n step: number;\r\n disabled: boolean;\r\n type?: NumericType;\r\n fixedDecimalPlaces?: number;\r\n width?: string;\r\n minWidth?: string;\r\n error?: string;\r\n onChange?: (value?: string | null) => void;\r\n};\r\n\r\nexport type NumericInputProps = NumericInnerFieldProps & {\r\n controlType: ControlType;\r\n};\r\n","import { isNumber } from \"mathjs\";\r\nimport { NumberFormatValues } from \"react-number-format\";\r\nimport { NumericType } from \"./types\";\r\n\r\ntype NumericInputLogicArgs = {\r\n value?: string | null;\r\n disabled: boolean;\r\n min: number;\r\n max?: number;\r\n step: number;\r\n fixedDecimalPlaces?: number;\r\n type?: NumericType;\r\n onChange?: (value?: string | null) => void;\r\n};\r\n\r\nexport type NumericInputLogic = {\r\n isDecrementDisabled: boolean;\r\n isIncrementDisabled: boolean;\r\n useDecimalScale: boolean;\r\n decimalScale: number | undefined;\r\n prefix?: string;\r\n isValid: (value: number) => boolean;\r\n onIncrease: () => void;\r\n onDecrease: () => void;\r\n handleChange: (numberFormatValue: NumberFormatValues) => void;\r\n};\r\n\r\nconst getNumericInputLogic = ({\r\n value,\r\n disabled,\r\n min,\r\n max,\r\n step,\r\n type,\r\n fixedDecimalPlaces,\r\n onChange,\r\n}: NumericInputLogicArgs): NumericInputLogic => {\r\n const isDecrementDisabled =\r\n disabled || (isNumber(min) && min >= 0 && Number(value) - Number(step) < min);\r\n\r\n const isIncrementDisabled =\r\n disabled || (isNumber(max) && max > 0 && Number(value) + Number(step) > max);\r\n\r\n const useDecimalScale = type === \"currency\" || type === \"decimal\";\r\n\r\n const decimalScale = fixedDecimalPlaces ?? (useDecimalScale ? 2 : 0);\r\n\r\n const prefix = type === \"currency\" ? \"$ \" : undefined;\r\n\r\n const isValid = (value: number) => {\r\n return (\r\n (!isNumber(max) || max < 0 || Number(value) <= max) &&\r\n (!isNumber(min) || min < 0 || Number(value) >= min)\r\n );\r\n };\r\n\r\n const onIncrease = () => {\r\n let newValue = Number(value) + Number(step);\r\n\r\n if (newValue < min) {\r\n newValue = min;\r\n }\r\n\r\n if (onChange) {\r\n onChange(`${newValue}`);\r\n }\r\n };\r\n\r\n const onDecrease = () => {\r\n const newValue = Number(value) - Number(step);\r\n if (onChange) {\r\n if (isValid(newValue)) {\r\n onChange(`${newValue}`);\r\n } else {\r\n onChange(`${value}`);\r\n }\r\n }\r\n };\r\n\r\n const handleChange = (numberFormatValue: NumberFormatValues) => {\r\n const { value } = numberFormatValue;\r\n\r\n if (onChange) onChange(`${value}` || \"0\");\r\n };\r\n\r\n return {\r\n isDecrementDisabled,\r\n isIncrementDisabled,\r\n useDecimalScale,\r\n decimalScale,\r\n prefix,\r\n isValid,\r\n onIncrease,\r\n onDecrease,\r\n handleChange,\r\n };\r\n};\r\n\r\nexport { getNumericInputLogic };\r\n","import styled from \"styled-components\";\r\n\r\nimport { Flex } from \"@src/components/layout/Page\";\r\n\r\nconst StyledInput = styled.input`\r\n ${({ theme }) => `\r\n &:focus {\r\n outline: none !important;\r\n border: 2px solid ${theme.colors.fields.selected};\r\n }\r\n\r\n width: 100%;\r\n height: 100%;\r\n padding: 0 30px;\r\n box-sizing: border-box;\r\n font-size: 12px;\r\n font-weight: 300;\r\n\r\n position: absolute;\r\n border: 1px solid ${theme.colors.values.lightgrey};\r\n `}\r\n`;\r\n\r\nconst StyledVerticalInput = styled.input`\r\n ${({ theme }) => `\r\n &:focus {\r\n outline: none !important;\r\n border: 2px solid ${theme.colors.fields.selected};\r\n }\r\n\r\n width: 100px;\r\n height: 100%;\r\n text-align: center;\r\n box-sizing: border-box;\r\n font-size: 12px;\r\n font-weight: 300;\r\n border: 1px solid ${theme.colors.values.lightgrey};\r\n `}\r\n`;\r\n\r\nconst StyledHorizontalInput = styled.input<{ error?: string }>`\r\n ${({ theme, error }) => `\r\n &:focus {\r\n outline: none !important;\r\n border: 2px solid ${error ? theme.colors.values.red : theme.colors.fields.selected};\r\n }\r\n\r\n text-align: center;\r\n width: 100%;\r\n height: 100%;\r\n padding: 0 30px;\r\n box-sizing: border-box;\r\n font-size: 12px;\r\n font-weight: 300;\r\n\r\n position: absolute;\r\n border: 1px solid ${theme.colors.values.lightgrey};\r\n `}\r\n`;\r\n\r\nconst HorizontalButton = styled.button.attrs({ type: \"button\" })`\r\n ${({ theme, disabled }) => `\r\n z-index: 1;\r\n top: 4px;\r\n width: 26px;\r\n height: 20px;\r\n text-align: center;\r\n position: absolute;\r\n border: 1px solid ${theme.colors.values.lightgrey};\r\n background-color: ${theme.colors.values.lightgrey};\r\n cursor: pointer;\r\n opacity: ${disabled ? \"0.4\" : \"1\"};\r\n\r\n ${NumericInputWrapper} &:first-child {\r\n left: 4px;\r\n }\r\n\r\n ${NumericInputWrapper} &:last-child {\r\n right: 4px;\r\n }\r\n `}\r\n`;\r\n\r\ntype NumericInputWrapperProps = { width?: string; minWidth?: string; error?: boolean };\r\n\r\nconst NumericInputWrapper = styled(Flex)`\r\n ${({ theme, width, minWidth, error }) => `\r\n position: relative;\r\n display: block;\r\n max-width: 400px;\r\n width: ${width || \"100px\"};\r\n min-width: ${minWidth || \"100px\"};\r\n height: 28px;\r\n border: 1px solid ${error ? theme.colors.values.red : \"transparent\"};\r\n\r\n b {\r\n font-size: 13px;\r\n }\r\n\r\n b:nth-child(2) {\r\n position: absolute;\r\n top: 2px;\r\n right: 2px;\r\n bottom: 50%;\r\n\r\n width: 2.26ex;\r\n border-color: ${theme.colors.values.lightgrey};\r\n border-style: solid;\r\n text-align: center;\r\n cursor: default;\r\n transition: all 0.1s;\r\n background: ${theme.colors.values.lightgrey};\r\n box-shadow: ${\r\n theme.colors.values.lightgrey\r\n } -1px -1px 3px inset, rgba(255, 255, 255, 0.701961) 1px 1px 3px inset;\r\n\r\n border-radius: 2px 2px 0px 0px;\r\n border-width: 1px 1px 0px;\r\n }\r\n\r\n b:nth-child(2) > i {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 0px;\r\n height: 0px;\r\n border-width: 0px 0.6ex 0.6ex;\r\n border-color: transparent transparent rgba(0, 0, 0, 0.701961);\r\n border-style: solid;\r\n margin: -0.3ex 0px 0px -0.56ex;\r\n }\r\n\r\n b:nth-child(3) {\r\n position: absolute;\r\n right: 2px;\r\n bottom: 2px;\r\n width: 2.26ex;\r\n border-color: ${theme.colors.values.lightgrey};\r\n border-style: solid;\r\n text-align: center;\r\n cursor: default;\r\n transition: all 0.1s;\r\n background: ${theme.colors.values.lightgrey};\r\n box-shadow: ${\r\n theme.colors.values.lightgrey\r\n } -1px -1px 3px inset, rgba(255, 255, 255, 0.701961) 1px 1px 3px inset;\r\n top: 50%;\r\n border-radius: 0px 0px 2px 2px;\r\n border-width: 0px 1px 1px;\r\n }\r\n\r\n b:nth-child(3) > i {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 0px;\r\n height: 0px;\r\n border-width: 0.6ex 0.6ex 0px;\r\n border-color: rgba(0, 0, 0, 0.701961) transparent transparent;\r\n border-style: solid;\r\n margin: -0.3ex 0px 0px -0.56ex;\r\n }\r\n `}\r\n`;\r\n\r\nconst VerticalButton = styled.button.attrs({ type: \"button\" })`\r\n opacity: ${(props) => (props.disabled ? \"0.4\" : \"1\")};\r\n`;\r\n\r\nexport {\r\n StyledInput,\r\n StyledVerticalInput,\r\n StyledHorizontalInput,\r\n HorizontalButton,\r\n NumericInputWrapper,\r\n VerticalButton,\r\n};\r\n","import React, { FC } from \"react\";\r\nimport NumberFormat from \"react-number-format\";\r\n\r\nimport { getNumericInputLogic } from \"../getNumericInputLogic\";\r\nimport { NumericInputWrapper, StyledVerticalInput, VerticalButton } from \"../styles\";\r\nimport { NumericInnerFieldProps } from \"../types\";\r\n\r\nconst Vertical: FC = ({\r\n ticketId,\r\n value,\r\n type,\r\n min,\r\n max,\r\n width,\r\n minWidth,\r\n disabled,\r\n step,\r\n fixedDecimalPlaces,\r\n error,\r\n onChange,\r\n}) => {\r\n const {\r\n isDecrementDisabled,\r\n isIncrementDisabled,\r\n useDecimalScale,\r\n decimalScale,\r\n onDecrease,\r\n onIncrease,\r\n handleChange,\r\n } = getNumericInputLogic({ value, type, disabled, min, max, step, fixedDecimalPlaces, onChange });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n if (event.which === 13) {\r\n event.preventDefault();\r\n }\r\n }\r\n : null\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport { Vertical };\r\n","import React, { FC } from \"react\";\r\nimport { isNumber } from \"mathjs\";\r\nimport NumberFormat from \"react-number-format\";\r\n\r\nimport { getNumericInputLogic } from \"../getNumericInputLogic\";\r\nimport { HorizontalButton, NumericInputWrapper, StyledHorizontalInput } from \"../styles\";\r\nimport { NumericInnerFieldProps } from \"../types\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst Horizontal: FC = ({\r\n ticketId,\r\n value,\r\n type,\r\n min,\r\n max,\r\n width,\r\n minWidth,\r\n disabled,\r\n step,\r\n fixedDecimalPlaces,\r\n error,\r\n onChange,\r\n}) => {\r\n const { t } = useTranslation();\r\n const {\r\n isDecrementDisabled,\r\n isIncrementDisabled,\r\n useDecimalScale,\r\n decimalScale,\r\n prefix,\r\n onDecrease,\r\n onIncrease,\r\n handleChange,\r\n } = getNumericInputLogic({\r\n disabled,\r\n min,\r\n max,\r\n value,\r\n step,\r\n type,\r\n fixedDecimalPlaces,\r\n onChange,\r\n });\r\n\r\n return (\r\n \r\n = 0 ? t(\"messages.minimumAmount\", { min }) : \"\"}\r\n data-testid={ticketId + \"-DECREMENT\"}\r\n >\r\n \r\n \r\n\r\n {\r\n if (event.which === 13) {\r\n event.preventDefault();\r\n }\r\n }\r\n : null\r\n }\r\n />\r\n\r\n = 0 ? t(\"messages.maximumAmount\", { max }) : \"\"}\r\n data-testid={ticketId + \"-INCREMENT\"}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\nexport { Horizontal };\r\n","import React, { FC } from \"react\";\r\nimport NumberFormat from \"react-number-format\";\r\n\r\nimport { getNumericInputLogic } from \"../getNumericInputLogic\";\r\nimport { NumericInputWrapper, StyledInput } from \"../styles\";\r\nimport { NumericInnerFieldProps } from \"../types\";\r\n\r\nconst Simple: FC = ({\r\n value,\r\n type,\r\n min,\r\n max,\r\n width,\r\n minWidth,\r\n disabled,\r\n step,\r\n fixedDecimalPlaces,\r\n error,\r\n onChange,\r\n}) => {\r\n const { useDecimalScale, decimalScale, prefix, handleChange } = getNumericInputLogic({\r\n value,\r\n type,\r\n disabled,\r\n min,\r\n max,\r\n step,\r\n fixedDecimalPlaces,\r\n onChange,\r\n });\r\n\r\n return (\r\n \r\n {\r\n if (event.which === 13) {\r\n event.preventDefault();\r\n }\r\n }\r\n : null\r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport { Simple };\r\n","import React, { FC } from \"react\";\n\nimport { ControlType, NumericInputProps } from \"./types\";\nimport { Vertical } from \"./components/Vertical\";\nimport { Horizontal } from \"./components/Horizontal\";\nimport { Simple } from \"./components/Simple\";\n\nconst NumericInput: FC = ({ controlType, type = \"integer\", ...rest }) => {\n switch (controlType) {\n case ControlType.Horizontal:\n return ;\n\n case ControlType.Vertical:\n return ;\n\n default:\n return ;\n }\n};\n\nexport { NumericInput };\n","import React, { FC } from \"react\";\nimport styled from \"styled-components\";\nimport { defaultTheme } from \"@src/themes\";\n\nconst TableWrapper = styled.table`\n border-collapse: collapse;\n margin: 15px auto 0;\n font-size: 1em;\n width: 100%;\n`;\n\nconst HeaderRow = styled.tr`\n border-left: 2px solid ${defaultTheme.colors.fields.tablebordercolor};\n`;\n\nconst Row = styled.tr<{ clickable?: boolean }>`\n cursor: ${(props) => (props.clickable ? \"pointer\" : \"auto\")};\n border-left: 2px solid ${defaultTheme.colors.fields.tablebordercolor};\n`;\n\nconst Cell = styled.td<{ alignLeft?: boolean }>`\n border-right: dotted 2px ${defaultTheme.colors.fields.tablebordercolor};\n border-bottom: 2px solid ${defaultTheme.colors.fields.tablebordercolor};\n padding: 5px;\n font-size: 12px;\n text-align: ${(props) => (props.alignLeft ? \"left\" : \"right\")};\n font-weight: 300;\n vertical-align: top;\n\n &:last-of-type {\n border-right: solid 2px ${defaultTheme.colors.fields.tablebordercolor};\n }\n`;\n\nconst InvisibleCell = styled.td<{ alignLeft?: boolean }>`\n border: none;\n border-left: solid 2px ${defaultTheme.colors.fields.tablebordercolor};\n padding: 5px;\n font-size: 12px;\n text-align: ${(props) => (props.alignLeft ? \"left\" : \"right\")};\n font-weight: 300;\n vertical-align: top;\n width: 52px;\n`;\n\nconst AggregateCell = styled.td<{ alignLeft?: boolean }>`\n border-right: dotted 2px ${defaultTheme.colors.fields.tablebordercolor};\n border-bottom: 2px solid ${defaultTheme.colors.fields.tablebordercolor};\n padding: 15px 5px 5px;\n font-size: 12px;\n text-align: ${(props) => (props.alignLeft ? \"left\" : \"right\")};\n font-weight: 300;\n vertical-align: top;\n`;\n\nconst Header = styled.th`\n border-right: solid 2px ${defaultTheme.colors.fields.tablebordercolor};\n padding: 4px 8px;\n background-color: ${defaultTheme.colors.fields.tablebordercolor};\n color: ${defaultTheme.colors.values.darkgrey};\n text-align: center;\n font-weight: 500;\n font-size: 12px;\n min-width: 80px;\n`;\n\nconst InvisibleHeader = styled.th`\n border: none;\n border-left: solid 2px ${defaultTheme.colors.fields.tablebordercolor};\n padding: 4px 8px;\n background-color: ${defaultTheme.colors.values.white};\n color: ${defaultTheme.colors.values.darkgrey};\n text-align: center;\n font-weight: 500;\n font-size: 12px;\n`;\n\nconst StyledTableRowTextInput = styled.input.attrs({ type: \"text\" })<{ error?: boolean }>`\n &:focus {\n outline: none !important;\n border: 1px solid\n ${(props) =>\n props.error ? defaultTheme.colors.values.red : defaultTheme.colors.fields.selected};\n }\n\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid\n ${(props) =>\n props.error ? defaultTheme.colors.values.red : defaultTheme.colors.fields.bordercolor};\n border-radius: ${defaultTheme.borderRadius};\n padding: 5px;\n font-family: ${defaultTheme.font.default};\n font-size: 12px;\n font-weight: 300;\n width: 100%;\n min-width: 100px;\n box-sizing: border-box;\n`;\n\nconst StyledTableRowLabel = styled.label`\n display: block;\n font-size: 10px;\n font-weight: 500;\n margin: 3px;\n max-width: 65px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\ntype TableProps = { children: JSX.Element[] };\n\nconst Table: FC = ({ children }) => {\n return (\n \n {children}\n \n );\n};\n\nexport {\n Table,\n Header,\n Row,\n Cell,\n TableWrapper,\n StyledTableRowTextInput,\n StyledTableRowLabel,\n AggregateCell,\n InvisibleCell,\n InvisibleHeader,\n HeaderRow,\n};\n","import React, { FC } from \"react\";\nimport { useField, FieldValidator } from \"formik\";\n\nimport { AnswerInput, Question } from \"@src/types\";\nimport { getEquationSectionId } from \"@src/utils/getters\";\nimport { NumericInput } from \"@src/components/atoms/NumericInput\";\nimport { StyledTableRowLabel, StyledTableRowTextInput } from \"@src/components/atoms/Table\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport { ControlType, NumericType } from \"@src/components/atoms/NumericInput/types\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { useTranslation } from \"react-i18next\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { EquationRow } from \"@src/utils/formValuesTypes\";\n\ntype EquationSectionProps = {\n sectionId?: string | null;\n question: Question;\n row?: EquationRow;\n editRowValue?: (newAnswer: AnswerInput) => Promise;\n validate: FieldValidator;\n};\n\nconst EquationSection: FC = ({\n sectionId,\n question,\n row,\n editRowValue,\n validate,\n}) => {\n const googleTranslate = useGoogleTranslate();\n const { t, i18n } = useTranslation();\n const equationSectionId = sectionId || getEquationSectionId(question);\n const [{ value: answer }, meta, helpers] = useField({\n name: equationSectionId,\n validate,\n });\n const { form } = useFormInfo();\n\n const currencyCode = form?.document?.organization?.currencyCode;\n const min = question.minEntries ? question.minEntries : 0;\n const max = question.maxEntries ? question.maxEntries : -1;\n\n const handleChange = (value?: string | null) => {\n const existingAnswer = answer || {\n fieldId: row?.answerId || \"\",\n fileType: null,\n order: null,\n questionId: sectionId || question.name || \"\",\n value,\n };\n\n const newAnswer = {\n ...existingAnswer,\n value,\n };\n\n helpers.setValue(newAnswer);\n\n editRowValue && editRowValue(newAnswer);\n };\n\n const minValue =\n min > 0\n ? question.valueType === \"currency\"\n ? currencyFormatter(i18n.resolvedLanguage, currencyCode).format(min)\n : question.valueType === \"decimal\"\n ? min.toFixed(2)\n : min.toString()\n : \"\";\n\n const maxValue =\n max > -1\n ? question.valueType === \"currency\"\n ? currencyFormatter(i18n.resolvedLanguage, currencyCode).format(max)\n : question.valueType === \"decimal\"\n ? max.toFixed(2)\n : max.toString()\n : \"\";\n\n return (\n <>\n {question.valueType === \"text\" ? (\n handleChange(event.target.value)}\n error={!!meta.error}\n />\n ) : (\n <>\n \n\n {min > 0 ? (\n \n {t(\"labels.min\")}: {minValue}\n \n ) : null}\n\n {max > -1 ? (\n \n {t(\"labels.max\")}: {maxValue}\n \n ) : null}\n \n )}\n \n );\n};\n\nexport { EquationSection };\n","import styled from \"styled-components\";\nimport { ButtonHTMLAttributes, DetailedHTMLProps } from \"react\";\n\nimport { defaultTheme } from \"@src/themes\";\nimport { TableWrapper } from \"@src/components/atoms/Table\";\n\ntype PropsType = DetailedHTMLProps, HTMLButtonElement>;\n\nconst colorOrDisabled =\n (color: string) =>\n (props: PropsType): string =>\n props.disabled ? defaultTheme.colors.alias.disabled : color;\n\nconst pointerOrDisabled = (props: PropsType) => (props.disabled ? \"auto\" : \"pointer\");\n\nconst AggregatesWrapper = styled.div`\n width: 100%;\n text-align: right;\n`;\n\nconst AggregatesTable = styled(TableWrapper)<{isEditing: boolean}>`\n min-width: unset;\n margin: 0 ${props => props.isEditing ? \"60px\" : \"0\"} 0 auto;\n width: auto;\n border-top: 2px solid ${defaultTheme.colors.fields.tablebordercolor};\n\n td {\n min-width: 105px;\n border-right: solid 2px #ececec;\n\n &:first-of-type {\n background-color: ${defaultTheme.colors.fields.tablebordercolor};\n font-weight: 500;\n }\n }\n`;\n\nconst NonSubmittingButton = styled.button.attrs({ type: \"button\" })``;\n\nconst EditRowButton = styled(NonSubmittingButton)`\n background: ${colorOrDisabled(defaultTheme.colors.alias.darkPrimary)};\n color: ${defaultTheme.colors.values.white};\n padding: 5px 7px;\n font-size: 12px;\n border: solid 1px ${colorOrDisabled(defaultTheme.colors.alias.darkPrimary)};\n border-radius: ${defaultTheme.borderRadius};\n margin-right: 5px;\n cursor: ${pointerOrDisabled};\n width: 50px;\n`;\n\nconst DeleteRowIcon = styled.i`\n color: ${defaultTheme.colors.values.grey};\n display: block;\n margin: 10px auto 0;\n cursor: pointer;\n width: 12px;\n font-size: 14px;\n`;\n\nconst DeleteRowButton = styled(NonSubmittingButton)`\n background: ${colorOrDisabled(defaultTheme.colors.values.red)};\n color: ${defaultTheme.colors.values.white};\n padding: 5px 7px;\n font-size: 12px;\n border: solid 1px ${colorOrDisabled(defaultTheme.colors.values.red)};\n border-radius: ${defaultTheme.borderRadius};\n cursor: ${pointerOrDisabled};\n width: 50px;\n`;\n\nconst AddRowButton = styled(NonSubmittingButton)`\n background: ${colorOrDisabled(defaultTheme.colors.alias.primary)};\n color: ${defaultTheme.colors.values.white};\n padding: 5px 7px;\n font-size: 12px;\n border: solid 1px ${colorOrDisabled(defaultTheme.colors.alias.primary)};\n border-radius: ${defaultTheme.borderRadius};\n cursor: ${pointerOrDisabled};\n width: 50px;\n margin-bottom: 5px;\n`;\n\nconst ClearRowButton = styled(NonSubmittingButton)`\n background: ${colorOrDisabled(defaultTheme.colors.values.red)};\n color: ${defaultTheme.colors.values.white};\n padding: 5px 7px;\n font-size: 12px;\n border: solid 1px ${colorOrDisabled(defaultTheme.colors.values.red)};\n border-radius: ${defaultTheme.borderRadius};\n cursor: ${pointerOrDisabled};\n width: 50px;\n`;\n\nexport {\n AggregatesWrapper,\n AggregatesTable,\n EditRowButton,\n DeleteRowButton,\n AddRowButton,\n ClearRowButton,\n DeleteRowIcon,\n};\n","import React, { FC } from \"react\";\nimport { EquationsWrapper, FieldWrapper, StyledDisplayLabel } from \"@src/components/styles\";\nimport { Table, Row, Header, Cell } from \"@src/components/atoms/Table\";\nimport { AggregatesTable, AggregatesWrapper } from \"../styles\";\nimport { Field, Question } from \"@src/types\";\nimport { EquationValue } from \"@src/utils/formValuesTypes\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { useTranslation } from \"react-i18next\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\n\ntype Header = {\n name: string;\n type: string;\n};\n\ntype EquationsFieldProps = {\n label: string;\n value: EquationValue;\n field: Field;\n inputQuestions: Question[];\n calculatedQuestions: Question[];\n aggregateQuestions: Question[];\n};\n\nconst EquationsDisplayField: FC = ({\n label,\n value,\n inputQuestions,\n calculatedQuestions,\n aggregateQuestions,\n}) => {\n const googleTranslate = useGoogleTranslate();\n const { i18n } = useTranslation();\n const { form } = useFormInfo();\n\n const currencyCode = form?.document?.organization?.currencyCode;\n\n const { rows, aggregates } = value;\n const tableHeaders: Header[] = [...inputQuestions, ...calculatedQuestions].map((question) => {\n return { name: question.name || \"\", type: question.valueType || \"text\" };\n });\n const hasRows = rows.length > 0;\n\n const formatValue = (type: string, value: string) => {\n switch (type) {\n case \"currency\":\n return !isNaN(parseFloat(value))\n ? currencyFormatter(i18n.resolvedLanguage, currencyCode).format(parseFloat(value))\n : value;\n\n case \"decimal\":\n return !isNaN(parseFloat(value)) ? parseFloat(value).toFixed(2) : value;\n\n case \"integer\":\n return !isNaN(parseInt(value, 10)) ? parseInt(value, 10) : value;\n\n default:\n return value;\n }\n };\n\n return (\n \n {label}\n \n \n \n {tableHeaders.map((header) => (\n
{googleTranslate(header.name)}
\n ))}\n
\n\n {hasRows ? (\n <>\n {rows.map((row) => (\n \n {tableHeaders.map((header) => (\n \n {row.answers[header.name]\n ? formatValue(header.type, row.answers[header.name].value ?? \"\")\n : null}\n \n ))}\n \n ))}\n \n ) : (\n \n {tableHeaders.map((header) => (\n  \n ))}\n \n )}\n
\n
\n\n \n \n \n {aggregateQuestions.length > 0\n ? aggregateQuestions.map((question, index) => (\n \n {googleTranslate(question.name || \"\")}\n \n {question.valueType\n ? formatValue(question.valueType, aggregates[question.id].value ?? \"\")\n : aggregates[question.id].value ?? \"\"}\n \n \n ))\n : null}\n \n \n \n
\n );\n};\n\nexport { EquationsDisplayField };\n","import React, { FC, useState } from \"react\";\n\nimport { cloneDeep } from \"@apollo/client/utilities\";\nimport ImageIcon from \"@src/assets/image.png\";\nimport PdfIcon from \"@src/assets/pdf.png\";\nimport { FileViewer } from \"@src/components/atoms/FileViewer\";\nimport { HeaderField, ParagraphField } from \"@src/components/fields\";\nimport { EquationsDisplayField } from \"@src/components/fields/EquationsField/components\";\nimport { RatingDisplayField } from \"@src/components/fields/RatingField\";\nimport { AnswerBackground } from \"@src/components/fields/RepeatableQuestionField/components/styles\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport {\n FileThumbnail,\n PdfThumbnail,\n StyledAnswerLabel,\n StyledAnswerRow,\n StyledDisplayLabel,\n StyledDivider,\n} from \"@src/components/styles\";\nimport { MimeType } from \"@src/constants/mimeTypes\";\nimport { Answer, AnswerInput, Field, FieldType } from \"@src/types\";\nimport {\n getEquationAggregateQuestions,\n getEquationCalculatedQuestions,\n getEquationInputQuestions,\n} from \"@src/utils/equations\";\nimport { collectFieldAnswers, isCollapsed, isNoInputField, isSimpleField } from \"@src/utils/field\";\nimport { getEquationValue } from \"@src/utils/formValues\";\nimport { getHeaderText, getSubheaderText } from \"@src/utils/getters\";\nimport { getLabelValuePair, LabelValuePair } from \"@src/utils/repeatables\";\nimport groupBy from \"lodash/groupBy\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { useTranslation } from \"react-i18next\";\n\ntype DisplayAnswersProps = {\n fields: Field[];\n answers: AnswerInput[];\n integratedDataAnswers?: Answer[];\n countryCode?: string;\n documentId?: string;\n responseVersionId?: string;\n uploadedFileViewBaseUrl?: string;\n shouldTranslateAnswers?: boolean;\n};\n\nconst DisplayAnswers: FC = ({\n fields,\n answers,\n integratedDataAnswers,\n countryCode,\n documentId,\n responseVersionId,\n uploadedFileViewBaseUrl,\n shouldTranslateAnswers,\n}) => {\n const [showFile, setShowFile] = useState(null);\n const [collapsedHeaders, setCollapsedHeaders] = useState([]);\n const googleTranslate = useGoogleTranslate();\n const { t } = useTranslation();\n\n if (!uploadedFileViewBaseUrl && countryCode && documentId && responseVersionId) {\n uploadedFileViewBaseUrl = `${\n process.env.RESPONSES_URL\n }response/${countryCode.toLowerCase()}/${documentId}/media`;\n }\n\n const handleToggleCollapse = (fieldId: string) => {\n const existing = collapsedHeaders.find((x) => x === fieldId);\n\n if (existing) {\n setCollapsedHeaders(collapsedHeaders.filter((x) => x !== existing));\n } else {\n const headers = cloneDeep(collapsedHeaders);\n headers.push(fieldId);\n\n setCollapsedHeaders(headers);\n }\n };\n\n const displayAnswer = (\n testId: string,\n labelValue: LabelValuePair,\n direction: \"ltr\" | \"auto\" = \"auto\"\n ) => {\n const questionLabel = googleTranslate(labelValue.label);\n const questionValue = shouldTranslateAnswers\n ? googleTranslate(labelValue.value)\n : labelValue.value;\n return (\n \n {questionLabel}{\" \"}\n \n {questionValue}\n \n \n );\n };\n\n const displayPhoneAnswer = (testId: string, labelValue: LabelValuePair) => {\n const questionLabel = googleTranslate(labelValue.label);\n const questionValue = labelValue.value;\n return (\n \n {questionLabel}{\" \"}\n \n {questionValue}\n \n \n );\n };\n\n return (\n \n {showFile ? (\n setShowFile(null)}\n />\n ) : null}\n {fields.map((i, idx) => {\n const field: Field = i;\n\n const collapsed = isCollapsed(field, fields, collapsedHeaders);\n\n if (field.type !== FieldType.Header && field.type !== FieldType.Section && collapsed)\n return null;\n\n if (isNoInputField(field)) {\n if (field.type === FieldType.Descriptivetext) {\n return ;\n }\n\n if (field.type === FieldType.Header || field.type === FieldType.Section) {\n return (\n \n );\n }\n\n if (field.type === FieldType.Divider) {\n return ;\n }\n }\n\n if (isSimpleField(field)) {\n const labelValue = getLabelValuePair({ field, answers });\n\n if (field.type === FieldType.Rating) {\n if (isNaN(Number(labelValue.value))) {\n return displayAnswer(field.question?.id ?? \"\", labelValue);\n } else {\n return (\n \n );\n }\n }\n\n if (field.type === FieldType.Yesno) {\n if (labelValue.value.toLowerCase() === \"true\") {\n labelValue.value = t(\"labels.yes\");\n }\n\n if (labelValue.value.toLowerCase() === \"false\") {\n labelValue.value = t(\"labels.no\");\n }\n }\n\n if (\n field.type !== FieldType.Singleline &&\n field.type !== FieldType.Multiline &&\n field.type !== FieldType.Phonenumber\n ) {\n labelValue.value = googleTranslate(labelValue.value);\n }\n\n if (field.type === FieldType.Phonenumber) {\n return
{displayPhoneAnswer(field.question?.id ?? \"\", labelValue)}
;\n }\n\n return
{displayAnswer(field.question?.id ?? \"\", labelValue)}
;\n } else if (field.type === FieldType.Address) {\n return field.fields\n ?.filter((f) => !f.question?.hidden)\n .map((addressField, addressIndex) => {\n const labelValue = getLabelValuePair({\n field: addressField,\n answers,\n overrideFieldId: field.id,\n });\n\n return (\n
\n {displayAnswer(addressField.question?.id ?? \"\", labelValue)}\n
\n );\n });\n } else if (field.type === FieldType.Upload) {\n const answer = answers.find(\n (x) => x.fieldId === field.id && x.questionId === field.question?.id\n );\n const labelValue = getLabelValuePair({ field, answers });\n return (\n
\n \n {googleTranslate(labelValue.label)}{\" \"}\n {answer && answer.value ? (\n answer.fileType === MimeType.PDF ? (\n setShowFile(answer)}\n style={{\n cursor: \"pointer\",\n width: \"30px\",\n verticalAlign: \"middle\",\n marginLeft: \"15px\",\n }}\n src={PdfIcon}\n />\n ) : (\n setShowFile(answer)}\n style={{\n cursor: \"pointer\",\n width: \"30px\",\n verticalAlign: \"middle\",\n marginLeft: \"15px\",\n }}\n src={ImageIcon}\n />\n )\n ) : (\n {labelValue.value}\n )}\n \n
\n );\n } else if (field.type === FieldType.RepeatableQuestion) {\n const labelValue = getLabelValuePair({ field, answers });\n const repeatableAnswers = collectFieldAnswers(field, answers);\n const answersByOrder = groupBy(repeatableAnswers, \"order\");\n const rows = Object.keys(answersByOrder).map((rowOrder) => ({\n order: rowOrder,\n fields: field.fields?.flatMap((innerField) => {\n if (innerField.type === FieldType.Address) {\n const addressFieldId = innerField.id;\n const addressFields = innerField.fields || [];\n return addressFields\n .filter((x) => !x.question?.hidden)\n .map((x) => {\n return { ...x, id: addressFieldId };\n });\n } else {\n return innerField;\n }\n }),\n answers: answersByOrder[rowOrder],\n }));\n\n return (\n
\n \n {googleTranslate(labelValue.label)}{\" \"}\n {rows && rows.length > 0 ? (\n rows.map((row, index) => {\n return (\n \n \n \n );\n })\n ) : (\n {labelValue.value}\n )}\n \n
\n );\n } else if (field.type === FieldType.Equations) {\n const labelValue = getLabelValuePair({ field, answers });\n const value = getEquationValue({ field, answers: collectFieldAnswers(field, answers) });\n\n if (value && value.allAnswers && value.allAnswers.length > 0) {\n return (\n \n );\n } else {\n return displayAnswer(field.question?.id ?? \"\", labelValue);\n }\n } else if (\n field.type === FieldType.MultiFieldConditional ||\n field.type === FieldType.Conditional\n ) {\n const labelValue = getLabelValuePair({ field, answers });\n\n if (labelValue.value.toLowerCase() === \"true\") {\n labelValue.value = t(\"labels.yes\");\n }\n\n if (labelValue.value.toLowerCase() === \"false\") {\n labelValue.value = t(\"labels.no\");\n }\n\n return (\n
\n {displayAnswer(field.question?.id ?? \"\", labelValue)}\n {labelValue.value === t(\"labels.yes\") && field.fields && field.fields.length > 0 ? (\n \n ) : null}\n\n {labelValue.value === t(\"labels.no\") && field.fields && field.fields.length > 1 ? (\n \n ) : null}\n
\n );\n } else if (field.type === FieldType.SelectConditional) {\n const labelValue = getLabelValuePair({ field, answers });\n const selectedIndex = field.question?.valueOptions?.indexOf(labelValue.value) ?? -1;\n\n labelValue.value = googleTranslate(labelValue.value);\n\n return (\n
\n {displayAnswer(field.question?.id ?? \"\", labelValue)}\n\n {selectedIndex >= 0 && field.fields && selectedIndex < field.fields?.length ? (\n \n ) : null}\n
\n );\n } else if (field.type === FieldType.IntegratedData && field.fields?.length === 1) {\n const labelValue = getLabelValuePair({ field, answers });\n\n const key = field.question?.dataValue?.split(\":\")[1] || \"\";\n\n const existingValue = integratedDataAnswers?.find(\n (answer) => answer.questionId === key\n )?.value;\n\n const newValue = answers?.find(\n (answer) =>\n answer.fieldId === field.fields?.[0].id ||\n (\"\" && answer.questionId === field.fields?.[0].question?.id) ||\n \"\"\n )?.value;\n\n const valueChanged = newValue ? newValue !== existingValue : false;\n const valueRemoved =\n (!newValue && existingValue) || (newValue === \"\" && newValue !== existingValue);\n\n const existingValueLabel: LabelValuePair = {\n fileType: \"\",\n label: t(\"labels.SISValue\"),\n value: existingValue || t(\"labels.noAnswer\"),\n };\n\n const newValueLabel: LabelValuePair = {\n fileType: \"\",\n label: t(\"labels.responseValue\"),\n value: newValue || existingValue || t(\"labels.noAnswer\"),\n };\n\n const originalQuestion = field.fields?.[0];\n const direction = originalQuestion?.type === FieldType.Phonenumber ? \"ltr\" : \"auto\";\n\n return (\n \n

{googleTranslate(labelValue.label)}

\n
\n {displayAnswer(key + \"-SIS-VALUE\", existingValueLabel, direction)}\n {!field.readonly ? (\n \n {newValueLabel.label}{\" \"}\n {valueChanged ? (\n \n ) : valueRemoved ? (\n \n ) : null}\n \n {valueRemoved ? t(\"labels.valueRemoved\") : newValueLabel.value}\n \n \n ) : null}\n
\n
\n );\n }\n })}\n
\n );\n};\n\nexport { DisplayAnswers };\n","import React, { FC, Fragment, useState } from \"react\";\nimport groupBy from \"lodash/groupBy\";\n\nimport { AnswerInput, Field, FieldType } from \"@src/types\";\nimport { AnswerBackground, ButtonRow } from \"./styles\";\nimport { Button } from \"@src/components/atoms/Button\";\nimport { RepeatableAddButton } from \"@src/components/styles\";\nimport { FileViewer } from \"@src/components/atoms/FileViewer\";\nimport { DisplayAnswers } from \"@src/components/molecules/displayAnswers\";\nimport { useTranslation } from \"react-i18next\";\n\ntype RepeatableAnswersProps = {\n innerFields: Field[];\n answers: AnswerInput[];\n uploadedFileViewBaseUrl: string;\n handleSelectRow?: (order: string) => void;\n handleDeleteRow?: (order: string) => void;\n};\n\nconst RepeatableAnswers: FC = ({\n innerFields,\n answers,\n uploadedFileViewBaseUrl,\n handleSelectRow,\n handleDeleteRow,\n}) => {\n const { t } = useTranslation();\n const [showFile, setShowFile] = useState(null);\n const answersByOrder = groupBy(answers, \"order\");\n const rows = Object.keys(answersByOrder).map((rowOrder) => ({\n order: rowOrder,\n values: innerFields.flatMap((innerField) => {\n if (innerField.type === FieldType.Address) {\n const addressFields = innerField.fields || [];\n return addressFields.filter((x) => !x.question?.hidden);\n } else {\n return innerField;\n }\n }),\n answers: answersByOrder[rowOrder],\n }));\n\n return (\n \n {showFile ? (\n setShowFile(null)}\n />\n ) : null}\n {rows.map((row, index) =>\n row.answers.length > 0 ? (\n \n \n {handleSelectRow && handleDeleteRow ? (\n \n handleSelectRow(row.order)}\n >\n {t(\"labels.edit\")}\n \n handleDeleteRow(row.order)}\n >\n {t(\"labels.remove\")}\n \n \n ) : null}\n \n ) : null\n )}\n \n );\n};\n\nexport { RepeatableAnswers };\n","import React, { FC, useEffect } from \"react\";\r\n\r\nimport { RepeatableAddButton, RepeatableFieldsWrapper } from \"@src/components/styles\";\r\nimport { Field } from \"@src/types\";\r\nimport { FieldSelector } from \"../../FieldSelector\";\r\nimport { Flex } from \"@src/components/layout/Page\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype RepeatableFormProps = {\r\n id: string;\r\n innerFields: Field[];\r\n isValid: boolean;\r\n isEditing: boolean;\r\n isDirty: boolean;\r\n uploadUrl?: string;\r\n viewFileUrl?: string;\r\n setIsDirty: (isDirty: boolean) => void;\r\n resetForm: () => void;\r\n submitForm: () => Promise;\r\n fileSelected?: (fieldId: string, questionId: string, file: File) => void;\r\n fileRemoved?: (fieldId: string, questionId: string) => void;\r\n};\r\n\r\nconst RepeatableForm: FC = ({\r\n id,\r\n innerFields,\r\n isValid,\r\n isEditing,\r\n isDirty,\r\n viewFileUrl,\r\n setIsDirty,\r\n resetForm,\r\n submitForm,\r\n fileSelected,\r\n fileRemoved,\r\n}) => {\r\n const { t } = useTranslation();\r\n\r\n useEffect(() => {\r\n setIsDirty(isDirty);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isDirty]);\r\n\r\n return (\r\n \r\n {innerFields.map((repeatableField) => (\r\n \r\n ))}\r\n \r\n \r\n {isEditing ? t(\"labels.editAnswers\") : t(\"labels.addAnswers\")}\r\n \r\n \r\n {t(\"labels.clearForm\")}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport { RepeatableForm };\r\n","import { useState } from \"react\";\nimport omit from \"lodash/omit\";\n\nimport { Answer, AnswerInput, Field } from \"@src/types\";\nimport { getFormInitialValues } from \"@src/utils/formValues\";\nimport { InnerFields, RepeatableValue, SelectedFile } from \"@src/utils/formValuesTypes\";\nimport { getNextRowOrder } from \"@src/utils/getters\";\nimport { getInnerFieldAnswersFromRepeatableValue } from \"@src/utils/repeatables\";\nimport axios from \"axios\";\nimport { cloneDeep } from \"@apollo/client/utilities\";\n\ntype useRepeatableLogicArgs = {\n value: RepeatableValue;\n fields: Field[];\n setValue: (value: RepeatableValue) => void;\n saveAnswer?: (answer: AnswerInput) => Promise;\n deleteAnswer?: (answer: Answer) => Promise;\n};\n\ntype RepeatableLogic = {\n isEditing: boolean;\n initialValues: InnerFields;\n selectRow: (rowOrder: string) => void;\n addRow: (\n innerFields: InnerFields,\n selectedFiles: SelectedFile[],\n uploadUrl?: string\n ) => Promise;\n editRow: (\n innerFields: InnerFields,\n selectedFiles: SelectedFile[],\n uploadUrl?: string,\n deletedFiles?: SelectedFile[]\n ) => Promise;\n deleteRow: (rowOrder: string) => Promise;\n setIsDirty: (isDirty: boolean) => void;\n};\n\nconst useRepeatableLogic = ({\n value,\n fields,\n setValue,\n saveAnswer,\n deleteAnswer,\n}: useRepeatableLogicArgs): RepeatableLogic => {\n const [editingRow, setEditingRow] = useState(null);\n const [originalAnswers, setOriginalAnswers] = useState([]);\n const [innerFieldValues, setInnerFieldValues] = useState(\n omit(value, [\"answers\", \"isDirty\"])\n );\n const isEditing = editingRow !== null;\n\n const upload = async (selectedFile: SelectedFile, order: number, uploadUrl: string) => {\n if (selectedFile.file) {\n const form = new FormData();\n form.append(\"file\", selectedFile.file, selectedFile.file.name);\n form.append(\"fieldId\", selectedFile.fieldId);\n form.append(\"questionId\", selectedFile.questionId);\n form.append(\"order\", order.toString());\n\n const result = await axios.post(uploadUrl, form);\n\n // explicitly assign only the properties needed for saving an answer\n const newAnswer: Answer = {\n answerId: result.data.answerId,\n fieldId: result.data.fieldId,\n questionId: result.data.questionId,\n value: result.data.value,\n fileType: result.data.fileType,\n order: result.data.order,\n };\n\n return newAnswer;\n }\n };\n\n const addRow = async (\n innerFields: InnerFields,\n selectedFiles: SelectedFile[],\n uploadUrl?: string\n ) => {\n let newAnswers = getInnerFieldAnswersFromRepeatableValue(innerFields);\n\n if (selectedFiles && selectedFiles.length > 0) {\n selectedFiles.map(\n (selectedFile) =>\n (newAnswers = newAnswers.filter(\n (x) => x.fieldId !== selectedFile.fieldId && x.questionId !== selectedFile.questionId\n ))\n );\n }\n\n newAnswers = newAnswers.filter(\n (x) => typeof x.value !== \"undefined\" && x.value !== null && x.value !== \"\"\n );\n\n const allAnswers = [...value.answers, ...newAnswers];\n\n const rowOrder = getNextRowOrder(allAnswers);\n\n if (uploadUrl && selectedFiles && selectedFiles.length > 0) {\n await Promise.allSettled(\n selectedFiles.map(async (x) => {\n const answer = await upload(x, rowOrder, uploadUrl);\n\n if (answer && saveAnswer) {\n answer.order = rowOrder;\n newAnswers.push(answer);\n allAnswers.push(answer);\n saveAnswer(omit(answer, \"__typename\"));\n }\n })\n );\n }\n\n const newInnerFields = getFormInitialValues({\n fields,\n order: rowOrder,\n });\n\n newAnswers.forEach((answer) => {\n answer.order = rowOrder;\n });\n\n setInnerFieldValues(newInnerFields);\n setValue({\n ...value,\n answers: allAnswers,\n });\n\n await Promise.allSettled(\n newAnswers.map(async (answer) => {\n if (\n saveAnswer &&\n typeof answer.value !== \"undefined\" &&\n answer.value !== null &&\n answer.value !== \"\"\n ) {\n answer.answerId = await saveAnswer(omit(answer, \"__typename\"));\n }\n })\n );\n };\n\n const selectRow = (rowOrder: string) => {\n try {\n const order = parseInt(rowOrder);\n\n const innerFields = getFormInitialValues({\n fields,\n order,\n answers: value.answers,\n });\n\n setOriginalAnswers(getInnerFieldAnswersFromRepeatableValue(innerFields));\n\n setInnerFieldValues(innerFields);\n\n setEditingRow(order);\n } catch (error) {\n console.error(\"Error while trying to select a repeatable row to edit.\", error);\n }\n };\n\n const editRow = async (\n innerFields: InnerFields,\n selectedFiles: SelectedFile[],\n uploadUrl?: string,\n deletedFiles?: SelectedFile[]\n ) => {\n let editedAnswers = getInnerFieldAnswersFromRepeatableValue(innerFields);\n const changedAnswers: AnswerInput[] = [];\n\n originalAnswers.forEach((answer) => {\n const index = editedAnswers.findIndex((x) => x.questionId === answer.questionId);\n const editedAnswer = cloneDeep(editedAnswers[index]);\n\n if (index > -1 && editedAnswer.value !== answer.value) {\n editedAnswer.order = editingRow;\n changedAnswers.push(editedAnswer);\n }\n });\n\n if (deletedFiles && deletedFiles.length > 0) {\n deletedFiles.map((selectedFile) => {\n const file = editedAnswers.find(\n (x) => x.fieldId === selectedFile.fieldId && x.questionId === selectedFile.questionId\n );\n if (file) {\n editedAnswers = editedAnswers.filter(\n (x) => x.fieldId !== selectedFile.fieldId && x.questionId !== selectedFile.questionId\n );\n file.value = null;\n file.fileType = null;\n editedAnswers.push(file);\n }\n });\n }\n\n if (selectedFiles && selectedFiles.length > 0) {\n selectedFiles.map((selectedFile) => {\n editedAnswers = editedAnswers.filter(\n (x) => x.fieldId !== selectedFile.fieldId && x.questionId !== selectedFile.questionId\n );\n });\n }\n\n const otherAnswers = value.answers.filter((answer) => answer.order !== editingRow);\n const allAnswers = [...otherAnswers, ...editedAnswers];\n\n if (uploadUrl && selectedFiles && selectedFiles.length > 0) {\n await Promise.allSettled(\n selectedFiles.map(async (x) => {\n const answer = await upload(x, editingRow ?? 0, uploadUrl);\n\n if (answer && saveAnswer) {\n answer.order = editingRow;\n editedAnswers.push(answer);\n allAnswers.push(answer);\n await saveAnswer(omit(answer, \"__typename\"));\n }\n })\n );\n }\n\n const emptyInnerFields = getFormInitialValues({\n fields,\n order: getNextRowOrder(allAnswers),\n });\n\n setInnerFieldValues(emptyInnerFields);\n\n setValue({\n ...value,\n answers: allAnswers,\n });\n\n setEditingRow(null);\n\n setOriginalAnswers([]);\n\n await Promise.allSettled(\n editedAnswers.map(async (answer) => {\n if (saveAnswer && changedAnswers.find((x) => x.answerId === answer.answerId)) {\n answer.answerId = await saveAnswer(omit(answer, \"__typename\"));\n }\n })\n );\n };\n\n const deleteRow = async (rowOrder: string) => {\n try {\n const order = parseInt(rowOrder);\n\n if (order === editingRow) {\n setEditingRow(null);\n }\n\n const { remainingAnswers, answersToDelete } = value.answers.reduce(\n (acc, answer) => {\n if (answer.order === order) {\n acc.answersToDelete.push(answer as Answer);\n } else {\n acc.remainingAnswers.push(answer);\n }\n return acc;\n },\n { remainingAnswers: [], answersToDelete: [] } as {\n remainingAnswers: AnswerInput[];\n answersToDelete: Answer[];\n }\n );\n\n setValue({\n ...value,\n answers: remainingAnswers,\n });\n\n answersToDelete.forEach((answer) => deleteAnswer && deleteAnswer(omit(answer, \"__typename\")));\n } catch (error) {\n console.error(\"Error while trying to delete a row.\", error);\n }\n };\n\n const setIsDirty = (isDirty: boolean) =>\n setValue({\n ...value,\n isDirty,\n });\n\n return {\n isEditing,\n initialValues: innerFieldValues,\n selectRow,\n addRow,\n editRow,\n deleteRow,\n setIsDirty,\n };\n};\n\nexport { useRepeatableLogic };\n","import React, { FC, useState } from \"react\";\nimport { Formik, FormikHelpers, FormikState } from \"formik\";\n\nimport { FieldWrapper, FieldInformationLabel } from \"@src/components/styles\";\nimport { Answer, AnswerInput, Field } from \"@src/types\";\nimport { RepeatableAnswers } from \"./components\";\nimport { InnerFields, RepeatableValue, SelectedFile } from \"@src/utils/formValuesTypes\";\nimport { useRepeatableLogic } from \"./hooks\";\nimport { RepeatableForm } from \"./components\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { useTranslation } from \"react-i18next\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\n\ntype RepeatableQuestionProps = {\n id: string;\n label: string;\n value: RepeatableValue;\n field: Field;\n error?: string;\n uploadUrl?: string;\n viewFileUrl: string;\n isTicketQuestion?: boolean;\n setValue: (value: RepeatableValue) => void;\n saveAnswer?: (answer: AnswerInput) => Promise;\n deleteAnswer?: (answer: Answer) => Promise;\n};\n\nconst RepeatableQuestionField: FC = ({\n id,\n label,\n value,\n field,\n uploadUrl,\n viewFileUrl,\n isTicketQuestion,\n setValue,\n saveAnswer,\n deleteAnswer,\n}) => {\n const { t } = useTranslation();\n const innerFields = field.fields || [];\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [deletedFiles, setDeletedFiles] = useState([]);\n\n const repeatableLogicArgs = {\n value,\n fields: innerFields,\n isTicketQuestion,\n setValue,\n saveAnswer,\n deleteAnswer,\n };\n\n const { isEditing, initialValues, selectRow, addRow, editRow, deleteRow, setIsDirty } =\n useRepeatableLogic(repeatableLogicArgs);\n\n const handleSubmit = (values: InnerFields, { resetForm }: FormikHelpers) => {\n isEditing\n ? editRow(values, selectedFiles, uploadUrl, deletedFiles)\n : addRow(values, selectedFiles, uploadUrl);\n\n setSelectedFiles([]);\n resetForm();\n };\n\n const onSelectFile = (fieldId: string, questionId: string, file: File) => {\n if (isEditing && deletedFiles.length > 0) {\n const deletedFiles = selectedFiles.filter(\n (x) => x.fieldId !== fieldId && x.questionId !== questionId\n );\n setDeletedFiles(deletedFiles);\n }\n\n const files = selectedFiles.filter((x) => x.fieldId !== fieldId && x.questionId !== questionId);\n files.push({ fieldId, questionId, file });\n\n setSelectedFiles(files);\n };\n\n const onRemoveFile = (fieldId: string, questionId: string) => {\n if (!isEditing) {\n const files = selectedFiles.filter(\n (x) => x.fieldId !== fieldId && x.questionId !== questionId\n );\n setSelectedFiles(files);\n } else {\n const files = deletedFiles.filter(\n (x) => x.fieldId !== fieldId && x.questionId !== questionId\n );\n files.push({ fieldId, questionId, file: null });\n setDeletedFiles(files);\n }\n };\n\n const resetState = (\n resetForm: (nextState?: Partial> | undefined) => void\n ) => {\n setSelectedFiles([]);\n setDeletedFiles([]);\n resetForm();\n };\n\n return (\n \n \n\n \n {field.question?.minEntries !== -1 ? (\n \n {`${t(\"labels.minEntries\")} `} {field.question?.minEntries}\n \n ) : null}\n {field.question?.maxEntries !== -1 ? (\n \n {`${t(\"labels.maxEntries\")} `} {field.question?.maxEntries}\n \n ) : null}\n \n\n \n {({ isValid, dirty, resetForm, submitForm }) => (\n \n x.order)\n .sort()\n .reverse()[0] ?? -1\n }\n id={id}\n innerFields={innerFields}\n isEditing={isEditing}\n isValid={isValid}\n isDirty={dirty}\n viewFileUrl={viewFileUrl}\n setIsDirty={setIsDirty}\n resetForm={() => resetState(resetForm)}\n submitForm={submitForm}\n fileSelected={onSelectFile}\n fileRemoved={onRemoveFile}\n />\n \n )}\n \n\n \n \n \n );\n};\n\nexport { RepeatableQuestionField };\n","import { useEffect, useMemo, useState } from \"react\";\r\nimport omit from \"lodash/omit\";\r\nimport { useDebouncedCallback } from \"use-debounce\";\r\n\r\nimport { AnswerInput, Field, Question } from \"@src/types\";\r\nimport { EquationRow, EquationValue, InnerFields } from \"@src/utils/formValuesTypes\";\r\nimport { getNextRowOrder } from \"@src/utils/getters\";\r\nimport { getEquationInnerFields, getEquationValue } from \"@src/utils/formValues\";\r\nimport {\r\n getAggregateAnswers,\r\n getCalculatedAnswers,\r\n getEquationQuestionNameForExpression,\r\n getInputAnswersAndExpressionValues,\r\n} from \"@src/utils/equations\";\r\n\r\nexport type EditRowArgs = {\r\n rowId: string;\r\n columnName: string;\r\n newAnswer: AnswerInput;\r\n};\r\n\r\ntype UseEquationsLogicArgs = {\r\n inputQuestions: Question[];\r\n calculatedQuestions: Question[];\r\n aggregateQuestions: Question[];\r\n value: EquationValue;\r\n field: Field;\r\n setValue: (value: EquationValue) => void;\r\n saveAnswer: (answer: AnswerInput) => Promise;\r\n deleteAnswer: (answer: AnswerInput) => Promise;\r\n};\r\n\r\ntype EquationsLogic = {\r\n initialValues: InnerFields;\r\n loading: boolean;\r\n addRow: (innerFields: InnerFields) => Promise;\r\n editRowValue: (args: EditRowArgs) => Promise;\r\n deleteRow: (row: EquationRow) => Promise;\r\n setIsDirty: (isDirty: boolean) => void;\r\n};\r\n\r\nconst useEquationsLogic = ({\r\n inputQuestions,\r\n calculatedQuestions,\r\n aggregateQuestions,\r\n value,\r\n field,\r\n setValue,\r\n saveAnswer,\r\n deleteAnswer,\r\n}: UseEquationsLogicArgs): EquationsLogic => {\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const initialValues = useMemo(() => getEquationInnerFields(field), [field.id]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { rows } = value;\r\n\r\n type DebouncedSaveAnswer = {\r\n oldAnswers: AnswerInput[];\r\n newAnswers: AnswerInput[];\r\n newRow?: AnswerInput;\r\n };\r\n\r\n const debouncedSaveAnswer = useDebouncedCallback(\r\n async ({ oldAnswers, newAnswers, newRow }: DebouncedSaveAnswer) => {\r\n const savedAnswers = await Promise.all(\r\n newAnswers.map(async (answer) => {\r\n const answerId = await saveAnswer(omit(answer, \"__typename\"));\r\n return {\r\n ...answer,\r\n answerId,\r\n };\r\n })\r\n );\r\n\r\n const allAnswers = newRow\r\n ? [...oldAnswers, newRow, ...savedAnswers]\r\n : [...oldAnswers, ...savedAnswers];\r\n\r\n // Calculating the new value with the saved answers\r\n const newValue = getEquationValue({\r\n field,\r\n answers: allAnswers,\r\n });\r\n\r\n setValue(newValue);\r\n },\r\n 500\r\n );\r\n\r\n // Flushes the debounced saveAnswer function on unmount\r\n useEffect(() => () => debouncedSaveAnswer.flush(), [debouncedSaveAnswer]);\r\n\r\n const addRow = async (innerFields: InnerFields) => {\r\n setLoading(true);\r\n\r\n const rowInput: AnswerInput = {\r\n fieldId: field.id || \"\",\r\n questionId: \"row\",\r\n value: null,\r\n fileType: null,\r\n order: getNextRowOrder(rows),\r\n };\r\n\r\n try {\r\n const newRowId = await saveAnswer(rowInput);\r\n\r\n const { inputAnswers, expressionValues } = getInputAnswersAndExpressionValues({\r\n innerFields,\r\n inputQuestions,\r\n rowId: newRowId || \"\",\r\n });\r\n\r\n const calculatedAnswers = getCalculatedAnswers({\r\n calculatedQuestions,\r\n expressionValues,\r\n rowId: newRowId || \"\",\r\n });\r\n\r\n const allAnswers = [rowInput, ...value.allAnswers, ...inputAnswers, ...calculatedAnswers];\r\n\r\n const aggregateAnswers = getAggregateAnswers({\r\n fieldId: field.id || \"\",\r\n aggregateQuestions,\r\n allAnswers,\r\n });\r\n\r\n const newAnswerInputs = [...inputAnswers, ...calculatedAnswers, ...aggregateAnswers];\r\n\r\n const oldAnswers = value.allAnswers.filter(\r\n (answer) =>\r\n aggregateAnswers.findIndex((aggregate) => aggregate.questionId === answer.questionId) ===\r\n -1\r\n );\r\n\r\n const newRow = { ...rowInput, answerId: newRowId };\r\n\r\n const newValue = getEquationValue({\r\n field,\r\n answers: [...oldAnswers, newRow, ...newAnswerInputs],\r\n });\r\n\r\n await debouncedSaveAnswer({ oldAnswers, newAnswers: newAnswerInputs, newRow });\r\n\r\n setValue(newValue);\r\n } catch (e) {\r\n console.error(\"Something went wrong:\", e);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const editRowValue = async ({ rowId, columnName, newAnswer }: EditRowArgs) => {\r\n const row = rows.find((row) => row.answerId === rowId);\r\n\r\n if (row) {\r\n // Removes all answer belonging to the row being edited AND all aggregate Answers\r\n // from the allAnswers array.\r\n const oldAnswers = value.allAnswers.filter(\r\n (answer) =>\r\n answer.questionId === \"row\" || !(answer.fieldId === rowId || answer.fieldId === field.id)\r\n );\r\n\r\n const { inputAnswers, expressionValues } = inputQuestions.reduce(\r\n (acc, question) => {\r\n const expressionName = getEquationQuestionNameForExpression(question);\r\n const inputAnswer =\r\n question.name === columnName ? newAnswer : row.answers[question.name || \"\"];\r\n\r\n acc.inputAnswers.push(inputAnswer);\r\n acc.expressionValues[expressionName] = inputAnswer?.value || \"\";\r\n\r\n return acc;\r\n },\r\n { inputAnswers: [], expressionValues: {} } as {\r\n inputAnswers: AnswerInput[];\r\n expressionValues: Record;\r\n }\r\n );\r\n\r\n const calculatedAnswers = getCalculatedAnswers({\r\n calculatedQuestions,\r\n expressionValues,\r\n rowId,\r\n });\r\n\r\n const aggregateAnswers = getAggregateAnswers({\r\n aggregateQuestions,\r\n fieldId: field.id || \"\",\r\n allAnswers: [...oldAnswers, ...inputAnswers, ...calculatedAnswers],\r\n });\r\n\r\n const newAnswerInputs = [...inputAnswers, ...calculatedAnswers, ...aggregateAnswers];\r\n\r\n // Calculating and setting the value temporarily to avoid the user seeing the\r\n // old value while the new value is being saved.\r\n const tempValue = getEquationValue({\r\n field,\r\n answers: [...oldAnswers, ...newAnswerInputs],\r\n });\r\n\r\n setValue(tempValue);\r\n\r\n // Saving the answers to get the answerIds\r\n // debouncedSaveAnswer.cancel();\r\n debouncedSaveAnswer({ oldAnswers, newAnswers: newAnswerInputs });\r\n }\r\n };\r\n\r\n const deleteRow = async (row: EquationRow) => {\r\n setLoading(true);\r\n\r\n const selectedAnswers = Object.values(row.answers);\r\n const selectedRow = omit(row, \"answers\");\r\n\r\n const answersToDelete: AnswerInput[] = [selectedRow, ...selectedAnswers];\r\n\r\n const currentRows: AnswerInput[] = value.rows.map((row) => omit(row, \"answers\"));\r\n const currentInputs: AnswerInput[] = value.rows.flatMap((row: EquationRow) =>\r\n Object.values(row.answers)\r\n );\r\n\r\n const currentAnswers = [...currentRows, ...currentInputs];\r\n\r\n const newAnswers = currentAnswers.filter((currentAnswer) => {\r\n const index = answersToDelete.findIndex(\r\n (answerToDelete) =>\r\n answerToDelete.fieldId === currentAnswer.fieldId &&\r\n answerToDelete.questionId === currentAnswer.questionId &&\r\n answerToDelete.order === currentAnswer.order\r\n );\r\n\r\n return index === -1;\r\n });\r\n\r\n const aggregateAnswers = getAggregateAnswers({\r\n aggregateQuestions,\r\n fieldId: field.id || \"\",\r\n allAnswers: newAnswers,\r\n });\r\n\r\n const newValue = getEquationValue({\r\n field,\r\n answers: [...newAnswers, ...aggregateAnswers],\r\n });\r\n\r\n await Promise.all([\r\n ...answersToDelete.map((answer) => deleteAnswer(omit(answer, \"__typename\"))),\r\n ...aggregateAnswers.map((answer) => saveAnswer(omit(answer, \"__typename\"))),\r\n ]);\r\n\r\n setLoading(false);\r\n setValue(newValue);\r\n };\r\n\r\n const setIsDirty = (isDirty: boolean) =>\r\n setValue({\r\n ...value,\r\n isDirty,\r\n });\r\n\r\n return {\r\n initialValues,\r\n loading,\r\n addRow,\r\n editRowValue,\r\n deleteRow,\r\n setIsDirty,\r\n };\r\n};\r\n\r\nexport { useEquationsLogic };\r\n","import React, { FC, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ValidationError } from \"yup\";\r\n\r\nimport { Row, Cell, InvisibleCell } from \"@src/components/atoms/Table\";\r\nimport { Question } from \"@src/types\";\r\nimport { EquationSection } from \"./EquationSection\";\r\nimport { AddRowButton, ClearRowButton } from \"../styles\";\r\nimport { getSchemaForEquationQuestion } from \"@src/utils/validation\";\r\nimport { InnerFields } from \"@src/utils/formValuesTypes\";\r\nimport { useFormikContext } from \"formik\";\r\n\r\ntype EquationsFormProps = {\r\n inputQuestions: Question[];\r\n calculatedQuestions: Question[];\r\n isEditing: boolean;\r\n loading: boolean;\r\n editRow?: (innerFields: InnerFields) => Promise;\r\n addRow?: (innerFields: InnerFields) => Promise;\r\n setIsDirty: (isDirty: boolean) => void;\r\n};\r\n\r\nconst EquationsForm: FC = ({\r\n inputQuestions,\r\n calculatedQuestions,\r\n isEditing,\r\n loading,\r\n editRow,\r\n addRow,\r\n setIsDirty,\r\n}) => {\r\n const { t } = useTranslation();\r\n const { isValid, values, dirty, validateForm, resetForm } = useFormikContext();\r\n\r\n useEffect(() => {\r\n setIsDirty(dirty);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dirty]);\r\n\r\n const validate = (question: Question) => (value: string) => {\r\n try {\r\n const schema = getSchemaForEquationQuestion({ question, t });\r\n schema.validateSync(value);\r\n } catch (err) {\r\n const error = err as ValidationError;\r\n return error.message;\r\n }\r\n };\r\n\r\n const handleClick = async (values: InnerFields) => {\r\n if (isValid) {\r\n const errors = await validateForm();\r\n const errorKeys = Object.keys(errors);\r\n\r\n if (!(errorKeys && errorKeys.length)) {\r\n isEditing && editRow ? editRow(values) : addRow ? addRow(values) : console.log(\"failure\");\r\n resetForm();\r\n }\r\n }\r\n };\r\n\r\n const clearForm = () => resetForm();\r\n\r\n return (\r\n \r\n {inputQuestions.map((question, index) => (\r\n \r\n \r\n \r\n ))}\r\n {calculatedQuestions\r\n ? calculatedQuestions.map((question, index) => (\r\n \r\n ))\r\n : null}\r\n {\r\n \r\n handleClick(values)}>\r\n {isEditing ? \"Edit Row\" : t(\"labels.addRow\")}\r\n \r\n \r\n {t(\"labels.clear\")}\r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport { EquationsForm };\r\n","import React, { FC } from \"react\";\nimport { Formik } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { ValidationError } from \"yup\";\n\nimport { AggregateCell, Cell, Row, InvisibleCell } from \"@src/components/atoms/Table\";\nimport { AnswerInput, Question } from \"@src/types\";\nimport { EquationRow } from \"@src/utils/formValuesTypes\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport { getSchemaForEquationQuestion } from \"@src/utils/validation\";\nimport { EquationSection } from \"./components\";\nimport { DeleteRowIcon } from \"./styles\";\nimport { EditRowArgs } from \"./hooks\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\n\ntype EditRowProps = {\n inputQuestions: Question[];\n calculatedQuestions: Question[];\n row: EquationRow;\n editRowValue: (args: EditRowArgs) => Promise;\n deleteRow: (row: EquationRow) => Promise;\n};\n\nconst EditRow: FC = ({\n inputQuestions,\n calculatedQuestions,\n row,\n editRowValue,\n deleteRow,\n}) => {\n const { t, i18n } = useTranslation();\n const { form } = useFormInfo();\n\n const currencyCode = form?.document?.organization?.currencyCode;\n\n const validate = (question: Question) => (value: string) => {\n try {\n const schema = getSchemaForEquationQuestion({ question, t });\n schema.validateSync(value);\n } catch (err) {\n const error = err as ValidationError;\n return error.message;\n }\n };\n\n const renderCalculatedValue = (question: Question) => {\n if (question.name && row.answers[question.name]) {\n return question.valueType === \"currency\" &&\n !isNaN(parseFloat(row.answers[question.name].value ?? \"\"))\n ? currencyFormatter(i18n.resolvedLanguage, currencyCode).format(\n parseFloat(row.answers[question.name].value ?? \"\")\n )\n : question.valueType === \"decimal\" &&\n !isNaN(parseFloat(row.answers[question.name].value ?? \"\"))\n ? parseFloat(row.answers[question.name].value ?? \"0.00\").toFixed(2)\n : question.valueType === \"integer\" &&\n !isNaN(parseInt(row.answers[question.name].value ?? \"\", 10))\n ? parseInt(row.answers[question.name].value ?? \"\", 10)\n : row.answers[question.name].value;\n }\n\n return \"\";\n };\n\n const onEditRowValue = (columnName?: string | null) => (newAnswer: AnswerInput) =>\n editRowValue({ rowId: row.answerId || \"\", columnName: columnName || \"\", newAnswer });\n\n // Remap the answer object keys to use the question id ranther than question name\n // This is necessary because the question name can contain special characters that seems to trips up Formik\n const transformAnswersToInitialValues = (answers: Record): Record => {\n const allQuestions = [...inputQuestions, ...calculatedQuestions];\n const initialValues: Record = {};\n\n Object.entries(answers).forEach(([key, answer]) => {\n const question = allQuestions.find(question => question.name === key);\n \n initialValues[question?.id ?? key] = answer;\n });\n\n return initialValues;\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n {}}>\n \n \n {inputQuestions.map((question, index) => (\n \n \n \n ))}\n {calculatedQuestions\n ? calculatedQuestions.map((question, index) => (\n \n {renderCalculatedValue(question)}\n \n ))\n : null}\n \n deleteRow(row)}\n >\n \n \n \n \n );\n};\n\nexport { EditRow };\n","import React, { FC } from \"react\";\nimport { Formik } from \"formik\";\nimport {\n Table,\n Row,\n Header,\n Cell,\n InvisibleCell,\n InvisibleHeader,\n HeaderRow,\n} from \"@src/components/atoms/Table\";\nimport { AggregatesTable, AggregatesWrapper } from \"./styles\";\nimport { AnswerInput, Field, Question } from \"@src/types\";\nimport { EquationValue } from \"@src/utils/formValuesTypes\";\nimport { useEquationsLogic } from \"./hooks\";\nimport { EquationsWrapper, FieldWrapper, StyledRequiredLabel } from \"@src/components/styles\";\nimport { EquationsForm } from \"./components/EquationsForm\";\nimport { isEquationRequired } from \"@src/utils/equations\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { EditRow } from \"./EditRow\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { Label } from \"@src/components/atoms/Label\";\nimport { useTranslation } from \"react-i18next\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\n\ntype EquationsFieldProps = {\n id: string;\n label: string;\n value: EquationValue;\n field: Field;\n inputQuestions: Question[];\n calculatedQuestions: Question[];\n aggregateQuestions: Question[];\n error?: string;\n setValue: (value: EquationValue) => void;\n saveAnswer: (answer: AnswerInput) => Promise;\n deleteAnswer: (answer: AnswerInput) => Promise;\n};\n\nconst EquationsField: FC = ({\n id,\n label,\n value,\n inputQuestions,\n calculatedQuestions,\n aggregateQuestions,\n field,\n setValue,\n saveAnswer,\n deleteAnswer,\n}) => {\n const googleTranslate = useGoogleTranslate();\n const { i18n } = useTranslation();\n const { rows, aggregates } = value;\n const required = isEquationRequired(field);\n const { form } = useFormInfo();\n\n const currencyCode = form?.document?.organization?.currencyCode;\n\n type HeaderInfo = {\n name: string;\n type: string;\n };\n\n const tableHeaders: HeaderInfo[] = [...inputQuestions, ...calculatedQuestions].map((question) => {\n return { name: question.name || \"\", type: question.valueType || \"text\" };\n });\n\n const hasRows = rows.length > 0;\n\n const { initialValues, loading, addRow, editRowValue, deleteRow, setIsDirty } = useEquationsLogic(\n {\n inputQuestions,\n calculatedQuestions,\n aggregateQuestions,\n value,\n field,\n setValue,\n saveAnswer,\n deleteAnswer,\n }\n );\n\n return (\n \n {required ? : null}\n \n\n \n \n \n {tableHeaders.map((header) => (\n
{googleTranslate(header.name)}
\n ))}\n \n
\n {hasRows ? (\n <>\n {rows.map((row) => (\n \n ))}\n \n ) : (\n \n {tableHeaders.map((header, index) => {\n if (index < tableHeaders.length) return  ;\n })}\n  \n \n )}\n {/*eslint-disable-next-line @typescript-eslint/no-empty-function*/}\n {}}>\n \n \n \n \n
\n
\n\n \n \n \n {aggregateQuestions.length > 0\n ? aggregateQuestions.map((question, index) => (\n \n {question.name ? googleTranslate(question.name) : \"\"}\n \n {!isNaN(parseFloat(aggregates[question.id]?.value || \"\"))\n ? question.valueType === \"currency\"\n ? currencyFormatter(i18n.resolvedLanguage, currencyCode).format(\n parseFloat(aggregates[question.id]?.value || \"\")\n )\n : parseFloat(aggregates[question.id]?.value || \"\").toFixed(2)\n : aggregates[question.id]?.value || \" \"}\n \n \n ))\n : null}\n \n \n \n \n
\n );\n};\n\nexport { EquationsField };\n","import { NavItem, SubMenu, SubMenuBackground } from \"@src/components/layout/Header\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport React, { FunctionComponent, useState } from \"react\";\nimport { NavigationItem } from \"./NavigationItem\";\n\ntype NavigationListItemProps = {\n item: NavigationItem;\n id: string;\n number?: number;\n linkIsActive: (item: NavigationItem) => boolean;\n onClick: (slug: string) => void;\n};\n\nconst NavigationListItem: FunctionComponent = ({\n item,\n id,\n number,\n linkIsActive,\n onClick,\n}) => {\n const [openItem, setOpenMenu] = useState(\"\");\n const screenSize = useBreakPoints();\n\n let activeName = \"\";\n\n const isEnabled = linkIsActive(item) && !item.isDisabled;\n\n if (item.subMenuItems) {\n item.subMenuItems.forEach((subMenuItem) => {\n if (subMenuItem.isCurrent) {\n activeName = subMenuItem.displayText;\n }\n });\n }\n\n return (\n \n isEnabled &&\n !item.isCurrent &&\n onClick(item.slug && !item.subMenuItems ? item.slug : \"\")\n : () => setOpenMenu(!openItem ? item.slug ?? \"\" : \"\")\n }\n isCurrent={item.isCurrent || (activeName != \"\" && screenSize === \"smallScreen\")}\n isEnabled={isEnabled || !!item.subMenuItems}\n >\n {number ? number : null}\n \n \n {screenSize === \"smallScreen\" && activeName != \"\" ? activeName : item.displayText}\n \n {item.subMenuItems ? : null}\n\n {item.subMenuItems && openItem === item.slug ? (\n <>\n setOpenMenu(\"\")} />\n \n {item.subMenuItems.map((subMenuItem, subIndex) => (\n onClick(subMenuItem.slug ?? \"\")}\n />\n ))}\n \n \n ) : null}\n \n );\n};\n\nexport { NavigationListItem };\n","import React, { FC } from \"react\";\nimport { Tax } from \"@src/types\";\nimport { CurrencyLabel } from \"@src/components/styles\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport { useTranslation } from \"react-i18next\";\nimport ReactTooltip from \"react-tooltip\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\n\ntype TotalsProps = {\n subtotal: number;\n taxes?: Tax;\n baseFee?: number;\n serviceFee?: number;\n showFees?: boolean;\n isFeesAssigned?: boolean;\n total?: number;\n showTotal?: boolean;\n};\n\nconst Totals: FC = ({\n subtotal,\n taxes,\n serviceFee,\n baseFee,\n showFees,\n isFeesAssigned,\n total,\n showTotal,\n}) => {\n const { t, i18n } = useTranslation();\n const { form } = useFormInfo();\n\n const currencyCode = form?.document?.organization?.currencyCode;\n\n return (\n \n \n {t(\"totals.subtotal\")}:\n \n {currencyFormatter(i18n.resolvedLanguage, currencyCode).format(subtotal)}\n \n \n {showFees && (\n <>\n \n {t(\"totals.serviceFee\")}:\n \n {isFeesAssigned && serviceFee !== undefined\n ? currencyFormatter(i18n.resolvedLanguage, currencyCode).format(serviceFee)\n : t(\"totals.tbd\")}\n \n \n {baseFee && baseFee > 0 && (\n \n {t(\"totals.transactionFee\")}:\n \n {currencyFormatter(i18n.resolvedLanguage, currencyCode).format(baseFee)}\n \n \n )}\n {taxes && taxes.gst > 0 && (\n \n {t(\"totals.gst\")}:\n \n {currencyFormatter(i18n.resolvedLanguage, currencyCode).format(taxes.gst)}\n \n \n )}\n {taxes && taxes.pst > 0 && (\n \n {t(\"totals.pst\")}:\n \n {currencyFormatter(i18n.resolvedLanguage, currencyCode).format(taxes.pst)}\n \n \n )}\n \n )}\n {showTotal && (\n \n {t(\"totals.total\")}:\n \n {total !== undefined ? (\n currencyFormatter(i18n.resolvedLanguage, currencyCode).format(total)\n ) : showFees ? (\n \n {`${currencyFormatter(i18n.resolvedLanguage, currencyCode).format(subtotal)} + ${t(\n \"totals.fees\"\n )}`}\n \n ) : (\n t(\"totals.tbd\")\n )}\n \n \n {t(\"totals.feeCalculationExplanation\")}\n \n \n )}\n \n );\n};\n\nexport { Totals };\n","import { NumericInput } from \"@src/components/atoms/NumericInput\";\nimport { ControlType } from \"@src/components/atoms/NumericInput/types\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport styled from \"styled-components\";\n\nexport class TicketTypeCode {\n public static readonly Donation = 0;\n public static readonly Free = 1;\n public static readonly Paid = 2;\n}\n\nexport const TicketPriceWrapper = styled(Flex)`\n & > * {\n :not(:first-child) {\n margin-left: 20px;\n }\n }\n\n ${StyledLabel} {\n color: #3260d3;\n margin-bottom: 0px;\n font-size: 20px;\n line-height: 35px;\n margin-right: 5px;\n font-weight: 400;\n }\n\n & > ${Flex} {\n align-items: center;\n }\n`;\n\nexport type TicketPriceProps = {\n ticketId: string;\n price: number;\n typeCode: TicketTypeCode;\n canBuyTicket: boolean;\n isPreview: boolean;\n onChange?: (value?: string | null) => void;\n children?: React.ReactNode;\n};\n\nconst MIN_OPEN_VALUE_PRICE = 1.0;\n\nconst TicketPrice: FC = ({\n ticketId,\n price,\n typeCode,\n canBuyTicket,\n isPreview,\n onChange,\n children,\n}) => {\n const { t } = useTranslation();\n const parentPays = price ?? 0;\n\n const priceLabel =\n typeCode == TicketTypeCode.Free\n ? t(\"pages.tickets.free\")\n : typeCode == TicketTypeCode.Donation\n ? t(\"pages.tickets.amount\")\n : t(\"pages.tickets.priceEach\", { price: parentPays?.toFixed(2) });\n\n return !isPreview ? (\n \n \n {priceLabel}\n\n {typeCode == TicketTypeCode.Donation ? (\n \n ) : null}\n \n {children}\n \n ) : null;\n};\n\nexport { TicketPrice };\n","import gql from \"graphql-tag\";\nimport { TicketInventoryFragment } from \"./fragments\";\n\nconst TICKET_INVENTORY_QUERY = gql`\n query TicketInventory($countryCode: String!, $documentId: ID!, $ticketIds: [ID!]!) {\n TicketInventory(countryCode: $countryCode, documentId: $documentId, ticketIds: $ticketIds) {\n ...TicketInventoryFragment\n }\n }\n ${TicketInventoryFragment}\n`;\n\nexport { TICKET_INVENTORY_QUERY };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport { SigneeInfoValues } from \"@src/localVariables\";\nimport { TicketTypeCode } from \"@src/pages/Tickets/TicketSection/TicketPrice\";\nimport {\n CancelTicketMutation,\n CancelTicketMutationVariables,\n PurchasedTicket,\n ReserveTicketMutation,\n ReserveTicketMutationVariables,\n ResponseQuery,\n Ticket,\n TicketInventoryQuery,\n TicketInventoryQueryVariables,\n} from \"@src/types\";\nimport { PreviewHash, mapAnswerInputsToAnswers } from \"@src/utils/preview\";\nimport { getAnswerHash } from \"@src/utils/purchasedTickets\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { TICKET_INVENTORY_QUERY } from \"@src/queries/ticketInventories\";\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\n\ntype ReserveTicketMutationUpdater = (\n signee: SigneeInfoValues,\n ticket: Ticket,\n attendeeId: string\n) => MutationUpdaterFunction<\n ReserveTicketMutation,\n ReserveTicketMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\n// Adds ticket data to Apollo cache, used exclusively while in preview mode\nconst reserveTicketMutationUpdater: ReserveTicketMutationUpdater =\n (signee, ticket, attendeeId) =>\n (cache, _result, { variables }) => {\n const answers = mapAnswerInputsToAnswers(variables?.reserveTicketInput.answers || []);\n const answerHash = getAnswerHash(answers);\n\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: PreviewHash\n },\n overwrite: true,\n },\n (data: ResponseQuery | null) => {\n\n if (data && data.Response) {\n const responseVersion = data.Response;\n \n let orders = cloneDeep(responseVersion.orders);\n const attendees = cloneDeep(responseVersion.attendees);\n const attendee = attendees.find((x) => x.attendeeId === attendeeId);\n const attendeeTickets = attendee?.tickets ?? [];\n const ticketPrice = ticket.typeCode\n ? (ticket.typeCode as TicketTypeCode) == TicketTypeCode.Donation\n ? variables?.reserveTicketInput.openValueAmount || 0\n : (ticket.typeCode as TicketTypeCode) == TicketTypeCode.Free\n ? 0\n : ticket.price || 0\n : ticket.price || 0;\n const existingTicket = attendeeTickets?.find(\n (x) =>\n x.ticketVersionId === variables?.ticketVersionId &&\n x.price === ticketPrice &&\n getAnswerHash(x.answers) === answerHash\n );\n\n if (!orders || orders.length == 0) {\n orders = [\n {\n __typename: \"Order\",\n date: new Date().toString(),\n canRefund: false,\n baseFee: 0,\n baseFeeString: \"0.00\",\n totalFees: 0,\n totalFeesString: \"0.00\",\n grandTotal: 0,\n grandTotalOriginal: 0,\n hasBeenPaid: false,\n isCheckedOut: false,\n isRefunded: false,\n orderId: uuidv4(),\n orderNumber: \"PREVIEW\",\n paymentTypes: [\"Cheque\", \"Cash\", \"Other\"],\n purchasedTickets: [],\n purchaserFirstName: signee.firstName,\n purchaserLastName: signee.lastName,\n refundedAmount: 0,\n subTotal: 0,\n wasManuallyPaid: false,\n amountOutstanding: 0,\n },\n ];\n }\n\n if (attendee) {\n if (existingTicket) {\n existingTicket.quantity += variables?.reserveTicketInput.quantity || 0;\n } else {\n // Create new purchased ticket\n const purchasedTicket: PurchasedTicket = {\n __typename: \"PurchasedTicket\" as const,\n answers: answers,\n attendeeId: attendeeId,\n createdDate: new Date().toString(),\n description: ticket.description,\n name: ticket.name,\n orderNumber: \"PREVIEW\",\n price: ((ticket.typeCode as TicketTypeCode) != TicketTypeCode.Donation ? ticket.price : variables?.reserveTicketInput.openValueAmount) ?? 0,\n purchasedTicketIds: Array(variables?.reserveTicketInput.quantity || 0).fill(\n uuidv4()\n ),\n quantity: variables?.reserveTicketInput.quantity || 0,\n sortOrder: ticket.sortOrder ?? 0,\n ticketId: ticket.ticketId,\n ticketVersionId: variables?.ticketVersionId || \"\",\n totalPrice: variables?.reserveTicketInput.quantity || 0 * ticketPrice,\n type: {\n __typename: \"TicketTypeInfo\" as const,\n code: \"\",\n defaultPrice: 0,\n id: 0,\n name: \"\",\n sortOrder: 0,\n },\n };\n\n attendeeTickets?.push(purchasedTicket);\n attendeeTickets?.sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0));\n attendee.tickets = attendeeTickets;\n orders[0].purchasedTickets = attendeeTickets;\n }\n }\n\n // Recalculate total\n const newTotal = attendees.reduce(\n (acc, a) =>\n (acc += a.tickets?.reduce((acc2, t) => (acc2 += t.price * t.quantity), 0) ?? 0),\n 0\n );\n orders[0].subTotal = newTotal;\n orders[0].grandTotal = newTotal;\n\n const newResponse = {...responseVersion,\n attendees: attendees,\n subTotal: newTotal,\n total: newTotal,\n orders: orders};\n\n return {\n ...data,\n Response: newResponse,\n };\n }\n }\n );\n };\n\ntype CancelTicketMutationUpdater = (\n signee: SigneeInfoValues\n) => MutationUpdaterFunction<\n CancelTicketMutation,\n CancelTicketMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\n// Removes ticket data from Apollo cache, used exclusively while in preview mode\nconst cancelTicketMutationUpdater: CancelTicketMutationUpdater =\n () =>\n (cache, _result, { variables }) => {\n\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: PreviewHash\n },\n overwrite: true,\n },\n (data: ResponseQuery | null) => {\n if (data && data.Response) {\n\n const responseVersion = data.Response;\n \n const orders = cloneDeep(responseVersion.orders);\n const attendees = cloneDeep(responseVersion.attendees);\n const attendee = attendees.find(\n (x) => x.responseAttendeeId === variables?.responseAttendeeId\n );\n const attendeeTickets = attendee?.tickets ?? [];\n\n const purchasedTicketId = variables?.purchasedTicketIds[0] ?? \"\";\n\n // Find existing ticket\n const index = attendeeTickets?.findIndex(\n (x) => x.ticketVersionId === variables?.ticketVersionId\n && purchasedTicketId ? x.purchasedTicketIds.includes(purchasedTicketId) : true\n );\n\n if (attendee && index >= 0 && orders.length > 0) {\n // Check if we are reducing the quantity or removing the entire ticket\n if (\n variables?.purchasedTicketIds &&\n attendeeTickets[index].purchasedTicketIds.length >\n variables?.purchasedTicketIds.length\n ) {\n // Reduce quantity\n const remainingIds = attendeeTickets[index].purchasedTicketIds.filter(\n (id) => !variables?.purchasedTicketIds.includes(id)\n );\n attendeeTickets[index].purchasedTicketIds = remainingIds;\n attendeeTickets[index].quantity = remainingIds.length;\n } else {\n // Remove ticket\n attendeeTickets?.splice(index, 1);\n }\n orders[0].purchasedTickets = attendeeTickets;\n\n // Recalculate total\n const newTotal = attendees.reduce(\n (acc, a) =>\n (acc += a.tickets?.reduce((acc2, t) => (acc2 += t.price * t.quantity), 0) ?? 0),\n 0\n );\n orders[0].subTotal = newTotal;\n orders[0].grandTotal = newTotal;\n\n const newResponse = {\n ...responseVersion,\n attendees: attendees,\n subTotal: newTotal,\n total: newTotal,\n orders: orders,\n };\n \n return {\n ...data,\n Response: newResponse,\n };\n }\n }\n }\n );\n };\n\ntype TicketInventoryMutationUpdater = (\n tickets: Ticket[]\n) => MutationUpdaterFunction<\n TicketInventoryQuery,\n TicketInventoryQueryVariables,\n DefaultContext,\n ApolloCache\n>;\n\n// Adds ticket data to Apollo cache, used exclusively while in preview mode\nexport const ticketInventoryMutationUpdater: TicketInventoryMutationUpdater =\n (tickets) =>\n (cache, _result, { variables }) => {\n const ticketIds = tickets.map((x) => x.ticketId);\n\n cache.updateQuery(\n {\n query: TICKET_INVENTORY_QUERY,\n variables: {\n documentId: variables?.documentId,\n countryCode: variables?.countryCode,\n ticketIds,\n },\n },\n () => {\n return _result.data;\n }\n );\n };\n\nexport { reserveTicketMutationUpdater, cancelTicketMutationUpdater };\n","import gql from \"graphql-tag\";\n\nimport { ResponseVersionFragment } from \"./fragments\";\n\nconst RESPONSE_VERSIONS_QUERY = gql`\n query ResponseVersions($countryCode: String!, $documentId: ID!, $email: String!) {\n ResponseVersions(countryCode: $countryCode, documentId: $documentId, email: $email) {\n ...ResponseVersionFragment\n }\n }\n ${ResponseVersionFragment}\n`;\n\nexport { RESPONSE_VERSIONS_QUERY };\n","import { SigneeInfoValues } from \"@src/localVariables\"\nimport { AttendeeInput, ResponseSource, ResponseStatus, ResponseVersion } from \"@src/types\"\nimport { checkResponseVersionSource } from \"./typeConverters\"\nimport { i18next } from \"@src/translations\"\n\nconst signeeInfo = (responseVersion: ResponseVersion) : SigneeInfoValues => {\n\n return {\n firstName: responseVersion?.signeeFirstName ?? \"\",\n lastName: responseVersion?.signeeLastName ?? \"\",\n email: responseVersion?.signeeEmail ?? \"\",\n notes: responseVersion?.signeeNotes ?? \"\",\n attachmentId: responseVersion?.signeeAttachmentId ?? \"\",\n responseSource: responseVersion?.source ?? ResponseSource.Organic,\n tagId: responseVersion?.tagId ?? \"\",\n }\n}\n\nconst isProcess = (responseVersion: ResponseVersion | null): boolean =>\n checkResponseVersionSource(responseVersion, ResponseSource.Process);\n\nconst isManual = (responseVersion: ResponseVersion | null): boolean =>\n checkResponseVersionSource(responseVersion, ResponseSource.Manual);\n\nconst isStaff = (responseVersion: ResponseVersion | null): boolean =>\n (responseVersion || false)\n && responseVersion.isInternal\n || checkResponseVersionSource(responseVersion, ResponseSource.Internal);\n\nconst isRostered = (responseVersion: ResponseVersion | null): boolean =>\n (responseVersion || false) && responseVersion.isRostered;\n\nconst isRosteredOrStaffResponse = (responseVersion: ResponseVersion | null): boolean =>\n isRostered(responseVersion) || isStaff(responseVersion);\n\nconst isAuthenticatedResponse = (responseVersion: ResponseVersion | null): boolean =>\n isProcess(responseVersion) || isStaff(responseVersion);\n\nconst isSigned = (responseVersion: ResponseVersion | null): boolean =>\n (responseVersion || false) && responseVersion.isSigned;\n\nconst signeeValuesAreUpdated = (responseVersion: ResponseVersion, signeeValues: SigneeInfoValues): boolean => {\n\n const currentSigneeValues = signeeInfo(responseVersion);\n\n return currentSigneeValues.email !== signeeValues.email\n || currentSigneeValues.firstName !== signeeValues.firstName\n || currentSigneeValues.lastName !== signeeValues.lastName\n || currentSigneeValues.attachmentId !== signeeValues.attachmentId\n || currentSigneeValues.notes !== signeeValues.notes;\n}\n\nconst tagValueIsUpdated = (responseVersion: ResponseVersion, signeeValues: SigneeInfoValues): boolean => {\n\n const currentSigneeValues = signeeInfo(responseVersion);\n\n return currentSigneeValues.tagId !== signeeValues.tagId;\n}\n\nconst attendeesAreUpdated = (responseVersion: ResponseVersion, attendees: AttendeeInput[]): boolean => {\n\n if (responseVersion.attendees?.length !== attendees?.length)\n return true;\n\n let isChanged = false;\n\n responseVersion.attendees.map((currentAttendee) => {\n\n const editedAttendee = attendees.find((x) => x.responseAttendeeId === currentAttendee.responseAttendeeId);\n\n if (!editedAttendee\n || editedAttendee.firstName !== currentAttendee.firstName\n || editedAttendee.lastName !== currentAttendee.lastName\n || editedAttendee.attachmentId !== currentAttendee.attachmentId\n || editedAttendee.manualPermissionDate !== currentAttendee.manualPermissionDate\n || editedAttendee.notes !== currentAttendee.notes\n || editedAttendee.permitted !== currentAttendee.permitted) {\n isChanged = true;\n return;\n }\n\n })\n\n return isChanged;\n}\n\nexport type StartNewResponse = {\n disabled: boolean;\n disabledMessage: string;\n };\n\n/**\n * Get the disabled status of the \"Start new response\" button, and a message for why it is disabled if so.\n * Currently there is only 3 reasons to disable the start new response button:\n * 1. The loaded response is rostered.\n * 2. The loaded response is from a process.\n * 3. The loaded response is a staff response, and there are other staff responses that are not complete.\n * @param responseVersion The currently loaded response. Only set if form is loaded via a direct response link.\n * @param responseVersions Any other response versions available besides the currently loaded response.\n */\nconst getStartNewResponseStatus = (responseVersion?: ResponseVersion, responseVersions?: ResponseVersion[]): StartNewResponse => {\n\n const result: StartNewResponse = {disabled: false, disabledMessage: \"\"};\n\n if (!responseVersions) {\n responseVersions = [];\n }\n\n if (responseVersion) {\n if (isRostered(responseVersion)) {\n result.disabled = true;\n result.disabledMessage = i18next.t(\"pages.selectResponse.startNewResponse.RosteredDisabled\");\n } else if (isProcess(responseVersion)) {\n result.disabled = true;\n result.disabledMessage = i18next.t(\"pages.selectResponse.startNewResponse.ProcessDisabled\");\n } else if (isStaff(responseVersion) && \n !responseVersions.every(\n (x) =>\n x.status === ResponseStatus.Rejected ||\n x.status === ResponseStatus.Responded ||\n x.status === ResponseStatus.PendingApproval ||\n x.status === ResponseStatus.Cancelled\n )\n ) {\n result.disabled = true;\n result.disabledMessage = i18next.t(\"pages.selectResponse.startNewResponse.StaffDisabled\");\n }\n }\n\n return result;\n };\n\nexport {\n signeeInfo,\n isProcess,\n isManual,\n isStaff,\n isRostered,\n isSigned,\n isRosteredOrStaffResponse,\n signeeValuesAreUpdated,\n tagValueIsUpdated,\n attendeesAreUpdated,\n isAuthenticatedResponse,\n getStartNewResponseStatus\n}","import { StyledIcon } from \"@src/components/atoms/Icon\";\nimport { DefaultTheme } from \"@src/themes/default\";\nimport React, { FC } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\n\nconst TrashIcon = styled(StyledIcon)`\n margin-top: 1px;\n margin-left: 15px;\n`;\n\nexport type TrashButtonProps = {\n testId?: string;\n disabled?: boolean;\n onClick?: () => void;\n style?: React.CSSProperties;\n};\n\nconst TrashButton: FC = ({ testId, disabled, onClick, style }) => {\n const theme = useTheme() as DefaultTheme;\n return (\n \n );\n};\n\nexport { TrashButton };\n","import styled from \"styled-components\";\n\nimport { StyledLabel } from \"@src/components/styles\";\n\nexport const SubtotalLabel = styled(StyledLabel)`\n color: #3260d3;\n font-size: 20px;\n line-height: 35px;\n font-weight: 400;\n`;\n\nexport const StyledQuantity = styled.p`\n margin: 0;\n border-radius: 25px;\n background-color: #0283ff;\n width: fit-content;\n height: fit-content;\n min-width: 70px;\n padding: 2px 7px;\n color: white;\n text-align: center;\n font-weight: 500;\n font-size: 12px;\n margin: 5px 0px;\n margin-left: 10px;\n`;\n","import React, { FC } from \"react\";\nimport { PurchasedTicket, Ticket } from \"@src/types\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { CancelTicketArgs, currencyFormatter, TicketMode } from \"@src/utils/purchasedTickets\";\nimport { DisplayAnswers } from \"@src/components/molecules/displayAnswers/DisplayAnswers\";\nimport { TrashButton } from \"../TicketSection/TrashButton\";\nimport { StyledQuantity, SubtotalLabel } from \"./styles\";\nimport { useTranslation } from \"react-i18next\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport { TicketTypeCode } from \"../TicketSection/TicketPrice\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\ntype PurchasedTicketProps = {\n ticket: Ticket;\n purchasedTicket: PurchasedTicket;\n responseAttendeeId: string;\n countryCode: string;\n documentId: string;\n mode: TicketMode;\n responseVersionId: string;\n onCancelTicket?: (args: CancelTicketArgs) => void;\n};\n\nconst PurchasedTicketPreview: FC = ({\n ticket,\n purchasedTicket,\n responseAttendeeId,\n countryCode,\n documentId,\n mode,\n responseVersionId,\n onCancelTicket,\n}) => {\n const { t, i18n } = useTranslation();\n const screenSize = useBreakPoints();\n const { form } = useFormInfo();\n const googleTranslate = useGoogleTranslate();\n const quantity = purchasedTicket.quantity ?? 0;\n const currencyCode = form?.document?.organization?.currencyCode;\n\n return (\n \n \n \n {googleTranslate(ticket.name || \"\")}\n \n {quantity > 0 ? (\n {`${t(\"pages.tickets.quantity\")}: ${\n purchasedTicket.quantity ?? 0\n }`}\n ) : null}\n\n {onCancelTicket ? (\n \n onCancelTicket({\n ticketVersionId: purchasedTicket.ticketVersionId,\n responseAttendeeId,\n purchasedTicketIds: purchasedTicket.purchasedTicketIds,\n })\n }\n />\n ) : null}\n \n {Number(ticket.typeCode) !== TicketTypeCode.Free ? (\n \n {quantity > 1\n ? `${t(\"totals.subtotal\")}: ${quantity} × ${currencyFormatter(\n i18n.resolvedLanguage,\n currencyCode\n ).format(purchasedTicket.price)} = ${currencyFormatter(\n i18n.resolvedLanguage,\n currencyCode\n ).format(quantity * purchasedTicket.price)}`\n : `${t(\"totals.subtotal\")}: ${currencyFormatter(\n i18n.resolvedLanguage,\n currencyCode\n ).format(purchasedTicket.price)}`}\n \n ) : null}\n {mode != TicketMode.CART_PREVIEW ? (\n \n ) : null}\n \n );\n};\n\nexport { PurchasedTicketPreview };\n","import { Breakpoints } from \"@src/customHooks\";\nimport { Ticket } from \"@src/types\";\nimport { TicketMode } from \"@src/utils/purchasedTickets\";\nimport _ from \"lodash\";\nimport React, { FC } from \"react\";\nimport styled from \"styled-components\";\n\nimport DefaultImage from \"./default.jpg\";\n\nconst StyledImg = styled.img<{ screenSize: Breakpoints; mode: TicketMode }>`\n box-sizing: border-box;\n width: ${(props) =>\n props.screenSize === \"desktop\" && props.mode !== TicketMode.CART_PREVIEW ? `140px` : `85px`};\n height: ${(props) =>\n props.screenSize === \"desktop\" && props.mode !== TicketMode.CART_PREVIEW ? `140px` : `85px`};\n object-fit: cover;\n border: solid ${({ theme }) => theme.colors.values.white}};\n border-radius: 7px;\n`;\n\nexport type ThumbnailProps = {\n ticket: Ticket;\n src?: string;\n alt: string;\n screenSize: Breakpoints;\n mode: TicketMode;\n};\n\nconst Thumbnail: FC = ({ ticket, src, alt, mode, screenSize }) => (\n \n);\n\nexport { Thumbnail };\n","import { Breakpoints, useBreakPoints } from \"@src/customHooks/useBreakpoints\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport styled from \"styled-components\";\n\nconst StyledSpan = styled.span<{ screenSize: Breakpoints }>`\n padding-top: 10px;\n padding-bottom: 10px;\n color: #868686;\n text-align: center;\n font-size: 11px;\n width: ${(props) => (props.screenSize === \"desktop\" ? `116px` : `85px`)};\n`;\n\nexport type DateNoticeProps = {\n start: string;\n end: string;\n};\n\nconst DateNotice: FC = ({ start, end }) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const screenSize = useBreakPoints();\n const startDate = new Date(start);\n const endDate = new Date(end);\n const now = new Date().getTime();\n\n const getNoticeMessage = () => {\n if (startDate.getTime() > now) {\n return {\n message: t(\"pages.tickets.dateNotice.start\"),\n date: googleTranslate(startDate.toDateString()),\n };\n } else if (endDate.getTime() < now) {\n return {\n message: t(\"pages.tickets.dateNotice.ended\"),\n date: googleTranslate(endDate.toDateString()),\n };\n } else if (startDate.getTime() < now && endDate.getTime() > now) {\n return {\n message: t(\"pages.tickets.dateNotice.inProgress\"),\n date: googleTranslate(endDate.toDateString()),\n };\n }\n\n return null;\n };\n\n const noticeMessage = getNoticeMessage();\n\n return noticeMessage ? (\n <>\n \n {noticeMessage.message}\n \n {noticeMessage.date}\n \n ) : null;\n};\n\nexport { DateNotice };\n","import { NumericInput } from \"@src/components/atoms/NumericInput\";\nimport { ControlType } from \"@src/components/atoms/NumericInput/types\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { Attendee, Ticket, TicketInventory } from \"@src/types\";\nimport { getQuantityInCart } from \"@src/utils/purchasedTickets\";\nimport { useField } from \"formik\";\nimport inRange from \"lodash/inRange\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport styled from \"styled-components\";\n\nexport type QuantitySectionProps = {\n name: string;\n ticket: Ticket;\n inventory: TicketInventory;\n attendee: Attendee;\n canBuyTicket: boolean;\n cart?: Attendee[];\n};\n\n// &&'s help override any conflicting CSS of the parent Styled Component. Explained more below:\n// https://styled-components.com/docs/faqs#how-can-i-override-styles-with-higher-specificity\nconst SoldOutLabel = styled(StyledLabel)`\n ${({ theme }) => `\n && {\n color: ${theme.colors.values.red};\n }\n `}\n`;\n\nconst QuantitySection: FC = ({\n name,\n ticket,\n inventory,\n attendee,\n canBuyTicket,\n cart,\n}) => {\n const { t } = useTranslation();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [input, meta, helpers] = useField(name);\n\n const quantityInCart = getQuantityInCart({\n cart,\n attendeeId: null,\n ticketVersionId: ticket.id,\n });\n\n const quantityInCartForThisAttendee = getQuantityInCart({\n cart,\n attendeeId: attendee.attendeeId,\n ticketVersionId: ticket.id,\n });\n\n const remaining = inventory.isLimited\n ? (inventory.remaining || 0) - quantityInCart ?? 0\n : Infinity;\n\n const max = ticket.maximumQuantity ?? 500;\n\n const maximumQuantity = inventory.isLimited\n ? Math.min(max - quantityInCartForThisAttendee, remaining)\n : max - quantityInCartForThisAttendee;\n\n const minQuantity = ticket.minimumQuantity || 0;\n const minQuantityForThisAttendee = Math.max(0, minQuantity - quantityInCartForThisAttendee);\n\n const setQuantity = (value: string | null | undefined) => {\n if (value && maximumQuantity !== 0) {\n const quantity = Math.min(Number(value), remaining);\n if (\n quantity !== 0 &&\n quantity < minQuantityForThisAttendee &&\n minQuantityForThisAttendee <= remaining\n )\n helpers.setValue(minQuantityForThisAttendee);\n else helpers.setValue(quantity);\n }\n };\n\n const isSoldOut = inventory.isLimited && remaining <= 0;\n\n return (\n \n {!isSoldOut ? (\n <>\n setQuantity(value)}\n disabled={!canBuyTicket || maximumQuantity === 0}\n controlType={ControlType.Horizontal}\n type=\"integer\"\n />\n {minQuantity > 0 ? (\n \n {t(\"pages.tickets.minQuantityRequired\", { minQuantity })}\n \n ) : null}\n {maximumQuantity != 0 && inRange(ticket.maximumQuantity ?? 0, 100) ? (\n \n {t(\"pages.tickets.maxQuantityAllowed\", { maximumQuantity })}\n \n ) : null}\n {inventory.isLimited && remaining ? (\n \n {t(\"pages.tickets.quantityRemaining\", { remaining })}\n \n ) : null}\n {maximumQuantity === 0 ? (\n \n {t(\"pages.tickets.maximumQuantityInCart\")}\n \n ) : null}\n \n ) : (\n \n {t(\"pages.tickets.soldOut\")}\n \n )}\n \n );\n};\n\nexport { QuantitySection };\n","import styled from \"styled-components\";\n\nconst ProgressTrackerContainer = styled.div`\n ${({ theme }) => `\n background: ${theme.colors.values.white};\n box-shadow: 2px 3px 8px 0 #ccc;\n border-radius: 8px 8px 0 0;\n position: relative;\n top: 30px;\n margin: 0 auto;\n z-index: 10;\n padding: 10px 15px;\n font-size: 12px;\n font-weight: 400;\n border-bottom: solid 5px #daedff;\n `}\n`;\n\nconst CompleteText = styled.span`\n color: ${(props) => props.theme.colors.values.lightblack};\n`;\n\nconst Percentage = styled.span`\n display: inline-block;\n color: #3260d3;\n font-weight: 500;\n`;\n\nconst TimeEstimate = styled.span`\n display: inline-block;\n margin-left: 15px;\n font-weight: 500;\n color: ${(props) => props.theme.colors.alias.darkPrimary};\n`;\n\nconst CompletionProgressBar = styled.div`\n position: absolute;\n left: 0;\n bottom: -5px;\n height: 5px;\n background: ${(props) => props.theme.colors.alias.primary};\n`;\n\nexport { ProgressTrackerContainer, CompleteText, Percentage, TimeEstimate, CompletionProgressBar };\n","import { DEFAULT_PHONE_MASK, FALSY_STRING, TRUTHY_STRING } from \"@src/constants/validation\";\r\nimport { Field, AnswerInput, FieldType } from \"@src/types\";\r\nimport { getAddressInnerFields } from \"./address\";\r\nimport { isSimpleField } from \"./field\";\r\nimport { getYesOrNoFields, getValueOptions } from \"./getters\";\r\n\r\nconst getMultiFieldConditionalInnerFields = (field: Field, answers: AnswerInput[]): Field[] => {\r\n const mainAnswer = answers.find(\r\n (answer) => answer.fieldId === field.id && answer.questionId === field.question?.id\r\n );\r\n\r\n if (mainAnswer) {\r\n const [yesFields, noFields] = getYesOrNoFields(field.fields || []);\r\n\r\n const selectedFields =\r\n mainAnswer.value === TRUTHY_STRING\r\n ? yesFields\r\n : mainAnswer.value === FALSY_STRING\r\n ? noFields\r\n : [];\r\n\r\n return selectedFields ? [...selectedFields] : [];\r\n }\r\n\r\n return [];\r\n};\r\n\r\nconst getSelectConditionalInnerFields = (field: Field, answers: AnswerInput[]): Field[] => {\r\n const mainAnswer = answers.find(\r\n (answer) => answer.fieldId === field.id && answer.questionId === field.question?.id\r\n );\r\n\r\n if (mainAnswer) {\r\n const options = getValueOptions(field);\r\n const selectedIndex = options.findIndex((option) => option === mainAnswer.value);\r\n const selectedOptionFields =\r\n selectedIndex >= 0 && field.fields && field.fields[selectedIndex] ? field.fields[selectedIndex].fields || [] : [];\r\n\r\n return [...selectedOptionFields];\r\n }\r\n\r\n return [];\r\n};\r\n\r\nconst isSimpleFieldAnswered = (field: Field, answers: AnswerInput[]) =>\r\n answers.some(\r\n (x) =>\r\n x.fieldId === field.id &&\r\n x.questionId === field.question?.id &&\r\n x.value !== \"\" &&\r\n x.value !== \"[]\" && // SelectMultiple\r\n x.value !== DEFAULT_PHONE_MASK.replace(\"#\", \"_\") // Phone\r\n );\r\n\r\nconst isFieldAnswered = (field: Field, answers: AnswerInput[]): boolean => {\r\n if (field && answers && answers.length > 0) {\r\n if (isSimpleField(field)) {\r\n return isSimpleFieldAnswered(field, answers);\r\n } else if (field.type === FieldType.Equations) {\r\n return answers.some((x) => x.fieldId === field.id && x.questionId === \"row\");\r\n } else if (\r\n field.type === FieldType.Conditional ||\r\n field.type === FieldType.SelectConditional ||\r\n field.type === FieldType.MultiFieldConditional\r\n ) {\r\n return isSimpleFieldAnswered(field, answers);\r\n } else if (field.type === FieldType.RepeatableQuestion) {\r\n return !!field.fields?.some((x) => isFieldAnswered(x, answers));\r\n } else if (field.type === FieldType.Upload) {\r\n return isSimpleFieldAnswered(field, answers);\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst getFlattenedFieldList = (fields: Field[], answers: AnswerInput[]): Field[] => {\r\n const flattenedFields = fields.flatMap((field) => {\r\n if (\r\n isSimpleField(field) ||\r\n field.type === FieldType.Equations ||\r\n field.type === FieldType.Upload ||\r\n field.type === FieldType.RepeatableQuestion\r\n ) {\r\n return field;\r\n }\r\n\r\n if (field.type === FieldType.Address) {\r\n // Address inner fields have the same field Id as the parent address field\r\n return getAddressInnerFields(field).map((innerField) => ({\r\n ...innerField,\r\n id: field.id,\r\n }));\r\n }\r\n\r\n if (field.type === FieldType.MultiFieldConditional || field.type === FieldType.Conditional) {\r\n const selectedFields = getMultiFieldConditionalInnerFields(field, answers);\r\n\r\n return [field, ...selectedFields];\r\n }\r\n\r\n if (field.type === FieldType.SelectConditional) {\r\n const selectedFields = getSelectConditionalInnerFields(field, answers);\r\n\r\n return [field, ...selectedFields];\r\n }\r\n });\r\n\r\n return flattenedFields.filter(Boolean) as Field[];\r\n};\r\n\r\nexport { isFieldAnswered, getFlattenedFieldList };\r\n","import React, { FC } from \"react\";\n\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { Field } from \"@src/types\";\nimport { isComplexField, isSimpleField } from \"@src/utils/field\";\nimport {\n getAttendeeFields,\n getAttendeesList,\n getOrderInfo,\n getSigneeAnswers,\n getSigneeFields,\n getTickets,\n} from \"@src/utils/getters\";\nimport {\n CompleteText,\n CompletionProgressBar,\n Percentage,\n ProgressTrackerContainer,\n TimeEstimate,\n} from \"./styles\";\nimport { getFlattenedFieldList, isFieldAnswered } from \"@src/utils/progressTracker\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { useReactiveVar } from \"@apollo/client\";\nimport { ResponseVersionHash } from \"@src/localVariables\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ProgressTracker: FC = () => {\n //milliseconds\n const simpleFieldEntryTimeEstimation = 30000;\n const complexFieldEntryTimeEstimation = 60000;\n const ticketEntryTimeEstimation = 45000;\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const { t } = useTranslation();\n\n const { form } = useFormInfo();\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n\n const attendees = getAttendeesList(responseVersionQuery.responseVersion).filter(\n (attendee) => !form.requiresPermission || attendee.permitted\n );\n\n const calculateTimeEstimation = (fields: Field[], numberOfAttendees = 1) => {\n return Math.ceil(\n fields.filter((x) => isComplexField(x)).length *\n numberOfAttendees *\n complexFieldEntryTimeEstimation +\n fields.filter((x) => isSimpleField(x)).length *\n numberOfAttendees *\n simpleFieldEntryTimeEstimation\n );\n };\n\n const millisecondsTommss = (millis: number) => {\n const sign = millis < 0 ? \"-\" : \"\";\n const minutes = Math.floor(millis / 60000);\n const seconds = (millis % 60000) / 1000;\n return (\n sign +\n (minutes < 10 ? \"0\" : \"\") +\n minutes +\n \":\" +\n (seconds < 10 ? \"0\" : \"\") +\n seconds.toFixed(0)\n );\n };\n\n const signeeFields = getSigneeFields(form);\n const attendeeFields = getAttendeeFields(form);\n const tickets = getTickets(form);\n const isGeneralSignup = form.isGeneralSignup;\n const signeeAnswers = getSigneeAnswers(responseVersionQuery.responseVersion);\n const orderInfo = getOrderInfo(\n responseVersionQuery.responseVersion,\n false);\n const numberOfAttendees = isGeneralSignup ? 1 : attendees.length;\n\n const flattenedSigneeFields = getFlattenedFieldList(signeeFields, signeeAnswers);\n\n let numberOfFields = 0;\n let numberOfFieldsCompleted = 0;\n let signeeFormTimeEstimation = 0;\n let attendeeFormTimeEstimation = 0;\n let ticketTimeEstimation = 0;\n\n if (flattenedSigneeFields && flattenedSigneeFields.length > 0) {\n signeeFormTimeEstimation = calculateTimeEstimation(flattenedSigneeFields);\n numberOfFields += flattenedSigneeFields.filter(\n (x) => isComplexField(x) || isSimpleField(x)\n ).length;\n numberOfFieldsCompleted += flattenedSigneeFields.filter((x) =>\n isFieldAnswered(x, signeeAnswers)\n ).length;\n }\n\n if (!isGeneralSignup && attendeeFields && attendeeFields.length > 0) {\n attendees.map((attendee) => {\n const flattenedAttendeeFields = getFlattenedFieldList(\n attendeeFields,\n attendee.attendeeAnswers\n );\n\n attendeeFormTimeEstimation = calculateTimeEstimation(\n flattenedAttendeeFields,\n attendees.length\n );\n\n numberOfFields += flattenedAttendeeFields.filter(\n (x) => isComplexField(x) || isSimpleField(x)\n ).length;\n\n numberOfFieldsCompleted += flattenedAttendeeFields.filter((x) =>\n isFieldAnswered(x, attendee.attendeeAnswers)\n ).length;\n });\n }\n\n // if there are no signee or attendee questions, we skip checking the tickets.\n // this is because we're dead set on having business rules designed to complicate things\n // and to cause our user to believe things are broken. mind numbing stuff\n if (numberOfFields > 0 && tickets && tickets.length > 0) {\n ticketTimeEstimation = tickets.length * ticketEntryTimeEstimation * numberOfAttendees;\n numberOfFields += tickets.length * numberOfAttendees;\n numberOfFieldsCompleted +=\n orderInfo?.cart?.reduce((ticketIdsInCartCount, attendee) => {\n const uniqueTicketIds = new Set(attendee.tickets?.map((ticket) => ticket.ticketId) || []);\n return ticketIdsInCartCount + uniqueTicketIds.size || 0;\n }, 0) ?? 0;\n\n tickets\n .filter((x) => x.formQuestions && x.formQuestions.length > 0)\n .map((ticket) => {\n const ticketAnswerValues =\n orderInfo?.latestOrder?.purchasedTickets?.find((x) => x.ticketId === ticket.ticketId)\n ?.answers ?? [];\n\n if (ticket.formQuestions) {\n ticketTimeEstimation += calculateTimeEstimation(ticket.formQuestions, numberOfAttendees);\n numberOfFields +=\n ticket.formQuestions?.filter((x) => isComplexField(x) || isSimpleField(x)).length ||\n 0 * numberOfAttendees;\n\n numberOfFieldsCompleted +=\n ticket.formQuestions?.filter((x) => isFieldAnswered(x, ticketAnswerValues)).length ||\n 0 * numberOfAttendees;\n }\n });\n }\n\n const completionPercentage = numberOfFieldsCompleted / numberOfFields;\n const totalEstimationTime =\n signeeFormTimeEstimation + attendeeFormTimeEstimation + ticketTimeEstimation;\n const timeComplete = totalEstimationTime * completionPercentage;\n const timeEstimate =\n completionPercentage > 0 ? totalEstimationTime - timeComplete : totalEstimationTime;\n\n return numberOfFields > 0 ? (\n \n {(completionPercentage * 100).toFixed(0)}%{\" \"}\n {t(\"labels.complete\")}\n {t(\"labels.timeRemaining\", { timeEstimate: millisecondsTommss(timeEstimate)})}\n \n \n ) : null;\n};\n\nexport { ProgressTracker };\n","import { Icon } from \"@src/components/atoms/Icon\";\r\nimport styled from \"styled-components\";\r\n\r\nconst ErrorNavigatorWrapper = styled.div`\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n background-color: #ff6c6c;\r\n width: 100vw;\r\n height: 50px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: bold;\r\n z-index: 1000;\r\n`;\r\n\r\nconst ErrorNavigationMessage = styled.span`\r\n color: #43516f;\r\n font-size: 14px;\r\n line-height: 20px;\r\n text-transform: uppercase;\r\n margin: 0 10px;\r\n`;\r\n\r\nconst ShowNextErrorButton = styled.button.attrs({ type: \"button\" })`\r\n background-color: #d24041;\r\n padding: 5px 10px;\r\n font-size: 0.9em;\r\n font-family: Roboto,sans-serif;\r\n color: ${({ theme }) => theme.colors.values.white};\r\n border-radius: 7px;\r\n border: none;\r\n font-weight: 500;\r\n cursor: pointer;\r\n`;\r\n\r\nconst ErrorIcon = styled(Icon).attrs({\r\n icon: \"exclamation-triangle\",\r\n color: \"#43516f\",\r\n size: \"12px\",\r\n style: \"solid\",\r\n})`\r\n margin-right: 5px;\r\n`;\r\n\r\nexport { ErrorNavigatorWrapper, ShowNextErrorButton, ErrorIcon, ErrorNavigationMessage };\r\n","import React, { FC } from \"react\";\r\nimport { useFormikContext } from \"formik\";\r\n\r\nimport {\r\n ErrorNavigatorWrapper,\r\n ShowNextErrorButton,\r\n ErrorIcon,\r\n ErrorNavigationMessage,\r\n} from \"./styles\";\r\nimport { getErrorListFromErrorObjects } from \"@src/utils/validation\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst ErrorNavigator: FC = () => {\r\n const { t } = useTranslation();\r\n const { errors, submitCount } = useFormikContext();\r\n\r\n const errorList = getErrorListFromErrorObjects(errors);\r\n\r\n const selectedError = errorList.length ? errorList[0] : null;\r\n\r\n const shouldShowError = !!submitCount && selectedError;\r\n\r\n const message = t(\"messages.fieldsHaveErrors\", { number: errorList.length });\r\n\r\n const navigateToError = () => {\r\n if (selectedError) {\r\n const yOffset = -150;\r\n const element = document.getElementById(selectedError.key);\r\n\r\n if (element) {\r\n const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n window.scrollTo({ top: y, behavior: \"smooth\" });\r\n }\r\n }\r\n };\r\n\r\n return shouldShowError ? (\r\n \r\n \r\n {message}\r\n navigateToError()}>\r\n {t(\"labels.showNextError\")}\r\n \r\n \r\n ) : null;\r\n};\r\n\r\nexport { ErrorNavigator };\r\n","import styled from \"styled-components\";\nimport { Flex } from \"@src/components/layout/Page\";\n\nconst ModalTitle = styled.h1`\n font-weight: 300;\n`;\n\nconst InfoModalContent = styled.div`\n position: fixed;\n z-index: 1000;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-width: 490px;\n min-width: 340px;\n height: fit-content;\n background-color: white;\n border-radius: 7px;\n`;\n\nconst InfoModalBackground = styled.div`\n position: fixed;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #838383;\n opacity: 0.6;\n z-index: 999;\n`;\n\nconst InfoModalTitleContainer = styled(Flex)`\n flex-grow: 1;\n margin-left: 20px;\n`;\n\nconst InfoModalMessageContainer = styled(Flex)`\n margin-left: 25px;\n`;\n\nconst InfoModalCloseIconContainer = styled(Flex)`\n margin: 20px 25px 0px 0px;\n height: fit-content;\n align-items: center;\n`;\n\nconst InfoModalActionButtonsContainer = styled(Flex)`\n justify-content: flex-end;\n border-bottom-left-radius: 7px;\n border-bottom-right-radius: 7px;\n padding: 20px;\n`;\n\nexport {\n ModalTitle,\n InfoModalContent,\n InfoModalBackground,\n InfoModalTitleContainer,\n InfoModalMessageContainer,\n InfoModalCloseIconContainer,\n InfoModalActionButtonsContainer,\n};\n","import { Button } from \"@src/components/atoms/Button\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n InfoModalBackground,\n InfoModalContent,\n ModalTitle,\n InfoModalTitleContainer,\n InfoModalCloseIconContainer,\n InfoModalMessageContainer,\n InfoModalActionButtonsContainer,\n} from \"./styles\";\n\nexport type InfoModalProps = {\n title?: string;\n message?: string;\n confirmButtonText?: string;\n onCancel?: () => void;\n onConfirm?: () => void;\n};\n\nconst InfoModal: FC = ({\n title,\n message,\n confirmButtonText,\n onCancel,\n onConfirm,\n}) => {\n const { t } = useTranslation();\n return (\n <>\n \n \n \n {title}\n \n \n \n \n \n \n

{message}

\n
\n \n {onCancel ? (\n \n {t(\"labels.cancel\")}\n \n ) : null}\n\n {onConfirm ? (\n \n ) : null}\n \n
\n \n \n );\n};\n\nexport { InfoModal };\n","import { Button } from \"@src/components/atoms/Button\";\nimport { StyledNavigationButtonsContainer } from \"@src/components/styles\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport React, { FunctionComponent } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nexport type NavigationButtonsProps = {\n nextButtonDisabled?: boolean;\n displayBackButton?: boolean;\n displayNextButton?: boolean;\n backOnClick?: () => void;\n nextOnClick?: () => void;\n};\n\nconst NavigationButtons: FunctionComponent = ({\n nextButtonDisabled,\n displayBackButton = true,\n displayNextButton = true,\n backOnClick,\n nextOnClick,\n}: NavigationButtonsProps) => {\n const { t } = useTranslation();\n const screenSize = useBreakPoints();\n\n return (\n \n {displayBackButton ? (\n \n {t(\"labels.back\")}\n \n ) : (\n
\n )}\n {displayNextButton ? (\n \n {t(\"labels.next\")}\n \n ) : (\n
\n )}\n
\n );\n};\n\nexport { NavigationButtons };\n","import { useState } from \"react\";\n\nimport {\n Answer,\n AnswerInput,\n SaveAttendeeAnswerMutationOptions,\n SaveSigneeAnswerMutationOptions,\n useSaveAttendeeAnswerMutation,\n useSaveSigneeAnswerMutation,\n} from \"@src/types\";\nimport { getAnswerKey, getAnswersDictionary } from \"@src/utils/formValues\";\nimport { RequestError } from \"@src/localVariables\";\n\nconst shouldSaveAnswer = (answer: AnswerInput, previousValue: string) => {\n const newValue = answer?.value || \"\";\n\n /**\n * Equation fields need to save empty answers to act as rows. They are indicated\n * by a questionId of \"row\".\n */\n return answer.questionId === \"row\" || newValue !== previousValue;\n};\n\ntype SaveSigneeAnswerFunction = (args: SaveSigneeAnswerMutationOptions) => Promise;\n\ntype UseSafeSigneeAnswerMutation = (\n mutationOptions: SaveSigneeAnswerMutationOptions,\n answers: Answer[]\n) => SaveSigneeAnswerFunction;\n\n/**\n * This hook wraps the saveSigneeAnswer mutation to prevent sending the same value\n * to the backend multiple times. It receives the mutation options and an array of\n * answers. It returns a safe mutation function that will only send the mutation if\n * the value has changed since the last call.\n *\n * @param {SaveSigneeAnswerMutationOptions} mutationOptions\n * @param {Answer[]} answers\n * @returns\n */\nconst useSafeSaveSigneeAnswerMutation: UseSafeSigneeAnswerMutation = (mutationOptions, answers) => {\n const [saveSigneeAnswerFunction] = useSaveSigneeAnswerMutation(mutationOptions);\n const [answersDictionary, setAnswersDictionary] = useState(getAnswersDictionary(answers));\n\n const safeSaveAnswer: SaveSigneeAnswerFunction = async (args) => {\n const answer = args?.variables?.answer as AnswerInput;\n const answerKey = getAnswerKey(answer);\n const previousValue = answersDictionary[answerKey]?.value || \"\";\n const newValue = answer?.value || \"\";\n\n if (shouldSaveAnswer(answer, previousValue)) {\n setAnswersDictionary((prev) => ({\n ...prev,\n [answerKey]: { ...prev[answerKey], value: newValue },\n }));\n\n const result = await saveSigneeAnswerFunction(args);\n\n if (result.errors && result.errors.length > 0) {\n RequestError(result.errors[0]);\n }\n\n return result.data?.SaveSigneeAnswer.answerId || \"\";\n }\n\n return answer?.answerId || \"\";\n };\n\n return safeSaveAnswer;\n};\n\ntype SaveAttendeeAnswerFunction = (args: SaveAttendeeAnswerMutationOptions) => Promise;\n\ntype UseSafeAttendeeAnswerMutation = (args: {\n mutationOptions?: SaveAttendeeAnswerMutationOptions;\n answers: Answer[];\n}) => SaveAttendeeAnswerFunction;\n\n/**\n * This hook wraps the saveAttendeeAnswer mutation to prevent sending the same value\n * to the backend multiple times. It receives the mutation options and an array of\n * answers. It returns a safe mutation function that will only send the mutation if\n * the value has changed since the last call.\n *\n * @param {Object} args\n * @property {SaveAttendeeAnswerMutationOptions} mutationOptions\n * @property {Answer[]} answers\n *\n * @returns\n */\nconst useSafeSaveAttendeeAnswerMutation: UseSafeAttendeeAnswerMutation = ({\n mutationOptions,\n answers,\n}) => {\n const [saveAttendeeAnswerFunction] = useSaveAttendeeAnswerMutation(mutationOptions);\n\n const safeSaveAnswer: SaveAttendeeAnswerFunction = async (args) => {\n const answer = args?.variables?.answer as AnswerInput;\n const answerKey = getAnswerKey(answer);\n const answersDictionary = getAnswersDictionary(answers);\n const previousValue = answersDictionary[answerKey]?.value || \"\";\n\n if (shouldSaveAnswer(answer, previousValue)) {\n const result = await saveAttendeeAnswerFunction(args);\n\n if (result.errors && result.errors.length > 0) {\n RequestError(result.errors[0]);\n }\n\n return result.data?.SaveAttendeeAnswer.answerId || \"\";\n }\n\n return answer?.answerId || \"\";\n };\n\n return safeSaveAnswer;\n};\n\nexport { useSafeSaveSigneeAnswerMutation, useSafeSaveAttendeeAnswerMutation };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nimport {\n Answer,\n DeleteAttendeeAnswerMutation,\n DeleteAttendeeAnswerMutationVariables,\n ResponseQuery,\n SaveAttendeeAnswerMutation,\n SaveAttendeeAnswerMutationVariables,\n} from \"@src/types\";\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\n\ntype saveAttendeeAnswerForResponseArgs = {\n cache: ApolloCache;\n answer?: Answer;\n responseHashedId?: string;\n attendeeId: string;\n};\n\nconst saveAttendeeAnswerForResponse = ({\n cache,\n responseHashedId,\n answer,\n attendeeId,\n}: saveAttendeeAnswerForResponseArgs) => {\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseHashedId,\n },\n overwrite: true,\n },\n (data: ResponseQuery | null) => {\n if (data) {\n const responseVersion = data.Response;\n\n if (responseVersion) {\n const attendees = cloneDeep(responseVersion.attendees);\n const attendee = attendees.find((x) => x.attendeeId === attendeeId);\n const newAttedeeAnswers = attendee?.attendeeAnswers?.filter(\n (x) => x.answerId !== answer?.answerId\n );\n\n if (answer && attendee) {\n newAttedeeAnswers?.push(answer);\n attendee.attendeeAnswers = newAttedeeAnswers || [];\n }\n\n return {\n ...data,\n Response: {\n ...responseVersion,\n attendees,\n },\n };\n }\n }\n }\n );\n};\n\ntype DeleteAnswerForResponseArgs = {\n cache: ApolloCache;\n responseHashedId: string;\n variables?: DeleteAttendeeAnswerMutationVariables;\n attendeeId: string;\n};\n\nconst deleteAnswerForResponse = ({\n cache,\n responseHashedId,\n attendeeId,\n variables\n}: DeleteAnswerForResponseArgs) => {\n\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseHashedId,\n },\n overwrite: true,\n },\n (data: ResponseQuery | null) => {\n if (data) {\n const responseVersion = data.Response;\n\n if (responseVersion) {\n const attendees = cloneDeep(responseVersion.attendees);\n const attendee = attendees.find((x) => x.attendeeId === attendeeId);\n\n if (variables) {\n const newAttendeeAnswers = attendee?.attendeeAnswers?.filter((x) => {\n const answerOrder = x.order || null;\n const variableOrder = variables.answerInput.order || null;\n\n return !(\n x.fieldId === variables.answerInput.fieldId &&\n x.questionId === variables.answerInput.questionId &&\n answerOrder === variableOrder\n );\n });\n\n if (attendee)\n attendee.attendeeAnswers = newAttendeeAnswers || [];\n }\n\n return {\n ...data,\n Response: {\n ...responseVersion,\n attendees,\n },\n };\n }\n }\n }\n );\n};\n\ntype SaveAttendeeAnswerMutationUpdaterArgs = {\n attendeeId: string;\n responseHashedId: string;\n};\n\ntype SaveAttendeeAnswerMutationUpdater = (\n args: SaveAttendeeAnswerMutationUpdaterArgs\n) => MutationUpdaterFunction<\n SaveAttendeeAnswerMutation,\n SaveAttendeeAnswerMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\n// Saves answer to cache, used exclusively for preview\nconst saveAttendeeAnswerMutationUpdater: SaveAttendeeAnswerMutationUpdater =\n ({ attendeeId, responseHashedId }) =>\n (cache, { data }) => {\n const answer = data?.SaveAttendeeAnswer;\n saveAttendeeAnswerForResponse({\n cache,\n answer,\n responseHashedId,\n attendeeId,\n });\n };\n\ntype DeleteAttendeeAnswerMutationUpdaterArgs = {\n attendeeId: string;\n responseHashedId: string;\n};\n\ntype DeleteAttendeeAnswerMutationUpdater = (\n args: DeleteAttendeeAnswerMutationUpdaterArgs\n) => MutationUpdaterFunction<\n DeleteAttendeeAnswerMutation,\n DeleteAttendeeAnswerMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\n// Removes answer to cache, used exclusively for preview\nconst deleteAttendeeAnswerMutationUpdater: DeleteAttendeeAnswerMutationUpdater =\n ({ attendeeId, responseHashedId }) =>\n (cache, { }, { variables }) => {\n deleteAnswerForResponse({\n cache,\n responseHashedId,\n variables,\n attendeeId,\n });\n };\n\nexport {\n saveAttendeeAnswerMutationUpdater,\n deleteAttendeeAnswerMutationUpdater\n};\n","import { ModifiableSection } from \"@src/constants/editingPermission\";\nimport { DocumentVersion, Field, FieldType, FormInfoQuery } from \"@src/types\";\n\nconst hasAttendeeQuestions = (documentVersion: DocumentVersion | FormInfoQuery[\"Form\"]): boolean =>\n ((documentVersion?.attendeeQuestions || false) && documentVersion.attendeeQuestions.length > 0) ||\n ((documentVersion.template?.attendeeQuestions || false) && documentVersion.template.attendeeQuestions.length > 0);\n\nconst hasAttendeeIntegratedDataQuestions = (documentVersion: DocumentVersion | FormInfoQuery[\"Form\"]): boolean =>\n ((documentVersion?.attendeeQuestions || false) && documentVersion.attendeeQuestions.filter((x) => x.type === FieldType.IntegratedData).length > 0) ||\n ((documentVersion.template?.attendeeQuestions || false) && documentVersion.template.attendeeQuestions.filter((x) => x.type === FieldType.IntegratedData).length > 0);\n\nconst hasSigneeQuestions = (documentVersion: DocumentVersion | FormInfoQuery[\"Form\"]): boolean =>\n ((documentVersion?.signeeQuestions || false) && documentVersion.signeeQuestions.length > 0) ||\n ((documentVersion.template?.signeeQuestions || false) && documentVersion.template.signeeQuestions.length > 0);\n\nconst hasTickets = (documentVersion: DocumentVersion | FormInfoQuery[\"Form\"]): boolean =>\n ((documentVersion?.tickets || false) && documentVersion.tickets?.length > 0) ||\n ((documentVersion.template?.tickets || false) && documentVersion.template.tickets.length > 0 && documentVersion.template.ticketPermissions !== ModifiableSection);\n\nconst isGeneralSignup = (documentVersion: DocumentVersion | FormInfoQuery[\"Form\"]): boolean =>\n (documentVersion || false) && (documentVersion.isGeneralSignup);\n\nconst getIntegratedDataFields = (documentVersion: DocumentVersion | FormInfoQuery[\"Form\"]): Field[] =>\n hasAttendeeQuestions(documentVersion) ? documentVersion?.attendeeQuestions.filter((x) => x.type === FieldType.IntegratedData) : []\n\nexport {\n hasAttendeeQuestions,\n hasSigneeQuestions,\n hasTickets,\n isGeneralSignup,\n hasAttendeeIntegratedDataQuestions,\n getIntegratedDataFields\n}","import { useEffect } from \"react\";\n\nconst scrollToTop = (): void => {\n window.scrollTo({ top: 0 });\n};\n\nconst useScrollToTop = (): void => {\n useEffect(() => {\n scrollToTop();\n }, []);\n};\n\nexport { useScrollToTop, scrollToTop };\n","import { Flex } from \"@src/components/layout/Page\";\nimport styled from \"styled-components\";\n\nexport const StyledOrderContainer = styled(Flex)`\n border: 1px solid #e9e9e9;\n border-radius: 5px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n padding: 15px;\n margin-bottom: 15px;\n`","import { Flex } from \"@src/components/layout/Page\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { PurchasedTicket } from \"@src/types\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\ntype PreviousTicketProps = {\n purchasedTickets: PurchasedTicket[];\n};\n\nconst PreviousTicket: FC = ({ purchasedTickets }) => {\n const { i18n } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const { form } = useFormInfo();\n\n const currencyCode = form?.document?.organization?.currencyCode;\n\n return (\n \n {purchasedTickets.map((purchasedTicket) => {\n return (\n \n {googleTranslate(purchasedTicket.name ?? \"\")}\n \n \n ({purchasedTicket.quantity}){\" \"}\n \n \n {currencyFormatter(i18n.resolvedLanguage, currencyCode).format(\n purchasedTicket.quantity * purchasedTicket.price\n )}\n \n \n \n );\n })}\n \n );\n};\n\nexport { PreviousTicket };\n","import React, { FC } from \"react\";\nimport { Order } from \"@src/types\";\nimport { StyledLabel, StyledLine } from \"@src/components/styles\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport groupBy from \"lodash/groupBy\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport dayjs from \"dayjs\";\nimport { StyledOrderContainer } from \"./styles\";\nimport { PreviousTicket } from \"./PreviousTicket\";\nimport { useTranslation } from \"react-i18next\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\nexport type PreviousOrderProps = {\n order: Order;\n};\n\nconst PreviousOrder: FC = ({ order }) => {\n const { i18n, t } = useTranslation();\n const attendeeTicketsDict = groupBy(order.purchasedTickets, \"attendeeId\");\n const { form } = useFormInfo();\n const googleTranslate = useGoogleTranslate();\n\n const orderDate = googleTranslate(dayjs(order.date).format(\"MMMM DD YYYY\"));\n\n const currencyCode = form?.document?.organization?.currencyCode;\n return (\n \n \n <>\n \n \n \n {t(\"labels.orderNumber\")} {order.orderNumber}{\" \"}\n \n \n {t(\"labels.purchasedBy\")} {order.purchaserFirstName}{\" \"}\n {order.purchaserLastName}\n \n \n \n \n {t(\"labels.date\")} {orderDate}\n \n \n {t(\"labels.total\")}{\" \"}\n {currencyFormatter(i18n.resolvedLanguage, currencyCode).format(\n order.grandTotal || 0\n )}\n \n \n \n \n {Object.keys(attendeeTicketsDict).map((attendeeId) => {\n return (\n \n );\n })}\n \n \n \n );\n};\n\nexport type PreviousOrdersProps = {\n orders: Order[];\n};\n\nconst PreviousOrders: FC = ({ orders }) => {\n const { t } = useTranslation();\n return (\n \n <>\n {t(\"labels.previousOrders\")}\n {orders.map((order) => (\n \n ))}\n \n \n \n );\n};\n\nexport { PreviousOrders };\n","import React, { FC } from \"react\";\nimport { Attendee, ReserveTicketInput, Ticket, TicketInventory } from \"@src/types\";\nimport { TicketMode, TicketSection } from \"../TicketSection/TicketSection\";\nimport { StyledLabel, StyledLine } from \"@src/components/styles\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { ReserveTicketAnswerResult } from \"@src/mutations/mutationTypes\";\nimport { ReserveTicketArgs } from \"@src/utils/purchasedTickets\";\nimport { PreviewProps } from \"@src/Routes\";\nimport { useFormikContext } from \"formik\";\nimport { RespondentMustSelectATicket } from \"@src/pages/TicketsAndAttendeeForm\";\nimport { useTranslation } from \"react-i18next\";\n\nexport type TicketInput = ReserveTicketInput & {\n responseAttendeeId: string;\n responseVersionId: string;\n ticketId: string;\n ticket: Ticket;\n};\n\nexport type TicketsSectionProps = PreviewProps & {\n tickets: Ticket[];\n inventories: TicketInventory[];\n attendee: Attendee;\n attendeeIndex: number;\n cart?: Attendee[];\n mode: TicketMode;\n onReserveTicket?: (args: ReserveTicketArgs) => Promise;\n};\n\nconst TicketsSection: FC = ({\n tickets,\n inventories,\n attendee,\n attendeeIndex,\n cart,\n mode,\n isPreview,\n onReserveTicket,\n}) => {\n const { t } = useTranslation();\n const { errors } = useFormikContext<{ RespondentMustSelectATicket: string | undefined }>();\n\n const requiresATicket = errors[RespondentMustSelectATicket] ?? null;\n\n return tickets.length > 0 ? (\n \n \n \n {t(\"pages.tickets.selectItems\")} {attendee.firstName} {attendee.lastName}\n \n
\n {tickets.map((ticket, index) => {\n const inventory = inventories.find((x) => x.ticketId == ticket.ticketId);\n\n return inventory ? (\n \n \n \n \n ) : null;\n })}\n {requiresATicket ? (\n

* {requiresATicket}

\n ) : null}\n
\n
\n ) : null;\n};\n\nexport { TicketsSection };\n","import gql from \"graphql-tag\";\nimport {\n AnswerFragment,\n DocumentFragment,\n FieldFragment,\n FormAttachmentFragment,\n LinkAttachmentFragment,\n TicketFragment,\n} from \"./fragments\";\n\nconst FORM_INFO_QUERY = gql`\n query FormInfo($hashedId: String!, $countryCode: String!, $hashedOrgId: String) {\n Form(hashedId: $hashedId, countryCode: $countryCode, hashedOrgId: $hashedOrgId) {\n id\n name\n status\n redirectUrl\n documentId\n redirectMessage\n allowMultipleChildrenOnOneOrder\n allowOnlinePaymentsOnly\n respondentMustSelectATicket\n manualPaymentText\n parentMessage\n information\n organizerName\n requiresPermission\n isGeneralSignup\n restrictResponses\n hasApprovers\n hasReachedResponseCutOffDate\n responseCutOffLocalDate\n startDate\n endDate\n affirmativePermission\n negativePermission\n useOrganizationBranding\n useLocalTranslations\n document {\n ...DocumentFragment\n }\n attachments {\n ...FormAttachmentFragment\n }\n linkAttachments {\n ...LinkAttachmentFragment\n }\n publicQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n publicOrganizerAnswers {\n ...AnswerFragment\n }\n signeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n attendeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n tickets {\n ...TicketFragment\n }\n template {\n attachmentsPermissions\n ticketPermissions\n signeeFormPermissions\n attendeeFormPermissions\n document {\n ...DocumentFragment\n }\n attachments {\n ...FormAttachmentFragment\n }\n linkAttachments {\n ...LinkAttachmentFragment\n }\n publicQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n signeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n attendeeQuestions {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n fields {\n ...FieldFragment\n equationSections {\n ...QuestionFragment\n }\n question {\n ...QuestionFragment\n }\n }\n }\n }\n }\n tickets {\n ...TicketFragment\n }\n }\n }\n }\n ${DocumentFragment}\n ${FieldFragment}\n ${TicketFragment}\n ${FormAttachmentFragment}\n ${LinkAttachmentFragment}\n ${AnswerFragment}\n`;\n\nexport { FORM_INFO_QUERY };\n","import gql from \"graphql-tag\";\nimport { OrganizationFragment } from \"./fragments\";\n\nconst ORGANIZATION_INFO_QUERY = gql`\n query OrganizationInfo($organizationId: ID!, $countryCode: String!) {\n Organization(organizationId: $organizationId, countryCode: $countryCode) {\n ...OrganizationFragment\n }\n }\n ${OrganizationFragment}\n`;\n\nconst ORGANIZATION_HASH_QUERY = gql`\n query OrganizationByHash($hashedId: String!, $countryCode: String!) {\n OrganizationByHash(hash: $hashedId, countryCode: $countryCode) {\n ...OrganizationFragment\n }\n }\n ${OrganizationFragment}\n`;\n\nexport { ORGANIZATION_INFO_QUERY, ORGANIZATION_HASH_QUERY };\n","import gql from \"graphql-tag\";\nimport { TaxesAndFeesFragment } from \"./fragments\";\n\nconst TAXES_AND_FEES_QUERY = gql`\n query TaxesAndFees($organizationId: ID!, $passFeesToBuyer: Boolean!, $amount: Float!, $currency: String!) {\n TaxesAndFees(organizationId: $organizationId, passFeesToBuyer: $passFeesToBuyer, amount: $amount, currency: $currency) {\n ...TaxesAndFeesFragment\n }\n }\n ${TaxesAndFeesFragment}\n`;\n\nexport { TAXES_AND_FEES_QUERY };\n","import { ApolloCache, ApolloError, useApolloClient, useReactiveVar } from \"@apollo/client\";\nimport { IsPreviewInventoryLoaded } from \"@src/localVariables\";\nimport { ticketInventoryMutationUpdater } from \"@src/mutations/updaterFunctions/updateTickets\";\nimport { FormInfoQuery, Ticket, TicketInventory, useTicketInventoryQuery } from \"@src/types\";\nimport { getPreviewInventories } from \"@src/utils/preview\";\nimport { useUrlParams } from \"./useUrlParams\";\nimport { FORM_INFO_QUERY } from \"@src/queries\";\n\nexport type TicketInventoryQuery = {\n inventories: TicketInventory[];\n loading: boolean;\n error: ApolloError | undefined;\n};\n\nexport const useTicketInventory = (\n tickets: Ticket[],\n documentId: string,\n isPreview?: boolean\n): TicketInventoryQuery => {\n const { countryCode, documentHashedId, hashedOrgId } = useUrlParams();\n const isPreviewInventoryLoaded = useReactiveVar(IsPreviewInventoryLoaded);\n const client = useApolloClient();\n\n const ticketIds = tickets.map((x) => x.ticketId);\n\n if (isPreview && !isPreviewInventoryLoaded) {\n injectPreviewDataIntoCache(client.cache, tickets, documentId || \"\", countryCode);\n IsPreviewInventoryLoaded(true);\n }\n\n const ticketInventoryQuery = useTicketInventoryQuery({\n variables: { documentId: documentId || \"\", countryCode, ticketIds },\n fetchPolicy: \"cache-first\",\n skip: !documentId || !countryCode,\n });\n\n const inventories = ticketInventoryQuery?.data?.TicketInventory;\n\n client.cache.updateQuery(\n {\n query: FORM_INFO_QUERY,\n variables: { \n hashedId: documentHashedId || \"\", \n countryCode, \n hashedOrgId \n },\n overwrite: true,\n },\n (cachedData) => {\n if (cachedData) {\n\n if (cachedData?.Form?.tickets) {\n\n const updatedTickets = cachedData.Form.tickets.map((ticket) => {\n const matchingInventory = inventories?.find((inv) => inv.ticketId === ticket.ticketId);\n if (matchingInventory) {\n return {\n ...ticket,\n inventory: {\n ...ticket.inventory,\n remaining: matchingInventory.remaining,\n },\n };\n }\n return ticket;\n });\n\n return {\n ...cachedData,\n Form: {\n ...cachedData.Form,\n tickets: updatedTickets,\n }\n };\n\n }\n\n return {...cachedData};\n }\n }\n );\n\n return {\n inventories: inventories as TicketInventory[],\n loading: ticketInventoryQuery.loading,\n error: ticketInventoryQuery.error,\n };\n};\n\nconst injectPreviewDataIntoCache = (\n cache: ApolloCache,\n tickets: Ticket[],\n documentId: string,\n countryCode: string\n) => {\n const inventoryUpdater = ticketInventoryMutationUpdater(tickets);\n if (inventoryUpdater) {\n inventoryUpdater(\n cache,\n { data: { TicketInventory: getPreviewInventories(tickets) } },\n {\n variables: {\n documentId: documentId || \"\",\n countryCode,\n ticketIds: tickets.map((x) => x.ticketId),\n },\n }\n );\n }\n};\n","import { useApolloClient, useReactiveVar } from \"@apollo/client\";\nimport React, { FC } from \"react\";\n\nimport { Flex } from \"@src/components/layout/Page\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { Totals } from \"@src/components/molecules/totals\";\nimport { StyledLine } from \"@src/components/styles\";\nimport { useUrlParams } from \"@src/customHooks\";\nimport { OrderId, RequestError } from \"@src/localVariables\";\nimport { CancelTicketAnswerResult, ReserveTicketAnswerResult } from \"@src/mutations/mutationTypes\";\nimport {\n cancelTicketMutationUpdater,\n reserveTicketMutationUpdater,\n} from \"@src/mutations/updaterFunctions/updateTickets\";\nimport { ErrorComponent } from \"@src/pages/Error\";\nimport { RESPONSE_VERSIONS_QUERY } from \"@src/queries/responseVersions\";\nimport { PreviewProps } from \"@src/Routes\";\nimport {\n Attendee,\n DocumentVersion,\n ResponseVersion,\n useCancelTicketMutation,\n useReserveTicketMutation,\n} from \"@src/types\";\nimport { getOrderInfo, getTickets } from \"@src/utils/getters\";\nimport { CancelTicketArgs, ReserveTicketArgs } from \"@src/utils/purchasedTickets\";\nimport { TicketsPreview } from \"./Preview\";\nimport { PreviousOrders } from \"./PreviousOrders/PreviousOrders\";\nimport { TicketMode } from \"./TicketSection\";\nimport { TicketsSection } from \"./TicketsSection/TicketsSection\";\nimport { useTicketInventory } from \"@src/customHooks/useTicketInventory\";\nimport { signeeInfo } from \"@src/utils/responseVersionGetters\";\nimport { useTranslation } from \"react-i18next\";\nimport { v4 as uuidv4 } from \"uuid\";\n\ntype TicketsProps = PreviewProps & {\n attendee: Attendee;\n attendeeIndex: number;\n form: DocumentVersion;\n responseVersion: ResponseVersion;\n};\n\nconst Tickets: FC = ({\n attendee,\n attendeeIndex,\n isPreview,\n form,\n responseVersion,\n}) => {\n const { t } = useTranslation();\n const { countryCode, markAsVisited } = useUrlParams();\n const orderId = useReactiveVar(OrderId) || \"\";\n const client = useApolloClient();\n\n const ticketInventoryQuery = useTicketInventory(form.tickets || [], form.documentId, isPreview);\n const tickets = getTickets(form);\n\n const responseVersionQueryVariables = {\n documentId: form.documentId,\n countryCode,\n email: signeeInfo(responseVersion).email,\n };\n\n const mutationOptions = {\n awaitRefetchQueries: true,\n refetchQueries: [\n {\n query: RESPONSE_VERSIONS_QUERY,\n variables: responseVersionQueryVariables,\n },\n ],\n };\n const [reserveTicket] = useReserveTicketMutation(mutationOptions);\n const [cancelTicket] = useCancelTicketMutation(mutationOptions);\n\n if (ticketInventoryQuery.loading) return ;\n if (ticketInventoryQuery.error) return ;\n\n markAsVisited(\"attendee-form/0\");\n\n const orderInfo = getOrderInfo(responseVersion, false);\n\n const onReserveTicket = async ({\n orderId,\n ticketVersionId,\n responseAttendeeId,\n answers,\n openValueAmount,\n quantity,\n }: ReserveTicketArgs): Promise => {\n const result = await reserveTicket({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n reserveTicketInput: {\n orderId,\n answers: answers,\n openValueAmount: openValueAmount,\n quantity: parseInt(quantity.toString()),\n },\n },\n });\n\n if (result.errors && result.errors.length > 0) {\n RequestError(result.errors[0]);\n }\n\n return result;\n };\n\n const onCancelTicket = async ({\n ticketVersionId,\n responseAttendeeId,\n purchasedTicketIds,\n }: CancelTicketArgs): Promise => {\n const result = await cancelTicket({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n purchasedTicketIds: purchasedTicketIds,\n orderId,\n },\n });\n\n if (result.errors && result.errors.length > 0) {\n RequestError(result.errors[0]);\n }\n\n return result;\n };\n\n const previewOnReserveTicket = ({\n orderId,\n ticketVersionId,\n responseAttendeeId,\n answers,\n openValueAmount,\n quantity,\n }: ReserveTicketArgs): Promise => {\n const result = { ReserveTicket: \"\" };\n const ticket = tickets.find((ticket) => ticket.id === ticketVersionId);\n // Assign the answerId so apollo's merge operation can track the answers in the cache\n answers?.forEach((answer) => { if (!answer.answerId) answer.answerId = uuidv4(); });\n\n const updater = ticket\n ? reserveTicketMutationUpdater(signeeInfo(responseVersion), ticket, attendee.attendeeId)\n : null;\n if (updater) {\n updater(\n client.cache,\n { data: result },\n {\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n reserveTicketInput: {\n orderId,\n answers: answers,\n openValueAmount: openValueAmount,\n quantity: quantity,\n },\n },\n }\n );\n }\n return Promise.resolve({ data: result, errors: undefined });\n };\n\n const previewOnCancelTicket = ({\n ticketVersionId,\n responseAttendeeId,\n purchasedTicketIds,\n }: CancelTicketArgs): Promise => {\n const result = { CancelTicket: true };\n const updater = cancelTicketMutationUpdater(signeeInfo(responseVersion));\n if (updater) {\n updater(\n client.cache,\n { data: result },\n {\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n purchasedTicketIds: purchasedTicketIds,\n orderId,\n },\n }\n );\n }\n return Promise.resolve({ data: result, errors: undefined });\n };\n\n const hasTicketsInCart =\n orderInfo && orderInfo?.cart.some((attendee) => attendee?.tickets?.length > 0);\n\n return (\n \n \n {hasTicketsInCart ? (\n <>\n \n <>\n \n \n \n \n ) : null}\n {orderInfo && orderInfo.previousOrders.length > 0 ? (\n \n ) : null}\n \n );\n};\n\nexport { Tickets };\n","import { useApolloClient, useReactiveVar } from \"@apollo/client\";\nimport { cloneDeep } from \"@apollo/client/utilities\";\nimport {\n AttendeeFormRoute,\n AttendeeInformationRoute,\n PreviewProps,\n ReviewRoute,\n SigneeFormRoute,\n} from \"@src/Routes\";\nimport { FieldSelector } from \"@src/components/fields\";\nimport { ContentWrapper, PageWrapper } from \"@src/components/layout\";\nimport { Flex, Push } from \"@src/components/layout/Page\";\nimport { ProgressTracker } from \"@src/components/molecules/ProgressTracker\";\nimport { ErrorNavigator } from \"@src/components/molecules/errorNavigator\";\nimport { InfoModal } from \"@src/components/molecules/infoModal/InfoModal\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { NavigationButtons } from \"@src/components/molecules/navigationButtons\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { PageHeader } from \"@src/components/molecules/pageHeader\";\nimport { StyledAttendeeName, StyledDivider } from \"@src/components/styles\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { useSafeSaveAttendeeAnswerMutation } from \"@src/customHooks/useSafeMutations\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\nimport { AccessDataAnswers, RequestError, ResponseVersionHash } from \"@src/localVariables\";\nimport {\n deleteAttendeeAnswerMutationUpdater,\n saveAttendeeAnswerMutationUpdater,\n} from \"@src/mutations/updaterFunctions/updateAttendeeAnswers\";\nimport { AnswerInput, useDeleteAttendeeAnswerMutation } from \"@src/types\";\nimport { checkUnsubmittedAnswers } from \"@src/utils/answers\";\nimport { isCollapsed } from \"@src/utils/field\";\nimport {\n getIntegratedDataFields,\n hasAttendeeQuestions,\n hasSigneeQuestions,\n hasTickets,\n} from \"@src/utils/formGetters\";\nimport { getFormInitialValues } from \"@src/utils/formValues\";\nimport { InitialValuesObject } from \"@src/utils/formValuesTypes\";\nimport { getAttendeeFields, getAttendeesList, getFieldKey } from \"@src/utils/getters\";\nimport { getAttendeeAnswer, getDeleteAttendeeAnswerResponseForPreview } from \"@src/utils/preview\";\nimport { ticketMaximumsAreNotExceeded, ticketMinimumsAreMet } from \"@src/utils/purchasedTickets\";\nimport { isStaff } from \"@src/utils/responseVersionGetters\";\nimport { scrollToTop } from \"@src/utils/scrollToTop\";\nimport { answerToAnswerInput } from \"@src/utils/typeConverters\";\nimport { Form, Formik } from \"formik\";\nimport React, { FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport { ErrorComponent } from \"../Error/Error\";\nimport { Tickets } from \"../Tickets/Tickets\";\n\nexport const RespondentMustSelectATicket = \"RespondentMustSelectATicket\";\nexport const TicketMinimumsNotMet = \"TicketMinimumsNotMet\";\nexport const TicketMaximumsExceeded = \"TicketMaximumsExceeded\";\n\nconst TicketsAndAttendeeForm: FC = ({ isPreview }) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const { baseUrl, countryCode, markAsVisited, attendeeIndex } = useUrlParams();\n const screenSize = useBreakPoints();\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const requestError = useReactiveVar(RequestError);\n const accessData = useReactiveVar(AccessDataAnswers) || [];\n const [collapsedHeaders, setCollapsedHeaders] = useState([]);\n const [showModal, setShowModal] = useState(false);\n const client = useApolloClient();\n const [disableNextButton, setDisableNextButton] = useState(false);\n\n useEffect(() => {\n typeof attendeeIndex !== undefined && scrollToTop();\n }, [attendeeIndex]);\n\n const formInfo = useFormInfo();\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n const attendeesList = getAttendeesList(responseVersionQuery.responseVersion).filter(\n (attendee) => !formInfo.form.requiresPermission || attendee.permitted\n );\n\n const currentAnswers =\n attendeeIndex !== undefined ? attendeesList[attendeeIndex]?.attendeeAnswers || [] : [];\n const integratedDataOnFile =\n attendeeIndex !== undefined ? attendeesList[attendeeIndex]?.integratedDataOnFile || [] : [];\n\n const allInitialAnswers = [...currentAnswers, ...integratedDataOnFile];\n const saveAttendeeAnswer = useSafeSaveAttendeeAnswerMutation({ answers: allInitialAnswers });\n\n const [deleteAttendeeAnswer] = useDeleteAttendeeAnswerMutation();\n\n if (formInfo.error) return ;\n if (formInfo.loading || responseVersionQuery.loading) return ;\n if (responseVersionQuery.error)\n return ;\n\n const form = formInfo.form;\n const responseVersion = responseVersionQuery.responseVersion;\n\n if (\n !baseUrl ||\n !responseVersion ||\n typeof attendeeIndex === \"undefined\" ||\n responseVersionQuery.responseVersion?.isSigned\n ) {\n const currentUrl = window.location.pathname;\n\n // Remove everything after AttendeeFormRoute\n return (\n \n );\n }\n\n if (attendeeIndex >= attendeesList.length && !formInfo.form.isGeneralSignup) {\n const index = window.location.pathname.indexOf(AttendeeFormRoute);\n\n return ;\n }\n\n markAsVisited(\"attendee-form/0\");\n\n const selectedAttendee = attendeesList[attendeeIndex];\n const attendeeFullName = `${selectedAttendee.firstName} ${selectedAttendee.lastName}`;\n\n const fields = getAttendeeFields(formInfo.form);\n\n const initialValues = getFormInitialValues({\n fields,\n answers: currentAnswers,\n integratedDataOnFile: integratedDataOnFile,\n });\n\n const saveAnswer = async (answerInput: AnswerInput): Promise => {\n const answer = answerToAnswerInput(answerInput);\n\n if (isPreview) {\n const previewAnswer = getAttendeeAnswer(answer);\n const updater = saveAttendeeAnswerMutationUpdater({\n attendeeId: selectedAttendee.attendeeId,\n responseHashedId: responseVersion.hash,\n });\n if (updater) {\n updater(\n client.cache,\n { data: { SaveAttendeeAnswer: previewAnswer } },\n {\n variables: {\n attendeeId: selectedAttendee.attendeeId,\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n answer,\n accessData,\n },\n }\n );\n }\n return previewAnswer.answerId;\n } else {\n const answerId = await saveAttendeeAnswer({\n update: saveAttendeeAnswerMutationUpdater({\n attendeeId: selectedAttendee.attendeeId,\n responseHashedId: responseVersion.hash,\n }),\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n attendeeId: selectedAttendee.responseAttendeeId,\n answer,\n accessData,\n },\n });\n\n return answerId;\n }\n };\n\n const deleteAnswer = async (answer: AnswerInput) => {\n if (isPreview) {\n const response = { DeleteAttendeeAnswer: getDeleteAttendeeAnswerResponseForPreview() };\n const updater = deleteAttendeeAnswerMutationUpdater({\n attendeeId: selectedAttendee.attendeeId,\n responseHashedId: responseVersion.hash,\n });\n if (updater) {\n updater(\n client.cache,\n { data: response },\n {\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n attendeeId: selectedAttendee.responseAttendeeId,\n accessData,\n answerInput: {\n fieldId: answer.fieldId,\n questionId: answer.questionId,\n order: answer.order,\n },\n },\n }\n );\n }\n return Promise.resolve({ data: response, errors: undefined });\n } else {\n return await deleteAttendeeAnswer({\n update: deleteAttendeeAnswerMutationUpdater({\n attendeeId: selectedAttendee.attendeeId,\n responseHashedId: responseVersion.hash,\n }),\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n attendeeId: selectedAttendee.responseAttendeeId,\n accessData,\n answerInput: {\n fieldId: answer.fieldId,\n questionId: answer.questionId,\n order: answer.order,\n },\n },\n });\n }\n };\n\n const nextPage = (\n setFieldError?: (field: string, message: string | undefined) => void,\n continueWithoutTickets?: boolean\n ) => {\n const integratedDataAnswers = Object.keys(initialValues)\n .filter((x) => x.includes(\"INTEGRATED_DATA\"))\n .map((key) => Object.values(initialValues[key])[1]);\n\n if (integratedDataAnswers) {\n integratedDataAnswers.forEach((answer) => {\n // Save untouched integrated data answers\n if (typeof (answer as AnswerInput).answerId === \"undefined\") {\n saveAnswer(answer as AnswerInput);\n }\n });\n }\n\n if (\n formInfo.form?.respondentMustSelectATicket &&\n hasTickets(formInfo.form) &&\n attendeesList[attendeeIndex].tickets.length === 0 &&\n setFieldError\n ) {\n setFieldError(RespondentMustSelectATicket, t(\"validation.noTicketsWhenRequired\"));\n return;\n }\n\n const ticketMinimumsAreValid = ticketMinimumsAreMet(form.tickets ?? [], responseVersion.orders);\n const ticketMaximumsAreValid = ticketMaximumsAreNotExceeded(\n form.tickets ?? [],\n responseVersion.orders\n );\n\n if (!ticketMinimumsAreValid && setFieldError) {\n setFieldError(RespondentMustSelectATicket, t(\"validation.ticketMinimumsAreNotMet\"));\n return;\n } else if (!ticketMaximumsAreValid && setFieldError) {\n setFieldError(RespondentMustSelectATicket, t(\"validation.ticketMaximumsAreExceeded\"));\n return;\n }\n\n if (hasTickets(form) && attendeesList[attendeeIndex].tickets.length === 0 && !showModal) {\n setShowModal(true);\n return;\n }\n\n if (!showModal || continueWithoutTickets) {\n const nextIndex = attendeeIndex + 1;\n if (!formInfo.form.isGeneralSignup && attendeesList[nextIndex]) {\n navigate(`${baseUrl}/${AttendeeFormRoute}/${nextIndex}`);\n } else {\n navigate(`${baseUrl}/${ReviewRoute}`);\n }\n }\n };\n\n const back = () => {\n let attendeesList = getAttendeesList(responseVersionQuery.responseVersion);\n\n attendeesList = attendeesList.filter(\n (attendee) => !formInfo.form.requiresPermission || attendee.permitted\n );\n\n const previousIndex = attendeeIndex - 1;\n\n if (attendeesList[previousIndex]) {\n navigate(`${baseUrl}/${AttendeeFormRoute}/${previousIndex}`);\n } else {\n if (hasSigneeQuestions(form)) navigate(`${baseUrl}/${SigneeFormRoute}`);\n else if (!formInfo.form.isGeneralSignup) navigate(`${baseUrl}/${AttendeeInformationRoute}`);\n else navigate(`${baseUrl}`);\n }\n };\n\n const handleToggleCollapse = (fieldId: string) => {\n const existing = collapsedHeaders.find((x) => x === fieldId);\n\n if (existing) {\n setCollapsedHeaders(collapsedHeaders.filter((x) => x !== existing));\n } else {\n const headers = cloneDeep(collapsedHeaders);\n headers.push(fieldId);\n\n setCollapsedHeaders(headers);\n }\n };\n\n const handleSubmit = async (\n values: InitialValuesObject,\n setFieldError?: (field: string, message: string | undefined) => void\n ) => {\n setDisableNextButton(true);\n\n //skip integrated data fields\n const integratedDataFields = getIntegratedDataFields(form);\n const omitFieldKeys: string[] = [];\n\n integratedDataFields.map((x) => omitFieldKeys.push(getFieldKey(x)));\n\n const needsSaving = checkUnsubmittedAnswers(values, omitFieldKeys);\n await Promise.all(needsSaving.map((x) => saveAnswer(x as AnswerInput)));\n\n setDisableNextButton(false);\n nextPage(setFieldError, false);\n };\n\n return (\n <>\n \n {requestError ? null : }\n \n \n {attendeeFullName}\n \n {hasAttendeeQuestions(form) && }\n handleSubmit(values, setFieldError)}\n >\n \n
\n \n {fields.map((field) => (\n \n ))}\n {hasTickets(form) ? (\n \n ) : null}\n \n \n
\n \n {showModal ? (\n {\n setShowModal(false);\n }}\n onConfirm={() => {\n setShowModal(false);\n nextPage(undefined, true);\n }}\n />\n ) : null}\n
\n \n
\n \n \n );\n};\n\nexport { TicketsAndAttendeeForm };\n","import { cloneDeep } from \"@apollo/client/utilities\";\nimport { Formik, useFormikContext } from \"formik\";\nimport React, { FC, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport styled from \"styled-components\";\n\nimport { Button } from \"@src/components/atoms/Button\";\nimport { Thumbnail } from \"@src/components/atoms/Thumbnail/Thumbnail\";\nimport { FieldSelector } from \"@src/components/fields\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { Breakpoints, useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { ReserveTicketAnswerResult } from \"@src/mutations/mutationTypes\";\nimport { AttendeeFormRoute, PreviewProps } from \"@src/Routes\";\nimport { Attendee, FieldType, PurchasedTicket, Ticket, TicketInventory } from \"@src/types\";\nimport { isCollapsed } from \"@src/utils/field\";\nimport { getFormInitialValues } from \"@src/utils/formValues\";\nimport { InitialValuesObject } from \"@src/utils/formValuesTypes\";\nimport { CancelTicketArgs, ReserveTicketArgs, TicketMode } from \"@src/utils/purchasedTickets\";\nimport { DateNotice } from \"./DateNotice\";\nimport { QuantitySection } from \"./QuantitySection\";\nimport { TicketPrice, TicketTypeCode } from \"./TicketPrice\";\nimport { TrashButton } from \"./TrashButton\";\nimport { RespondentMustSelectATicket } from \"@src/pages/TicketsAndAttendeeForm\";\nimport { checkTicketSellingDates, getTicketAnswers } from \"@src/utils/tickets\";\nimport { useReactiveVar } from \"@apollo/client\";\nimport { IsPayNow, OrderId } from \"@src/localVariables\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\n\ntype TicketContainerProps = {\n unavailable?: boolean;\n};\n\nconst TicketContainer = styled.div`\n border: 1px solid #cdcdcd;\n box-shadow: 0 0px 3px rgb(0 0 0 / 5%), 0 0px 3px rgb(0 0 0 / 24%);\n border-radius: 10px;\n ${({ unavailable, theme }) =>\n unavailable &&\n `\n color: ${theme.colors.values.grey};\n opacity: .5;\n `}\n`;\n\nconst TicketQuestionsHeader = styled(Flex)`\n margin-bottom: 5px;\n & > * {\n :not(:first-child) {\n margin-left: 20px;\n }\n }\n`;\n\nconst AddToCartButton = styled.button.attrs({ type: \"button\" })<{ screenSize: Breakpoints }>`\n ${({ theme, screenSize }) => `\n height: 47px;\n width: ${screenSize === \"desktop\" ? \"188px\" : \"100%\"};\n\n border-radius: 7px;\n border-style: none;\n border-color: ${theme.colors.values.lightblue};\n\n margin: ${screenSize === \"desktop\" ? \"0px 15px 15px auto\" : \"20px\"};\n\n background: ${theme.colors.values.lightblue};\n\n text-align: center;\n font-size: 18px;\n font-family: ${theme.font.default};\n color: ${theme.colors.values.white};\n cursor: pointer;\n\n &:disabled {\n background: ${theme.colors.alias.disabled};\n cursor: default;\n }\n `}\n`;\n\nconst TicketQuestionsSection = styled(Flex)`\n padding: 10px 15px;\n box-sizing: border-box;\n`;\n\ntype TicketHeaderProps = PreviewProps & {\n ticket: Ticket;\n attendee: Attendee;\n attendeeIndex: number;\n purchasedTickets?: PurchasedTicket[];\n cart: Attendee[];\n mode: TicketMode;\n onCancelTicket?: (args: CancelTicketArgs) => void;\n children?: React.ReactNode;\n};\n\nconst TicketHeader: FC = ({\n ticket,\n attendee,\n attendeeIndex,\n purchasedTickets,\n mode,\n onCancelTicket,\n children,\n}) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const screenSize = useBreakPoints();\n const { baseUrl, countryCode } = useUrlParams();\n const navigate = useNavigate();\n const isPayNow = useReactiveVar(IsPayNow);\n const thumbnailUrl = ticket.imageId\n ? `${process.env.DOCUMENTS_URL}respond/${\n ticket.imageId\n }/${countryCode.toLowerCase()}/ticket-thumbnail`\n : null;\n\n const onEditTicket = () => {\n navigate(`${baseUrl}/${AttendeeFormRoute}/${attendeeIndex >= 0 ? attendeeIndex : 0}`);\n };\n\n const displaySummaryForSimpleTicket =\n (mode === TicketMode.PREVIEW || mode === TicketMode.CHECKOUT) &&\n ticket.formQuestions?.length === 0;\n\n const purchasedTicketIds =\n displaySummaryForSimpleTicket && purchasedTickets && purchasedTickets.length > 0\n ? purchasedTickets.flatMap((x) => x.purchasedTicketIds)\n : [];\n\n return (\n \n \n \n {mode === TicketMode.CHECKOUT && !isPayNow ? (\n \n ) : null}\n {mode === TicketMode.SHOPPING && (ticket.startSellingDate || ticket.endSellingDate) ? (\n \n ) : null}\n \n \n \n \n {googleTranslate(ticket.name || \"\")}\n \n {mode !== TicketMode.CHECKOUT && displaySummaryForSimpleTicket && onCancelTicket ? (\n \n onCancelTicket({\n ticketVersionId: ticket.id,\n responseAttendeeId: attendee.responseAttendeeId,\n purchasedTicketIds: purchasedTicketIds,\n })\n }\n />\n ) : null}\n \n\n {ticket.description && mode !== TicketMode.CART_PREVIEW ? (\n \n {googleTranslate(ticket.description || \"\")}\n \n ) : null}\n {children}\n \n \n );\n};\n\nexport type TicketSectionProps = PreviewProps & {\n ticket: Ticket;\n inventory: TicketInventory;\n attendee: Attendee;\n attendeeIndex: number;\n cart?: Attendee[];\n mode: TicketMode;\n onReserveTicket?: (args: ReserveTicketArgs) => Promise;\n};\n\nconst TicketSection: FC = ({\n ticket,\n inventory,\n attendee,\n attendeeIndex,\n cart,\n mode,\n isPreview,\n onReserveTicket,\n}) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const screenSize = useBreakPoints();\n const { errors, setFieldError } = useFormikContext<{\n RespondentMustSelectATicket: string | undefined;\n }>();\n const fields = ticket.formQuestions || [];\n const hasOptions = fields?.length > 0;\n const [collapsedHeaders, setCollapsedHeaders] = useState([]);\n const requiresATicket = errors[RespondentMustSelectATicket] ?? null;\n const orderId = useReactiveVar(OrderId);\n\n const filteredFields = fields.filter(\n (x) =>\n !x.type ||\n (x.type !== FieldType.Header &&\n x.type !== FieldType.Section &&\n x.type !== FieldType.Descriptivetext)\n );\n\n const ticketAnswerValues = getFormInitialValues({\n fields: filteredFields,\n answers: [],\n });\n\n type TicketInitialValues = {\n quantity: number;\n openValueAmount?: number;\n answers: {\n [id: string]: InitialValuesObject;\n };\n };\n\n const canBuyTicket = checkTicketSellingDates(ticket);\n\n const initialValues: TicketInitialValues = {\n answers: { [ticket.ticketId]: ticketAnswerValues },\n quantity: 0,\n openValueAmount: undefined,\n };\n\n const handleToggleCollapse = (fieldId: string) => {\n const existing = collapsedHeaders.find((x) => x === fieldId);\n\n if (existing) {\n setCollapsedHeaders(collapsedHeaders.filter((x) => x !== existing));\n } else {\n const headers = cloneDeep(collapsedHeaders);\n headers.push(fieldId);\n\n setCollapsedHeaders(headers);\n }\n };\n\n return (\n {\n // id of ticket, generated field id, answer\n const innerFieldAnswers = Object.values(answers[ticket.ticketId]);\n\n const newAnswers = getTicketAnswers(innerFieldAnswers).filter((x) => x.value);\n\n if (Number(ticket.typeCode) === TicketTypeCode.Donation) {\n quantity = Math.max(1, quantity);\n }\n\n if (onReserveTicket) {\n const result = await onReserveTicket({\n orderId: orderId,\n responseAttendeeId: attendee.responseAttendeeId,\n ticketVersionId: ticket.id,\n answers: newAnswers,\n openValueAmount,\n quantity,\n });\n\n if (!result.errors) {\n if (requiresATicket) {\n setFieldError(RespondentMustSelectATicket, undefined);\n }\n OrderId(result.data?.ReserveTicket);\n resetForm({ values: initialValues });\n }\n }\n }}\n >\n {({ isSubmitting, dirty, setFieldValue, resetForm, values, submitForm }) => {\n const showOptions =\n Number(ticket.typeCode) !== TicketTypeCode.Donation\n ? values.quantity > 0\n : (values.openValueAmount ?? 0) >= 1;\n\n const addToCartLabel =\n t(\"pages.tickets.addToCart\") +\n `${values.quantity > 0 ? \" (\" + values.quantity + \")\" : \"\"}`;\n\n return (\n \n <>\n {isSubmitting && }\n \n <>\n \n {mode === TicketMode.SHOPPING ? (\n <>\n \n setFieldValue(\"openValueAmount\", Number(newAmount))\n }\n >\n {!hasOptions &&\n mode === TicketMode.SHOPPING &&\n Number(ticket.typeCode) !== TicketTypeCode.Donation ? (\n \n ) : null}\n \n \n ) : null}\n \n {!hasOptions ? (\n \n \n {addToCartLabel}\n \n \n ) : null}\n {hasOptions ? (\n \n \n \n \n {googleTranslate(ticket.name || \"\")}\n \n resetForm({ values: initialValues })}\n />\n \n \n {showOptions ? (\n \n {fields.map((field, index) => (\n \n ))}\n \n ) : null}\n \n \n \n {addToCartLabel}\n \n \n \n ) : null}\n \n \n \n \n );\n }}\n \n );\n};\n\nexport { TicketSection, TicketHeader, TicketMode };\n","import React, { FC, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Attendee, PurchasedTicket, Ticket } from \"@src/types\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport {\n CancelTicketArgs,\n currencyFormatter,\n getPurchasedTicketKey,\n} from \"@src/utils/purchasedTickets\";\nimport { PurchasedTicketPreview } from \"./PurchasedTicketPreview\";\nimport { TicketHeader, TicketMode } from \"../TicketSection/TicketSection\";\nimport { PreviewProps } from \"@src/Routes\";\nimport { StyledQuantity, SubtotalLabel } from \"./styles\";\nimport { TrashButton } from \"../TicketSection/TrashButton\";\nimport { TicketTypeCode } from \"../TicketSection/TicketPrice\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\n\ntype TicketPreviewProps = PreviewProps & {\n ticket: Ticket;\n purchasedTickets: PurchasedTicket[];\n cart: Attendee[];\n attendee: Attendee;\n attendeeIndex: number;\n mode: TicketMode;\n countryCode: string;\n documentId: string;\n responseVersionId: string;\n onCancelTicket?: (args: CancelTicketArgs) => void;\n};\n\nconst TicketPreview: FC = ({\n ticket,\n purchasedTickets,\n cart,\n attendee,\n attendeeIndex,\n mode,\n countryCode,\n documentId,\n responseVersionId,\n onCancelTicket,\n isPreview,\n}) => {\n const { t, i18n } = useTranslation();\n const screenSize = useBreakPoints();\n const { form } = useFormInfo();\n const [showDetails, setShowDetails] = useState(false);\n\n const subTotal =\n purchasedTickets?.reduce((a, b) => {\n return a + b.quantity * b.price ?? 0;\n }, 0) ?? 0;\n\n const hasOptions = (ticket.formQuestions?.length ?? 0) > 0;\n\n const totalQuantity =\n purchasedTickets?.reduce((a, b) => {\n return a + b.quantity;\n }, 0) ?? 0;\n\n const purchasedTicketIds =\n !hasOptions && purchasedTickets && purchasedTickets.length > 0\n ? purchasedTickets.flatMap((x) => x.purchasedTicketIds)\n : [];\n\n const currencyCode = form?.document?.organization?.currencyCode;\n\n return (\n \n \n \n <>\n \n \n {t(\"pages.tickets.quantity\")}: {totalQuantity}\n \n \n {t(\"totals.subtotal\")}:{\" \"}\n {currencyFormatter(i18n.resolvedLanguage, currencyCode).format(subTotal)}\n \n {hasOptions ? (\n {\n setShowDetails(!showDetails);\n }}\n >\n {\n setShowDetails(!showDetails);\n }}\n style=\"solid\"\n icon={showDetails ? \"angle-down\" : \"angle-right\"}\n color=\"#0283ff\"\n testId={ticket.id + \"-EXPANDER\"}\n />\n \n ) : null}\n {!hasOptions && mode === TicketMode.CART_PREVIEW ? (\n \n {onCancelTicket ? (\n \n onCancelTicket({\n ticketVersionId: ticket.id,\n responseAttendeeId: attendee.responseAttendeeId,\n purchasedTicketIds: purchasedTicketIds,\n })\n }\n />\n ) : null}\n \n ) : null}\n \n \n \n {(hasOptions || Number(ticket.typeCode) === TicketTypeCode.Donation) && showDetails ? (\n
\n {purchasedTickets.map((purchasedTicket) => (\n \n ))}\n
\n ) : null}\n
\n
\n );\n};\n\nexport { TicketPreview };\n","import { Flex } from \"@src/components/layout/Page\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport styled from \"styled-components\";\n\nexport const AttendeePreviewWrapper = styled(Flex)`\n flex-direction: column;\n margin-bottom: 10px;\n`;\n\nexport const PermissionLabel = styled(StyledLabel)<{ isPermitted: boolean }>`\n ${({ theme, isPermitted }) => `\n color: ${isPermitted ? theme.colors.values.green : theme.colors.values.red};\n `}\n`;\n","import React, { FC } from \"react\";\n\nimport { Flex } from \"@src/components/layout/Page\";\nimport { DisplayAnswers } from \"@src/components/molecules/displayAnswers\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { PreviewProps } from \"@src/Routes\";\nimport { Ticket, Attendee, Field, FormInfoQuery } from \"@src/types\";\nimport { CancelTicketArgs, TicketMode } from \"@src/utils/purchasedTickets\";\nimport { TicketPreview } from \"@src/pages/Tickets/Preview\";\nimport { useTranslation } from \"react-i18next\";\nimport { AttendeePreviewWrapper, PermissionLabel } from \"./styles\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\ntype AttendeePreviewProps = PreviewProps & {\n tickets: Ticket[];\n attendee: Attendee;\n attendees: Attendee[];\n fields?: Field[];\n mode: TicketMode;\n countryCode: string;\n form: NonNullable;\n responseVersionId: string;\n onCancelTicket?: (args: CancelTicketArgs) => void;\n};\n\nconst AttendeePreview: FC = ({\n tickets,\n attendee,\n attendees,\n fields,\n mode,\n countryCode,\n form,\n responseVersionId,\n onCancelTicket,\n isPreview,\n}) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const attendeeIndex = attendees\n .filter((attendee) => !form.requiresPermission || attendee.permitted)\n .map((attendee) => attendee.responseAttendeeId)\n .indexOf(attendee.responseAttendeeId);\n const affirmativePermission = form.affirmativePermission\n ? googleTranslate(form.affirmativePermission)\n : form.affirmativePermission;\n const negativePermission = form.negativePermission\n ? googleTranslate(form.negativePermission)\n : form.negativePermission;\n\n const displayAnswers =\n fields && fields.length > 0 && (!form.requiresPermission || attendee.permitted);\n\n return (\n \n {mode === TicketMode.CHECKOUT || mode === TicketMode.CART_PREVIEW ? (\n \n ) : null}\n {displayAnswers ? (\n \n \n \n ) : null}\n {tickets?.length > 0 && attendee.tickets?.length > 0 ? (\n \n {mode !== TicketMode.CART_PREVIEW ? (\n \n {t(\"pages.tickets.order\")} {attendee.firstName} {attendee.lastName}\n \n ) : null}\n {tickets.map((ticket) => {\n const purchasedTickets = attendee.tickets.filter(\n (purchasedTicket) => purchasedTicket.ticketId === ticket.ticketId\n );\n return purchasedTickets?.length > 0 ? (\n \n ) : null;\n })}\n \n ) : null}\n \n );\n};\n\ntype AttendeeHeaderprops = {\n firstName: string;\n lastName: string;\n isPermitted: boolean;\n isGeneralSignup: boolean;\n showPermission: boolean;\n requiresPermission: boolean;\n affirmativePermission?: string | null;\n negativePermission?: string | null;\n};\n\nconst AttendeeHeader: FC = ({\n firstName,\n lastName,\n isPermitted,\n isGeneralSignup,\n showPermission,\n requiresPermission,\n affirmativePermission,\n negativePermission,\n}) => {\n const { t } = useTranslation();\n const permissionLabel =\n showPermission && !isGeneralSignup && requiresPermission\n ? isPermitted\n ? affirmativePermission\n ? `${affirmativePermission} -`\n : t(\"pages.review.permissionGranted\")\n : negativePermission\n ? `${negativePermission} -`\n : t(\"pages.review.permissionNotGranted\")\n : null;\n return (\n \n \n {firstName} {lastName}\n \n {permissionLabel && (\n \n {permissionLabel} {firstName} {lastName}\n \n )}\n \n );\n};\n\nexport { AttendeePreview };\n","import React, { FC } from \"react\";\r\n\r\nimport { CancelTicketAnswerResult } from \"@src/mutations/mutationTypes\";\r\nimport { Attendee, Field, FormInfoQuery, Ticket } from \"@src/types\";\r\nimport { CancelTicketArgs } from \"@src/utils/purchasedTickets\";\r\nimport { TicketMode } from \"../TicketSection\";\r\nimport { Flex } from \"@src/components/layout/Page\";\r\nimport { AttendeePreview } from \"@src/components/molecules/preview/AttendeePreview\";\r\n\r\ntype TicketsPreviewProps = {\r\n tickets: Ticket[];\r\n cart: Attendee[];\r\n fields?: Field[];\r\n mode: TicketMode;\r\n countryCode: string;\r\n form: NonNullable;\r\n responseVersionId: string;\r\n onCancelTicket?: (args: CancelTicketArgs) => Promise;\r\n};\r\n\r\nconst TicketsPreview: FC = ({\r\n tickets,\r\n cart,\r\n fields,\r\n mode,\r\n countryCode,\r\n form,\r\n responseVersionId,\r\n onCancelTicket,\r\n}) => {\r\n const hasTicketsInCart = cart.some((attendee) => attendee?.tickets?.length > 0);\r\n return hasTicketsInCart ? (\r\n \r\n {cart\r\n .filter((attendee) => attendee?.tickets?.length > 0)\r\n .map((attendee) => (\r\n \r\n ))}\r\n \r\n ) : null;\r\n};\r\n\r\nexport { TicketsPreview };\r\n","import { Button } from \"@src/components/atoms/Button\";\nimport React, { FC } from \"react\";\nimport styled from \"styled-components\";\n\ntype StyledButtonProps = {\n disabled: boolean;\n};\n\nconst StyledButton = styled(Button)`\n ${({ disabled, theme }) => `\n min-width: 35px;\n height: 30px;\n\n border-radius: 7px;\n border-style: none;\n border-color: ${theme.colors.values.lightblue};\n\n margin-left: auto;\n margin-top: 10px;\n margin-right: 15px;\n padding: 5px;\n position: relative;\n\n background: ${disabled ? \"#b7b7b7\" : theme.colors.values.lightblue};\n\n text-align: center;\n font-size: 12px;\n font-family: ${theme.font.default};\n color: ${theme.colors.values.white};\n cursor: ${disabled ? \"default\" : \"pointer\"};\n\n @media (min-width: 900px) {\n font-size: 14px;\n min-width: 45px;\n min-height: 40px;\n padding: 8px 16px;\n height: 40px;\n }\n `}\n`;\n\nexport type CartButtonProps = {\n quantity: number;\n disabled: boolean;\n onClick: () => void;\n};\n\nconst QuantityIcon = styled.div`\n ${({ theme }) => `\n border-radius: 50%;\n position: absolute;\n color: white;\n left: -8px;\n bottom: -6px;\n z-index: 3;\n background-color: ${theme.colors.alias.primary};\n height: 20px;\n width: 20px;\n display: flex;\n justify-content: center;\n font-size: 10px;\n line-height: 20px;\n font-family: ${theme.font.default}\n `}\n`;\n\nconst CartButton: FC = ({ quantity, disabled, onClick }) => {\n return (\n \n {!disabled ? {quantity ?? 0} : null}\n \n \n );\n};\n\nexport { CartButton };\n","import styled from \"styled-components\";\nimport { Breakpoints } from \"@src/customHooks\";\nimport { Flex } from \"@src/components/layout/Page\";\n\nexport const StyledModal = styled.div<{ screenSize: Breakpoints }>`\n ${({ theme, screenSize }) => `\n display: flex;\n flex-direction: column;\n background: ${theme.colors.values.white};\n position: absolute;\n right: 85px;\n top: 100px;\n z-index: 999;\n width: ${screenSize === \"desktop\" ? \"400px\" : \"250px\"};\n\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n border: 1px solid #e9e9e9;\n padding: 15px;\n border-radius: 10px;\n `}\n`;\n\nexport const StyledModalContent = styled.div`\n max-height: 400px;\n overflow-y: auto;\n`;\n\nexport const CartModalBoundaries = styled.div`\n position: fixed;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n`;\n\nexport const StyledCartContainer = styled(Flex)<{ screenSize: Breakpoints }>`\n margin-right: ${(props) => (props.screenSize === \"desktop\" ? `50px` : `0px`)};\n`;\n","import { useApolloClient, useReactiveVar } from \"@apollo/client\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { Totals } from \"@src/components/molecules/totals\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { OrderId, ResponseVersionHash } from \"@src/localVariables\";\nimport { CancelTicketAnswerResult } from \"@src/mutations/mutationTypes\";\nimport { cancelTicketMutationUpdater } from \"@src/mutations/updaterFunctions/updateTickets\";\nimport { RESPONSE_VERSIONS_QUERY } from \"@src/queries/responseVersions\";\nimport { PreviewProps } from \"@src/Routes\";\nimport { Attendee, FormInfoQuery, Order, Ticket, useCancelTicketMutation } from \"@src/types\";\nimport { getOrderInfo, getTickets, hasSafePay } from \"@src/utils/getters\";\nimport { CancelTicketArgs } from \"@src/utils/purchasedTickets\";\nimport { signeeInfo } from \"@src/utils/responseVersionGetters\";\nimport React, { FC, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { TicketsPreview } from \"../Preview\";\nimport { TicketMode } from \"../TicketSection\";\nimport { CartButton } from \"./CartButton\";\nimport {\n CartModalBoundaries,\n StyledCartContainer,\n StyledModal,\n StyledModalContent,\n} from \"./styles\";\n\nconst Cart: FC = ({ isPreview }) => {\n const { countryCode } = useUrlParams();\n const orderId = useReactiveVar(OrderId) || \"\";\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const client = useApolloClient();\n\n const formInfo = useFormInfo();\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n\n const responseVersionQueryVariables = {\n documentId: formInfo.form?.documentId,\n countryCode,\n email: signeeInfo(responseVersionQuery.responseVersion).email,\n };\n\n const mutationOptions = {\n awaitRefetchQueries: true,\n refetchQueries: [\n {\n query: RESPONSE_VERSIONS_QUERY,\n variables: responseVersionQueryVariables,\n },\n ],\n };\n\n const [cancelTicket] = useCancelTicketMutation(mutationOptions);\n\n const onCancelTicket = ({\n ticketVersionId,\n responseAttendeeId,\n purchasedTicketIds,\n }: CancelTicketArgs): Promise =>\n cancelTicket({\n variables: {\n countryCode,\n documentId: formInfo.form?.documentId,\n responseVersionId: responseVersionQuery.responseVersion?.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n purchasedTicketIds: purchasedTicketIds,\n orderId,\n },\n });\n\n const previewOnCancelTicket = ({\n ticketVersionId,\n responseAttendeeId,\n purchasedTicketIds,\n }: CancelTicketArgs): Promise => {\n const result = { CancelTicket: true };\n const updater = cancelTicketMutationUpdater(signeeInfo(responseVersionQuery.responseVersion));\n if (updater) {\n updater(\n client.cache,\n { data: result },\n {\n variables: {\n countryCode,\n documentId: formInfo.form?.documentId,\n responseVersionId: responseVersionQuery.responseVersion?.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n purchasedTicketIds: purchasedTicketIds,\n orderId,\n },\n }\n );\n }\n return Promise.resolve({ data: result, errors: undefined });\n };\n\n const safePay = hasSafePay(formInfo.form);\n const tickets = getTickets(formInfo.form);\n const orderInfo = getOrderInfo(responseVersionQuery.responseVersion, false);\n\n return (\n \n );\n};\n\ntype CartModalProps = {\n children: React.ReactNode[];\n isLoading: boolean;\n};\n\nconst CartModal: FC = ({ children, isLoading }) => {\n const { t } = useTranslation();\n const screenSize = useBreakPoints();\n\n return (\n \n {isLoading ? : children}\n \n );\n};\n\ntype CartContainerProps = {\n tickets: Ticket[];\n cart: Attendee[];\n order?: Order;\n hasSafePay?: boolean;\n isLoading?: boolean;\n countryCode: string;\n form: NonNullable;\n responseVersionId: string;\n onCancelTicket?: (args: CancelTicketArgs) => Promise;\n};\n\nconst CartContainer: FC = ({\n tickets,\n cart,\n order,\n isLoading,\n countryCode,\n form,\n responseVersionId,\n onCancelTicket,\n}) => {\n const [expandCart, setExpandCart] = useState(false);\n const screenSize = useBreakPoints();\n const totalQuantity = order?.purchasedTickets.length ?? 0;\n const hasTickets = order ? order?.purchasedTickets?.length > 0 : false;\n\n const closeModal = (e: React.MouseEvent) => {\n const target = e.target as Element;\n\n if (target?.id == \"closeModal\") {\n setExpandCart(false);\n }\n };\n\n return (\n \n \n setExpandCart(!expandCart)}\n quantity={totalQuantity}\n />\n {expandCart ? (\n closeModal(e)}>\n \n \n \n {form ? (\n \n ) : null}\n \n \n \n \n \n \n ) : null}\n \n \n );\n};\n\nconst CartHeader: FC = () => {\n const { t } = useTranslation();\n\n return (\n \n {t(\"pages.tickets.orderSummary\")}\n \n );\n};\n\ntype CartFooterProps = {\n children: React.ReactNode;\n};\n\nconst CartFooter: FC = ({ children }) => {\n return (\n \n {children}\n \n );\n};\n\nexport { Cart };\n","import { Flex } from \"@src/components/layout/Page\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport styled from \"styled-components\";\n\nconst StyledPreviewBar = styled(Flex)`\n ${({ theme }) => `\n width: 100%;\n box-sizing: border-box;\n padding: 8px;\n background: ${theme.colors.values.yellow};\n color: ${theme.colors.values.darkgrey};\n align-items: baseline;\n justify-content: center;\n max-height: 50px;\n overflow-y: auto;\n z-index: 2;\n\n & > * {\n margin-left: 5px;\n margin-bottom: 0;\n }\n\n .bold {\n font-weight: 600;\n }\n `}\n`;\n\ntype PreviewBarProps = {\n guardianRoleLabel: string;\n};\n\nconst PreviewBar: FC = ({ guardianRoleLabel }) => {\n const { t } = useTranslation();\n const signee = guardianRoleLabel ?? \"Guardian\";\n return (\n \n \n {t(\"previewBar.mode\")}: \n {t(\"previewBar.message\", { signee })}\n \n );\n};\n\nexport { PreviewBar };\n","import { BotDetectionResult, load as botdLoad } from '@fingerprintjs/botd';\nimport { ReactPlugin, withAITracking } from '@microsoft/applicationinsights-react-js';\nimport { ApplicationInsights, DistributedTracingModes, RemoteDependencyData } from '@microsoft/applicationinsights-web';\nimport React, { Component, PropsWithChildren } from 'react';\n\ninterface Props {\n connectionString?: string,\n appVersion?: string\n}\n\n/**\n * This Component provides telemetry with Azure App Insights\n *\n * NOTE: the package '@microsoft/applicationinsights-react-js' has a HOC withAITracking that requires this to be a Class Component rather than a Functional Component\n */\nclass TelemetryProvider extends Component> {\n static reactPlugin = new ReactPlugin();\n static appInsights?: ApplicationInsights;\n static botdValue: BotDetectionResult;\n\n constructor(props: PropsWithChildren) {\n super(props);\n if (!TelemetryProvider.appInsights) {\n TelemetryProvider.appInsights = new ApplicationInsights({\n config: {\n connectionString: props.connectionString,// if de env, to do manual tracks if needed\n instrumentationKey: !props.connectionString ? \"\" : undefined,\n disableTelemetry: false,\n enableAutoRouteTracking: true,\n extensions: [TelemetryProvider.reactPlugin],\n enableCorsCorrelation: true,\n distributedTracingMode: DistributedTracingModes.W3C,\n correlationHeaderExcludedDomains: [\n '*.googleapis.com',\n '*.aptrinsic.com'\n ]\n },\n });\n\n\n TelemetryProvider.appInsights.addTelemetryInitializer((envelope) => {\n const baseData = envelope.baseData;\n if (envelope.name === RemoteDependencyData.envelopeType) {\n if (baseData?.name && baseData.name.indexOf(\".aptrinsic.com\") > -1) {\n return false; // do not ingest aptrinsic calls\n }\n }\n return true;\n });\n\n TelemetryProvider.appInsights.loadAppInsights();\n\n botdLoad()\n .then((botd) => botd.detect())\n .then((result) => TelemetryProvider.botdValue = result)\n .catch((error) => console.error(error));\n\n TelemetryProvider.appInsights.addTelemetryInitializer((envelope) => {\n if (TelemetryProvider.botdValue) {\n envelope.data = envelope.data || {};\n\n envelope.data.isBot = TelemetryProvider.botdValue.bot.toString();\n if (TelemetryProvider.botdValue.bot === true) {\n envelope.data.botKind = TelemetryProvider.botdValue.botKind;\n }\n }\n });\n }\n TelemetryProvider.appInsights.context.application.ver = props.appVersion || \"0.0.0-dev\";\n }\n\n render() {\n return (<>{this.props.children});\n }\n}\n\nexport default withAITracking(TelemetryProvider.reactPlugin, TelemetryProvider);\nexport const getAppInsights = () => {\n if (TelemetryProvider.appInsights)\n return TelemetryProvider.appInsights;\n else\n throw new Error(\"Application Insights not initialized.\");\n}\n","import { useReactiveVar } from \"@apollo/client\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport {\n ErrorHeader,\n ErrorMessage,\n ErrorMessageHeader,\n ReloadButton,\n StyledErrorBar,\n StyledErrorBarMessage,\n} from \"@src/components/styles\";\nimport { useUrlParams } from \"@src/customHooks\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { RequestError, ResponseVersionHash } from \"@src/localVariables\";\nimport { SigneeInfoRoute } from \"@src/Routes\";\nimport { getAppInsights } from \"@src/TelemetryProvider\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { GraphQLError } from \"graphql\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate } from \"react-router-dom\";\n\nconst ErrorBar: FC = () => {\n const { t, i18n } = useTranslation();\n const { baseUrl } = useUrlParams();\n const googleTranslate = useGoogleTranslate();\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const requestError = useReactiveVar(RequestError);\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n const responseVersionId = responseVersionQuery.responseVersion?.responseVersionId;\n const errorHeader = requestError?.message?.includes(\"500\") ? t(\"errors.500\") : t(\"errors.errorHasOccurred\");\n const appInsights = getAppInsights();\n const userId = appInsights.context?.user?.id;\n\n if (requestError?.message?.includes(\"Error 124\")) {\n return ;\n }\n\n return requestError ? (\n <>\n \n \n { RequestError(null) }} />\n \n {errorHeader}\n {requestError.message ? (\n \n {googleTranslate(\"Message:\")}\n {googleTranslate(requestError.message)}\n \n ) : null}\n {requestError.message && !i18n.language.includes(\"en\") ? (\n \n Message:\n {requestError.message}\n \n ) : null}\n {requestError.message && responseVersionId ? (\n \n Response Version Id:\n {responseVersionId}\n \n ) : null}\n {requestError.message && userId ? (\n \n Trace Id:\n {userId}\n \n ) : null}\n {\"graphQLErrors\" in requestError && requestError.graphQLErrors\n ? requestError.graphQLErrors.map((x, index) => {\n return (\n
\n {x.message}\n {x.extensions.response && (\n Url: {x.extensions.response.url}\n )}\n
\n );\n })\n : null}\n {\"networkError\" in requestError && requestError.networkError ? (\n {requestError.networkError.message}\n ) : null}\n {\"clientErrors\" in requestError && requestError.clientErrors\n ? requestError.clientErrors.map((x, index) => {\n return {x.message};\n })\n : null}\n {\"extensions\" in requestError && requestError.extensions && displayGraphQLError(requestError)}\n\n { window.location.reload() }}>{t(\"labels.reload\")}\n
\n \n ) : null;\n};\n\nconst displayGraphQLError = (error: GraphQLError) => {\n if (error.extensions.code && error.extensions.response) {\n return (\n <>\n {error.extensions.code}\n {error.extensions.response?.body?.message && (\n {error.extensions.response.body.message}\n )}\n Url: {error.extensions.response?.url}\n \n );\n }\n};\n\nexport { ErrorBar };\n","import React, { FC, useLayoutEffect, useRef, useState } from \"react\";\nimport { useReactiveVar } from \"@apollo/client\";\nimport { ErrorComponent } from \"@src/pages/Error/Error\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\n\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { HasAccess, NavSlug, ResponseVersionHash } from \"@src/localVariables\";\nimport {\n HeaderBar,\n HeaderBarContainer,\n InfoBar,\n InfoBarContainer,\n NavBar,\n NavList,\n Spacer,\n StyledLogo,\n StyledOrgName,\n StyledTitle,\n TitleContainer,\n} from \"../../layout/Header\";\nimport { NavigationItem } from \"./NavigationItem\";\nimport { NavigationListItem } from \"./NavigationListItem\";\nimport { LoadingModal } from \"../loadingModal/LoadingModal\";\nimport { Cart } from \"@src/pages/Tickets/Cart/Cart\";\nimport { PreviewBar } from \"../previewBar/PreviewBar\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport {\n getAttendeeFields,\n getAttendeesList,\n getSigneeFields,\n getTickets,\n} from \"@src/utils/getters\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { AttendeeFormRoute, PreviewProps } from \"@src/Routes\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { useOrganizationByHash } from \"@src/customHooks/useOrganizationByHash\";\nimport { Language, useGoogleTranslate } from \"@src/utils/translation\";\nimport { SelectLanguage } from \"./SelectLanguage\";\nimport { useTranslation } from \"react-i18next\";\nimport { ErrorBar } from \"../errorBar/ErrorBar\";\n\ntype PageHeaderProps = PreviewProps & {\n hideNavigation?: boolean;\n children?: React.ReactNode;\n};\n\nconst PageHeader: FC = ({ isPreview, hideNavigation, children }) => {\n const { baseUrl, visitedPages, hashedOrgId } = useUrlParams();\n const { pathname } = useLocation();\n const { form, loading, error: formInfoError } = useFormInfo();\n const navigate = useNavigate();\n const screenSize = useBreakPoints();\n const hasAccess = useReactiveVar(HasAccess) || false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const headerBarRef = useRef();\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n const organizationInfoQuery = useOrganizationByHash(hashedOrgId ?? \"\");\n const { t, i18n } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n\n const formName = googleTranslate(form?.name || \"\");\n\n if (loading || responseVersionQuery.loading || organizationInfoQuery.loading)\n return ;\n if (formInfoError) return ;\n if (responseVersionQuery.error)\n return ;\n if (organizationInfoQuery.error)\n return ;\n if (!form) return ;\n\n const responseVersion = responseVersionQuery.responseVersion;\n const brandingOrg =\n form.useOrganizationBranding && hashedOrgId\n ? organizationInfoQuery.organization\n : form.document.organization;\n const requiresAccess = form\n ? form.restrictResponses\n ? (form.document.organization.accessFields &&\n form.document.organization.accessFields.length > 0) ||\n (form.document.organization.parent &&\n form.document.organization.parent.accessFields &&\n form.document.organization.parent.accessFields.length > 0)\n : false\n : false;\n\n const orgName = brandingOrg.name || \"\";\n\n const hasSigneeQuestions = getSigneeFields(form).length > 0;\n const hasAttendeeQuestions = getAttendeeFields(form).length > 0;\n const hasTickets = getTickets(form).length > 0;\n const isGeneralSignup = form.isGeneralSignup;\n\n const hasPermittedAttendees = getAttendeesList(responseVersion).some(\n (attendee) => !form.requiresPermission || attendee.permitted\n );\n\n const navItems: NavigationItem[] = [\n {\n displayText: t(\"navigation.generalInformation\"),\n slug: \"\",\n isCurrent: false,\n showCart: false,\n },\n ];\n const questionSubMenuItems: NavigationItem[] = [];\n const signeeFormSlug = \"signee-form\";\n const attendeeFormSlug = `${AttendeeFormRoute}/0` as NavSlug;\n const reviewSlug = \"review\";\n\n if (hasSigneeQuestions)\n questionSubMenuItems.push({\n displayText: t(\"navigation.signeeQuestions\"),\n slug: signeeFormSlug,\n isCurrent: pathname.indexOf(signeeFormSlug) > -1,\n showCart: true,\n });\n\n if (!isGeneralSignup && hasAttendeeQuestions && !hasTickets)\n questionSubMenuItems.push({\n displayText: t(\"navigation.attendeeQuestions\"),\n slug: attendeeFormSlug,\n isCurrent: pathname.indexOf(AttendeeFormRoute) > -1,\n showCart: true,\n isDisabled: !hasPermittedAttendees,\n });\n\n if (hasTickets && !hasAttendeeQuestions)\n questionSubMenuItems.push({\n displayText: t(\"navigation.tickets\"),\n slug: attendeeFormSlug,\n isCurrent: pathname.indexOf(AttendeeFormRoute) > -1,\n showCart: true,\n isDisabled: !hasPermittedAttendees,\n });\n\n if (!isGeneralSignup && hasTickets && hasAttendeeQuestions)\n questionSubMenuItems.push({\n displayText: t(\"navigation.attendee&Tickets\"),\n slug: attendeeFormSlug,\n isCurrent: pathname.indexOf(AttendeeFormRoute) > -1,\n showCart: true,\n isDisabled: !hasPermittedAttendees,\n });\n\n if (hasSigneeQuestions && (!hasAttendeeQuestions || isGeneralSignup) && !hasTickets)\n navItems.push({\n displayText: t(\"navigation.questions\"),\n slug: signeeFormSlug,\n isCurrent: pathname.indexOf(signeeFormSlug) > -1,\n showCart: true,\n });\n\n if (!hasSigneeQuestions && hasAttendeeQuestions && !isGeneralSignup)\n navItems.push({\n displayText: t(\"navigation.questions\"),\n slug: attendeeFormSlug,\n isCurrent: pathname.indexOf(AttendeeFormRoute) > -1,\n showCart: true,\n isDisabled: !hasPermittedAttendees,\n });\n\n if (!hasSigneeQuestions && !hasAttendeeQuestions && hasTickets)\n navItems.push({\n displayText: \"Tickets\",\n slug: attendeeFormSlug,\n isCurrent: pathname.indexOf(AttendeeFormRoute) > -1,\n showCart: true,\n isDisabled: !hasPermittedAttendees,\n });\n\n if (questionSubMenuItems.length > 1)\n navItems.push({\n displayText: t(\"navigation.questions\"),\n slug: \"questions\",\n subMenuItems: questionSubMenuItems,\n isCurrent: questionSubMenuItems.some((x) => x.isCurrent),\n showCart: true,\n });\n\n navItems.push({\n displayText: t(\"navigation.summary&Review\"),\n slug: reviewSlug,\n isCurrent: pathname.indexOf(`/${reviewSlug}`) > -1,\n showCart: false,\n });\n\n // if nothing is current default the first page (the home page) to be current\n navItems[0].isCurrent = !navItems.some((x) => x.isCurrent);\n\n const onNavigate = (slug?: string) => {\n if (responseVersion) {\n if (slug && pathname.indexOf(`/${slug}`) < 0) navigate(`${baseUrl}/${slug}`);\n else navigate(baseUrl);\n }\n };\n\n const onLanguageChanged = (language: Language) => {\n i18n.changeLanguage(language.code);\n };\n\n const singleNavSubItems: NavigationItem[] = [];\n\n navItems.forEach((navItem) => {\n if (navItem.subMenuItems) {\n navItem.subMenuItems.forEach((subMenuItem) => {\n singleNavSubItems.push(subMenuItem);\n });\n } else {\n singleNavSubItems.push(navItem);\n }\n });\n\n const singleNav: NavigationItem = {\n displayText: t(\"navigation.generalInformation\"),\n slug: \"questions\",\n isCurrent: false,\n subMenuItems: singleNavSubItems,\n showCart: false,\n };\n\n if (screenSize === \"smallScreen\") {\n navItems.splice(0, navItems.length);\n navItems.push(singleNav);\n }\n\n const logoOrOrgName = brandingOrg?.logo ? (\n \n ) : (\n \n {orgName ?? \"\"}\n \n );\n\n const isCartVisible =\n hasTickets &&\n (navItems.find((navItem) => navItem.isCurrent)?.showCart ||\n (screenSize === \"smallScreen\" &&\n singleNavSubItems.find((subNavItem) => subNavItem.isCurrent)?.showCart));\n\n const linkIsActive = (item: NavigationItem) =>\n !!responseVersion && !item.subMenuItems && visitedPages.includes(item.slug);\n\n return (\n <>\n \n \n {isPreview && (\n \n )}\n \n \n {screenSize === \"desktop\" ? logoOrOrgName : null}\n \n \n {screenSize === \"smallScreen\" ? logoOrOrgName : null}\n \n {orgName} - {formName}\n \n \n\n {(hasAccess || !requiresAccess) && !hideNavigation ? (\n \n \n {navItems.map((item, index) => (\n onNavigate(slug)}\n />\n ))}\n \n {screenSize === \"smallScreen\" ? (\n \n ) : null}\n \n ) : null}\n \n \n {screenSize === \"desktop\" ? (\n \n ) : null}\n {isCartVisible ? : null}\n \n \n \n {children}\n \n \n \n );\n};\n\ntype HeaderBarSpacerProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n headerRef: React.MutableRefObject;\n};\n\n// Fills the space underneath the variable-height header so we can better position the page content\nconst HeaderBarSpacer: FC = ({ headerRef }) => {\n const [height, setHeight] = useState(0);\n\n const headerHeight = headerRef.current ? headerRef.current.clientHeight : 135;\n\n useLayoutEffect(() => {\n setHeight(headerHeight);\n }, [headerHeight]);\n\n return ;\n};\n\nexport { PageHeader };\n","import { ApolloError } from \"@apollo/client\";\nimport { Organization, OrganizationByHashQuery, useOrganizationByHashQuery } from \"@src/types\";\nimport { useUrlParams } from \"./useUrlParams\";\n\nexport type OrganizationInfo = {\n organization: Organization;\n loading: boolean;\n error: ApolloError | undefined;\n};\n\nexport const useOrganizationByHash = (hashedId: string): OrganizationInfo => {\n const { countryCode } = useUrlParams();\n\n const orgByHash = useOrganizationByHashQuery({\n variables: { hashedId, countryCode },\n fetchPolicy: \"cache-first\",\n skip: !hashedId || hashedId === \"\",\n });\n\n const organization = orgByHash?.data?.OrganizationByHash;\n\n return {\n organization: organization as NonNullable as Organization,\n loading: orgByHash.loading,\n error: orgByHash.error,\n };\n};\n","import { Button } from \"@src/components/atoms/Button/Button\";\nimport { FieldSelector } from \"@src/components/fields\";\nimport { ContentWrapper, PageWrapper, Push } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { PageHeader } from \"@src/components/molecules/pageHeader/PageHeader\";\nimport {\n MatchFailed,\n StyledInlineRequiredLabel,\n StyledRequiredInstructions,\n StyledSectionHeader,\n StyledSectionInstructions,\n} from \"@src/components/styles\";\nimport { AnswerInput, Field } from \"@src/types\";\nimport { InitialValuesObject } from \"@src/utils/formValuesTypes\";\nimport { Formik } from \"formik\";\nimport React, { Fragment } from \"react\";\nimport { FunctionComponent } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useBreakPoints } from \"@src/customHooks\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\n\ntype AccessDataFormProps = {\n saveAnswer?: (answer: AnswerInput) => Promise;\n removeAnswer?: (answer: AnswerInput) => Promise;\n submit: () => void;\n accessFields: Field[];\n answers: InitialValuesObject;\n hasAccess: boolean;\n showValidation: boolean;\n};\n\nconst AccessDataForm: FunctionComponent = ({\n submit,\n accessFields,\n answers,\n saveAnswer,\n removeAnswer,\n hasAccess,\n showValidation,\n}) => {\n const { t } = useTranslation();\n const screenSize = useBreakPoints();\n\n return (\n <>\n \n \n \n {t(\"pages.accessData.title\")}\n {t(\"pages.accessData.paragraph1\")}\n {t(\"pages.accessData.paragraph2\")}\n {t(\"pages.accessData.paragraph3\")}\n \n \n {t(\"validation.required\", { field: \"\" })}\n \n console.log()}>\n {() => (\n \n \n {accessFields.map((field) => (\n \n ))}\n {!hasAccess && showValidation ? (\n {t(\"pages.accessData.noMatch\")}\n ) : null}\n \n {t(\"pages.accessData.contactSchool\")}\n \n \n \n \n )}\n \n \n \n \n \n \n );\n};\n\nexport { AccessDataForm };\n","import { useReactiveVar } from \"@apollo/client/react/hooks/useReactiveVar\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { useCachedEligibleTags } from \"@src/customHooks/useEligibleTags\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { useUrlParams } from \"@src/customHooks/useUrlParams\";\nimport { AccessDataAnswers, HasAccess, ResponseVersionHash, UrlParams } from \"@src/localVariables\";\nimport { SelectResponseRoute, SigneeInfoRoute } from \"@src/Routes\";\nimport {\n AccessField,\n AnswerInput,\n ResponseSource,\n useFormInfoQuery,\n useValidateAccessMutation,\n} from \"@src/types\";\nimport { getFormInitialValues } from \"@src/utils/formValues\";\nimport { checkResponseVersionSource } from \"@src/utils/typeConverters\";\nimport React, { FC, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useParams } from \"react-router-dom\";\nimport { ErrorComponent } from \"../Error/Error\";\nimport { FormArchived, FormClosed, FormCutoff, FormInDraft } from \"../FormStatus\";\nimport { FormInactive } from \"../FormStatus/FormInactive\";\nimport { AccessDataForm } from \"./form\";\n\nconst AccessData: FC = () => {\n const { t } = useTranslation();\n const { hashedId } = useParams();\n const { baseUrl, documentHashedId, countryCode } = useUrlParams();\n const accessData = useReactiveVar(AccessDataAnswers) || [];\n const [validateAccess, validateAccessQuery] = useValidateAccessMutation();\n const [showValidation, setShowValidation] = useState(false);\n const query = useFormInfoQuery({ variables: { hashedId: documentHashedId || \"\", countryCode } });\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const { visitedPages } = useReactiveVar(UrlParams);\n\n const form = query.data && query.data.Form ? query.data.Form : null;\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n const eligibleTagsQuery = useCachedEligibleTags(\n query.data?.Form?.documentId || \"\",\n responseVersionQuery.responseVersion?.responseOrganizationId || \"\",\n responseVersionQuery.responseVersion?.signeeEmail || \"\"\n );\n\n const requiresAccessAnswers = form\n ? form.restrictResponses\n ? (form.document.organization.accessFields &&\n form.document.organization.accessFields.length > 0) ||\n (form.document.organization.parent &&\n form.document.organization.parent.accessFields &&\n form.document.organization.parent.accessFields.length > 0)\n : false\n : false;\n\n const documentId = form?.document.id || \"\";\n\n if (validateAccessQuery?.data) HasAccess(!!validateAccessQuery.data.ValidateAccess);\n else HasAccess(!requiresAccessAnswers);\n\n const hasAccess = useReactiveVar(HasAccess);\n\n if (query.loading || responseVersionQuery.loading)\n return ;\n if (validateAccessQuery.loading) return ;\n if (query.error) return ;\n\n // Check for enabled org\n if (form?.document?.organization?.isEnabled === false) return ;\n\n // Check form status\n if (form?.status === 0) return ;\n if (form?.status === 4) return ;\n if (form?.status === 5) return ;\n if (form?.hasReachedResponseCutOffDate) return ;\n\n if (validateAccessQuery.error) return ;\n if (responseVersionQuery.error)\n return ;\n if (!form) return ;\n if (eligibleTagsQuery.loading) return ;\n if (eligibleTagsQuery.error) return ;\n\n const responseVersion = responseVersionQuery.responseVersion;\n\n if (hasAccess) {\n if (\n responseVersion?.responseVersionId &&\n form?.document.id &&\n !checkResponseVersionSource(responseVersion, ResponseSource.Manual) &&\n visitedPages.length === 0\n ) {\n return ;\n } else {\n return ;\n }\n }\n\n const accessFields =\n form.document.organization.accessFields && form.document.organization.accessFields.length > 0\n ? (form.document.organization.accessFields as AccessField[])\n : form.document.organization.parent?.accessFields\n ? (form.document.organization.parent.accessFields as AccessField[])\n : [];\n\n const accessAnswerInitialValues = accessFields.map((x) => {\n const accessAnswer = accessData.find((y) => y.key === x.key);\n\n return {\n answerId: null,\n fieldId: x?.field.id ?? \"\",\n questionId: x?.field.question?.id ?? \"\",\n value: accessAnswer?.value ?? \"\",\n fileType: null,\n order: null,\n };\n });\n\n const answers = getFormInitialValues({\n fields: accessFields.map((x) => x.field),\n answers: accessAnswerInitialValues,\n });\n\n const saveAnswer = async (answer: AnswerInput): Promise => {\n const accessField = accessFields.find((x) => x.field.id === answer.fieldId);\n\n if (accessField) {\n const modifiedAnswers = accessData.filter((x) => x.key !== accessField?.key);\n modifiedAnswers.push({\n key: accessField?.key,\n value: answer.value,\n });\n\n AccessDataAnswers(modifiedAnswers);\n }\n\n // these answers are not saved to the database, they are just included in every request so returning an id is not needed.\n // TODO: update this to not need a return value\n return \"\";\n };\n\n const submit = async () => {\n setShowValidation(true);\n if (accessData.every((x) => x.value) && accessData.length === accessFields.length) {\n await validateAccess({\n variables: {\n documentId,\n responseVersionId: responseVersion?.responseVersionId ?? \"\",\n accessData,\n countryCode,\n },\n });\n }\n };\n\n return (\n saveAnswer(answer)}\n submit={submit}\n accessFields={accessFields.map((x) => x.field)}\n answers={answers}\n hasAccess={hasAccess}\n showValidation={showValidation}\n />\n );\n};\n\nexport { AccessData };\n","import { Button } from \"@src/components/atoms/Button\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport styled from \"styled-components\";\n\nexport const FeedbackContainer = styled(Flex)`\n ${({ theme }) => `\n ${Button} {\n min-width: 90px;\n\n :not(:first-child) {\n margin-left: 10px;\n }\n\n :not([type=submit]){\n background-color: ${theme.colors.values.red}\n } \n }\n\n textarea {\n resize: vertical;\n min-height: 100px;\n max-height: 600px;\n }\n `}\n`;\n\nexport const StartFeedbackContainer = styled(Flex)`\n margin-top: 10px;\n flex-direction: column;\n\n .startFeedback {\n align-items: baseline;\n margin-bottom: 15px;\n\n > *:not(:first-child) {\n margin-left: 20px;\n }\n }\n`;\n\nexport const StartFeedbackButton = styled(Button)`\n min-width: 60px;\n`;\n\nexport const SentFeedbackContainer = styled(Flex)`\n ${({ theme }) => `\n margin-top: 10px;\n align-items: baseline;\n\n i {\n color: ${theme.colors.values.green};\n font-weight: 500;\n margin: -2px 4px 0;\n }\n `}\n`;","import { Button } from \"@src/components/atoms/Button\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\nimport { PreviewProps } from \"@src/Routes\";\nimport { useSubmitFeedbackMutation } from \"@src/types\";\nimport { Field, Form, Formik } from \"formik\";\nimport React, { FC, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n FeedbackContainer,\n SentFeedbackContainer,\n StartFeedbackButton,\n StartFeedbackContainer,\n} from \"./styles\";\n\ntype FeedbackFormProps = {\n onSubmit: (feedback: string) => Promise;\n};\n\nconst FeedbackForm: FC = ({ onSubmit }) => {\n const { t } = useTranslation();\n return (\n {\n const success = await onSubmit(feedback);\n if (success) {\n resetForm();\n }\n }}\n >\n {({ isSubmitting, dirty, resetForm }) => {\n return (\n \n
\n {isSubmitting && (\n \n )}\n \n \n {t(\"pages.confirmation.feedbackInfo\")}\n \n \n \n \n \n \n
\n );\n }}\n \n );\n};\n\ntype FeedbackProps = PreviewProps & {\n documentVersionId: string;\n responseVersionId: string;\n countryCode: string;\n organizerText?: string;\n isGeneralSignup: boolean;\n signeeEmailAddress: string;\n signeeFirstName: string;\n signeeLastName: string;\n};\n\nconst Feedback: FC = (props: FeedbackProps) => {\n const { t } = useTranslation();\n const [isSendingFeedback, setIsSendingFeedback] = useState(false);\n const [isFeedbackSent, setIsFeedbackSent] = useState(false);\n\n const [submitFeedback] = useSubmitFeedbackMutation();\n\n const onSubmitFeedback = async (feedback: string) => {\n if (!props.isPreview) {\n const result = await submitFeedback({\n variables: {\n countryCode: props.countryCode,\n documentVersionId: props.documentVersionId,\n responseVersionId: props.responseVersionId,\n feedback,\n signeeEmailAddress: props.signeeEmailAddress,\n signeeFirstName: props.signeeFirstName,\n signeeLastName: props.signeeLastName,\n },\n });\n\n if (!result.errors) {\n setIsFeedbackSent(true);\n return true;\n }\n } else {\n setIsFeedbackSent(true);\n return true;\n }\n\n return false;\n };\n\n let organizerLabel = props.organizerText;\n\n if (!organizerLabel || props.isGeneralSignup) {\n organizerLabel = \"Organizer\";\n }\n\n return isFeedbackSent === false ? (\n \n \n {t(\"pages.confirmation.feedback\", { organizer: organizerLabel })}\n setIsSendingFeedback(true)}>\n {t(\"labels.yes\")}\n \n \n {isSendingFeedback ? : null}\n \n ) : (\n \n \n {t(\"pages.confirmation.feedbackSent\")}\n \n );\n};\n\nexport { Feedback };\n","import { useReactiveVar } from \"@apollo/client\";\nimport { Button } from \"@src/components/atoms/Button\";\nimport { Froala } from \"@src/components/atoms/Froala\";\nimport { ContentWrapper, Flex, PageWrapper, Push } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { PageHeader } from \"@src/components/molecules/pageHeader\";\nimport { StyledDivider, StyledHeader, StyledLabel } from \"@src/components/styles\";\nimport { useUrlParams } from \"@src/customHooks\";\nimport { SelectedPaymentType, IsPayNow, ResponseVersionHash, ResponseAlreadySubmitted } from \"@src/localVariables\";\nimport { ConfirmationRoute, PreviewProps } from \"@src/Routes\";\nimport { getPaymentMethods, PaymentMethodType } from \"@src/utils/purchasedTickets\";\nimport React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { Navigate } from \"react-router-dom\";\nimport { Feedback } from \"../../components/molecules/feedback/Feedback\";\nimport { currencyFormatter } from \"@src/utils/purchasedTickets\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { ErrorComponent } from \"../Error\";\nimport { isAuthenticatedResponse, isRostered } from \"@src/utils/responseVersionGetters\";\nimport { hasSafePay } from \"@src/utils/getters\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\nconst Confirmation: FC = ({ isPreview }) => {\n const { baseUrl, countryCode } = useUrlParams();\n const selectedPaymentType = useReactiveVar(SelectedPaymentType);\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const responseAlreadySubmitted = useReactiveVar(ResponseAlreadySubmitted);\n const isPayNow = useReactiveVar(IsPayNow);\n\n const formInfo = useFormInfo();\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n const { t, i18n } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n\n if (formInfo.loading || responseVersionQuery.loading) return ;\n if (formInfo.error) return ;\n if (responseVersionQuery.error)\n return ;\n\n const form = formInfo.form;\n const responseVersion = responseVersionQuery.responseVersion;\n const showFeedback = form && responseVersion && (form?.document?.showContactForm ?? false);\n const totalPayment = responseVersion?.total ?? 0;\n const manualPaymentText = form?.manualPaymentText\n ? googleTranslate(form.manualPaymentText)\n : t(\"pages.tickets.cashCheque\");\n const allowOnlinePaymentsOnly = form?.allowOnlinePaymentsOnly ?? false;\n const orgHasSafePayEnabled = hasSafePay(form);\n const currencyCode = form?.document?.organization?.currencyCode;\n\n const paymentMethods = getPaymentMethods(manualPaymentText).filter(\n (x) =>\n //Remove offline payment options if isOnlinePaymentOnly is true or it's in PayNow mode\n ((isPayNow && x.isOnline) ||\n (!isPayNow && (!allowOnlinePaymentsOnly || (allowOnlinePaymentsOnly && x.isOnline)))) &&\n //Include safepay options if enabled\n (!x.isSafePay || (orgHasSafePayEnabled && x.isSafePay))\n );\n\n const selectedPaymentMethod = paymentMethods.find((pM) => pM.type === selectedPaymentType);\n\n const orgName = googleTranslate(form?.document.organization.name || \"\");\n const organizerText = showFeedback\n ? googleTranslate(form?.document.organization.roleLabels?.organizer || \"\")\n : \"\";\n\n if (!baseUrl || !responseVersion)\n return ;\n\n return (\n <>\n \n \n \n \n {isPayNow ? (\n {t(\"pages.confirmation.paymentMade\")}\n ) : !responseAlreadySubmitted ? (\n <>\n \n {t(\"messages.youreAllSet\")}\n \n \n \n {t(\"pages.confirmation.responseRecorded\")}\n \n \n {t(\"pages.confirmation.confirmationMessage\")}\n \n {form.hasApprovers ? (\n \n \n {t(\"messages.approvalReminder\")}\n \n \n ) : null}\n {selectedPaymentMethod &&\n selectedPaymentMethod.type === PaymentMethodType.MANUAL &&\n totalPayment > 0 ? (\n \n ,\n }}\n values={{\n method: selectedPaymentMethod.label,\n organization: orgName,\n amount: currencyFormatter(i18n.resolvedLanguage, currencyCode).format(\n totalPayment\n ),\n }}\n />\n \n ) : null}\n \n {!isAuthenticatedResponse(responseVersion) && !isRostered(responseVersion) ? (\n \n \n \n ) : window.opener ? (\n \n \n \n ) : null}\n\n {form?.parentMessage ? : null}\n {showFeedback && (\n <>\n \n \n \n \n )}\n \n ) : (\n {t(\"pages.confirmation.alreadySignedMessage\")}\n )}\n \n \n \n \n \n \n );\n};\n\nexport { Confirmation };\n","import styled from \"styled-components\";\nimport { defaultTheme } from \"@src/themes\";\n\nconst TopLevelLink = styled.a`\n text-decoration: none;\n`;\n\nconst LinkImage = styled.img`\n height: 45px;\n box-shadow: 0px 0px 5px 0 #777;\n`;\n\nconst LinkContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n max-width: 75%;\n margin-left: 15px;\n`;\n\nconst Link = styled.p`\n font-size: 12px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n color: ${defaultTheme.colors.alias.primary};\n margin: 0;\n`;\n\nconst LinkTitle = styled.p`\n font-family: ${defaultTheme.font.default};\n color: black;\n margin: 0;\n`;\n\nconst LinkDescription = styled.p`\n font-family: ${defaultTheme.font.default};\n font-size: 12px;\n color: grey;\n margin: 0;\n`;\n\nexport { TopLevelLink, LinkImage, LinkContainer, Link, LinkTitle, LinkDescription };\n","import React, { FunctionComponent } from \"react\";\nimport { LinkAttachment } from \"@src/types\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport LinkIcon from \"@src/assets/link.png\";\nimport { Link, LinkContainer, LinkDescription, LinkImage, LinkTitle, TopLevelLink } from \"./styles\";\n\ntype LinkAttachmentProps = {\n attachment: LinkAttachment;\n};\n\nconst LinkAttachmentComponent: FunctionComponent = ({ attachment }) => {\n let uri = attachment.uri;\n\n if (!uri?.startsWith(\"http\")) {\n uri = \"http://\" + uri;\n }\n\n return (\n \n \n \n \n {attachment.title}\n {attachment.uri}\n \n {attachment.description}\n \n \n \n \n );\n};\n\nexport { LinkAttachmentComponent };\n","import styled from \"styled-components\";\n\nconst PrimaryAttachmentContainer = styled.div`\n max-width: 90vw;\n margin: 0 0 75px 0;\n`;\n\nexport { PrimaryAttachmentContainer };\n","import React, { FunctionComponent } from \"react\";\nimport { Attachment } from \"@src/types\";\nimport { PrimaryAttachmentContainer } from \"./styles\";\nimport { PdfViewer } from \"../PdfViewer/PdfViewer\";\nimport { Flex } from \"@src/components/layout/Page\";\n\ntype PrimaryAttachmentProps = {\n attachment: Attachment;\n};\n\nconst PrimaryAttachment: FunctionComponent = ({ attachment }) => {\n return (\n \n \n \n \n \n );\n};\n\nexport { PrimaryAttachment };\n","import React, { FC } from \"react\";\n\nimport { Flex } from \"@src/components/layout/Page\";\nimport { PreviewProps } from \"@src/Routes\";\nimport { Ticket, Attendee, Field, FormInfoQuery } from \"@src/types\";\nimport { CancelTicketArgs, TicketMode } from \"@src/utils/purchasedTickets\";\nimport { AttendeePreview } from \"./AttendeePreview\";\n\ntype AttendeesPreviewProps = PreviewProps & {\n tickets: Ticket[];\n attendees: Attendee[];\n fields?: Field[];\n mode: TicketMode;\n countryCode: string;\n form: NonNullable;\n responseVersionId: string;\n onCancelTicket?: (args: CancelTicketArgs) => void;\n};\n\nconst AttendeesPreview: FC = ({\n tickets,\n attendees,\n fields,\n mode,\n countryCode,\n form,\n responseVersionId,\n onCancelTicket,\n}) => {\n const attendeesToDisplay =\n mode !== TicketMode.CHECKOUT\n ? attendees.filter((attendee) => attendee?.tickets?.length > 0)\n : attendees;\n\n return attendees ? (\n \n {attendeesToDisplay.map((attendee) => (\n \n ))}\n \n ) : null;\n};\n\nexport { AttendeesPreview };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\nimport {\n AcceptTermsMutation,\n AcceptTermsMutationVariables,\n ResponseQuery,\n ResponseStatus,\n} from \"@src/types\";\n\ntype AcceptTermsMutationUpdater = (\n responseHashedId: string\n) => MutationUpdaterFunction<\n AcceptTermsMutation,\n AcceptTermsMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\n// Signs the response version, used exclusively while in preview mode\nconst acceptTermsUpdater: AcceptTermsMutationUpdater =\n (responseHashedId) =>\n (cache, errors) => {\n if (!errors) {\n updateResponseQuery(cache, responseHashedId);\n }\n };\n\n const updateResponseQuery = (\n cache: ApolloCache,\n responseHashedId: string,\n ) =>\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseHashedId\n },\n overwrite: true,\n },\n (cachedData) => {\n if (cachedData) {\n return {\n ...cachedData,\n Response: {\n ...cachedData.Response,\n isCheckedOut: true,\n isSigned: true,\n signedDate: new Date().toString(),\n status: ResponseStatus.Responded,\n }\n };\n }\n }\n );\n\nexport { acceptTermsUpdater };\n","import React, { FC } from \"react\";\r\nimport { useTranslation, Trans } from \"react-i18next\";\r\n\r\nimport { Button } from \"@src/components/atoms/Button\";\r\nimport { Flex } from \"@src/components/layout/Page\";\r\nimport {\r\n StyledTermsMessage,\r\n StyledTermsLink,\r\n StyledLabel,\r\n StyledDivider,\r\n StyledHeader,\r\n} from \"@src/components/styles\";\r\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\r\nimport { useFormikContext } from \"formik\";\r\nimport { PaymentForm, PaymentFormKeys } from \"../Review\";\r\nimport styled from \"styled-components\";\r\nimport { PaymentMethodType } from \"@src/utils/purchasedTickets\";\r\nimport { useGoogleTranslate } from \"@src/utils/translation\";\r\n\r\nconst ErrorLabel = styled(StyledLabel)`\r\n ${({ theme }) => `\r\n color: ${theme.colors.values.red};\r\n `}\r\n`;\r\n\r\nconst AcceptTermsAndSubmit: FC = () => {\r\n const { t } = useTranslation();\r\n const { values, errors, setFieldError, setFieldValue } = useFormikContext();\r\n const { form } = useFormInfo();\r\n const googleTranslate = useGoogleTranslate();\r\n\r\n const setPaymentFormValue = (fieldName: PaymentFormKeys, value: unknown) =>\r\n setFieldValue(fieldName, value, false);\r\n const setPaymentFormError = (fieldName: PaymentFormKeys, message: string | undefined) =>\r\n setFieldError(fieldName, message);\r\n\r\n const acceptTerms = () => {\r\n const isAccepted = !values.isTermsAccepted;\r\n setPaymentFormValue(\"isTermsAccepted\", isAccepted);\r\n if (isAccepted) {\r\n setPaymentFormError(\"isTermsAccepted\", undefined); // clear errors\r\n } else {\r\n setPaymentFormError(\"isTermsAccepted\", t(\"pages.review.confirmError\"));\r\n }\r\n };\r\n\r\n const isPaymentValid = (): boolean => {\r\n if (values.subtotal > 0) {\r\n if (values.selectedPaymentMethod) {\r\n if (\r\n (values.selectedPaymentMethod.type === PaymentMethodType.CREDITCARD ||\r\n values.selectedPaymentMethod.type === PaymentMethodType.WALLET) &&\r\n (values.stripeToken == null || !values.stripeToken.id)\r\n ) {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n\r\n const acceptOrgTerms = () =>\r\n setPaymentFormValue(\"isOrgTermsAccepted\", !values.isOrgTermsAccepted);\r\n\r\n const orgDisclaimer = form.document.organization.disclaimer;\r\n\r\n const hasOrgTermsAndConditions = !!orgDisclaimer;\r\n\r\n const isSubmitButtonDisabled =\r\n !values.isTermsAccepted ||\r\n (hasOrgTermsAndConditions ? !values.isOrgTermsAccepted : false) ||\r\n !isPaymentValid();\r\n\r\n return (\r\n \r\n {hasOrgTermsAndConditions ? (\r\n <>\r\n \r\n \r\n {t(\"pages.review.termsAndConditionsHeader\", {\r\n organization: form.document.organization.name,\r\n })}\r\n \r\n \r\n {orgDisclaimer ? googleTranslate(orgDisclaimer) : null}\r\n \r\n \r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n\r\n \r\n {t(\"pages.review.termsAndConditionsAgree\", {\r\n organization: form.document.organization.name,\r\n })}\r\n \r\n \r\n \r\n \r\n {t(\"pages.review.termsAndConditionsNotice\", {\r\n organization: form.document.organization.name,\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n ),\r\n privacyPolicyLink: (\r\n \r\n ),\r\n }}\r\n />\r\n \r\n \r\n \r\n acceptTerms()}\r\n onKeyDown={(e) => {\r\n if (e.key === \" \" || e.key === \"Enter\") {\r\n acceptTerms();\r\n }\r\n }}\r\n >\r\n {values.isTermsAccepted ? (\r\n
\r\n ) : (\r\n
\r\n )}\r\n\r\n \r\n {t(\"pages.review.agree\")}\r\n \r\n \r\n \r\n {errors.isTermsAccepted && (\r\n \r\n {errors.isTermsAccepted}\r\n \r\n )}\r\n \r\n \r\n {t(\"pages.review.submit\")}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport { AcceptTermsAndSubmit };\r\n","import React, { FC } from \"react\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport styled from \"styled-components\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { Image } from \"@src/utils/purchasedTickets\";\nimport { Breakpoints } from \"@src/customHooks\";\n\nexport type PaymentOptionProps = {\n label: string;\n icons: Image[];\n onClick: () => void;\n tabIndex: number;\n screenSize: Breakpoints;\n isSelected: boolean;\n};\n\nconst PaymentOptionContainer = styled(Flex)`\n margin-left: 15px;\n cursor: pointer;\n`;\n\nconst StyledPaymentImage = styled.img`\n width: 94px;\n height: 56px;\n`;\n\nconst StyledMobilePaymentImage = styled.img`\n width: 47px;\n height: 28px;\n`;\n\nconst PaymentOption: FC = ({\n label,\n icons,\n onClick,\n tabIndex,\n screenSize,\n isSelected,\n}) => {\n return screenSize === \"desktop\" ? (\n \n {label}\n \n {icons.map((icon) => (\n \n ))}\n \n
\n \n ) : (\n \n \n \n {label}\n \n\n \n {icons.map((icon) => (\n \n ))}\n \n \n );\n};\n\nexport { PaymentOption };\n","import React, { FC, useState } from \"react\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport styled from \"styled-components\";\nimport { StyledLabel } from \"@src/components/styles\";\nimport { StripeElementChangeEvent, Token, TokenResult } from \"@stripe/stripe-js\";\nimport {\n CardCvcElement,\n CardExpiryElement,\n CardNumberElement,\n Elements,\n useElements,\n useStripe,\n} from \"@stripe/react-stripe-js\";\nimport { stripePromise } from \"@src/App\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { useTranslation } from \"react-i18next\";\nimport { TranslationKey } from \"@src/utils/validation\";\n\nconst createOptions = {\n style: {\n base: {\n fontSize: \"14px\",\n color: \"#788995\",\n fontFamily: \"Roboto, sans-serif\",\n \"::placeholder\": {\n color: \"#788995\",\n fontWeight: 400,\n },\n },\n invalid: {\n color: \"#f2594b\",\n },\n },\n};\n\nconst CreditCardLabel = styled(StyledLabel)`\n font-weight: 500;\n color: #d4d9dd;\n`;\n\nconst CreditCardPaymentContainer = styled(Flex)`\n margin-top: 15px;\n flex-direction: column;\n width: 100%;\n\n .number {\n flex-grow: 1;\n }\n\n .card-details {\n display: flex;\n\n .stripe-input {\n margin-left: 10px;\n }\n\n .expiry {\n .StripeElement {\n width: 54px;\n }\n }\n\n .cvc {\n .StripeElement {\n width: 31px;\n }\n }\n }\n\n .StripeElement {\n border: solid 1px #dde3e8;\n border-radius: 3px;\n padding: 15px 20px;\n }\n`;\n\ntype CreditCardPaymentComponentProps = {\n onTokenReceived: (token: Token | null) => void;\n};\n\nconst CreditCardPaymentComponent: FC = ({ onTokenReceived }) => {\n const { t, i18n } = useTranslation();\n const stripe = useStripe();\n const elements = useElements();\n const [errorCode, setErrorCode] = useState(null);\n\n const onChange = async (status: StripeElementChangeEvent) => {\n if (elements == null || stripe == null) return;\n if (status.complete) {\n const card = elements.getElement(CardNumberElement);\n if (card) {\n const token = await stripe.createToken(card);\n onStripeTokenReceived(token);\n }\n } else {\n onTokenReceived(null);\n }\n };\n\n const onBlur = async () => {\n if (elements === null || stripe === null) return;\n const card = elements.getElement(CardNumberElement);\n if (card) {\n const token = await stripe.createToken(card);\n onStripeTokenReceived(token);\n }\n };\n\n const onStripeTokenReceived = (token: TokenResult) => {\n if (token?.error?.code) {\n const errorKey = `stripe.${token.error.code}`;\n\n if (i18n.exists(errorKey)) {\n setErrorCode(errorKey as TranslationKey);\n } else {\n setErrorCode(\"stripe.generic_error\");\n }\n } else {\n setErrorCode(null);\n onTokenReceived(token.token ?? null);\n }\n };\n\n return (\n \n {stripe ? (\n \n
\n \n {t(\"pages.tickets.cardNumber\").toUpperCase()}\n onChange(status)}\n onBlur={() => onBlur()}\n />\n \n\n \n \n {t(\"pages.tickets.expiry\").toUpperCase()}\n onChange(status)}\n onBlur={() => onBlur()}\n />\n \n\n \n CVC\n onChange(status)}\n onBlur={() => onBlur()}\n options={createOptions}\n />\n \n \n
\n
\n ) : null}\n {errorCode && (\n \n \n {t(errorCode) as string}\n \n \n )}\n
\n );\n};\n\nexport type OnlinePayProps = {\n onTokenReceived: (token: Token | null) => void;\n};\n\nconst OnlinePay: FC = ({ onTokenReceived }) => {\n if (!stripePromise) return ;\n\n return (\n \n \n \n );\n};\n\nexport { OnlinePay };\n","import React, { FC, useEffect, useState } from \"react\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { PaymentRequest, Token } from \"@stripe/stripe-js\";\nimport { Elements, PaymentRequestButtonElement, useStripe } from \"@stripe/react-stripe-js\";\nimport { stripePromise } from \"@src/App\";\nimport styled from \"styled-components\";\nimport { useTranslation } from \"react-i18next\";\n\nexport type WalletPayProps = {\n title: string;\n total: number;\n currency?: string | null;\n country?: string | null;\n};\n\ntype WalletPayComponentProps = WalletPayProps & {\n onTokenReceived: (token: Token | null) => void;\n};\n\nexport const isValidProps = (props: WalletPayProps): boolean => {\n return props.currency !== undefined && props.country != undefined;\n};\n\nexport const WalletLabel = styled.span`\n margin-top: 25px;\n`;\n\nconst WalletPaymentComponent: FC = ({\n total,\n title,\n currency,\n country,\n onTokenReceived,\n}) => {\n const { t } = useTranslation();\n const stripe = useStripe();\n\n const [paymentRequest, setPaymentRequest] = useState(null);\n const [walletUnavailable, setWalletUnavailable] = useState(false);\n const [success, setSuccess] = useState(false);\n\n useEffect(() => {\n if (stripe && country && currency) {\n const paymentRequest = stripe.paymentRequest({\n country: country.toUpperCase(),\n currency: currency.toLowerCase(),\n total: {\n label: title,\n amount: Math.round(total * 100), // Stripe expects the total in cents\n },\n requestPayerName: true,\n requestPayerEmail: true,\n });\n\n paymentRequest.canMakePayment().then((result) => {\n if (result) {\n setPaymentRequest(paymentRequest);\n setWalletUnavailable(false);\n } else {\n setWalletUnavailable(true);\n }\n });\n\n paymentRequest.on(\"token\", async (event) => {\n onTokenReceived(event.token);\n event.complete(\"success\");\n setSuccess(true);\n });\n }\n // For full documentation of the available paymentRequest options, see:\n // https://stripe.com/docs/stripe.js#the-payment-request-object\n }, [country, currency, onTokenReceived, stripe, title, total]);\n\n return (\n \n {success ? (\n {t(\"pages.tickets.youCanSignAndContinue\")}\n ) : paymentRequest === null && !walletUnavailable ? (\n {t(\"pages.tickets.checkingYourWallet\")}\n ) : walletUnavailable ? (\n \n {t(\"pages.tickets.yourWalletIsNotReady\")}\n \n ) : paymentRequest ? (\n
\n \n
\n ) : null}\n
\n );\n};\n\nconst WalletPay: FC = (props) => {\n return (\n \n \n \n );\n};\n\nexport { WalletPay };\n","import React, { FC, useEffect } from \"react\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { LoadingMessage, StyledLabel } from \"@src/components/styles\";\nimport { PaymentOption } from \"./PaymentOption\";\nimport { OnlinePay } from \"./Stripe/OnlinePay\";\nimport { Token } from \"@stripe/stripe-js\";\nimport { WalletPay, WalletPayProps } from \"./Stripe/WalletPay\";\nimport {\n getPaymentMethods,\n getStripeTokenFeeMethod,\n PaymentMethod,\n PaymentMethodType,\n} from \"@src/utils/purchasedTickets\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { useFormikContext } from \"formik\";\nimport { PaymentForm, PaymentFormKeys } from \"../Review\";\nimport { useTaxesAndFeesQuery } from \"@src/types\";\nimport { useReactiveVar } from \"@apollo/client\";\nimport { IsPayNow, SelectedPaymentType } from \"@src/localVariables\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { hasSafePay } from \"@src/utils/getters\";\nimport { useTranslation } from \"react-i18next\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\ntype PaymentSectionProps = {\n passAlongFees: boolean;\n responseOrganizationId: string;\n};\n\nconst PaymentSection: FC = ({ passAlongFees, responseOrganizationId }) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const { countryCode } = useUrlParams();\n const { form } = useFormInfo();\n const { values, setFieldValue } = useFormikContext();\n const screenSize = useBreakPoints();\n const orgHasSafePayEnabled = hasSafePay(form);\n const title = form?.name ?? \"\";\n const allowOnlinePaymentsOnly = form?.allowOnlinePaymentsOnly ?? false;\n const manualPaymentText = form?.manualPaymentText\n ? googleTranslate(form.manualPaymentText)\n : t(\"pages.tickets.cashCheque\");\n const organizationName = form?.document?.organization?.name ?? \"\";\n const paymentCountryCode = form?.document?.organization?.countryCode;\n const paymentCurrencyCode = form?.document?.organization?.currencyCode;\n const isPayNow = useReactiveVar(IsPayNow) || false;\n const selectedPaymentType = useReactiveVar(SelectedPaymentType);\n const paymentOptions = getPaymentMethods(manualPaymentText).filter(\n (x) =>\n //Remove offline payment options if isOnlinePaymentOnly is true or it's in PayNow mode\n ((isPayNow && x.isOnline) ||\n (!isPayNow && (!allowOnlinePaymentsOnly || (allowOnlinePaymentsOnly && x.isOnline)))) &&\n //Include safepay options if enabled\n (!x.isSafePay || (orgHasSafePayEnabled && x.isSafePay))\n );\n\n const selectedPaymentMethod = paymentOptions.find((pO) => pO.type === selectedPaymentType);\n\n const setPaymentFormValue = (fieldName: PaymentFormKeys, value: unknown) =>\n setFieldValue(fieldName, value, false);\n\n const setPaymentOption = (paymentOption: PaymentMethod | null) => {\n paymentOption && SelectedPaymentType(paymentOption.type);\n\n setPaymentFormValue(\"selectedPaymentMethod\", paymentOption);\n };\n\n const taxesAndFeesQuery = useTaxesAndFeesQuery({\n variables: {\n organizationId: responseOrganizationId,\n passFeesToBuyer: passAlongFees,\n amount: values.subtotal,\n currency: paymentCurrencyCode ?? \"\",\n },\n fetchPolicy: \"cache-first\",\n skip: !orgHasSafePayEnabled || !passAlongFees,\n });\n\n const assignFees = (token: Token | null | undefined) => {\n if (!(orgHasSafePayEnabled && passAlongFees)) return;\n\n if (token) {\n // Get fees based on the payment method\n const tokenFeeMethodType = getStripeTokenFeeMethod(token, countryCode);\n const fees = taxesAndFeesQuery?.data?.TaxesAndFees?.estimates?.find(\n (estimate) => estimate.method === tokenFeeMethodType\n );\n\n if (fees != null) {\n setPaymentFormValue(\"total\", fees.amountToCharge);\n setPaymentFormValue(\"serviceFee\", fees.providerFee + fees.applicationFeeNet);\n setPaymentFormValue(\"tax\", fees.applicationFeeTax);\n setPaymentFormValue(\"isServiceFeeAssigned\", true);\n }\n } else {\n // Unassign fees\n setPaymentFormValue(\"total\", values.subtotal);\n setPaymentFormValue(\"serviceFee\", 0);\n setPaymentFormValue(\"tax\", { gstLabel: \"0.00\", pstLabel: \"0.00\", gst: 0, pst: 0, total: 0 });\n setPaymentFormValue(\"isServiceFeeAssigned\", false);\n }\n };\n\n const onTokenReceived = (token: Token | null) => {\n // double = here checks for undefined as well\n if (token == null || !token.id) {\n token = null;\n }\n setPaymentFormValue(\"stripeToken\", token);\n };\n\n useEffect(() => {\n if (values.subtotal > 0) {\n if (orgHasSafePayEnabled && passAlongFees) {\n taxesAndFeesQuery.refetch({ amount: values.subtotal });\n assignFees(values.stripeToken);\n }\n } else {\n // No payment required, set payment option to null\n if (values.selectedPaymentMethod) setPaymentOption(null);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values.subtotal]);\n\n useEffect(() => {\n assignFees(values.stripeToken);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values.stripeToken]);\n\n useEffect(() => {\n onTokenReceived(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values.selectedPaymentMethod]);\n\n useDefaultPaymentMethod(\n values.subtotal,\n values.selectedPaymentMethod,\n paymentOptions,\n setPaymentOption\n );\n\n return (\n \n {taxesAndFeesQuery.loading && }\n {t(\"pages.tickets.paymentMethods\")}\n {t(\"pages.tickets.chooseYourPaymentMethod\")}\n \n \n {paymentOptions.map((paymentOption, index) => {\n return (\n {\n if (values.selectedPaymentMethod?.type !== paymentOption.type) {\n setPaymentOption(paymentOption);\n }\n }}\n />\n );\n })}\n \n \n \n \n );\n};\n\ntype SelectedPaymentOptionProps = {\n option: PaymentMethod | null;\n organizationName: string;\n walletPayProps?: WalletPayProps;\n onTokenReceived: (token: Token | null) => void;\n};\n\nconst SelectedPaymentOption: FC = ({\n option,\n organizationName,\n walletPayProps,\n onTokenReceived,\n}) => {\n const { t } = useTranslation();\n\n return (\n option && (\n \n {option.type === PaymentMethodType.CREDITCARD && (\n \n )}\n {option.type === PaymentMethodType.WALLET && walletPayProps && (\n \n )}\n {option.type === PaymentMethodType.MANUAL && (\n
\n

\n {t(\"pages.tickets.yourOrderWillNotBeComplete\", {\n method: option.label,\n organizationName,\n })}\n

\n
\n )}\n
\n )\n );\n};\n\nconst useDefaultPaymentMethod = (\n subtotal: number,\n selectedPaymentMethod: PaymentMethod | null,\n paymentOptions: PaymentMethod[],\n setPaymentOption: (PaymentMethod: PaymentMethod) => void\n) => {\n useEffect(() => {\n if (subtotal > 0 && !selectedPaymentMethod) {\n const creditCardPaymentOption = paymentOptions.find(\n (option) => option.type === PaymentMethodType.CREDITCARD\n );\n // If creditcard is an option, we'll default to that\n if (creditCardPaymentOption) setPaymentOption(creditCardPaymentOption);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\n\nexport { PaymentSection };\n","import { useApolloClient, useReactiveVar } from \"@apollo/client\";\nimport React, { FC, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport { AttachmentComponent } from \"@src/components/atoms/Attachment\";\nimport { Button } from \"@src/components/atoms/Button\";\nimport { Froala } from \"@src/components/atoms/Froala\";\nimport { LinkAttachmentComponent } from \"@src/components/atoms/LinkAttachment\";\nimport { PrimaryAttachment } from \"@src/components/atoms/PrimaryAttachment\";\nimport { ContentWrapper, PageWrapper } from \"@src/components/layout\";\nimport { Flex, Push } from \"@src/components/layout/Page\";\nimport { DisplayAnswers } from \"@src/components/molecules/displayAnswers/DisplayAnswers\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { PageHeader } from \"@src/components/molecules/pageHeader\";\nimport { AttendeesPreview } from \"@src/components/molecules/preview/AttendeesPreview\";\nimport { Totals } from \"@src/components/molecules/totals\";\nimport {\n StyledDivider,\n StyledErrorContainer,\n StyledErrorText,\n StyledLabel,\n StyledReviewHeader,\n StyledReviewMessage,\n} from \"@src/components/styles\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport {\n AccessDataAnswers,\n IsPayNow,\n OrderId,\n RequestError,\n ResponseAlreadySubmitted,\n ResponseVersionHash,\n} from \"@src/localVariables\";\nimport { CancelTicketAnswerResult } from \"@src/mutations/mutationTypes\";\nimport { acceptTermsUpdater } from \"@src/mutations/updaterFunctions/acceptTerms\";\nimport { cancelTicketMutationUpdater } from \"@src/mutations/updaterFunctions/updateTickets\";\nimport { RESPONSE_VERSIONS_QUERY } from \"@src/queries/responseVersions\";\nimport { ConfirmationRoute, PreviewProps, ReviewRoute, SigneeInfoRoute } from \"@src/Routes\";\nimport { PaidStatus, Tax, useAcceptTermsMutation, useCancelTicketMutation } from \"@src/types\";\nimport {\n getAttachments,\n getAttendeeFields,\n getLinkAttachments,\n getOrderInfo,\n getPublicOrganizerAnswers,\n getPublicOrganizerFields,\n getSigneeAnswers,\n getSigneeFields,\n getTickets,\n} from \"@src/utils/getters\";\nimport {\n CancelTicketArgs,\n PaymentMethod,\n PaymentMethodType,\n TicketMode,\n} from \"@src/utils/purchasedTickets\";\nimport { scrollToTop, useScrollToTop } from \"@src/utils/scrollToTop\";\nimport { Token } from \"@stripe/stripe-js\";\nimport { Form, Formik } from \"formik\";\nimport { ErrorComponent } from \"../Error/Error\";\nimport { AcceptTermsAndSubmit } from \"./components/AcceptTermsAndSubmit\";\nimport { PaymentSection } from \"./Payment/PaymentSection\";\nimport { useValidateAnswers } from \"@src/utils/validation\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { isSigned, signeeInfo } from \"@src/utils/responseVersionGetters\";\nimport { hasTickets, isGeneralSignup } from \"@src/utils/formGetters\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\n\nexport type PaymentForm = {\n selectedPaymentMethod: PaymentMethod | null;\n serviceFee?: number;\n stripeToken?: Token | null;\n subtotal: number;\n tax?: Tax;\n total?: number;\n isTermsAccepted: boolean;\n isOrgTermsAccepted: boolean;\n isServiceFeeAssigned: boolean;\n};\nexport type PaymentFormKeys = keyof PaymentForm;\n\nconst Review: FC = ({ isPreview }) => {\n const { t, i18n } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const navigate = useNavigate();\n const screenSize = useBreakPoints();\n const { baseUrl, countryCode, markAsVisited } = useUrlParams();\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const accessData = useReactiveVar(AccessDataAnswers) || [];\n const client = useApolloClient();\n const [isUpdatingCart, setUpdatingCart] = useState(false);\n const formInfo = useFormInfo();\n const isPayNow = useReactiveVar(IsPayNow) || false;\n const orderId = useReactiveVar(OrderId) || \"\";\n const selectedLanguage = i18n.resolvedLanguage;\n\n useScrollToTop();\n\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n\n const [acceptTerms] = useAcceptTermsMutation({\n update: acceptTermsUpdater(responseVersionHash),\n });\n\n const [cancelTicket] = useCancelTicketMutation({\n awaitRefetchQueries: true,\n refetchQueries: [\n {\n query: RESPONSE_VERSIONS_QUERY,\n variables: {\n documentId: formInfo.form?.documentId,\n countryCode,\n email: signeeInfo(responseVersionQuery.responseVersion).email,\n },\n },\n ],\n });\n\n const signeeFields = getSigneeFields(formInfo.form);\n const signeeAnswers = getSigneeAnswers(responseVersionQuery.responseVersion);\n const attendeeFields = getAttendeeFields(formInfo.form);\n const tickets = getTickets(formInfo.form);\n const orderInfo = getOrderInfo(responseVersionQuery.responseVersion, isPayNow);\n\n const listOfValidationErrors = useValidateAnswers(\n formInfo.form?.requiresPermission,\n formInfo.form?.respondentMustSelectATicket && hasTickets(formInfo.form),\n formInfo.form?.isGeneralSignup,\n orderInfo,\n signeeFields,\n signeeAnswers,\n attendeeFields,\n responseVersionQuery.responseVersion?.attendees,\n tickets,\n responseVersionQuery.responseVersion?.orders\n );\n\n if (formInfo.loading || responseVersionQuery.loading) return ;\n if (formInfo.error) return ;\n if (responseVersionQuery.error)\n return ;\n\n const form = formInfo.form;\n const responseVersion = responseVersionQuery.responseVersion;\n const passAlongFees = tickets?.some((ticket) => ticket.passAlongFees) ?? false;\n const hasSafePay = formInfo.form?.document?.organization?.hasSafePay ?? false;\n const formInformation = googleTranslate(form?.information || \"\");\n const attachments = getAttachments(form);\n const linkAttachments = getLinkAttachments(form);\n const primaryAttachment = attachments.find((x) => x.isPrimary);\n const hasTicketsInCart =\n orderInfo && orderInfo?.cart.some((attendee) => attendee?.tickets?.length > 0);\n const publicOrganizerFields = getPublicOrganizerFields(formInfo.form);\n const publicOrganizerAnswers = getPublicOrganizerAnswers(formInfo.form);\n const guardianRole = googleTranslate(form?.document?.organization?.roleLabels?.guardian || \"\");\n\n if (\n !baseUrl ||\n !responseVersion ||\n (isSigned(responseVersion) && responseVersion.orderStatus !== PaidStatus.PaymentRequired)\n )\n return ;\n\n markAsVisited(\"review\");\n\n const onAcceptTerms = async (stripeToken?: string) => {\n if (!isPreview) {\n const result = await acceptTerms({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n accessData,\n paymentToken: stripeToken,\n orderId,\n languageCode: selectedLanguage,\n },\n });\n\n if (result) {\n if (!result.errors && result.data && result.data.AcceptTerms) {\n navigate(`${baseUrl}/${ConfirmationRoute}`);\n } else if (result.errors && result.errors.length > 0) {\n const errorCode = result.errors[0].message.match(/\\d+/);\n if (errorCode && errorCode[0]) {\n switch (parseInt(errorCode[0])) {\n case 100: // Submitted responses cannot be modified\n navigate(`${baseUrl}/${ConfirmationRoute}`);\n ResponseAlreadySubmitted(true);\n break;\n default:\n RequestError(result.errors[0]);\n scrollToTop();\n break;\n }\n } else {\n RequestError(result.errors[0]);\n scrollToTop();\n }\n } else {\n RequestError({\n message:\n \"An unrecoverable error occurred, please refresh your page and try to submit again\",\n nodes: undefined,\n source: undefined,\n positions: undefined,\n path: undefined,\n originalError: undefined,\n locations: undefined,\n name: \"failed\",\n extensions: {},\n });\n scrollToTop();\n }\n }\n } else {\n acceptTermsUpdater(responseVersionHash)(\n client.cache,\n {},\n {\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n languageCode: selectedLanguage\n },\n }\n );\n navigate(`${baseUrl}/${ConfirmationRoute}`);\n }\n };\n\n const onCancelTicket = async ({\n ticketVersionId,\n responseAttendeeId,\n purchasedTicketIds,\n }: CancelTicketArgs) => {\n setUpdatingCart(true);\n\n await cancelTicket({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n purchasedTicketIds: purchasedTicketIds,\n orderId,\n },\n }).then(() => {\n setUpdatingCart(false);\n });\n };\n\n const previewOnCancelTicket = ({\n ticketVersionId,\n responseAttendeeId,\n purchasedTicketIds,\n }: CancelTicketArgs): Promise => {\n const result = { CancelTicket: true };\n const updater = cancelTicketMutationUpdater(signeeInfo(responseVersion));\n if (updater) {\n updater(\n client.cache,\n { data: result },\n {\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n responseAttendeeId: responseAttendeeId,\n ticketVersionId: ticketVersionId,\n purchasedTicketIds: purchasedTicketIds,\n orderId,\n },\n }\n );\n }\n return Promise.resolve({ data: result, errors: undefined });\n };\n\n const initialValues: PaymentForm = {\n stripeToken: null,\n subtotal: orderInfo?.subtotal ?? 0,\n total: orderInfo?.subtotal ?? 0,\n tax: { gstLabel: \"0.00\", pstLabel: \"0.00\", gst: 0, pst: 0, total: 0 },\n serviceFee: 0,\n selectedPaymentMethod: null,\n isTermsAccepted: false,\n isOrgTermsAccepted: false,\n isServiceFeeAssigned: false,\n };\n\n return (\n <>\n \n \n \n {isUpdatingCart && }\n {!isSigned && (\n \n {t(\"pages.review.almostDone\")}\n {t(\"pages.review.reviewMessage\")}\n \n \n )}\n \n \n \n {t(\"pages.review.summary\")}\n navigate(`${baseUrl}/${SigneeInfoRoute}`)}\n >\n {t(\"labels.edit\")}\n \n \n \n \n \n \n {primaryAttachment ? : null}\n {attachments && attachments.length > 0 ? (\n \n {t(\"pages.review.imagesAndDocuments\")}\n {attachments.map((attachment) => (\n \n ))}\n \n ) : null}\n {linkAttachments && linkAttachments.length > 0 ? (\n \n {t(\"pages.review.externalLinks\")}\n {linkAttachments.map((linkAttachment) => (\n \n ))}\n \n ) : null}\n \n \n onAcceptTerms(values.stripeToken?.id)}\n enableReinitialize\n >\n {({ values, isSubmitting }) => {\n return (\n \n <>\n {isSubmitting ? (\n \n ) : null}\n \n \n {t(\"pages.review.form\", {\n form: isGeneralSignup(form) ? \"\" : guardianRole,\n }).trim()}\n \n {signeeFields && signeeFields.length ? (\n \n \n \n ) : null}\n <>\n \n {listOfValidationErrors.length > 0 ? (\n \n \n {t(\"labels.errors\")}\n \n \n {listOfValidationErrors.map((validationError) => (\n \n \n \n {validationError.message}\n \n {\n navigate(validationError.route);\n }}\n style={{ height: \"fit-content\", minWidth: \"auto\" }}\n primary\n >\n {t(\"labels.fixNow\")}\n \n \n ))}\n \n \n ) : null}\n {hasTicketsInCart && (\n <>\n {values?.total &&\n values.total > 0 &&\n listOfValidationErrors.length === 0 ? (\n <>\n \n \n \n ) : null}\n \n \n \n )}\n \n \n \n {listOfValidationErrors.length === 0 ? (\n
\n \n \n ) : null}\n \n
\n );\n }}\n \n
\n \n
\n \n \n );\n};\n\nexport { Review };\n","import { useReactiveVar } from \"@apollo/client\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { ResponseVersionHash, UrlParams } from \"@src/localVariables\";\nimport { AccessDataRoute } from \"@src/Routes\";\nimport React from \"react\";\nimport { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useParams } from \"react-router-dom\";\nimport { ErrorComponent } from \"../Error/Error\";\nimport { DefaultCountryCode } from \"@src/utils/urls\";\n\nconst RosterLanding: FC = () => {\n const { t } = useTranslation();\n const { hashedId } = useParams();\n const { visitedPages } = useReactiveVar(UrlParams);\n\n // rostered responses include responses created via the Staff Form Library\n const query = useCachedResponseVersion(hashedId || \"\");\n\n if (query.loading) return ;\n if (query.error) return ;\n const rosteredResponse = query.responseVersion;\n\n if (rosteredResponse) {\n ResponseVersionHash(rosteredResponse.hash);\n UrlParams({\n baseUrl: `/r/${hashedId}`,\n responseHashedId: hashedId,\n documentHashedId: rosteredResponse.documentHashId,\n countryCode: hashedId?.substring(0, 2) ?? DefaultCountryCode,\n visitedPages,\n });\n\n return ;\n }\n\n return ;\n};\n\nexport { RosterLanding };\n","export enum ResponseResumeAction {\n\n None = 0,\n Resume = 1,\n Edit = 2,\n Restart = 3,\n Update = 4\n}","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport {\n Attendee,\n EditAttendeesMutation,\n EditAttendeesMutationVariables,\n ResponseQuery,\n ResponseVersion,\n} from \"@src/types\";\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\n\ntype EditAttendeesMutationUpdater = (\n responseHashedId: string\n) => MutationUpdaterFunction<\n EditAttendeesMutation,\n EditAttendeesMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\nconst editAttendeesMutationUpdater: EditAttendeesMutationUpdater =\n (responseHashedId) =>\n (cache, { data }) => {\n const editedAttendees = data?.EditAttendees as Attendee[] || [];\n updateResponseQuery(cache, responseHashedId, editedAttendees)\n };\n\nconst updateResponseQuery = (\n cache: ApolloCache,\n responseHashedId: string,\n editedAttendees: Attendee[]\n) => {\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseHashedId,\n },\n overwrite: true,\n },\n (cachedData) => {\n if (cachedData) {\n const updatedResponseVersion = updateActiveResponseVersion(cachedData?.Response as ResponseVersion, editedAttendees);\n\n return {\n ...cachedData,\n Response: updatedResponseVersion,\n };\n }\n }\n );\n};\n\nconst updateActiveResponseVersion = (\n activeResponseVersion: ResponseVersion,\n editedAttendees: Attendee[],\n): ResponseVersion => {\n const cachedAttendees = activeResponseVersion?.attendees || [];\n\n const newAttendees = editedAttendees.map((editedAttendee) => {\n const currentAttendee = cachedAttendees.find(\n (currAttendee) => currAttendee.responseAttendeeId === editedAttendee.responseAttendeeId\n );\n\n return currentAttendee\n ? {\n ...currentAttendee,\n firstName: editedAttendee.firstName,\n lastName: editedAttendee.lastName,\n permitted: editedAttendee.permitted,\n manualPermissionDate: editedAttendee.manualPermissionDate,\n attachmentId: editedAttendee.attachmentId,\n attachmentFileType: editedAttendee.attachmentFileType,\n notes: editedAttendee.notes,\n }\n : {\n ...editedAttendee,\n tickets: [],\n attendeeAnswers: [],\n integratedDataOnFile: [],\n };\n });\n\n let newResponseVersion = {\n ...activeResponseVersion,\n attendees: newAttendees,\n };\n\n // If we removed an attendee with tickets tied to it, then update the orders & subtotal\n // Optionally we could refetch the response version\n if (!activeResponseVersion?.isCheckedOut && activeResponseVersion?.orders) {\n const newOrders = cloneDeep(activeResponseVersion.orders);\n const latestOrder = newOrders.find((order) => !order.isCheckedOut);\n\n if (latestOrder) {\n const newTickets = latestOrder.purchasedTickets.filter((x) =>\n newAttendees.some((newAttendee) => newAttendee.attendeeId === x.attendeeId)\n );\n\n if (newTickets.length !== latestOrder.purchasedTickets.length) {\n const newTotal =\n newTickets?.reduce((a, b) => {\n return a + b.quantity * b.price ?? 0;\n }, 0) ?? 0;\n latestOrder.subTotal = newTotal;\n latestOrder.grandTotal = newTotal;\n latestOrder.purchasedTickets = newTickets;\n\n newResponseVersion = {\n ...newResponseVersion,\n subTotal: newTotal,\n orders: newOrders,\n };\n }\n }\n }\n\n return newResponseVersion;\n};\n\nexport { editAttendeesMutationUpdater };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\n\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\nimport {\n Answer,\n ResponseQuery,\n SaveSigneeAnswerMutation,\n SaveSigneeAnswerMutationVariables,\n} from \"@src/types\";\n\ntype UpdaterArgs = {\n responseHashedId: string;\n};\n\ntype UpdateResponseArgs = {\n cache: ApolloCache;\n answer?: Answer;\n responseHashedId: string;\n};\n\nconst saveAnswerForResponse = ({\n cache,\n answer,\n responseHashedId,\n}: UpdateResponseArgs) => {\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseHashedId,\n },\n overwrite: true,\n },\n (data: ResponseQuery | null) => {\n if (data) {\n const responseVersion = data.Response;\n\n if (responseVersion) {\n const newSigneeAnswers = responseVersion.signeeAnswers.filter(\n (x) => x.answerId !== answer?.answerId\n );\n\n if (answer) {\n newSigneeAnswers.push(answer);\n }\n\n return {\n ...data,\n Response: {\n ...responseVersion,\n signeeAnswers: newSigneeAnswers,\n },\n };\n }\n }\n }\n );\n};\n\ntype SaveSigneeAnswerMutationUpdater = (\n args: UpdaterArgs\n) => MutationUpdaterFunction<\n SaveSigneeAnswerMutation,\n SaveSigneeAnswerMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\nconst saveSigneeAnswerMutationUpdater: SaveSigneeAnswerMutationUpdater =\n ({ responseHashedId }) =>\n (cache, { data }) => {\n const answer = data?.SaveSigneeAnswer;\n saveAnswerForResponse({ cache, answer, responseHashedId });\n };\n\nexport { saveSigneeAnswerMutationUpdater };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\n\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\nimport {\n ResponseQuery,\n UpdateTagMutation,\n UpdateTagMutationVariables,\n} from \"@src/types\";\n\ntype UpdaterArgs = {\n responseHashedId: string;\n tagId: string | null;\n};\n\ntype UpdateResponseArgs = {\n cache: ApolloCache;\n tagId: string | null;\n responseHashedId: string;\n};\n\nconst updateTag = ({\n cache,\n tagId,\n responseHashedId,\n}: UpdateResponseArgs) => {\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseHashedId,\n },\n overwrite: true,\n },\n (data: ResponseQuery | null) => {\n if (data) {\n const responseVersion = data.Response;\n\n if (responseVersion) {\n\n return {\n ...data,\n Response: {\n ...responseVersion,\n tagId\n },\n };\n }\n }\n }\n );\n};\n\ntype UpdateTagMutationUpdater = (\n args: UpdaterArgs\n) => MutationUpdaterFunction<\n UpdateTagMutation,\n UpdateTagMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\nconst updateTagMutationUpdater: UpdateTagMutationUpdater =\n ({ responseHashedId, tagId }) =>\n (cache) => {\n updateTag({ cache, tagId, responseHashedId });\n };\n\nexport { updateTagMutationUpdater };\n","import { ResponseResumeAction } from \"@src/constants/responseResumeActions\";\nimport { ResponseState } from \"@src/constants/responseStates\";\nimport { PaidStatus, ResponseSource, ResponseStatus, ResponseVersion } from \"@src/types\";\nimport { i18next } from \"../translations\";\n\nexport class ResumeListItem {\n public responseVersion: ResponseVersion;\n public currentFormId: string;\n public responseEditsArePermitted: boolean;\n\n constructor(\n responseVersion: ResponseVersion,\n currentFormId: string,\n responseEditsArePermitted: boolean\n ) {\n this.responseVersion = responseVersion;\n this.currentFormId = currentFormId;\n this.responseEditsArePermitted = responseEditsArePermitted;\n }\n\n responseCreatedOnLatestFormVersion = () => {\n return this.responseVersion.documentVersionId === this.currentFormId;\n };\n\n canResume = () => {\n if (this.responseVersion.isRostered) {\n return (\n !this.responseVersion.isSigned &&\n this.isStarted() &&\n this.responseCreatedOnLatestFormVersion()\n );\n }\n\n return this.isStarted() && this.responseCreatedOnLatestFormVersion();\n };\n\n canPay = () => {\n const checkedOutOrders = this.responseVersion.orders?.filter((x) => x.isCheckedOut);\n\n return (\n checkedOutOrders.length > 0 && this.responseVersion.orderStatus == PaidStatus.PaymentRequired\n );\n };\n\n canAddNewVersion = () => {\n return this.responseEditsArePermitted &&\n this.responseVersion.isSigned &&\n this.responseVersion.source !== ResponseSource.Process &&\n !this.isCancelled();\n };\n\n isCancelled = () => {\n return this.responseVersion.status === ResponseStatus.Cancelled;\n }\n\n canUpdateFormVersion = () => {\n return this.isStarted() && !this.responseCreatedOnLatestFormVersion();\n }\n\n isRejected = () => {\n return this.responseVersion.status === ResponseStatus.Rejected;\n };\n\n isStarted = () => {\n return this.responseVersion.status === ResponseStatus.Started;\n };\n\n isPendingApproval = () => {\n return (\n this.responseVersion.status === ResponseStatus.PendingApproval ||\n this.responseVersion.status === ResponseStatus.Pending\n );\n };\n\n canRestart = () => {\n if (this.responseVersion.isRostered || this.responseVersion.source === ResponseSource.Process || this.isCancelled()) {\n return false;\n }\n\n return (\n (!this.isRejected() &&\n ((this.responseVersion.isSigned && !this.canAddNewVersion()) ||\n (!this.responseVersion.isSigned && !this.responseCreatedOnLatestFormVersion()))) ||\n (this.isRejected() && !this.canAddNewVersion())\n );\n };\n\n canStart = () => {\n return !this.responseVersion.isSigned && !this.isStarted();\n };\n\n state = () => {\n return this.canStart()\n ? ResponseState.StartResponse\n : this.isStarted()\n ? ResponseState.ResponseInProgress\n : this.isPendingApproval()\n ? ResponseState.ResponsePendingApproval\n : this.isRejected()\n ? ResponseState.ResponseRejected \n : this.isCancelled() \n ? ResponseState.ResponseCancelled \n : ResponseState.ResponseComplete;\n };\n\n title = () => {\n return i18next.t(`pages.selectResponse.responseStates.${this.state().toString()}`);\n };\n\n buttonText = () => {\n if (this.isCancelled()) \n return \"\";\n\n return this.canStart()\n ? i18next.t(\"pages.selectResponse.startResponse\")\n : this.canResume()\n ? i18next.t(\"pages.selectResponse.resumeResponse\")\n : this.isStarted() && !this.responseCreatedOnLatestFormVersion()\n ? i18next.t(\"pages.selectResponse.continueResponse\")\n : this.canAddNewVersion()\n ? i18next.t(\"pages.selectResponse.editResponse\")\n : this.canRestart()\n ? i18next.t(\"pages.selectResponse.restartResponse\")\n : \"\";\n };\n\n body = () => {\n if (this.isCancelled()) \n return i18next.t(\"pages.selectResponse.responseCancelled\")\n\n if (this.responseVersion.isRostered) {\n return this.canResume()\n ? i18next.t(\"pages.selectResponse.resumeAndSubmit\")\n : this.canUpdateFormVersion()\n ? i18next.t(\"pages.selectResponse.formHasBeenUpdated\")\n : this.canAddNewVersion() && this.responseVersion.isSigned\n ? i18next.t(\"pages.selectResponse.resumeAndSubmit\")\n : this.canPay() && this.responseVersion.isSigned\n ? i18next.t(\"pages.selectResponse.responseSubmittedButNotPaid\")\n : this.canStart()\n ? i18next.t(\"pages.selectResponse.startAndSubmit\")\n : null;\n }\n\n return this.canStart()\n ? i18next.t(\"pages.selectResponse.startAndSubmit\")\n : this.canResume()\n ? i18next.t(\"pages.selectResponse.resumeAndSubmit\")\n : this.canUpdateFormVersion()\n ? i18next.t(\"pages.selectResponse.formHasBeenUpdated\")\n : this.canRestart() && this.isRejected()\n ? i18next.t(\"pages.selectResponse.responseCompleteButNotApproved\")\n : this.canRestart() && this.responseVersion.isSigned\n ? i18next.t(\"pages.selectResponse.responseCompletePleaseRestart\")\n : this.canRestart()\n ? i18next.t(\"pages.selectResponse.pleaseClickRestart\")\n : this.canAddNewVersion()\n ? i18next.t(\"pages.selectResponse.editsMustBeFilled\")\n : !this.canAddNewVersion() && this.responseVersion.source === ResponseSource.Process\n ? i18next.t(\"pages.selectResponse.inProcessEditsMustBeFilled\")\n : this.canPay()\n ? i18next.t(\"pages.selectResponse.responseSubmittedButNotPaid\")\n : null;\n };\n\n resumeAction = () => {\n if (this.isCancelled()) \n return ResponseResumeAction.None;\n\n if (this.responseVersion.isRostered) {\n return this.canResume() || this.canStart()\n ? ResponseResumeAction.Resume\n : this.canUpdateFormVersion()\n ? ResponseResumeAction.Update\n : this.canAddNewVersion() && this.responseVersion.isSigned\n ? ResponseResumeAction.Edit\n : ResponseResumeAction.None;\n }\n\n return this.canStart() || this.canResume()\n ? ResponseResumeAction.Resume\n : this.canUpdateFormVersion()\n ? ResponseResumeAction.Update\n : this.canAddNewVersion() && this.responseVersion.isSigned\n ? ResponseResumeAction.Edit\n : this.canRestart()\n ? ResponseResumeAction.Restart\n : ResponseResumeAction.None;\n };\n}\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nimport { ResponseVersion, useFormInfoQuery } from \"@src/types\";\r\nimport { ResumeListItem } from \"@src/utils/ResumeListItem\";\r\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\r\nimport { StyledLabel, StyledResponseCard, StyledResponseCardTitle } from \"@src/components/styles\";\r\nimport { Flex } from \"@src/components/layout/Page\";\r\nimport { ResponseState } from \"@src/constants/responseStates\";\r\nimport { Icon } from \"@src/components/atoms/Icon\";\r\nimport { defaultTheme } from \"@src/themes\";\r\nimport { getReadableDate } from \"@src/utils/dateTime\";\r\nimport { Button, SmallButton } from \"@src/components/atoms/Button\";\r\nimport { isStaff } from \"@src/utils/responseVersionGetters\";\r\n\r\ntype ResponseCardProps = {\r\n responseVersion: ResponseVersion;\r\n handleSelectResponse: (resumeListItem: ResumeListItem) => () => Promise;\r\n handlePayNow: (resumeListItem: ResumeListItem) => void;\r\n};\r\n\r\nconst ResponseCard = ({\r\n responseVersion,\r\n handlePayNow,\r\n handleSelectResponse,\r\n}: ResponseCardProps) => {\r\n const { t, i18n } = useTranslation();\r\n\r\n const { documentHashedId: hashedId, countryCode, hashedOrgId } = useUrlParams();\r\n\r\n const { data: formInfoQueryData } = useFormInfoQuery({\r\n variables: { hashedId: hashedId || \"\", countryCode, hashedOrgId },\r\n });\r\n\r\n const screenSize = useBreakPoints();\r\n\r\n const listItem = new ResumeListItem(\r\n responseVersion,\r\n formInfoQueryData?.Form?.id ?? \"\",\r\n !formInfoQueryData?.Form?.document?.disableResponseEditing ?? false\r\n );\r\n\r\n const state = listItem.state();\r\n\r\n const dateOptions: Intl.DateTimeFormatOptions = {\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n hour12: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {listItem.title()}\r\n \r\n \r\n {state === ResponseState.ResponseInProgress ? (\r\n \r\n ) : state === ResponseState.ResponsePendingApproval ? (\r\n \r\n ) : state === ResponseState.ResponseRejected || state === ResponseState.ResponseCancelled ? (\r\n \r\n ) : state === ResponseState.ResponseComplete ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {getReadableDate({\r\n dateString: responseVersion.createdDate,\r\n options: dateOptions,\r\n locale: i18n.resolvedLanguage,\r\n })}\r\n \r\n \r\n \r\n \r\n\r\n {responseVersion.attendees != null && responseVersion.attendees.length > 0 ? (\r\n \r\n {responseVersion.attendees.map((attendee, index) => (\r\n \r\n \r\n {`${attendee.firstName || \"\"} ${attendee.lastName || \"\"} ${isStaff(responseVersion) ? \" - \" + responseVersion.completedByOrganizationName : \"\"}`}\r\n \r\n ))}\r\n \r\n ) : null}\r\n\r\n {listItem.body() ? (\r\n \r\n \r\n {listItem.body()}\r\n \r\n \r\n ) : null}\r\n\r\n \r\n {!listItem.canPay() ? (\r\n listItem.buttonText() ? (\r\n \r\n {listItem.buttonText()}\r\n \r\n ) : null\r\n ) : (\r\n <>\r\n {listItem.buttonText() ? (\r\n \r\n {listItem.buttonText()}\r\n \r\n ) : null}\r\n handlePayNow(listItem)}\r\n screenSize={screenSize}\r\n >\r\n {t(\"messages.payNow\")}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport { ResponseCard };\r\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\nimport {\n UpdateResponseVersionMutation,\n UpdateResponseVersionMutationVariables,\n ResponseQuery,\n ResponseVersion,\n} from \"@src/types\";\n\ntype UpdateResponseVersionMutationUpdater = () =>\n MutationUpdaterFunction<\n UpdateResponseVersionMutation,\n UpdateResponseVersionMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\nconst updateResponseVersionMutationUpdater: UpdateResponseVersionMutationUpdater = () =>\n async (cache, { data: mutationResult }) => {\n const newResponse = mutationResult?.UpdateResponseVersion as ResponseVersion;\n updateResponseQuery(cache, newResponse);\n\n return newResponse;\n };\n\nconst updateResponseQuery = (\n cache: ApolloCache,\n responseVersion: ResponseVersion\n) =>\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseVersion.hash,\n },\n overwrite: true,\n },\n () => {\n return {\n __typename: \"DomainQueries\",\n Response: responseVersion,\n };\n }\n );\n\nexport {\n updateResponseVersionMutationUpdater,\n updateResponseQuery,\n};\n","import { useReactiveVar } from \"@apollo/client\";\nimport React, { FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useLocation, useNavigate } from \"react-router-dom\";\n\nimport {\n AttendeeFormRoute,\n AttendeeInformationRoute,\n ReviewRoute,\n SelectResponseRoute,\n SigneeFormRoute,\n SigneeInfoRoute,\n} from \"@src/Routes\";\nimport { Button } from \"@src/components/atoms/Button\";\nimport { ContentWrapper, PageWrapper } from \"@src/components/layout\";\nimport { Flex, Push } from \"@src/components/layout/Page\";\nimport { InfoModal } from \"@src/components/molecules/infoModal/InfoModal\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { PageHeader } from \"@src/components/molecules/pageHeader\";\nimport { StyledSectionHeader } from \"@src/components/styles\";\nimport { ResponseResumeAction } from \"@src/constants/responseResumeActions\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { useCachedEligibleTags } from \"@src/customHooks/useEligibleTags\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { useResponseVersions } from \"@src/customHooks/useResponseVersions\";\nimport {\n AccessDataAnswers,\n IsPayNow,\n OrderId,\n ResponseVersionHash,\n SigneeInfoValues,\n} from \"@src/localVariables\";\nimport { createResponseMutationUpdater } from \"@src/mutations/updaterFunctions\";\nimport { addResponseVersionMutationUpdater } from \"@src/mutations/updaterFunctions/addResponseVersion\";\nimport { restartInProcessResponseVersionMutationUpdater, restartResponseVersionMutationUpdater } from \"@src/mutations/updaterFunctions/restartResponse\";\nimport { saveAttendeeAnswerMutationUpdater } from \"@src/mutations/updaterFunctions/updateAttendeeAnswers\";\nimport {\n FieldType,\n ResponseSource,\n SigneeInput,\n useAddResponseVersionMutation,\n useCreateResponseMutation,\n useResponseLazyQuery,\n useRestartInProcessResponseMutation,\n useRestartResponseMutation,\n useSaveAttendeeAnswerMutation,\n useUpdateResponseVersionMutation,\n} from \"@src/types\";\nimport { ResumeListItem } from \"@src/utils/ResumeListItem\";\nimport { scrollToTop } from \"@src/utils/scrollToTop\";\nimport { ResponseCard } from \"./components/ResponseCard\";\nimport { ErrorComponent } from \"../Error\";\nimport {\n isProcess,\n signeeInfo,\n isStaff,\n isRostered,\n getStartNewResponseStatus,\n} from \"@src/utils/responseVersionGetters\";\nimport {\n hasAttendeeIntegratedDataQuestions,\n hasSigneeQuestions,\n hasTickets,\n} from \"@src/utils/formGetters\";\nimport omit from \"lodash/omit\";\nimport { updateResponseVersionMutationUpdater } from \"@src/mutations/updaterFunctions/updateResponseVersion\";\nimport ReactTooltip from \"react-tooltip\";\nimport { Icon } from \"@src/components/atoms/Icon\";\n\nexport type SelectResponseState = SigneeInfoValues & {\n documentId: string;\n};\n\nconst SelectResponse: FC = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { baseUrl, countryCode, hashedOrgId } = useUrlParams();\n const screenSize = useBreakPoints();\n const accessData = useReactiveVar(AccessDataAnswers) || [];\n const [isInfoModalOpen, setInfoModalOpen] = useState(false);\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const { state } = useLocation();\n const params = (state as SelectResponseState) || null;\n\n useEffect(() => {\n scrollToTop();\n }, []);\n\n const formInfo = useFormInfo();\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n\n const [createResponse, { loading: createResponseLoading }] = useCreateResponseMutation({\n update: createResponseMutationUpdater(),\n });\n\n const [addResponseVersion, { loading: addResponseLoading }] = useAddResponseVersionMutation({\n update: addResponseVersionMutationUpdater(),\n });\n\n const [restartResponse, { loading: restartResponseLoading }] = useRestartResponseMutation({\n update: restartResponseVersionMutationUpdater(),\n });\n\n const [updateResponseVersion, { loading: updateResponseLoading }] = useUpdateResponseVersionMutation({\n update: updateResponseVersionMutationUpdater(),\n });\n\n const [restartInProcessResponse, { loading: restartInProcessResponseLoading }] = useRestartInProcessResponseMutation({\n update: restartInProcessResponseVersionMutationUpdater(),\n });\n\n const [saveAttendeeAnswer, { loading: saveAttendeeAnswerLoading }] =\n useSaveAttendeeAnswerMutation();\n\n const [setResponse, { loading: setResponseLoading }] = useResponseLazyQuery();\n\n const responseVersionsQuery = useResponseVersions(\n formInfo.form?.documentId ?? params?.documentId,\n responseVersionQuery.responseVersion\n ? signeeInfo(responseVersionQuery.responseVersion)\n : {\n firstName: params?.firstName ?? \"\",\n lastName: params?.lastName ?? \"\",\n email: params?.email ?? \"\",\n responseSource: params?.responseSource ?? ResponseSource.Organic,\n attachmentId: params?.attachmentId ?? \"\",\n notes: params?.notes ?? \"\",\n tagId: params?.tagId,\n },\n isStaff(responseVersionQuery.responseVersion),\n isProcess(responseVersionQuery.responseVersion),\n isRostered(responseVersionQuery.responseVersion)\n );\n\n const eligibleTagsQuery = useCachedEligibleTags(\n formInfo.form?.documentId || \"\",\n responseVersionQuery.responseVersion?.responseOrganizationId || \"\",\n responseVersionQuery.responseVersion?.signeeEmail || \"\"\n );\n\n if (formInfo.loading || responseVersionsQuery.loading || responseVersionQuery.loading)\n return ;\n if (formInfo.error) return ;\n if (responseVersionQuery.error)\n return ;\n if (responseVersionsQuery.error)\n return ;\n if (eligibleTagsQuery.loading) return ;\n if (eligibleTagsQuery.error) return ;\n\n const form = formInfo.form;\n const responseVersion = responseVersionQuery.responseVersion;\n const isProcessResponse = isProcess(responseVersion);\n const isStaffResponse = isStaff(responseVersion);\n let responseVersions =\n isProcess(responseVersion) || isRostered(responseVersion)\n ? [responseVersion]\n : responseVersionsQuery.responseVersions;\n const eligibleTags = eligibleTagsQuery.eligibleTags ?? [];\n\n if (responseVersion && isProcessResponse) {\n responseVersions = responseVersions.filter(\n (x) => x.responseVersionId === responseVersion.responseVersionId\n );\n }\n\n if (responseVersion && isStaffResponse) {\n responseVersions = responseVersions.length === 0 \n ? [responseVersion] \n : responseVersions.filter((x) => x.responseOrganizationId === responseVersion.responseOrganizationId);\n }\n\n if (!baseUrl || !form?.documentId)\n return ;\n\n const handlePayNow = (resumeListItem: ResumeListItem) => {\n if (resumeListItem.canPay()) {\n ResponseVersionHash(resumeListItem.responseVersion.hash);\n OrderId(\n resumeListItem.responseVersion.orders.find((x) => x.isCheckedOut && !x.hasBeenPaid)?.orderId\n );\n IsPayNow(true);\n navigate(`${baseUrl}/${ReviewRoute}`);\n }\n };\n\n const navigateToNextStep = () => {\n // rostered responses need to go to the signee info page, the email should not be editable\n // public responses have already entered signee info, no need to go back to that page\n // staff and process responses should only hit the signee info page if there are multiple eligible tags,\n // otherwise the signee info isn't editable anyway and its populated by user info and\n // should be changed via the user management page or in AD\n if (isRostered(responseVersion) || (eligibleTags && eligibleTags.length > 1)) {\n navigate(`${baseUrl}/${SigneeInfoRoute}`);\n } else {\n if (form?.isGeneralSignup) {\n if (hasSigneeQuestions(form)) navigate(`${baseUrl}/${SigneeFormRoute}`);\n else if (hasTickets(form)) {\n navigate(`${baseUrl}/${AttendeeFormRoute}/0`);\n } else navigate(`${baseUrl}/${ReviewRoute}`);\n } else navigate(`${baseUrl}/${AttendeeInformationRoute}`);\n }\n };\n\n const handleSelectResponse = (resumeListItem: ResumeListItem) => async () => {\n switch (resumeListItem.resumeAction()) {\n case ResponseResumeAction.Edit:\n if (!isProcessResponse)\n await addNewVersion(resumeListItem.responseVersion.responseVersionId);\n break;\n\n case ResponseResumeAction.Restart:\n if (!isProcessResponse)\n await restart(resumeListItem.responseVersion.responseVersionId);\n else\n await restartInProcess(resumeListItem.responseVersion.responseVersionId);\n break;\n\n case ResponseResumeAction.Update:\n await updateResponseVersionForm(resumeListItem.responseVersion.responseVersionId);\n break;\n\n case ResponseResumeAction.Resume:\n // load the response immediately\n await setResponse({ variables: { hash: resumeListItem.responseVersion.hash } });\n ResponseVersionHash(resumeListItem.responseVersion.hash);\n OrderId(resumeListItem.responseVersion.orders.find((x) => !x.hasBeenPaid)?.orderId);\n\n if (\n resumeListItem.responseVersion.isRostered &&\n hasAttendeeIntegratedDataQuestions(form) &&\n resumeListItem.responseVersion.attendees &&\n resumeListItem.responseVersion.attendees[0].integratedDataOnFile &&\n resumeListItem.responseVersion.attendees[0].integratedDataOnFile.length > 0\n ) {\n // rostered responses have 1 attendee\n const attendee = resumeListItem.responseVersion.attendees[0];\n const integratedDataFields = form.attendeeQuestions.filter(\n (x) => x.type === FieldType.IntegratedData\n );\n\n for (let index = 0; index < integratedDataFields.length; index++) {\n const integratedDataField = integratedDataFields[index];\n let dataValue = integratedDataField.question?.dataValue ?? \"\";\n dataValue = dataValue.substring(0, dataValue.indexOf(\":\"));\n const answer = attendee.integratedDataOnFile?.find((x) => x.fieldId === dataValue);\n\n if (answer) {\n const newAnswer = omit(answer, \"__typename\");\n newAnswer.fieldId = integratedDataField.id;\n newAnswer.questionId = integratedDataField.question?.id ?? \"\";\n\n await saveAttendeeAnswer({\n update: saveAttendeeAnswerMutationUpdater({\n attendeeId: attendee.attendeeId,\n responseHashedId: resumeListItem.responseVersion.hash,\n }),\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: resumeListItem.responseVersion.responseVersionId,\n attendeeId: attendee.responseAttendeeId,\n answer: newAnswer,\n accessData,\n },\n });\n }\n }\n }\n\n navigateToNextStep();\n break;\n\n default:\n setInfoModalOpen(true);\n break;\n }\n };\n\n const restart = async (responseVersionId: string) => {\n if (responseVersionId && !isProcessResponse) {\n const result = await restartResponse({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId,\n },\n });\n\n if (result.data?.RestartResponse) {\n ResponseVersionHash(result.data?.RestartResponse.hash);\n navigateToNextStep();\n }\n }\n };\n\n // TODO: This is disabled for now, user should use the Process Editor to cancel and start a new version.\n const restartInProcess = async (responseVersionId: string) => {\n if (responseVersionId && isProcessResponse) {\n const result = await restartInProcessResponse({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId,\n },\n });\n\n if (result.data?.RestartInProcessResponse) {\n ResponseVersionHash(result.data?.RestartInProcessResponse.hash);\n navigateToNextStep();\n }\n }\n };\n\n const addNewVersion = async (responseVersionId: string) => {\n if (signeeInfo(responseVersion) && !isProcessResponse) {\n const result = await addResponseVersion({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId,\n },\n });\n\n if (result.data?.AddResponseVersion) {\n ResponseVersionHash(result.data?.AddResponseVersion.hash);\n navigateToNextStep();\n }\n }\n };\n\n const updateResponseVersionForm = async (responseVersionId: string) => {\n const result = await updateResponseVersion({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId,\n },\n });\n\n if (result.data?.UpdateResponseVersion) {\n ResponseVersionHash(result.data?.UpdateResponseVersion.hash);\n OrderId(result.data?.UpdateResponseVersion.orders.find((x) => !x.hasBeenPaid)?.orderId);\n navigateToNextStep();\n }\n\n };\n\n const handleCreateNewResponse = async () => {\n if (!isProcessResponse) {\n const signee: SigneeInput | null = responseVersions.length\n ? {\n firstName: responseVersions[0].signeeFirstName ?? \"\",\n lastName: responseVersions[0].signeeLastName ?? \"\",\n email: responseVersions[0].signeeEmail ?? \"\",\n responseSource: isStaffResponse ? ResponseSource.Internal : ResponseSource.Organic,\n }\n : null;\n\n if (signee) {\n const result = await createResponse({\n variables: {\n countryCode,\n documentId: form.documentId,\n signee,\n accessData,\n organizationHash: hashedOrgId || null,\n organizationId: isStaffResponse ? responseVersion?.responseOrganizationId : null,\n },\n });\n\n ResponseVersionHash(result.data?.CreateResponse.hash);\n navigateToNextStep();\n }\n }\n };\n\n const getLoadingMessage = () => {\n if (createResponseLoading || addResponseLoading) {\n return t(\"messages.creatingResponse\");\n } else if (restartResponseLoading || restartInProcessResponseLoading) {\n return t(\"messages.restartingResponse\");\n } else {\n return t(\"messages.loadingResponse\");\n }\n };\n\n const isLoading =\n createResponseLoading ||\n addResponseLoading ||\n updateResponseLoading ||\n restartResponseLoading ||\n restartInProcessResponseLoading ||\n setResponseLoading ||\n saveAttendeeAnswerLoading;\n\n const startNewResponseStatus = getStartNewResponseStatus(responseVersion, responseVersions);\n\n return (\n <>\n \n \n {isLoading ? : null}\n \n <>\n \n {t(\"labels.startNewResponse\")}\n \n
\n {} : handleCreateNewResponse}\n disabled={startNewResponseStatus.disabled}\n style={{ cursor: startNewResponseStatus.disabled ? \"not-allowed\" : \"default\" }}\n >\n {t(\"labels.start\")}\n \n {startNewResponseStatus.disabled && startNewResponseStatus.disabledMessage ? (\n \n ) : null}\n
\n {startNewResponseStatus.disabled && startNewResponseStatus.disabledMessage ? (\n \n \n {startNewResponseStatus.disabledMessage}\n \n \n ) : null}\n \n\n \n {t(\"labels.selectExistingResponse\")}\n \n \n {responseVersions.map((responseVersion) => (\n \n ))}\n \n
\n \n
\n \n {isInfoModalOpen ? (\n setInfoModalOpen(false)}\n onCancel={() => setInfoModalOpen(false)}\n confirmButtonText=\"Ok\"\n />\n ) : null}\n \n );\n};\n\nexport { SelectResponse };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\nimport {\n ResponseVersion,\n RestartInProcessResponseMutation,\n RestartInProcessResponseMutationVariables,\n RestartResponseMutation,\n RestartResponseMutationVariables,\n} from \"@src/types\";\nimport { updateResponseQuery } from \"./addResponseVersion\";\n\ntype RestartResponseVersionMutationUpdaterType = () =>\n MutationUpdaterFunction<\n RestartResponseMutation,\n RestartResponseMutationVariables,\n DefaultContext,\n ApolloCache\n >;\n\ntype RestartInProcessResponseVersionMutationUpdaterType = () =>\n MutationUpdaterFunction<\n RestartInProcessResponseMutation,\n RestartInProcessResponseMutationVariables,\n DefaultContext,\n ApolloCache\n >;\n\nconst restartResponseVersionMutationUpdater: RestartResponseVersionMutationUpdaterType =\n () =>\n async (cache, { data: mutationResult }) => {\n const response = mutationResult?.RestartResponse as ResponseVersion;\n updateResponseQuery(cache, response);\n\n return response;\n };\n\n\nconst restartInProcessResponseVersionMutationUpdater: RestartInProcessResponseVersionMutationUpdaterType =\n () =>\n async (cache, { data: mutationResult }) => {\n const response = mutationResult?.RestartInProcessResponse as ResponseVersion;\n updateResponseQuery(cache, response);\n\n return response;\n };\n\nexport { restartInProcessResponseVersionMutationUpdater, restartResponseVersionMutationUpdater };\n\n","import { SigneeInfoValues } from \"@src/localVariables\";\nimport { ResponseVersion, useResponseVersionsQuery, useStaffResponseVersionsQuery } from \"@src/types\";\nimport { useUrlParams } from \"./useUrlParams\";\n\nconst useResponseVersions = (\n documentId: string,\n signee: SigneeInfoValues,\n isStaffResponse: boolean,\n isProcessResponse: boolean,\n isRosteredResponse: boolean\n) => {\n const { countryCode } = useUrlParams();\n const responseVersionsQuery = useResponseVersionsQuery({\n variables: {\n documentId,\n countryCode,\n email: signee.email,\n },\n fetchPolicy: \"cache-first\",\n skip:\n !documentId\n || !signee.email\n || isStaffResponse\n || isProcessResponse\n || isRosteredResponse\n });\n\n const staffResponseVersionsQuery = useStaffResponseVersionsQuery({\n variables: {\n documentId,\n countryCode\n },\n fetchPolicy: \"cache-first\",\n skip: !documentId || !isStaffResponse\n })\n\n let responseVersions: ResponseVersion[] = [];\n\n if (responseVersionsQuery?.data?.ResponseVersions && responseVersionsQuery?.data?.ResponseVersions.length > 0)\n responseVersions = responseVersionsQuery?.data?.ResponseVersions\n\n\n if (isStaffResponse && staffResponseVersionsQuery?.data?.StaffResponseVersions && staffResponseVersionsQuery?.data?.StaffResponseVersions.length > 0)\n responseVersions = staffResponseVersionsQuery?.data?.StaffResponseVersions;\n\n return {\n responseVersions: responseVersions,\n loading: staffResponseVersionsQuery.loading || responseVersionsQuery.loading,\n error: staffResponseVersionsQuery.error || responseVersionsQuery.error,\n };\n};\n\nexport { useResponseVersions };\n","import { ApolloCache, DefaultContext, MutationUpdaterFunction } from \"@apollo/client\";\n\nimport { RESPONSE_VERSION_QUERY } from \"@src/queries/responseVersion\";\nimport {\n DeleteSigneeAnswerMutation,\n DeleteSigneeAnswerMutationVariables,\n ResponseQuery,\n} from \"@src/types\";\n\ntype DeleteAnswerForRosteredResponseArgs = {\n cache: ApolloCache;\n responseHashedId?: string;\n variables?: DeleteSigneeAnswerMutationVariables;\n};\n\nconst deleteAnswerForResponse = ({\n cache,\n responseHashedId,\n variables,\n}: DeleteAnswerForRosteredResponseArgs) => {\n cache.updateQuery(\n {\n query: RESPONSE_VERSION_QUERY,\n variables: {\n hash: responseHashedId,\n },\n overwrite: true,\n },\n (cacheData: ResponseQuery | null) => {\n if (cacheData) {\n const responseVersion = cacheData.Response;\n\n if (responseVersion) {\n const newSigneeAnswers = responseVersion.signeeAnswers.filter((x) => {\n const variableOrder = variables?.answerInput.order || null;\n const answerOrder = x.order || null;\n\n return !(\n x.fieldId === variables?.answerInput?.fieldId &&\n x.questionId === variables?.answerInput?.questionId &&\n answerOrder === variableOrder\n );\n });\n\n return {\n ...cacheData,\n Response: {\n ...responseVersion,\n signeeAnswers: newSigneeAnswers,\n },\n };\n }\n }\n }\n );\n};\n\ntype DeleteSigneeAnswerMutationUpdaterArgs = {\n responseHashedId: string;\n};\n\ntype DeleteSigneeAnswerMutationUpdater = (\n args: DeleteSigneeAnswerMutationUpdaterArgs\n) => MutationUpdaterFunction<\n DeleteSigneeAnswerMutation,\n DeleteSigneeAnswerMutationVariables,\n DefaultContext,\n ApolloCache\n>;\n\nconst deleteSigneeAnswerMutationUpdater: DeleteSigneeAnswerMutationUpdater =\n ({ responseHashedId }) =>\n (cache, _result, { variables }) => {\n deleteAnswerForResponse({ cache, responseHashedId, variables });\n };\n\nexport { deleteSigneeAnswerMutationUpdater };\n","import { useApolloClient, useReactiveVar } from \"@apollo/client\";\nimport { cloneDeep } from \"@apollo/client/utilities\";\nimport { Form, Formik } from \"formik\";\nimport React, { FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\n\nimport {\n AttendeeFormRoute,\n AttendeeInformationRoute,\n PreviewProps,\n ReviewRoute,\n SigneeFormRoute,\n} from \"@src/Routes\";\nimport { FieldSelector } from \"@src/components/fields\";\nimport { ContentWrapper, PageWrapper } from \"@src/components/layout\";\nimport { ProgressTracker } from \"@src/components/molecules/ProgressTracker\";\nimport { ErrorNavigator } from \"@src/components/molecules/errorNavigator\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { NavigationButtons } from \"@src/components/molecules/navigationButtons\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { PageHeader } from \"@src/components/molecules/pageHeader/PageHeader\";\nimport { StyledDivider, StyledLabel } from \"@src/components/styles\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { useSafeSaveSigneeAnswerMutation } from \"@src/customHooks/useSafeMutations\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\nimport { AccessDataAnswers, RequestError, ResponseVersionHash } from \"@src/localVariables\";\nimport { DeleteSigneeAnswersResult } from \"@src/mutations/mutationTypes\";\nimport { saveSigneeAnswerMutationUpdater } from \"@src/mutations/updaterFunctions\";\nimport { deleteSigneeAnswerMutationUpdater } from \"@src/mutations/updaterFunctions/deleteSigneeAnswer\";\nimport {\n AnswerInput,\n useDeleteSigneeAnswerMutation,\n} from \"@src/types\";\nimport { checkUnsubmittedAnswers } from \"@src/utils/answers\";\nimport { isCollapsed } from \"@src/utils/field\";\nimport { hasAttendeeQuestions, hasTickets, isGeneralSignup } from \"@src/utils/formGetters\";\nimport { InitialValuesObject } from \"@src/utils/formValuesTypes\";\nimport { getFormAttendees } from \"@src/utils/getters\";\nimport { getDeleteSigneeAnswerResponseForPreview, getSigneeAnswer } from \"@src/utils/preview\";\nimport { isStaff } from \"@src/utils/responseVersionGetters\";\nimport { scrollToTop } from \"@src/utils/scrollToTop\";\nimport { ErrorComponent } from \"../Error\";\nimport { useSigneeQuestions } from \"./hooks/useSigneeQuestions\";\n\nconst SigneeForm: FC = ({ isPreview }) => {\n const { baseUrl, countryCode, markAsVisited } = useUrlParams();\n const navigate = useNavigate();\n const accessData = useReactiveVar(AccessDataAnswers) || [];\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const { t } = useTranslation();\n const screenSize = useBreakPoints();\n const client = useApolloClient();\n const [disableNextButton, setDisableNextButton] = useState(false);\n const requestError = useReactiveVar(RequestError);\n\n useEffect(() => {\n scrollToTop();\n }, []);\n\n const formInfo = useFormInfo();\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n const initialAnswers = responseVersionQuery?.responseVersion?.signeeAnswers || [];\n const saveSigneeAnswer = useSafeSaveSigneeAnswerMutation({\n update: saveSigneeAnswerMutationUpdater({ responseHashedId: responseVersionHash }),\n }, initialAnswers);\n\n const [deleteSigneeAnswer] = useDeleteSigneeAnswerMutation({\n update: deleteSigneeAnswerMutationUpdater({ responseHashedId: responseVersionHash }),\n });\n const [collapsedHeaders, setCollapsedHeaders] = useState([]);\n\n const { fields, initialValues } = useSigneeQuestions({\n formInfo: formInfo,\n responseVersion: responseVersionQuery?.responseVersion,\n });\n\n if (formInfo.loading || responseVersionQuery.loading) return ;\n if (formInfo.error) return ;\n if (responseVersionQuery.error)\n return ;\n\n const form = formInfo.form;\n const responseVersion = responseVersionQuery.responseVersion;\n\n if (!baseUrl || !responseVersion || responseVersion?.isSigned)\n return ;\n\n const attendees = getFormAttendees(responseVersion).filter(\n (attendee) => !formInfo.form.requiresPermission || attendee.permitted === \"yes\"\n );\n\n markAsVisited(\"signee-form\");\n\n const uploadUrl = `${process.env.RESPONSES_URL}response/${countryCode.toLowerCase()}/${form.documentId\n }/${responseVersion.responseVersionId}/signee-answer/upload`;\n\n const viewFileUrl = `${process.env.RESPONSES_URL}response/${countryCode.toLowerCase()}/${form.documentId\n }/media`;\n\n const saveAnswer = async (answer: AnswerInput): Promise => {\n if (isPreview) {\n const previewAnswer = getSigneeAnswer(answer);\n const updater = saveSigneeAnswerMutationUpdater({ responseHashedId: responseVersionHash });\n if (updater) {\n updater(\n client.cache,\n { data: { SaveSigneeAnswer: previewAnswer } },\n {\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n answer,\n accessData,\n },\n }\n );\n }\n return previewAnswer.answerId;\n } else {\n const answerId = await saveSigneeAnswer({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n answer,\n accessData,\n },\n });\n\n return answerId;\n }\n };\n\n const deleteAnswer = async (answerInput: AnswerInput): Promise => {\n if (isPreview) {\n const response = { DeleteSigneeAnswer: getDeleteSigneeAnswerResponseForPreview() };\n const updater = deleteSigneeAnswerMutationUpdater({ responseHashedId: responseVersionHash });\n if (updater) {\n updater(\n client.cache,\n { data: response },\n {\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n answerInput,\n accessData,\n },\n }\n );\n }\n return Promise.resolve({ data: response, errors: undefined });\n } else {\n return await deleteSigneeAnswer({\n variables: {\n countryCode,\n documentId: form.documentId,\n responseVersionId: responseVersion.responseVersionId,\n accessData,\n answerInput: {\n fieldId: answerInput.fieldId,\n questionId: answerInput.questionId,\n order: answerInput.order,\n },\n },\n });\n }\n };\n\n const nextPage = () => {\n if ((hasAttendeeQuestions(form) || hasTickets(form)) && attendees.length > 0) {\n navigate(`${baseUrl}/${AttendeeFormRoute}/0`);\n } else navigate(`${baseUrl}/${ReviewRoute}`);\n };\n\n const backPage = () => {\n if (isGeneralSignup(form)) navigate(`${baseUrl}`);\n else navigate(`${baseUrl}/${AttendeeInformationRoute}`);\n };\n\n const handleToggleCollapse = (fieldId: string) => {\n const existing = collapsedHeaders.find((x) => x === fieldId);\n\n if (existing) {\n setCollapsedHeaders(collapsedHeaders.filter((x) => x !== existing));\n } else {\n const headers = cloneDeep(collapsedHeaders);\n headers.push(fieldId);\n\n setCollapsedHeaders(headers);\n }\n };\n\n const handleSubmit = async (values: InitialValuesObject) => {\n setDisableNextButton(true);\n\n const needsSaving = checkUnsubmittedAnswers(values);\n await Promise.all(needsSaving.map((x) => saveAnswer(x as AnswerInput)));\n\n setDisableNextButton(false);\n nextPage();\n };\n\n return (\n <>\n \n {requestError ? null : }\n \n {t(\"messages.signeeInstructionMessage\")}\n \n \n \n
\n \n {fields.map((field) => (\n \n ))}\n\n \n \n
\n
\n
\n
\n \n \n );\n};\n\nexport { SigneeForm };\n","import { FormInfo } from \"@src/customHooks/useFormInfo\";\r\nimport {\r\n Field,\r\n ResponseVersion\r\n} from \"@src/types\";\r\nimport { getFormInitialValues } from \"@src/utils/formValues\";\r\nimport { InitialValuesObject } from \"@src/utils/formValuesTypes\";\r\nimport { getSigneeAnswers, getSigneeFields } from \"@src/utils/getters\";\r\nimport { useMemo } from \"react\";\r\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\r\n\r\ntype UseSigneeQuestionsArgs = {\r\n formInfo: FormInfo;\r\n responseVersion: ResponseVersion;\r\n};\r\n\r\ntype UseSigneeQuestionsReturnType = {\r\n fields: Field[];\r\n initialValues: InitialValuesObject;\r\n};\r\n\r\nconst useSigneeQuestions = ({\r\n formInfo,\r\n responseVersion,\r\n}: UseSigneeQuestionsArgs): UseSigneeQuestionsReturnType => {\r\n const { loading } = useCachedResponseVersion(responseVersion?.hash);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const fields = useMemo(() => getSigneeFields(formInfo.form), [formInfo.loading]);\r\n const answers = useMemo(\r\n () =>\r\n getSigneeAnswers(responseVersion),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [loading]\r\n );\r\n\r\n const initialValues = useMemo(\r\n () =>\r\n responseVersion\r\n ? getFormInitialValues({\r\n fields,\r\n answers,\r\n })\r\n : {},\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [formInfo.loading, loading, responseVersion]\r\n );\r\n\r\n return { fields, initialValues };\r\n};\r\n\r\nexport { useSigneeQuestions };\r\n\r\n","import { TFunction, useTranslation } from \"react-i18next\";\nimport * as Yup from \"yup\";\nimport { ObjectShape } from \"yup/lib/object\";\n\nimport { MAX_LENGTH, MIN_LENGTH } from \"@src/constants/validation\";\n\nconst textFieldValidation = (t: TFunction) =>\n Yup.string()\n .min(\n MIN_LENGTH,\n t(\"validation.minCharacters\", {\n length: MIN_LENGTH,\n })\n )\n .max(\n MAX_LENGTH,\n t(\"validation.maxCharacters\", {\n length: MAX_LENGTH,\n })\n )\n .required(t(\"validation.required\"));\n\nconst useStudentInfoValidation = (): Yup.ObjectSchema => {\n const { t } = useTranslation();\n\n return Yup.object().shape({\n requiresPermission: Yup.boolean(),\n attendees: Yup.array()\n .of(\n Yup.object().shape({\n firstName: textFieldValidation(t),\n lastName: textFieldValidation(t),\n permitted: Yup.string()\n .nullable()\n .when(\"$requiresPermission\", {\n is: true,\n then: (schema) => schema.required(t(\"validation.required\")),\n }),\n })\n )\n .min(1, t(\"validation.minEntries\", { length: 1 })),\n });\n};\n\nexport { useStudentInfoValidation };\n","import { Button, ButtonProps } from \"@src/components/atoms/Button\";\nimport { Icon, IconProps } from \"@src/components/atoms/Icon\";\nimport React, { FunctionComponent } from \"react\";\n\ntype IconButtonProps = ButtonProps & IconProps & { children: React.ReactNode; onClick: () => void };\n\nconst IconButton: FunctionComponent = ({\n primary,\n style,\n icon,\n children,\n onClick,\n}: IconButtonProps) => {\n return (\n \n );\n};\n\nexport { IconButton };\n","import React, { FC } from \"react\";\nimport { useField } from \"formik\";\n\nimport { StyledRequiredLabel, StyledTextInput } from \"@src/components/styles\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport ReactTooltip from \"react-tooltip\";\nimport { useTranslation } from \"react-i18next\";\n\ntype AttendeeFieldProps = {\n name: string;\n placeholder: string;\n required?: boolean;\n disabled: boolean;\n attendeeLabel: string;\n};\n\nconst AttendeeField: FC = ({\n name,\n placeholder,\n required,\n disabled,\n attendeeLabel,\n}) => {\n const [input, meta] = useField(name);\n const { t } = useTranslation();\n\n const tooltipId = `disabled-${name}`;\n\n const disableInput = disabled && !!input.value;\n\n return (\n \n {required && }\n \n \n {disableInput ? (\n \n {t(\"pages.studentInfo.disabledAttendeeNameEditing\", {\n attendee: attendeeLabel,\n })}\n \n ) : null}\n \n );\n};\n\nexport { AttendeeField };\n","import { Field, FieldArray, FieldProps, Form, Formik } from \"formik\";\nimport React, { FunctionComponent } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nimport { StyledLabel, StyledRadioButton, StyledTextArea } from \"@src/components/styles\";\nimport { useStudentInfoValidation } from \"./validation\";\nimport { AttendeeInput, ResponseVersion } from \"@src/types\";\nimport { FormAttendee, formAttendeeToAttendeeInput } from \"@src/utils/typeConverters\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { IconButton } from \"@src/components/molecules/iconButton\";\nimport { NavigationButtons } from \"@src/components/molecules/navigationButtons\";\nimport { Icon, StyledIcon } from \"@src/components/atoms/Icon\";\nimport { useUrlParams } from \"@src/customHooks\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { DateField, UploadField } from \"@src/components/fields\";\nimport { DateFormats } from \"@src/components/fields/types\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { getManualAttachmentUploadUrl, getViewFileUrl } from \"@src/utils/urls\";\nimport { SigneeInfoRoute } from \"@src/Routes\";\nimport { TrashButton } from \"@src/components/fields/UploadField/TrashButton\";\nimport { isManual, isRostered } from \"@src/utils/responseVersionGetters\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\nimport { AttendeeField } from \"./fields/AttendeeField\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\n\nexport type AttendeeFormValues = {\n attendees: FormAttendee[];\n requiresPermission: boolean;\n};\n\ntype StudentInfoFormProps = {\n handleSubmit: (attendees: AttendeeInput[]) => void;\n attendees?: FormAttendee[];\n attendeeLabel: string;\n documentId: string;\n responseVersion: ResponseVersion | null;\n canAddMultipleAttendees: boolean;\n disableAttendeeNameEditing: boolean;\n};\n\nconst StudentInfoForm: FunctionComponent = ({\n handleSubmit,\n attendees,\n attendeeLabel,\n documentId,\n responseVersion,\n canAddMultipleAttendees,\n disableAttendeeNameEditing,\n}) => {\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n const { countryCode } = useUrlParams();\n const navigate = useNavigate();\n const validationSchema = useStudentInfoValidation();\n const { baseUrl } = useUrlParams();\n const { form } = useFormInfo();\n const isResponseManual = isManual(responseVersion);\n\n const canAddAttendees = canAddMultipleAttendees && !isRostered(responseVersion);\n\n const manualAttachmentUploadUrl = getManualAttachmentUploadUrl(\n countryCode,\n documentId,\n responseVersion?.responseVersionId ?? \"\"\n );\n const viewFileUrl = getViewFileUrl(countryCode, documentId);\n\n const initialValues: AttendeeFormValues = {\n requiresPermission: form.requiresPermission,\n attendees:\n attendees && attendees?.length\n ? attendees\n : [\n {\n firstName: \"\",\n lastName: \"\",\n permitted: null,\n responseAttendeeId: uuidv4(),\n manualPermissionDate: null,\n attachmentId: null,\n attachmentFileType: null,\n notes: \"\",\n },\n ],\n };\n\n const handleBackClick = () => navigate(`${baseUrl}/${SigneeInfoRoute}`);\n\n const submitForm = (values: AttendeeFormValues) => {\n return handleSubmit(values.attendees.map((student) => formAttendeeToAttendeeInput(student)));\n };\n\n return (\n \n {({ values, isSubmitting }) => (\n \n
\n <>\n {isSubmitting && }\n (\n
\n {values.attendees && values.attendees.length > 0\n ? values.attendees.map((attendee, index) => {\n const firstNameKey = `attendees.${index}.firstName`;\n const lastNameKey = `attendees.${index}.lastName`;\n const permittedKey = `attendees.${index}.permitted`;\n const manualPermissionDateKey = `attendees.${index}.manualPermissionDate`;\n const manualAttachmentIdKey = `attendees.${index}.attachmentId`;\n const manualNotesKey = `attendees.${index}.notes`;\n\n const canDelete =\n values.attendees.length > 1 &&\n !disableAttendeeNameEditing &&\n !isRostered(responseVersion);\n\n return (\n
\n \n \n\n \n {t(\"labels.studentFirstAndLastName\", {\n student: attendeeLabel,\n number: index + 1,\n })}\n \n\n {canDelete ? (\n remove(index)}\n title={t(\"pages.studentInfo.deleteAttendee\", {\n attendee: attendeeLabel,\n })}\n style={{ padding: \"0px\" }}\n />\n ) : null}\n \n\n \n \n\n \n \n {isResponseManual ? (\n <>\n \n \n {({ field, form }: FieldProps) => (\n {\n form.setFieldValue(\n manualPermissionDateKey,\n value.value\n );\n }}\n />\n )}\n \n \n\n \n \n {({ field, form }: FieldProps) => (\n \n form.setFieldValue(manualAttachmentIdKey, value)\n }\n />\n )}\n \n \n\n \n {t(\"labels.manualNotes\")}\n \n \n \n {({ field, meta }: FieldProps) => (\n \n )}\n \n \n \n ) : null}\n\n {form.requiresPermission ? (\n \n \n {attendee.permitted === \"yes\" ? (\n \n ) : (\n \n )}\n\n {!form.affirmativePermission ||\n form.affirmativePermission === \"null\"\n ? t(\"labels.IGivePermission\")\n : googleTranslate(form.affirmativePermission)}\n \n\n \n {attendee.permitted === \"no\" ? (\n \n ) : (\n \n )}\n {!form.negativePermission || form.negativePermission === \"null\"\n ? t(\"labels.IDoNotGivePermission\")\n : googleTranslate(form.negativePermission)}\n \n \n ) : null}\n\n \n
\n );\n })\n : null}\n {canAddAttendees ? (\n {\n const newAttendee: FormAttendee = {\n responseAttendeeId: uuidv4(),\n firstName: \"\",\n lastName: \"\",\n permitted: null,\n manualPermissionDate: null,\n attachmentId: null,\n attachmentFileType: null,\n notes: \"\",\n };\n\n return push(newAttendee);\n }}\n >\n {t(\"labels.addStudent\", { student: attendeeLabel })}\n \n ) : null}\n
\n )}\n />\n \n \n \n \n
\n )}\n
\n );\n};\n\nexport { StudentInfoForm };\n","import { useApolloClient, useReactiveVar } from \"@apollo/client\";\r\nimport React, { FC, useEffect } from \"react\";\r\nimport { Navigate, useNavigate } from \"react-router-dom\";\r\nimport { ContentWrapper, PageWrapper } from \"@src/components/layout\";\r\nimport { Push } from \"@src/components/layout/Page\";\r\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\r\nimport { PageHeader } from \"@src/components/molecules/pageHeader\";\r\nimport { StyledSectionHeader } from \"@src/components/styles\";\r\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\r\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\r\nimport { AccessDataAnswers, RequestError, ResponseVersionHash } from \"@src/localVariables\";\r\nimport { editAttendeesMutationUpdater } from \"@src/mutations/updaterFunctions\";\r\nimport {\r\n AttendeeFormRoute,\r\n AttendeeInformationRoute,\r\n PreviewProps,\r\n ReviewRoute,\r\n SigneeFormRoute,\r\n} from \"@src/Routes\";\r\nimport { AttendeeInput, useEditAttendeesMutation } from \"@src/types\";\r\nimport { getFormAttendees } from \"@src/utils/getters\";\r\nimport { getPreviewAttendees } from \"@src/utils/preview\";\r\nimport { scrollToTop } from \"@src/utils/scrollToTop\";\r\nimport { StudentInfoForm } from \"./form\";\r\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\r\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\r\nimport { ErrorComponent } from \"../Error\";\r\nimport { attendeesAreUpdated, isRostered } from \"@src/utils/responseVersionGetters\";\r\nimport { hasAttendeeQuestions, hasSigneeQuestions, hasTickets } from \"@src/utils/formGetters\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useGoogleTranslate } from \"@src/utils/translation\";\r\nimport { Icon } from \"@src/components/atoms/Icon\";\r\nimport ReactTooltip from \"react-tooltip\";\r\n\r\nconst StudentInfo: FC = ({ isPreview }) => {\r\n const navigate = useNavigate();\r\n const { baseUrl, countryCode } = useUrlParams();\r\n const screenSize = useBreakPoints();\r\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\r\n const accessData = useReactiveVar(AccessDataAnswers) || [];\r\n const client = useApolloClient();\r\n const { t } = useTranslation();\r\n const googleTranslate = useGoogleTranslate();\r\n\r\n useEffect(() => {\r\n scrollToTop();\r\n }, []);\r\n\r\n const { form } = useFormInfo();\r\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\r\n const [editAttendees] = useEditAttendeesMutation({\r\n update: editAttendeesMutationUpdater(responseVersionHash),\r\n });\r\n\r\n if (responseVersionQuery.loading) return ;\r\n if (responseVersionQuery.error)\r\n return ;\r\n\r\n const responseVersion = responseVersionQuery.responseVersion;\r\n const attendees = getFormAttendees(responseVersion);\r\n const orgRoleLabels = form?.document?.organization?.roleLabels ?? undefined;\r\n\r\n const attendeeLabel = orgRoleLabels?.attendee ? googleTranslate(orgRoleLabels?.attendee) : \"\";\r\n\r\n if (!baseUrl || !form || !responseVersion || responseVersion.isSigned)\r\n return ;\r\n\r\n const submitForm = async (attendees: AttendeeInput[]) => {\r\n if (!isPreview) {\r\n if (attendeesAreUpdated(responseVersion, attendees)) {\r\n const result = await editAttendees({\r\n variables: {\r\n countryCode,\r\n documentId: form.documentId,\r\n responseVersionId: responseVersion.responseVersionId,\r\n attendees,\r\n accessData,\r\n },\r\n });\r\n if (result.errors && result.errors.length > 0) {\r\n RequestError(result.errors[0]);\r\n scrollToTop();\r\n return false;\r\n }\r\n }\r\n } else {\r\n // Update attendees in cache for preview\r\n if (editAttendeesMutationUpdater) {\r\n editAttendeesMutationUpdater(responseVersion.hash)(\r\n client.cache,\r\n { data: { EditAttendees: getPreviewAttendees(attendees, responseVersion.attendees) } },\r\n {\r\n variables: {\r\n countryCode,\r\n documentId: form.documentId,\r\n responseVersionId: responseVersion.responseVersionId,\r\n attendees,\r\n accessData,\r\n },\r\n }\r\n );\r\n }\r\n }\r\n\r\n if (hasSigneeQuestions(form)) navigate(`${baseUrl}/${SigneeFormRoute}`);\r\n else if (\r\n (hasAttendeeQuestions(form) || hasTickets(form)) &&\r\n attendees.some((attendee) => !form.requiresPermission || attendee.permitted)\r\n ) {\r\n navigate(`${baseUrl}/${AttendeeFormRoute}/0`);\r\n } else navigate(`${baseUrl}/${ReviewRoute}`);\r\n };\r\n\r\n const isRosteredResponse = isRostered(responseVersion);\r\n\r\n const disableAttendeeNameEditing =\r\n isRosteredResponse && (form?.document?.disableAttendeeNameEditing ?? false);\r\n\r\n const canAddMultipleAttendees = form.allowMultipleChildrenOnOneOrder && !isRosteredResponse;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {t(\"pages.studentInfo.enterAttendeeInfo\", {\r\n attendee: attendeeLabel,\r\n })}{\" \"}\r\n {disableAttendeeNameEditing ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n {disableAttendeeNameEditing ? (\r\n \r\n {t(\"pages.studentInfo.disabledAttendeeNameEditing\", {\r\n attendee: attendeeLabel,\r\n })}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport { StudentInfo };\r\n","import { useReactiveVar } from \"@apollo/client\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { ResponseVersionHash, UrlParams } from \"@src/localVariables\";\nimport { SigneeInfoRoute, PreviewProps } from \"@src/Routes\";\nimport React from \"react\";\nimport { FC } from \"react\";\nimport { Navigate, useParams } from \"react-router-dom\";\nimport { ErrorComponent } from \"../Error\";\nimport { DefaultCountryCode } from \"@src/utils/urls\";\n\nconst PublicLanding: FC = ({ isPreview }) => {\n const { hashedId, countryCode, hashedOrgId } = useParams();\n const { visitedPages } = useReactiveVar(UrlParams);\n const baseUrl = `/${hashedId}/${countryCode ?? DefaultCountryCode}${\n hashedOrgId ? `/${hashedOrgId}` : \"\"\n }${isPreview ? \"/preview\" : \"\"}`;\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n\n if (responseVersionQuery.loading) return ;\n if (responseVersionQuery.error) return ;\n\n if (responseVersionQuery.responseVersion && responseVersionQuery.responseVersion.isSigned) {\n window.location.reload()\n }\n\n UrlParams({\n baseUrl,\n documentHashedId: hashedId,\n countryCode: countryCode ?? DefaultCountryCode,\n visitedPages,\n hashedOrgId\n });\n\n return ;\n};\n\nexport { PublicLanding };\n","import { DateFormats } from \"@src/components/fields/types\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { StyledLabel, StyledLine } from \"@src/components/styles\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport dayjs from \"dayjs\";\nimport advancedFormat from \"dayjs/plugin/advancedFormat\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\ntype EventDatesProps = {\n startDate: string | null;\n endDate?: string | null;\n cutOffDate?: string | null;\n};\n\nconst EventDates: FC = ({ startDate, endDate, cutOffDate }) => {\n dayjs.extend(advancedFormat);\n const { t } = useTranslation();\n const googleTranslate = useGoogleTranslate();\n\n return startDate || endDate || cutOffDate ? (\n \n {startDate && endDate ? (\n \n {googleTranslate(\n `${dayjs(startDate).format(DateFormats.Long)} to ${dayjs(endDate).format(\n DateFormats.Long\n )}`\n )}\n \n ) : startDate || endDate ? (\n \n {googleTranslate(dayjs(startDate ?? endDate).format(DateFormats.Long))}\n \n ) : null}\n {cutOffDate && (\n \n {t(\"labels.respondBy\")} {googleTranslate(dayjs(cutOffDate).format(DateFormats.Standard))}\n \n )}\n \n \n ) : null;\n};\n\nexport { EventDates };\n","import React, { FunctionComponent } from \"react\";\nimport { Field, FieldProps, Form, Formik, FormikHelpers } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n StyledLabel,\n StyledOption,\n StyledRequiredLabel,\n StyledSelect,\n StyledTextArea,\n StyledTextInput,\n} from \"@src/components/styles\";\nimport { useSigneeInfoValidation } from \"./validation\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { Button } from \"@src/components/atoms/Button\";\nimport { SigneeInfoValues } from \"@src/localVariables\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { FieldError } from \"@src/components/atoms/FieldError\";\nimport { UploadField } from \"@src/components/fields\";\nimport { getManualAttachmentUploadUrl, getViewFileUrl } from \"@src/utils/urls\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport { ResponseVersion, RoleLabels, Tag } from \"@src/types\";\nimport { Icon } from \"@src/components/atoms/Icon\";\nimport ReactTooltip from \"react-tooltip\";\nimport { isManual, isProcess, isRostered, isStaff } from \"@src/utils/responseVersionGetters\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { TranslateFormErrors } from \"@src/customHooks/useTranslateFormErrors\";\n\ntype SigneeInfoProps = {\n initialValues: SigneeInfoValues;\n orgRoleLabels: RoleLabels | null;\n responseVersion: ResponseVersion | null;\n documentId: string;\n eligibleTags: Tag[];\n isGeneralSignup: boolean;\n onSubmit: (values: SigneeInfoValues, helpers: FormikHelpers) => void;\n};\n\nconst SigneeInfoForm: FunctionComponent = ({\n initialValues,\n orgRoleLabels,\n responseVersion,\n documentId,\n eligibleTags,\n isGeneralSignup,\n onSubmit,\n}) => {\n const { t } = useTranslation();\n const screenSize = useBreakPoints();\n const signeeInfoValidation = useSigneeInfoValidation(eligibleTags?.length > 1);\n const { countryCode } = useUrlParams();\n const { form } = useFormInfo();\n const manualAttachmentUploadUrl = getManualAttachmentUploadUrl(\n countryCode,\n documentId,\n responseVersion?.responseVersionId ?? \"\"\n );\n const viewFileUrl = getViewFileUrl(countryCode, documentId);\n const googleTranslate = useGoogleTranslate();\n\n const guardianRoleLabel = googleTranslate(orgRoleLabels?.guardian || \"\");\n\n const signeeFirstNameLabel = t(\n isGeneralSignup ? \"placeholders.anyoneFirstName\" : \"placeholders.guardianFirstName\",\n {\n guardian: guardianRoleLabel,\n }\n );\n\n const signeeFirstNamePlaceholder = t(\n isGeneralSignup ? \"placeholders.anyoneFirstName\" : \"placeholders.guardianFirstName\",\n {\n guardian: guardianRoleLabel,\n }\n );\n\n const signeeFirstNameAutoPopulatedMessage = t(\"pages.signeeInfo.firstNameIsPopulated\");\n\n const signeeLastNameLabel = t(\n isGeneralSignup ? \"placeholders.anyoneLastName\" : \"placeholders.guardianLastName\",\n {\n guardian: guardianRoleLabel,\n }\n );\n\n const signeeLastNamePlaceholder = t(\n isGeneralSignup ? \"placeholders.anyoneLastName\" : \"placeholders.guardianLastName\",\n {\n guardian: guardianRoleLabel,\n }\n );\n\n const signeeLastNameAutoPopulatedMessage = t(\"pages.signeeInfo.lastNameIsPopulated\");\n\n const emailLabel = t(\n isGeneralSignup ? \"placeholders.anyoneEmailAddress\" : \"placeholders.guardianEmailAddress\",\n {\n guardian: guardianRoleLabel,\n }\n );\n\n const emailPlaceholder = t(\n isGeneralSignup ? \"placeholders.anyoneEmailAddress\" : \"placeholders.guardianEmailAddress\",\n {\n guardian: guardianRoleLabel,\n }\n );\n\n return (\n \n {({ isSubmitting, handleSubmit, isValid }) => (\n \n {\n if (event.key === \"Enter\") {\n handleSubmit();\n }\n }}\n >\n \n \n \n \n {signeeFirstNameLabel}\n \n {({ field, meta }: FieldProps) => (\n \n )}\n \n \n \n \n \n {signeeLastNameLabel}\n \n {({ field, meta }: FieldProps) => (\n \n )}\n \n \n \n \n {isManual(responseVersion) && form.isGeneralSignup ? (\n <>\n \n \n {({ field, form }: FieldProps) => (\n form.setFieldValue(\"attachmentId\", value)}\n />\n )}\n \n \n\n \n {t(\"labels.manualNotes\")}\n \n \n \n {({ field, meta }: FieldProps) => (\n \n )}\n \n \n \n ) : null}\n \n \n \n {emailLabel}\n
\n \n \n \n
\n \n {t(\"messages.emailCollectionMessage\")}\n \n
\n \n {({ field, meta }: FieldProps) => (\n \n )}\n \n \n
\n {eligibleTags && eligibleTags.length > 1 ? (\n \n \n {t(\"messages.pleaseSelectATag\")}\n \n {({ field, meta }: FieldProps) => (\n \n {t(\"labels.selectATag\")}\n {eligibleTags.map((x) => (\n \n {x.displayName}\n \n ))}\n \n )}\n \n \n ) : null}\n \n
\n \n {t(\"labels.nextPage\")}\n \n
\n \n
\n )}\n \n );\n};\n\nexport { SigneeInfoForm };\n","import { useTranslation } from \"react-i18next\";\nimport * as Yup from \"yup\";\nimport { ObjectShape } from \"yup/lib/object\";\nimport { MAX_LENGTH, MIN_LENGTH } from \"@src/constants/validation\";\n\nconst useSigneeInfoValidation = (hasMultipleTags: boolean): Yup.ObjectSchema => {\n const { t } = useTranslation();\n\n let schema = Yup.object().shape({\n firstName: Yup.string()\n .min(\n MIN_LENGTH,\n t(\"validation.minCharacters\", {\n field: \"First Name\",\n length: MIN_LENGTH,\n })\n )\n .max(\n MAX_LENGTH,\n t(\"validation.maxCharacters\", {\n field: \"First Name\",\n length: MAX_LENGTH,\n })\n )\n .required(t(\"validation.required\", { field: \"First Name\" })),\n\n lastName: Yup.string()\n .min(\n MIN_LENGTH,\n t(\"validation.minCharacters\", {\n field: \"Last Name\",\n length: MIN_LENGTH,\n })\n )\n .max(\n MAX_LENGTH,\n t(\"validation.maxCharacters\", {\n field: \"Last Name\",\n length: MAX_LENGTH,\n })\n )\n .required(t(\"validation.required\", { field: \"Last Name\" })),\n\n email: Yup.string()\n .email(t(\"validation.validEmail\"))\n .required(t(\"validation.required\", { field: \"E-mail\" })),\n });\n\n if (hasMultipleTags) {\n schema = schema.concat(\n Yup.object().shape({\n tagId: Yup.string().required(t(\"validation.required\", { field: \"Tag\" })),\n })\n );\n }\n\n return schema;\n};\n\nexport { useSigneeInfoValidation };\n","import { useEffect } from 'react';\nimport { useReactiveVar } from '@apollo/client';\nimport { GainsightInitialized } from '@src/localVariables';\nimport { FormInfo } from './useFormInfo';\n\nconst gdprCountryCodes = new Set([\n 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR',\n 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL',\n 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'CH', 'GB', 'IS',\n 'NO', 'LI'\n]);\n\nconst useGainsightInitialization = (formInfo: FormInfo) => {\n const gainsightInitialized = useReactiveVar(GainsightInitialized);\n\n useEffect(() => {\n if (!gainsightInitialized && formInfo?.form?.document?.organization) {\n try {\n const organization = formInfo.form.document.organization;\n const countryCode = organization.countryCode?.toUpperCase().trim() ?? '';\n const isGDPRCountry = gdprCountryCodes.has(countryCode);\n\n const isProduction = process.env.GAINSIGHT_TAG?.split('-').length === 3; // Prod tag has 3 parts, preprod has 4.\n\n // Create unique hashed user ID\n let userId = `PC${isProduction ? '' : '-PREPROD'}`; // Add PREPROD if not in production\n \n // If the user is in a GDPR country, append the GDPR tag\n if (isGDPRCountry) {\n userId += `-ANONYMOUS-GDPR-${Math.floor(Math.random() * (100000000 - 1) + 1).toString()}`;\n } else {\n userId += `-ANONYMOUS-${Math.floor(Math.random() * (100000000 - 1) + 1).toString()}`;\n }\n\n // Initialize Gainsight.\n //@ts-expect-error - aptrinsic is Gainsight.\n aptrinsic(\"identify\",\n {\n // User Fields\n \"id\": userId, // Unique and possibly hashed ID with GDPR check and preprod tag if applicable.\n \"role\": \"Responder\", // Role of the user's profile.\n },\n {\n // Account Fields\n \"id\": `PC-${organization.id}`, // Organization ID.\n \"name\": organization.name, // Organization name.\n }\n );\n \n GainsightInitialized(true); // Mark Gainsight as initialized\n console.log('Gainsight initialized');\n\n } catch (error) {\n console.error(error);\n GainsightInitialized(true); // Mark it initialized even in case of failure to prevent retries.\n }\n }\n }, [formInfo, gainsightInitialized]);\n};\n\nexport default useGainsightInitialization;\n","import { AttachmentComponent } from \"@src/components/atoms/Attachment\";\nimport { ContentWrapper, PageWrapper } from \"@src/components/layout\";\nimport {\n Attachment,\n LinkAttachment,\n ResponseSource,\n useCreateResponseMutation,\n useResponseVersionsLazyQuery,\n useUpdateTagMutation,\n} from \"@src/types\";\nimport { FormikHelpers } from \"formik\";\nimport React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport { useApolloClient, useReactiveVar } from \"@apollo/client\";\nimport { Froala } from \"@src/components/atoms/Froala\";\nimport { LinkAttachmentComponent } from \"@src/components/atoms/LinkAttachment/LinkAttachment\";\nimport { PrimaryAttachment } from \"@src/components/atoms/PrimaryAttachment/PrimaryAttachment\";\nimport { Flex, Push } from \"@src/components/layout/Page\";\nimport { DisplayAnswers } from \"@src/components/molecules/displayAnswers/DisplayAnswers\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { PageHeader } from \"@src/components/molecules/pageHeader\";\nimport { StyledLabel, StyledSectionHeader } from \"@src/components/styles\";\nimport { useBreakPoints, useUrlParams } from \"@src/customHooks\";\nimport { useFormInfo } from \"@src/customHooks/useFormInfo\";\nimport {\n AccessDataAnswers,\n HasAccess,\n RequestError,\n ResponseVersionHash,\n SigneeInfoValues,\n} from \"@src/localVariables\";\nimport {\n createResponseMutationUpdater,\n updateTagMutationUpdater,\n} from \"@src/mutations/updaterFunctions\";\n\nimport {\n AttendeeFormRoute,\n AttendeeInformationRoute,\n PreviewProps,\n ReviewRoute,\n SelectResponseRoute,\n SigneeFormRoute,\n SigneeInfoRoute,\n} from \"@src/Routes\";\nimport {\n getAttachments,\n getLinkAttachments,\n getPublicOrganizerAnswers,\n getPublicOrganizerFields,\n} from \"@src/utils/getters\";\nimport { getPreviewSignee, previewOnCreateResponse } from \"@src/utils/preview\";\nimport { ErrorComponent } from \"../Error\";\nimport { FormArchived, FormClosed, FormCutoff, FormInDraft } from \"../FormStatus\";\nimport { EventDates } from \"./EventDates\";\nimport { SigneeInfoForm } from \"./form\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { hasSigneeQuestions, hasTickets } from \"@src/utils/formGetters\";\nimport {\n isAuthenticatedResponse,\n isProcess,\n isRostered,\n isStaff,\n signeeValuesAreUpdated,\n tagValueIsUpdated,\n} from \"@src/utils/responseVersionGetters\";\nimport { SelectResponseState } from \"../SelectResponse\";\nimport { useCachedEligibleTags } from \"@src/customHooks/useEligibleTags\";\nimport { useGoogleTranslate } from \"@src/utils/translation\";\nimport { FormInactive } from \"../FormStatus/FormInactive\";\nimport useGainsight from \"@src/customHooks/useGainsight\";\n\nconst SigneeInfo: FC = ({ isPreview }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { baseUrl, countryCode, hashedOrgId, markAsVisited } = useUrlParams();\n const hasAccess = useReactiveVar(HasAccess);\n const responseVersionHash = useReactiveVar(ResponseVersionHash);\n const screenSize = useBreakPoints();\n const client = useApolloClient();\n const accessData = useReactiveVar(AccessDataAnswers) || [];\n const [updateTag] = useUpdateTagMutation();\n const googleTranslate = useGoogleTranslate();\n\n const formInfo = useFormInfo();\n const responseVersionQuery = useCachedResponseVersion(responseVersionHash);\n const eligibleTagsQuery = useCachedEligibleTags(\n formInfo.form?.documentId || \"\",\n responseVersionQuery.responseVersion?.responseOrganizationId || \"\",\n responseVersionQuery.responseVersion?.signeeEmail || \"\"\n );\n\n const guardianRoleLabel = googleTranslate(\n formInfo?.form?.document?.organization?.roleLabels?.guardian || \"\"\n );\n\n const header = formInfo?.form?.isGeneralSignup\n ? t(\"pages.signeeInfo.anyoneInfo\")\n : t(\"pages.signeeInfo.guardianInfo\", {\n parent: guardianRoleLabel,\n });\n\n const [listResponseVersions, listResponseQuery] = useResponseVersionsLazyQuery();\n const [createResponse, createResponseQuery] = useCreateResponseMutation();\n\n if (createResponseQuery.error) {\n RequestError(createResponseQuery.error);\n }\n\n if (listResponseQuery.error) {\n RequestError(listResponseQuery.error);\n }\n\n useGainsight(formInfo); // initialize gainsight\n\n if (!baseUrl) return ;\n\n if (formInfo.loading) return ;\n if (formInfo.error) return ;\n if (responseVersionQuery.loading) return ;\n if (responseVersionQuery.error)\n return ;\n if (eligibleTagsQuery.loading) return ;\n if (eligibleTagsQuery.error) return ;\n\n const form = formInfo.form;\n const responseVersion = responseVersionQuery.responseVersion;\n const responseVersionId = responseVersion?.responseVersionId ?? \"\";\n const eligibleTags = eligibleTagsQuery.eligibleTags ?? [];\n\n if (!form) return ;\n\n // Check for enabled org\n if (form?.document?.organization?.isEnabled === false) return ;\n\n if (form.status === 0 && !isPreview) return ;\n if (form.status === 4) return ;\n if (form.status === 5) return ;\n if (form.hasReachedResponseCutOffDate) return ;\n\n // Marks the homepage (\"\") as visited.\n markAsVisited(\"\");\n\n const attachments = getAttachments(form);\n const linkAttachments = getLinkAttachments(form);\n const primaryAttachment = attachments.find((x) => x.isPrimary);\n const publicOrganizerFields = getPublicOrganizerFields(form);\n const publicOrganizerAnswers = getPublicOrganizerAnswers(form);\n\n const initialValues: SigneeInfoValues =\n !isPreview || responseVersion\n ? {\n firstName: responseVersion?.signeeFirstName ?? \"\",\n lastName: responseVersion?.signeeLastName ?? \"\",\n email: responseVersion?.signeeEmail ?? \"\",\n notes: responseVersion?.signeeNotes ?? \"\",\n attachmentId: responseVersion?.signeeAttachmentId ?? \"\",\n responseSource:\n isStaff(responseVersion) || isProcess(responseVersion)\n ? responseVersion.source\n : ResponseSource.Organic,\n tagId: responseVersion?.tagId\n ? responseVersion.tagId\n : eligibleTags && eligibleTags.length === 1\n ? eligibleTags[0]?.id\n : \"\",\n }\n : getPreviewSignee(null);\n\n const navigateToNextPage = () => {\n if (form?.isGeneralSignup) {\n if (hasSigneeQuestions(form)) navigate(`${baseUrl}/${SigneeFormRoute}`);\n else if (hasTickets(form)) {\n navigate(`${baseUrl}/${AttendeeFormRoute}/0`);\n } else navigate(`${baseUrl}/${ReviewRoute}`);\n } else navigate(`${baseUrl}/${AttendeeInformationRoute}`);\n };\n\n const onSubmit = !isPreview\n ? async (values: SigneeInfoValues, { setSubmitting }: FormikHelpers) => {\n const signeeValuesUpdated = signeeValuesAreUpdated(responseVersion, values);\n const tagValueUpdated = tagValueIsUpdated(responseVersion, values);\n\n if (signeeValuesUpdated) {\n const isNewSignee = !responseVersion;\n if (isNewSignee) {\n // Check for existing response versions for this signee\n const responseVersionsQuery = await listResponseVersions({\n variables: {\n email: values.email,\n countryCode,\n documentId: form.documentId,\n },\n });\n\n if (!responseVersionsQuery?.error) {\n const responses = responseVersionsQuery?.data?.ResponseVersions || [];\n if (responses.length) {\n // this info is needed on the next page, pass it along\n const params: SelectResponseState = {\n documentId: form.documentId,\n email: values.email,\n firstName: values.firstName,\n lastName: values.lastName,\n responseSource: ResponseSource.Organic,\n tagId: null,\n };\n\n navigate(`${baseUrl}/${SelectResponseRoute}`, { state: params });\n return;\n }\n }\n }\n\n // Create new response/update signee values\n const newResponse = await createResponse({\n variables: {\n documentId: form.documentId,\n countryCode,\n signee: values,\n organizationHash: hashedOrgId || null,\n responseVersionId,\n accessData,\n },\n update: createResponseMutationUpdater(), // add the result to Apollo cache\n });\n\n setSubmitting(false);\n\n if (!newResponse.errors && newResponse.data) {\n ResponseVersionHash(newResponse.data.CreateResponse.hash);\n\n if (tagValueUpdated) {\n await updateTag({\n variables: {\n documentId: form.documentId,\n countryCode,\n tagId: values.tagId !== \"\" ? values.tagId : null,\n responseVersionId: responseVersion.responseVersionId,\n },\n });\n }\n\n navigateToNextPage();\n }\n } else if (tagValueUpdated) {\n await updateTag({\n update: updateTagMutationUpdater({\n tagId: values.tagId !== \"\" ? values.tagId : null,\n responseHashedId: responseVersion.hash,\n }),\n variables: {\n documentId: form.documentId,\n countryCode,\n tagId: values.tagId !== \"\" ? values.tagId : null,\n responseVersionId: responseVersion.responseVersionId,\n },\n });\n\n navigateToNextPage();\n } else navigateToNextPage();\n }\n : (values: SigneeInfoValues, { setSubmitting }: FormikHelpers) => {\n const previewResponse = previewOnCreateResponse(\n form.documentId,\n form.id,\n form.isGeneralSignup,\n values,\n countryCode,\n client\n );\n ResponseVersionHash(previewResponse.hash);\n setSubmitting(false);\n navigateToNextPage();\n };\n\n if (responseVersion && isRostered(responseVersion) && !hasAccess)\n return ;\n\n if (isAuthenticatedResponse(responseVersion) && (!eligibleTags || eligibleTags.length === 0))\n navigateToNextPage();\n\n return form ? (\n <>\n \n \n \n {listResponseQuery?.loading ? (\n \n ) : null}\n {createResponseQuery?.loading ? (\n \n ) : null}\n\n \n\n {publicOrganizerFields.length > 0 && (\n \n )}\n\n \n\n {primaryAttachment ? : null}\n\n {attachments && attachments.filter((x) => !x.isPrimary).length > 0 ? (\n \n {t(\"pages.signeeInfo.imagesAndDocuments\")}\n {attachments\n .filter((x) => !x.isPrimary)\n .map((attachment: Attachment) => (\n \n ))}\n \n ) : null}\n\n {linkAttachments && linkAttachments.length > 0 ? (\n \n {t(\"pages.signeeInfo.externalLinks\")}\n {linkAttachments.map((attachment: LinkAttachment) => (\n \n ))}\n \n ) : null}\n\n {header}\n \n \n \n \n \n \n ) : null;\n};\n\nexport { SigneeInfo };\n","import { useReactiveVar } from \"@apollo/client\";\nimport { LoadingModal } from \"@src/components/molecules/loadingModal/LoadingModal\";\nimport { useCachedResponseVersion } from \"@src/customHooks/useResponseVersion\";\nimport { UrlParams, IsPayNow, OrderId, ResponseVersionHash } from \"@src/localVariables\";\nimport { ConfirmationRoute, ReviewRoute } from \"@src/Routes\";\nimport React from \"react\";\nimport { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useParams } from \"react-router-dom\";\nimport { ErrorComponent } from \"../Error\";\nimport { DefaultCountryCode } from \"@src/utils/urls\";\n\nconst PayNowLanding: FC = () => {\n const { t } = useTranslation();\n const { hashedId, hashedOrgId } = useParams();\n const { visitedPages } = useReactiveVar(UrlParams);\n const baseUrl = `/rp/${hashedId}${hashedOrgId ? `/${hashedOrgId}` : \"\"}`;\n const query = useCachedResponseVersion(hashedId || \"\");\n\n if (query.loading) return ;\n if (query.error) return ;\n\n // rostered responses include responses created via the Staff Form Library\n const existingResponse = query.responseVersion;\n\n if (existingResponse) {\n ResponseVersionHash(existingResponse.hash);\n IsPayNow(true);\n OrderId(existingResponse.orders.find((x) => x.isCheckedOut && !x.hasBeenPaid)?.orderId);\n UrlParams({\n baseUrl,\n responseHashedId: hashedId,\n documentHashedId: existingResponse.documentHashId,\n countryCode: hashedId?.substring(0, 2) ?? DefaultCountryCode,\n visitedPages,\n });\n\n if (existingResponse.orders.every((x) => x.hasBeenPaid))\n return ;\n else return ;\n }\n\n return ;\n};\n\nexport { PayNowLanding };\n","import { Logo } from \"@src/components/atoms/Logo\";\nimport { PageWrapper } from \"@src/components/layout\";\nimport { Flex } from \"@src/components/layout/Page\";\nimport { PageFooter } from \"@src/components/molecules/pageFooter\";\nimport { StyledHeader, StyledLabel } from \"@src/components/styles\";\nimport { Breakpoints, useBreakPoints } from \"@src/customHooks\";\nimport { useParams } from \"react-router-dom\";\nimport React, { FC, useEffect } from \"react\";\nimport styled from \"styled-components\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\ntype ErrorWrapperArgs = { screenSize: Breakpoints };\n\nconst StyledErrorWrapper = styled(Flex)`\n margin-right: ${(props) => (props.screenSize === \"desktop\" ? `50px` : `25px`)};\n padding-left: 5vw;\n`;\n\nconst PDFDownloadLanding: FC = () => {\n const screenSize = useBreakPoints();\n const { hashedId, countryCode } = useParams();\n const { t } = useTranslation();\n\n const logoDimensions = screenSize === \"smallScreen\" ? \"100px\" : \"200px\";\n\n const downloadUrl = `${process.env.RESPONSES_URL}rd/${countryCode}/${hashedId}`;\n\n useEffect(() => {\n window.location.href = downloadUrl;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n \n \n {t(\"messages.yourDownloadIsOnItsWay\")}\n \n \n \n Kindly Click{\" \"}\n \n here\n {\" \"}\n for a redo.\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport { PDFDownloadLanding };\n","import React from \"react\";\nimport { Routes as ReactRoutes, Route } from \"react-router-dom\";\nimport { AccessData } from \"./pages/AccessData/AccessData\";\nimport { Confirmation } from \"./pages/Confirmation/Confirmation\";\nimport { ErrorComponent } from \"./pages/Error\";\nimport { Review } from \"./pages/Review\";\nimport { RosterLanding } from \"./pages/LandingPages/RosterLanding\";\nimport { SelectResponse } from \"./pages/SelectResponse\";\nimport { SigneeForm } from \"./pages/SigneeForm\";\nimport { StudentInfo } from \"./pages/StudentInfo\";\nimport { TicketsAndAttendeeForm } from \"./pages/TicketsAndAttendeeForm/TicketsAndAttendeeForm\";\nimport { PublicLanding } from \"./pages/LandingPages/PublicLanding\";\nimport { SigneeInfo } from \"./pages/SigneeInfo/SigneeInfo\";\nimport { PayNowLanding } from \"./pages/LandingPages/PayNowLanding\";\nimport { PDFDownloadLanding } from \"./pages/LandingPages/PDFDownloadLanding\";\n\nconst RosterBase = \"/r/:hashedId\";\nconst PayNowBase = \"/rp/:hashedId\";\nconst PDFDownloadBase = \"/rd/:countryCode/:hashedId\";\nconst RouteBase = \"/:hashedId/:countryCode\";\nconst OrgRouteBase = \"/:hashedId/:countryCode/:hashedOrgId\";\nconst PreviewBase = `${RouteBase}/preview`;\n\nconst AccessDataRoute = \"access-data\";\nconst AttendeeInformationRoute = \"attendees\";\nconst SigneeFormRoute = \"signee-form\";\nconst SelectResponseRoute = \"select-response\";\nconst AttendeeFormRoute = \"attendee-form\";\nconst ReviewRoute = \"review\";\nconst ConfirmationRoute = \"confirmation\";\nconst SigneeInfoRoute = \"signee-info\";\n\nexport interface PreviewProps {\n isPreview?: boolean;\n}\n\nconst Routes = (): JSX.Element => (\n \n {/* Rostered and Staff Form Library */}\n } />\n } />\n } />\n } />\n } />\n } />\n }\n />\n } />\n } />\n\n {/* PDF Download Link */}\n } />\n\n {/* Public Link */}\n } />\n } />\n } />\n } />\n } />\n }\n />\n } />\n } />\n\n {/* Pay Now Link */}\n } />\n } />\n } />\n\n {/* Public link for school via district form */}\n } />\n } />\n } />\n } />\n } />\n }\n />\n } />\n } />\n\n {/* Preview */}\n } />\n } />\n }\n />\n } />\n }\n />\n } />\n } />\n\n {/* catch */}\n } />\n \n);\n\nexport {\n Routes,\n AccessDataRoute,\n AttendeeInformationRoute,\n SigneeFormRoute,\n SelectResponseRoute,\n AttendeeFormRoute,\n ConfirmationRoute,\n SigneeInfoRoute,\n ReviewRoute,\n};\n","const defaultMergeFunction = (_existing: unknown, incoming: unknown) => incoming;\r\n\r\nexport { defaultMergeFunction };\r\n","import { ApolloClient, ApolloProvider, createHttpLink, InMemoryCache } from \"@apollo/client\";\nimport { setContext } from \"@apollo/client/link/context\";\n\nimport React, { Fragment, ReactElement } from \"react\";\nimport { I18nextProvider } from \"react-i18next\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport jwt from \"@src/utils/jwt\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport { CssReset } from \"./components/layout\";\nimport { Routes } from \"./Routes\";\nimport TelemetryProvider from \"./TelemetryProvider\";\nimport { defaultTheme } from \"./themes\";\nimport { defaultMergeFunction } from \"./utils/cache\";\nimport { i18next } from \"./translations\";\n\nexport const stripePromise = loadStripe(\n process.env.STRIPE_PUBLISHABLE_KEY ??\n (() => {\n throw new Error(\"Missing STRIPE_PUBLISHABLE_KEY environment variable!\");\n })()\n);\n\nconst requiresAuth = window.location.hostname === process.env.REQUIRES_AUTH_DOMAIN;\n\nconst authLink = setContext(async (_, { headers }) => {\n // get the authentication token from local storage if it exists\n const token = await jwt.getToken();\n if (!token) {\n // abort\n if (process.env.AUTH_URL) window.location.replace(process.env.AUTH_URL);\n return null;\n }\n // return the headers to the context so httpLink can read them\n return {\n headers: {\n ...headers,\n authorization: token ? `Bearer ${token}` : \"\",\n },\n };\n});\n\nconst httpLink = createHttpLink({\n uri: process.env.GRAPHQL_URL,\n});\n\nconst client = new ApolloClient({\n link: requiresAuth ? authLink.concat(httpLink) : httpLink,\n defaultOptions: {\n mutate: {\n errorPolicy: \"all\",\n },\n query: {\n errorPolicy: \"all\",\n },\n },\n cache: new InMemoryCache({\n typePolicies: {\n Query: {\n fields: {\n ResponseVersions: {\n merge: defaultMergeFunction,\n },\n },\n },\n ResponseVersion: {\n keyFields: [\"responseVersionId\"],\n fields: {\n signeeAnswers: {\n merge: defaultMergeFunction,\n },\n },\n },\n Answer: {\n keyFields: [\"answerId\"],\n },\n Question: {\n keyFields: false\n },\n Attendee: {\n keyFields: [\"responseAttendeeId\"],\n fields: {\n integratedDataOnFile: {\n merge(existing, incoming) {\n if (incoming && incoming.length !== 0) {\n return incoming;\n } else {\n return existing || [];\n }\n },\n },\n },\n },\n },\n }),\n});\n\nconst App = (): ReactElement => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport { App };\n","import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst container = document.getElementById(\"root\");\n\n// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\nconst root = createRoot(container!);\n\nroot.render();\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkpc_frontend_respond\"] = self[\"webpackChunkpc_frontend_respond\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [96,667], () => (__webpack_require__(8408)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","memory_token","memory_expiresAt","refresh_token","isExpired","getTime","Date","now","getTokenInternal","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","reset","content","response","result","_args","arguments","_context","prev","next","length","undefined","FormData","append","fetch","process","method","credentials","body","headers","sent","status","json","parse","t0","Error","text","t1","abrupt","stop","apply","getTokenDebounced","debounce","resetTokenDebounced","getToken","CssReset","createGlobalStyle","PageWrapper","styled","div","withConfig","displayName","componentId","ContentWrapper","props","screenSize","Push","Flex","flexDirection","flexWrap","justifyContent","alignItems","alignContent","gap","flex","concat","HeaderBar","HeaderBarContainer","Spacer","height","InfoBar","InfoBarContainer","NavBar","NavList","ul","SubMenuBackground","SubMenu","ol","NavItem","li","isCurrent","isEnabled","TitleContainer","StyledOrgName","p","StyledLogo","img","StyledTitle","label","theme","colors","values","lightblack","SpinnerContainer","SpinnerBlock","Spinner","React","className","defaultTheme","alias","primary","lightPrimary","darkPrimary","disabled","page","background","fields","selected","bordercolor","tablebordercolor","disabledBackground","white","grey","lightgrey","darkgrey","red","darkred","lightblue","yellow","blue","darkblue","green","darkgreen","lightRed","spacing","default","medium","font","size","iconSize","borderRadius","shadows","button","ResponseState","FieldWrapper","fullWidth","StyledSelect","select","hasError","StyledOption","option","StyledTextArea","textarea","StyledCheckbox","input","attrs","type","StyledTextInput","onKeyPress","event","which","preventDefault","StyledRadioButton","StyledRadioButtonLabel","span","StyledUploadContainer","StyledUploadField","FieldInformationLabel","UploadImage","UploadButton","completionPercentage","UploadPreview","PreviewImage","ProgressMessage","StyledAttendeeName","h1","HeaderContainer","StyledHeader","StyledSubheader","h2","StyledSectionHeader","h3","StyledSectionInstructions","StyledRequiredInstructions","StyledLabel","StyledDisplayLabel","StyledAnswerLabel","StyledLine","hr","StyledRequiredLabel","i","StyledInlineRequiredLabel","StyledDivider","StyledSelectedStar","small","StyledUnselectedStar","StyledResponseCard","state","ResponseInProgress","ResponsePendingApproval","ResponseRejected","ResponseCancelled","ResponseComplete","StyledResponseCardTitle","_ref2","StyledInformationContainer","StyledNavigationButtonsContainer","StyledErrorBar","StyledAnswerRow","ErrorHeader","header","ErrorMessageHeader","ErrorMessage","StyledErrorBarMessage","StyledReviewHeader","StyledReviewMessage","StyledErrorContainer","StyledErrorText","StyledTermsMessage","StyledTermsLink","a","ReloadButton","LoadingModalBackground","LoadingModalContent","LoadingMessage","MaxLengthMessage","CurrencyLabel","RepeatableFieldsWrapper","RepeatableAddButton","PdfThumbnail","FileThumbnail","EquationsWrapper","DateFillWrapper","ClearIconSpacer","MatchFailed","LoadingModal","message","defaultOptions","FeeMethod","FieldType","PaidStatus","ResponseSource","ResponseStatus","FormAttachmentFragmentFragmentDoc","gql","_templateObject","_taggedTemplateLiteral","LinkAttachmentFragmentFragmentDoc","_templateObject2","FieldFragmentFragmentDoc","_templateObject3","QuestionFragmentFragmentDoc","_templateObject4","TicketFragmentFragmentDoc","_templateObject5","TicketTypeFragmentFragmentDoc","_templateObject6","AnswerFragmentFragmentDoc","_templateObject7","PurchasedTicketFragmentFragmentDoc","_templateObject8","AttendeeFragmentFragmentDoc","_templateObject9","OrderFragmentFragmentDoc","_templateObject10","ResponseVersionFragmentFragmentDoc","_templateObject11","OrganizationFragmentFragmentDoc","_templateObject12","_templateObject13","DocumentFragmentFragmentDoc","_templateObject14","TaxFragmentFragmentDoc","_templateObject15","TaxAndFeeEstimateFragmentFragmentDoc","_templateObject16","TaxesAndFeesFragmentFragmentDoc","_templateObject17","TicketInventoryFragmentFragmentDoc","_templateObject18","TagFragmentFragmentDoc","_templateObject19","SaveSigneeAnswerDocument","_templateObject20","DeleteSigneeAnswerDocument","_templateObject21","SaveAttendeeAnswerDocument","_templateObject22","useSaveAttendeeAnswerMutation","baseOptions","options","_objectSpread","Apollo","DeleteAttendeeAnswerDocument","_templateObject23","EditAttendeesDocument","_templateObject24","_templateObject25","CreateResponseDocument","_templateObject26","useCreateResponseMutation","RestartResponseDocument","_templateObject27","RestartInProcessResponseDocument","_templateObject28","AddResponseVersionDocument","_templateObject29","UpdateResponseVersionDocument","_templateObject30","ValidateAccessDocument","_templateObject31","UpdateTagDocument","_templateObject32","AcceptTermsDocument","_templateObject33","SignUpForNotificationDocument","_templateObject34","SubmitFeedbackDocument","_templateObject35","ReserveTicketDocument","_templateObject36","CancelTicketDocument","_templateObject37","useCancelTicketMutation","FormInfoDocument","_templateObject38","useFormInfoQuery","_templateObject39","OrganizationByHashDocument","_templateObject40","ResponseDocument","_templateObject41","ResponseVersionsDocument","_templateObject42","StaffResponseVersionsDocument","_templateObject43","EligibleTagsDocument","_templateObject44","TaxesAndFeesDocument","_templateObject45","TicketInventoryDocument","_templateObject46","useFormInfo","_formInfoQuery$data","_useUrlParams","useUrlParams","countryCode","documentHashedId","formInfoQuery","variables","hashedId","hashedOrgId","fetchPolicy","skip","form","data","Form","loading","error","useBreakPoints","useMediaQuery","query","GOOGLE_TRANSLATE_ENDPOINT","GOOGLE_SEGMENT_LIMIT","cacheKeyFn","value","target","source","getPcTranslateEndpoint","langCode","translateMultipleTextsFromGoogle","texts","translationDict","axios","post","q","reduce","acc","cur","index","_result$data$data$tra","_result$data$data$tra2","translations","translatedText","_x","_x2","_x3","translateFromPC","_callee2","PC_TRANSLATE_ENDPOINT","_result","_context2","Translations","console","_x4","_x5","_x6","_x7","pcTranslationLoader","DataLoader","_ref3","_callee3","_values$","_values$2","_values$3","textsSet","uniqueTexts","finalResults","chunk","_result2","_context3","IsLoadingTranslation","map","Set","Array","from","slice","_ref4","_finalResults$text","_x8","translateFromGoogle","_ref5","_callee4","_context4","translation","_translation$translat","_x9","_x10","_x11","googleTranslationLoader","_ref6","_callee5","_values$4","_values$5","results","chunkResults","_context5","push","_toConsumableArray","_x12","decodeHtmlCharCodes","str","DOMParser","parseFromString","textContent","useGoogleTranslate","i18n","useTranslation","_useState","useState","_useState2","_slicedToArray","setTranslationDict","resolvedLanguage","translate","_translate","languageISOCode","useLocalTranslations","preferredLanguage","loaderParams","DefaultLanguage","code","load","addTranslation","original","translated","dict","_defineProperty","executeTranslation","replace","_match","dec","String","fromCharCode","_translationDict$reso","_translationDict$reso2","missingTranslation","display","Languages","getManualAttachmentUploadUrl","documentId","responseVersionId","toLowerCase","getViewFileUrl","DefaultCountryCode","OrderId","makeVar","HasAccess","AccessDataAnswers","IsPreviewInventoryLoaded","IsPayNow","SelectedPaymentType","UrlParams","baseUrl","visitedPages","ResponseVersionHash","RequestError","ResponseAlreadySubmitted","GainsightInitialized","answerToAnswerInput","answer","omit","checkResponseVersionSource","responseVersion","responseSource","attendeeIndex","useParams","_useReactiveVar","useReactiveVar","responseHashedId","parsedAttendeeIndex","useMemo","string","parsedNumber","Number","isNaN","parseStringToNumber","shardCode","toLocaleUpperCase","markAsVisited","navSlug","includes","useCachedEligibleTags","organizationId","email","_query$data","eligibleTags","EligibleTags","FormAttachmentFragment","LinkAttachmentFragment","FieldFragment","QuestionFragment","AnswerFragment","TicketFragment","TicketTypeFragment","PurchasedTicketFragment","AttendeeFragment","OrderFragment","ResponseVersionFragment","OrganizationFragment","DocumentFragment","TaxFragment","TaxAndFeeEstimateFragment","TaxesAndFeesFragment","TicketInventoryFragment","RESPONSE_VERSION_QUERY","updateResponseQuery","cache","updateQuery","hash","overwrite","__typename","Response","createResponseMutationUpdater","mutationResult","CreateResponse","PreviewHash","getPreviewAttendees","attendees","currentAttendees","attendee","currentAttendee","find","current","responseAttendeeId","firstName","lastName","permitted","uuidv4","attendeeId","tickets","attendeeAnswers","attachmentFileType","integratedDataOnFile","getPreviewInventories","ticket","initial","inventory","draftInitial","remaining","draftRemaining","id","isLimited","purchased","ticketId","getAttendeeAnswer","answerInput","mapAnswerInputsToAnswers","answerInputs","_answerInput$answerId","fieldId","answerId","questionId","fileType","order","useCachedResponseVersion","MAX_LENGTH","TRUTHY_STRING","FALSY_STRING","DEFAULT_PHONE_MASK","i18next","LanguageDetector","use","initReactI18next","init","debug","interpolation","escapeValue","fallbackLng","resources","af","common_af","ak","common_ak","am","common_am","ar","common_ar","as","common_as","ay","common_ay","az","common_az","be","common_be","bg","common_bg","bho","common_bho","bm","common_bm","bn","common_bn","bs","common_bs","ca","common_ca","ceb","common_ceb","ckb","common_ckb","co","common_co","cs","common_cs","cy","common_cy","da","common_da","de","common_de","doi","common_doi","dv","common_dv","ee","common_ee","el","common_el","en","common_en","eo","common_eo","es","common_es","et","common_et","eu","common_eu","fa","common_fa","fi","common_fi","fr","common_fr","fy","common_fy","ga","common_ga","gd","common_gd","gl","common_gl","gn","common_gn","gom","common_gom","gu","common_gu","ha","common_ha","haw","common_haw","he","common_he","hi","common_hi","hmn","common_hmn","common_hr","ht","common_ht","hu","common_hu","hy","common_hy","common_id","ig","common_ig","ilo","common_ilo","is","common_is","it","common_it","ja","common_ja","jv","common_jv","ka","common_ka","kk","common_kk","km","common_km","kn","common_kn","ko","common_ko","kri","common_kri","ku","common_ku","ky","common_ky","la","common_la","lb","common_lb","lg","common_lg","ln","common_ln","lo","common_lo","lt","common_lt","lv","common_lv","lus","common_lus","mai","common_mai","mg","common_mg","mi","common_mi","mk","common_mk","ml","common_ml","mn","common_mn","mr","common_mr","ms","common_ms","mt","common_mt","my","common_my","ne","common_ne","nl","common_nl","no","common_no","nso","common_nso","ny","common_ny","or","common_or","om","common_om","pa","common_pa","pl","common_pl","ps","common_ps","pt","common_pt","qu","common_qu","ro","common_ro","ru","common_ru","rw","common_rw","sa","common_sa","sd","common_sd","si","common_si","sk","common_sk","sl","common_sl","sm","common_sm","sn","common_sn","so","common_so","sq","common_sq","sr","common_sr","st","common_st","su","common_su","sv","common_sv","sw","common_sw","ta","common_ta","te","common_te","tg","common_tg","th","common_th","tk","common_tk","ti","common_ti","tl","common_tl","tr","common_tr","ts","common_ts","tt","common_tt","ug","common_ug","uk","common_uk","ur","common_ur","uz","common_uz","vi","common_vi","xh","common_xh","yi","common_yi","yo","common_yo","common_zh_CN","common_zh_TW","zu","common_zu","err","_","log","getInnerFieldAnswersFromRepeatableValue","innerFieldValues","Object","flatMap","getLabelValuePair","_field$question2","_answer$fileType","field","answers","overrideFieldId","_field$question","question","t","Multiselect","Selectmultiple","selectedOptions","JSON","join","_unused","format","getPlainLabel","getAnswersFromPossibleFieldValue","possibleFieldValue","innerFields","getAnswersFromConditionalValue","innerFieldAnswers","allAnswers","getAnswersFromEquationValue","getAnswersFromInnerFields","checkUnsubmittedAnswers","omitFieldKeys","filter","x","deleteNestedAnswers","clearedFields","deleteAnswer","key","nestedAnswer","addressKey","innerAnswer","checkTicketSellingDates","canBuyTicket","startSellingDate","endSellingDate","TicketMode","PaymentMethodType","translationkey","getPurchasedTicketKey","purchasedTicket","stringify","price","currencyFormatter","locale","currencyCode","Intl","NumberFormat","style","currency","minimumFractionDigits","maximumFractionDigits","getPaymentMethods","manualPaymentText","CREDITCARD","isOnline","isSafePay","icons","src","McIcon","alt","VisaIcon","AmexIcon","WALLET","ApIcon","GpIcon","MpIcon","MANUAL","CashCheckIcon","getAnswerHash","sort","b","localeCompare","split","charCodeAt","getQuantityInCart","cart","ticketVersionId","cartAttendee","quantity","ticketMinimumsAreMet","orders","_step","_iterator","_createForOfIteratorHelper","minimumQuantity","_ret","_loop","purchasedTickets","curr","s","n","done","e","f","ticketMaximumsAreNotExceeded","_step2","_iterator2","maximumQuantity","_ret2","_loop2","getSigneeFields","template","signeeQuestions","signeeFormPermissions","getAttendeeFields","attendeeQuestions","attendeeFormPermissions","getTickets","_form$tickets","_form$tickets2","ticketPermissions","getAttachments","attachments","attachmentsPermissions","getLinkAttachments","linkAttachments","getPublicOrganizerFields","_form$template$public","_form$template","publicQuestions","getPublicOrganizerAnswers","_form$publicOrganizer","publicOrganizerAnswers","hasSafePay","_form$document$organi","_form$document","document","organization","getLabel","Equations","getEquationFielLabel","IntegratedData","getIntegratedDataFieldLabel","getSimpleFieldLabel","equationSections","labelText","getSimpleFieldPlainLabel","plainLabel","getEquationFieldName","getIntegratedDataFieldName","getValueOptions","valueOptions","getPinnedValueOptions","pinnedValueOptions","getDateFormat","getPhoneFormat","replaceAll","getYesOrNoFields","yesFieldContainer","noFieldContainer","getFieldKey","containerQuestionId","prefix","getFieldId","getEquationSectionId","getPlaceholderText","placeHolderText","getHeaderText","getSubheaderText","subHeader","getFormAttendees","selectedResponseVersion","_attendee$manualPermi","_attendee$attachmentI","_attendee$attachmentF","_attendee$notes","manualPermissionDate","attachmentId","notes","getOrderInfo","isPayNow","_selectedResponseVers","_selectedResponseVers2","isCheckedOut","unpaidOrder","amountOutstanding","responseAttendees","cloneDeep","total","grandTotal","subtotal","subTotal","latestOrder","previousOrders","getUnpaidOrderInfo","getAttendeesList","getSigneeAnswers","signeeAnswers","getNextRowOrder","rows","Math","max","row","isQuestionRequired","isRequired","getEquationQuestionNameForExpression","name","getEquationInputQuestions","getEquationCalculatedQuestions","getEquationAggregateQuestions","getCalculatedValue","expression","dataValue","getQuestionDataValue","evaluate","getInputAnswersAndExpressionValues","inputQuestions","rowId","expressionName","sectionId","characterLimit","toString","newAnswer","inputAnswers","expressionValues","getCalculatedAnswers","calculatedQuestions","calculatedExpressionValues","calculatedAnswers","getAggregateAnswers","aggregateQuestions","aggregateAnswers","getValueForEquationInputQuestion","questionType","valueType","defaultValue","min","minEntries","toFixed","isEquationRequired","mainEquationQuestion","getSimpleValue","answersDictionary","answerkey","getAnswerKey","existingAnswer","getConditionalValue","Conditional","SelectConditional","MultiFieldConditional","container","getInnerFieldsFromConditional","getFormInitialValues","getEquationValue","_answersArrayToEquati","groupBy","_rowsAndAggregates$re","rowPlaceholder","rowAnswers","keyBy","aggregates","isDirty","answersArrayToEquationValue","getCheckboxValue","_ref7","_field$question5","_field$question6","fieldAnswersRecord","_fieldAnswersRecord","Address","addressField","innerField","_innerField$question","hidden","_innerField$question2","_innerField$question3","innerFieldKey","answerKey","selectedAnswer","RepeatableQuestion","fieldIds","Time","Yesno","Upload","Multiline","Rating","Select","Dropdown","Singleline","PostalZip","Phonenumber","_field$question3","_field$question4","_ref8","_field$question7","_field$fields","_field$fields2","_field$fields3","_field$fields4","_field$fields5","_field$fields6","obj","integratedDataOnFileDictionary","responseAnswer","fieldKey","_typeof","isArray","_ref9","getAnswersDictionary","_ref10","newDictionary","integratedDataOnFileDict","getIntegratedDataDictionary","answerGetterFunction","StyledImg","Logo","width","GetLogoImage","NormalLogoImg","CircleLogoImg","StyledFooterBar","StyledLink","StyledCopyright","StyledLogoContainer","StyledLinkContainer","_defaultTheme$colors","colorAlias","colorValues","Button","hoverColor","backgroundColor","SmallButton","StyledIcon","clickable","color","hoverEnabled","Icon","icon","onClick","testId","overrideStyles","rest","_objectWithoutProperties","_excluded","_extends","PageFooter","_objectDestructuringEmpty","links","href","PCIIcon","ReactTooltip","effect","copyright","year","getFullYear","StyledErrorWrapper","ErrorComponent","internalMessage","ApolloError","logoDimensions","helpText","flexGrow","marginBottom","paddingRight","touchErrorFields","errors","touched","setFieldTouched","isPlainObject","keys","forEach","fieldName","innerErrors","idx","fieldTouched","TranslateFormErrors","children","_useFormikContext","useFormikContext","validateForm","useEffect","runValidation","on","off","useTranslateFormErrors","Wrapper","LanguageStyledSelect","LoadingIcon","SelectLanguage","onLanguageChanged","isLoadingTranslations","onChange","_Languages$find","currentTarget","FormInDraft","_useTranslation","googleTranslate","_useSignUpForNotifica","_useSignUpForNotifica2","signUp","yupValidation","Yup","shape","formName","marginTop","language","changeLanguage","SignUpForNotification","fontWeight","organizerName","Trans","i18nKey","Formik","initialValues","onSubmit","documentVersionId","validationSchema","isValid","Field","placeholder","margin","FormArchived","FormCutoff","FormClosed","redirectUrl","window","location","redirectMessage","FormInactive","getAddressInnerFields","_addressField$fields","_x$question","ResponseStep","isCollapsed","collapsedHeaders","fieldsThatDontCollapse","Header","Divider","Section","relatedFields","relatedHeaderIndex","findIndex","reverse","relatedHeaderField","headerFieldIndex","indexOf","isComplexField","isNoInputField","Descriptivetext","isSimpleField","collectFieldAnswers","rowIds","y","subField","validateString","errorMessage","trim","required","nullable","getSchemaForEquationQuestion","shouldValidate","maxEntries","minErrorMessage","maxErrorMessage","requiredErrorMessage","minSchema","maxSchema","finalSchema","getSchemaforSingleField","validateAddressField","minEntriesMessage","maxEntriesMessage","shouldNotContainValuesMessage","test","repeatableAnswers","numberOfEntries","validateRepeatableMinEntries","validateRepeatableMaxEntries","validateRepeatableField","_question$format","phoneFormat","valueNumbers","match","questionNumbers","isEmpty","validateValueFormat","validatePhoneField","checkboxValue","parseMultiselectJSON","validateValues","validateCheckbox","validateCheckboxField","validateYesNoConditionalField","minEntriesErrorMessage","validateEquationField","validateTextField","useFieldValidation","fieldValue","schema","formattedValue","validateSync","checkAnswers","failedFields","fieldsToCheck","isConditional","_field$fields$0$field","_field$fields$1$field","selectedIndex","getConditionalNestedFields","FieldContainer","canHaveChildFields","_field$question$minEn","_field$fields$map","fieldSchema","fieldAnswer","equationAnswer","getErrorListFromErrorObjects","parentKey","entries","flat","StyledFieldError","FieldError","getIn","FroalaContainer","Froala","isFieldLabel","FroalaEditorView","model","Label","TextField","ref","maxLength","setValue","saveAnswer","onBlur","handleBlur","AddressInnerField","_field$question$isReq","parentFieldId","placeHolder","validate","_useField","useField","_useField2","meta","helpers","inputValueRef","useRef","_useDebounce","useDebounce","leading","trailing","_useDebounce2","debouncedValue","debounceControls","save","isPending","newValue","AddressField","fieldsDictionary","inputRef","onPlaceSelected","autoCompleteRef","google","maps","places","Autocomplete","types","addListener","_place","getPlace","place","addEventListener","setTimeout","containers","getElementsByClassName","setAttribute","useGoogleAddress","_fieldsDictionary$fie","_place$address_compon","_place$address_compon2","address_components","long_name","getStreetNumber","_place$address_compon3","_place$address_compon4","getStreet","getStreetAddress","_place$address_compon7","_place$address_compon8","_place$address_compon9","getCity","_place$address_compon5","_place$address_compon6","getProvince","_place$address_compon10","_place$address_compon11","getPostalCode","getAddressInnerFieldValue","getAddressInnerFieldValues","_addressField$questio","isMainAddressField","AttachmentContainer","AttachmentInformationContainer","AttachmentActionsContainer","AttachmentName","AttachmentImage","FileViewerModalBackground","FileViewerModalContent","ImageView","PdfContainer","FileViewerModalClose","MimeType","PdfViewerContainer","PdfControls","PdfControlsButton","PageNumber","pdfjs","workerSrc","PdfViewer","contentUri","printUri","downloadUri","numPages","setNumPages","_useState3","_useState4","pageNumber","setPageNumber","Document","file","renderParameters","onLoadError","onSourceError","onLoadSuccess","Page","title","rel","FileViewer","viewUrl","mimeType","dismiss","handleEsc","removeEventListener","PDF","AttachmentComponent","attachment","showFile","setShowFile","ImageIcon","PDFIcon","AnyIcon","friendlyName","CheckboxField","_value$answerId","_options","setAnswerId","stringifiedArray","parsedArray","parseStringIntoArray","unshift","handleChange","updatedOptions","newAnswerId","selectedOption","checked","dayjs","customParseFormat","DateFormats","Long","Standard","YearMonthDay","MonthDayYear","DateOption","_React$Component","_classCallCheck","_callSuper","_inherits","_createClass","classNames","this","renderList","_this$props$selectedO","_this","onSelected","setState","openList","stopPropagation","_DateField","years","startYear","yearsInTheFuture","getYears","months","getValue","month","day","date","relativeMode","prevProps","_this$state$year","_this$state$month","_this$state$day","_this$props$id","_this$props$id2","_this2","stateValue","getValueState","days","getDays","showClearIcon","removeAnswer","class","onYearChanged","onMonthChanged","onDayChanged","hideState","dateTime","getFormat","meetsMinimum","minDate","_this3","emptyAnswer","_this4","parseInt","modified","_this5","_this6","invalidStates","NaN","currentValue","parsedValue","formattedMonth","formattedDay","daysInMonth","getDate","_this$props$format","_modified","_value2","readonly","allowChangeOnInvalid","_this$props$error","translationKey","DateField","ErrorBoundary","_Component","_len","args","_key","errorInfo","Component","IntegratedDataField","readOnly","originalValue","FieldSelector","hideLabel","_field$question$sortV","_field$question$chara","_field$question$sortV2","_field$question$chara2","_field$id","_field$question$place","_field$question8","_field$id2","_field$question$id","_field$question9","uploadUrl","viewFileUrl","isTicketQuestion","handleToggleCollapse","fileSelected","fileRemoved","YesNoConditionalField","DropdownConditionalField","RepeatableQuestionField","DropdownField","sortValueOptions","TextAreaField","YesNoField","HeaderField","headerText","subheaderText","collapsible","collapsable","ParagraphField","PhoneField","RatingField","TimeField","UploadField","EquationsField","selectedOptionFields","eventValue","allFields","_newValue","_answerId","fieldGroup","PhoneErrorContainer","customInput","mask","ClearIconWrapper","rating","selectedStar","FaStar","unSelectedStar","FaRegStar","RatingDisplayField","_this$getValue","hour","minute","amPm","minutes","_this$getValue2","_this$state$hour","_this$state$minute","_this$state$amPm","hours","onHourChanged","onMinuteChanged","amPmOptions","onAmPmChanged","selectedTime","substring","TrashIcon","TrashButton","useTheme","isImage","BMP","PNG","JPG","GIF","isManualAttachment","selectedFile","setFile","progress","setProgress","_useState5","_useState6","_useState7","errorKey","fileName","_useState8","setError","_useState9","_useState10","userUploadedAFile","setUserUploadedAFile","allowedFileTypes","isInsideRepeatable","imageUrl","canUpload","fileIsValid","_file","reader","files","FileReader","readAsDataURL","onloadend","upload","onDropped","_file2","dataTransfer","uploadAnswer","_uploadAnswer","onUploadProgress","_p$total","ceil","loaded","click","onDrop","onDragOver","PdfIcon","FileIcon","UploadIcon","accept","_value$answer$answerI","_getYesOrNoFields","_getYesOrNoFields2","yesFields","noFields","yesChecked","noChecked","marginRight","AnswerBackground","ButtonRow","ControlType","getNumericInputLogic","step","fixedDecimalPlaces","isDecrementDisabled","isNumber","isIncrementDisabled","useDecimalScale","decimalScale","onIncrease","onDecrease","numberFormatValue","StyledInput","StyledVerticalInput","StyledHorizontalInput","HorizontalButton","NumericInputWrapper","minWidth","VerticalButton","Vertical","_getNumericInputLogic","fixedDecimalScale","allowEmptyFormatting","onValueChange","Horizontal","Simple","NumericInput","controlType","_ref$type","TableWrapper","table","HeaderRow","Row","Cell","td","alignLeft","InvisibleCell","AggregateCell","InvisibleHeader","StyledTableRowTextInput","StyledTableRowLabel","Table","EquationSection","_question$name","editRowValue","equationSectionId","minValue","maxValue","float","colorOrDisabled","pointerOrDisabled","AggregatesWrapper","AggregatesTable","isEditing","NonSubmittingButton","DeleteRowIcon","AddRowButton","ClearRowButton","EquationsDisplayField","tableHeaders","hasRows","formatValue","parseFloat","_row$answers$header$n","_aggregates$question$","_aggregates$question$2","DisplayAnswers","_showFile$fileType","integratedDataAnswers","uploadedFileViewBaseUrl","shouldTranslateAnswers","setCollapsedHeaders","existing","displayAnswer","labelValue","direction","questionLabel","questionValue","dir","collapsed","_field$question$id3","_field$question$id2","displayPhoneAnswer","_f$question","addressIndex","_addressField$questio2","cursor","verticalAlign","marginLeft","answersByOrder","rowOrder","addressFieldId","_row$fields","_field$question$id4","_field$question$id5","_field$question$value","_field$question10","_field$question$id6","_field$question11","_field$fields$selecte","_field$question12","_integratedDataAnswer","_answers$find","_field$fields7","existingValue","valueChanged","valueRemoved","existingValueLabel","newValueLabel","originalQuestion","RepeatableAnswers","handleSelectRow","handleDeleteRow","Fragment","RepeatableForm","setIsDirty","resetForm","submitForm","repeatableField","_value$answers2","selectedFiles","setSelectedFiles","deletedFiles","setDeletedFiles","_useRepeatableLogic","editingRow","setEditingRow","originalAnswers","setOriginalAnswers","setInnerFieldValues","addRow","newAnswers","newInnerFields","Promise","allSettled","editRow","_callee7","editedAnswers","changedAnswers","otherAnswers","emptyInnerFields","_context7","editedAnswer","_x13","_callee6","_context6","_x14","deleteRow","_callee8","_value$answers$reduce","remainingAnswers","answersToDelete","_context8","_x15","selectRow","useRepeatableLogic","onSelectFile","onRemoveFile","enableReinitialize","_value$answers$map$so","_value$answers","dirty","EquationsForm","handleClick","errorKeys","paddingTop","padding","EditRow","allQuestions","_question$id","columnName","_row$answers$question","_row$answers$question2","_row$answers$question3","_row$answers$question4","_row$answers$question5","_row$answers$question6","renderCalculatedValue","_useEquationsLogic","sectionAnswer","getEquationInnerFields","setLoading","debouncedSaveAnswer","useDebouncedCallback","oldAnswers","newRow","savedAnswers","all","flush","rowInput","newRowId","_getInputAnswersAndEx","newAnswerInputs","aggregate","_inputQuestions$reduc","tempValue","inputAnswer","selectedAnswers","selectedRow","currentRows","currentInputs","currentAnswers","currentAnswer","answerToDelete","useEquationsLogic","_aggregates$question$3","_aggregates$question$4","NavigationListItem","item","number","linkIsActive","openItem","setOpenMenu","activeName","isDisabled","subMenuItems","subMenuItem","displayText","_item$slug","slug","userSelect","subIndex","_subMenuItem$slug","Totals","taxes","serviceFee","baseFee","showFees","isFeesAssigned","showTotal","gst","pst","textDecorationStyle","textDecorationLine","TicketTypeCode","TicketPriceWrapper","TicketPrice","typeCode","isPreview","parentPays","priceLabel","Free","Donation","TICKET_INVENTORY_QUERY","cancelTicketMutationUpdater","_attendee$tickets2","_variables$purchasedT","attendeeTickets","purchasedTicketId","purchasedTicketIds","remainingIds","splice","newTotal","_a$tickets$reduce2","_a$tickets2","acc2","newResponse","RESPONSE_VERSIONS_QUERY","signeeInfo","_responseVersion$sign","_responseVersion$sign2","_responseVersion$sign3","_responseVersion$sign4","_responseVersion$sign5","_responseVersion$sour","_responseVersion$tagI","signeeFirstName","signeeLastName","signeeEmail","signeeNotes","signeeAttachmentId","Organic","tagId","isProcess","Process","isManual","Manual","isStaff","isInternal","Internal","isRostered","isAuthenticatedResponse","isSigned","signeeValuesAreUpdated","signeeValues","currentSigneeValues","tagValueIsUpdated","attendeesAreUpdated","_responseVersion$atte","isChanged","editedAttendee","SubtotalLabel","StyledQuantity","PurchasedTicketPreview","_purchasedTicket$quan","_purchasedTicket$quan2","mode","onCancelTicket","fontSize","CART_PREVIEW","lineHeight","formQuestions","Thumbnail","DefaultImage","StyledSpan","DateNotice","start","end","startDate","endDate","noticeMessage","toDateString","SoldOutLabel","QuantitySection","_ticket$maximumQuanti","_input$value","_ticket$maximumQuanti2","quantityInCart","quantityInCartForThisAttendee","Infinity","minQuantity","minQuantityForThisAttendee","isSoldOut","setQuantity","inRange","ProgressTrackerContainer","CompleteText","Percentage","TimeEstimate","CompletionProgressBar","isSimpleFieldAnswered","some","isFieldAnswered","getFlattenedFieldList","flattenedFields","selectedFields","mainAnswer","getMultiFieldConditionalInnerFields","getSelectConditionalInnerFields","Boolean","ProgressTracker","_orderInfo$cart$reduc","_orderInfo$cart","responseVersionHash","responseVersionQuery","requiresPermission","calculateTimeEstimation","numberOfAttendees","signeeFields","attendeeFields","isGeneralSignup","orderInfo","flattenedSigneeFields","numberOfFields","numberOfFieldsCompleted","signeeFormTimeEstimation","attendeeFormTimeEstimation","ticketTimeEstimation","flattenedAttendeeFields","ticketIdsInCartCount","_attendee$tickets","_orderInfo$latestOrde","_orderInfo$latestOrde2","_ticket$formQuestions","_ticket$formQuestions2","ticketAnswerValues","millis","sign","seconds","totalEstimationTime","timeEstimate","floor","ErrorNavigatorWrapper","ErrorNavigationMessage","ShowNextErrorButton","ErrorIcon","ErrorNavigator","submitCount","errorList","selectedError","shouldShowError","element","getElementById","getBoundingClientRect","top","pageYOffset","scrollTo","behavior","navigateToError","ModalTitle","InfoModalContent","InfoModalBackground","InfoModalTitleContainer","InfoModalMessageContainer","InfoModalCloseIconContainer","InfoModalActionButtonsContainer","InfoModal","confirmButtonText","onCancel","onConfirm","border","NavigationButtons","nextButtonDisabled","_ref$displayBackButto","displayBackButton","_ref$displayNextButto","displayNextButton","backOnClick","nextOnClick","shouldSaveAnswer","previousValue","saveAttendeeAnswerMutationUpdater","_attendee$attendeeAns","newAttedeeAnswers","saveAttendeeAnswerForResponse","SaveAttendeeAnswer","deleteAttendeeAnswerMutationUpdater","_attendee$attendeeAns2","newAttendeeAnswers","answerOrder","variableOrder","deleteAnswerForResponse","hasAttendeeQuestions","documentVersion","_documentVersion$temp","hasSigneeQuestions","_documentVersion$temp3","hasTickets","_documentVersion$tick","_documentVersion$temp4","scrollToTop","StyledOrderContainer","PreviousTicket","_purchasedTicket$name","PreviousOrder","attendeeTicketsDict","orderDate","orderNumber","purchaserFirstName","purchaserLastName","PreviousOrders","orderId","TicketsSection","_errors$RespondentMus","inventories","onReserveTicket","requiresATicket","RespondentMustSelectATicket","TicketSection","FORM_INFO_QUERY","injectPreviewDataIntoCache","inventoryUpdater","ticketIds","ticketInventoryMutationUpdater","TicketInventory","Tickets","client","useApolloClient","ticketInventoryQuery","_ticketInventoryQuery","isPreviewInventoryLoaded","cachedData","_cachedData$Form","updatedTickets","matchingInventory","inv","useTicketInventory","responseVersionQueryVariables","mutationOptions","awaitRefetchQueries","refetchQueries","_useReserveTicketMuta","reserveTicket","_useCancelTicketMutat","cancelTicket","openValueAmount","reserveTicketInput","hasTicketsInCart","SHOPPING","ReserveTicket","updater","signee","answerHash","ticketPrice","existingTicket","canRefund","baseFeeString","totalFees","totalFeesString","grandTotalOriginal","hasBeenPaid","isRefunded","paymentTypes","refundedAmount","wasManuallyPaid","_ticket$sortOrder","createdDate","description","fill","sortOrder","totalPrice","defaultPrice","_a$sortOrder","_b$sortOrder","_a$tickets$reduce","_a$tickets","reserveTicketMutationUpdater","resolve","TicketsPreview","PREVIEW","CancelTicket","TicketsAndAttendeeForm","_attendeesList$attend","_attendeesList$attend2","_responseVersionQuery","_responseVersionQuery2","navigate","useNavigate","requestError","accessData","showModal","setShowModal","disableNextButton","setDisableNextButton","_useSaveAttendeeAnswe","saveAttendeeAnswerFunction","safeSaveAnswer","formInfo","attendeesList","saveAttendeeAnswer","_args$variables2","_answersDictionary$an2","_result$data2","_useDeleteAttendeeAns","deleteAttendeeAnswer","currentUrl","pathname","Navigate","to","AttendeeFormRoute","selectedAttendee","attendeeFullName","previewAnswer","update","DeleteAttendeeAnswer","nextPage","setFieldError","continueWithoutTickets","_formInfo$form","respondentMustSelectATicket","ticketMinimumsAreValid","ticketMaximumsAreValid","nextIndex","ReviewRoute","handleSubmit","integratedDataFields","needsSaving","PageHeader","previousIndex","SigneeFormRoute","AttendeeInformationRoute","TicketContainer","unavailable","TicketQuestionsHeader","AddToCartButton","TicketQuestionsSection","TicketHeader","thumbnailUrl","imageId","displaySummaryForSimpleTicket","CHECKOUT","hasOptions","filteredFields","_result$data","possibleFieldValues","_values$openValueAmou","_values$openValueAmou2","_ticket$price","isSubmitting","setFieldValue","showOptions","addToCartLabel","newAmount","TicketPreview","_purchasedTickets$red","_purchasedTickets$red2","showDetails","setShowDetails","totalQuantity","AttendeePreviewWrapper","PermissionLabel","isPermitted","AttendeePreview","_attendee$permitted","_attendee$integratedD","affirmativePermission","negativePermission","displayAnswers","AttendeeHeader","showPermission","permissionLabel","StyledButton","QuantityIcon","CartButton","StyledModal","StyledModalContent","CartModalBoundaries","StyledCartContainer","Cart","_responseVersionQuery3","safePay","CartContainer","_formInfo$form3","_formInfo$form2","CartModal","isLoading","_order$purchasedTicke","_order$purchasedTicke2","expandCart","setExpandCart","closeModal","CartHeader","CartFooter","StyledPreviewBar","PreviewBar","guardianRoleLabel","TelemetryProvider","appInsights","ApplicationInsights","config","connectionString","instrumentationKey","disableTelemetry","enableAutoRouteTracking","extensions","reactPlugin","enableCorsCorrelation","distributedTracingMode","DistributedTracingModes","W3C","correlationHeaderExcludedDomains","addTelemetryInitializer","envelope","baseData","RemoteDependencyData","envelopeType","loadAppInsights","botdLoad","then","botd","detect","botdValue","isBot","bot","botKind","context","application","ver","appVersion","ReactPlugin","withAITracking","ErrorBar","_requestError$message","_appInsights$context","_requestError$message2","errorHeader","userId","getAppInsights","user","SigneeInfoRoute","graphQLErrors","url","networkError","clientErrors","displayGraphQLError","reload","_error$extensions$res","_error$extensions$res2","_organizationInfoQuer","_navItems$find","_singleNavSubItems$fi","_form$document$organi2","_orgByHash$data","orgByHash","hideNavigation","useLocation","_useFormInfo","formInfoError","hasAccess","headerBarRef","organizationInfoQuery","OrganizationByHash","brandingOrg","useOrganizationBranding","requiresAccess","restrictResponses","accessFields","parent","orgName","hasPermittedAttendees","navItems","showCart","questionSubMenuItems","signeeFormSlug","attendeeFormSlug","reviewSlug","singleNavSubItems","navItem","singleNav","logoOrOrgName","logo","isCartVisible","subNavItem","roleLabels","guardian","onNavigate","HeaderBarSpacer","headerRef","setHeight","headerHeight","clientHeight","useLayoutEffect","AccessDataForm","submit","showValidation","AccessData","_eligibleTagsQuery$er","_useValidateAccessMut","_useValidateAccessMut2","validateAccess","validateAccessQuery","setShowValidation","eligibleTagsQuery","responseOrganizationId","requiresAccessAnswers","ValidateAccess","hasReachedResponseCutOffDate","SelectResponseRoute","accessAnswerInitialValues","_x$field$id","_x$field$question$id","_x$field$question","_accessAnswer$value","accessAnswer","accessField","modifiedAnswers","_responseVersion$resp","every","FeedbackContainer","StartFeedbackContainer","StartFeedbackButton","SentFeedbackContainer","FeedbackForm","feedback","Feedback","isSendingFeedback","setIsSendingFeedback","isFeedbackSent","setIsFeedbackSent","_useSubmitFeedbackMut","submitFeedback","onSubmitFeedback","signeeEmailAddress","organizerLabel","organizerText","organizer","Confirmation","_form$document$showCo","_responseVersion$tota","_form$allowOnlinePaym","_form$document2","selectedPaymentType","responseAlreadySubmitted","showFeedback","showContactForm","totalPayment","allowOnlinePaymentsOnly","orgHasSafePayEnabled","selectedPaymentMethod","pM","hasApprovers","textAlign","components","strong","amount","opener","close","parentMessage","ConfirmationRoute","TopLevelLink","LinkImage","LinkContainer","Link","LinkTitle","LinkDescription","LinkAttachmentComponent","_uri","uri","startsWith","LinkIcon","fontFamily","PrimaryAttachmentContainer","PrimaryAttachment","AttendeesPreview","attendeesToDisplay","acceptTermsUpdater","signedDate","Responded","ErrorLabel","AcceptTermsAndSubmit","setPaymentFormValue","acceptTerms","isAccepted","isTermsAccepted","acceptOrgTerms","isOrgTermsAccepted","orgDisclaimer","disclaimer","hasOrgTermsAndConditions","isSubmitButtonDisabled","stripeToken","isPaymentValid","onKeyDown","tabIndex","paddingLeft","termsOfServiceLink","privacyPolicyLink","PaymentOptionContainer","StyledPaymentImage","StyledMobilePaymentImage","PaymentOption","isSelected","maxWidth","createOptions","base","invalid","CreditCardLabel","CreditCardPaymentContainer","CreditCardPaymentComponent","onTokenReceived","stripe","useStripe","elements","useElements","errorCode","setErrorCode","card","_token","complete","getElement","CardNumberElement","createToken","token","onStripeTokenReceived","_token2","_token$error","exists","_token$token","toUpperCase","CardExpiryElement","CardCvcElement","OnlinePay","stripePromise","Elements","WalletLabel","WalletPaymentComponent","country","paymentRequest","setPaymentRequest","walletUnavailable","setWalletUnavailable","success","setSuccess","round","requestPayerName","requestPayerEmail","canMakePayment","PaymentRequestButtonElement","WalletPay","PaymentSection","_form$name","_form$document3","_values$total","passAlongFees","organizationName","paymentCountryCode","paymentCurrencyCode","paymentOptions","pO","setPaymentOption","paymentOption","taxesAndFeesQuery","passFeesToBuyer","assignFees","_taxesAndFeesQuery$da","tokenFeeMethodType","_token$card","_token$card2","_token$card3","credit","funding","debit","DomesticCreditCard","DomesticDebitCard","InternationalCreditCard","InternationalDebitCard","getStripeTokenFeeMethod","fees","TaxesAndFees","estimates","estimate","amountToCharge","providerFee","applicationFeeNet","applicationFeeTax","gstLabel","pstLabel","refetch","useDefaultPaymentMethod","_values$selectedPayme","_values$selectedPayme2","SelectedPaymentOption","walletPayProps","creditCardPaymentOption","Review","_formInfo$form4","_tickets$some","_formInfo$form$docume","_formInfo$form5","_orderInfo$subtotal","_orderInfo$subtotal2","isUpdatingCart","setUpdatingCart","selectedLanguage","_useAcceptTermsMutati","listOfValidationErrors","mustSelectAtLeastOneTicket","cartOrder","formErrors","signeeErrorFields","SigneeForm","route","attendeeErrorFields","AttendeeForm","useValidateAnswers","formInformation","information","primaryAttachment","isPrimary","publicOrganizerFields","guardianRole","orderStatus","PaymentRequired","onAcceptTerms","paymentToken","languageCode","AcceptTerms","nodes","positions","path","originalError","locations","previewOnCancelTicket","tax","isServiceFeeAssigned","linkAttachment","_values$stripeToken","_values$subtotal","validationError","RosterLanding","_hashedId$substring","rosteredResponse","documentHashId","AccessDataRoute","ResponseResumeAction","editAttendeesMutationUpdater","editedAttendees","EditAttendees","updatedResponseVersion","updateActiveResponseVersion","activeResponseVersion","cachedAttendees","newAttendees","currAttendee","newResponseVersion","newOrders","newTickets","newAttendee","_newTickets$reduce","saveSigneeAnswerMutationUpdater","newSigneeAnswers","saveAnswerForResponse","SaveSigneeAnswer","updateTagMutationUpdater","updateTag","ResumeListItem","currentFormId","responseEditsArePermitted","isStarted","responseCreatedOnLatestFormVersion","_this$responseVersion","isCancelled","Cancelled","Rejected","Started","PendingApproval","Pending","isRejected","canAddNewVersion","canStart","StartResponse","isPendingApproval","canResume","canRestart","canUpdateFormVersion","canPay","None","Resume","Update","Edit","Restart","ResponseCard","_formInfoQueryData$Fo","_formInfoQueryData$Fo2","_formInfoQueryData$Fo3","_formInfoQueryData$Fo4","handlePayNow","handleSelectResponse","formInfoQueryData","listItem","disableResponseEditing","dateString","endsWith","toLocaleDateString","getReadableDate","hour12","completedByOrganizationName","buttonText","SelectResponse","_params$firstName","_params$lastName","_params$email","_params$responseSourc","_params$attachmentId","_params$notes","_responseVersionsQuer","_eligibleTagsQuery$el","isInfoModalOpen","setInfoModalOpen","params","_useCreateResponseMut","_useCreateResponseMut2","createResponse","createResponseLoading","_useAddResponseVersio","AddResponseVersion","_useAddResponseVersio2","addResponseVersion","addResponseLoading","_useRestartResponseMu","useRestartResponseMutation","RestartResponse","_useRestartResponseMu2","restartResponse","restartResponseLoading","_useUpdateResponseVer","useUpdateResponseVersionMutation","UpdateResponseVersion","_useUpdateResponseVer2","updateResponseVersion","updateResponseLoading","_useRestartInProcessR","useRestartInProcessResponseMutation","RestartInProcessResponse","_useRestartInProcessR2","restartInProcessResponse","restartInProcessResponseLoading","_useSaveAttendeeAnswe2","saveAttendeeAnswerLoading","_useResponseLazyQuery","useResponseLazyQuery","_useResponseLazyQuery2","setResponse","setResponseLoading","responseVersionsQuery","isStaffResponse","isProcessResponse","isRosteredResponse","_responseVersionsQuer2","_responseVersionsQuer3","_staffResponseVersion","_staffResponseVersion2","_staffResponseVersion3","staffResponseVersionsQuery","useStaffResponseVersionsQuery","responseVersions","ResponseVersions","StaffResponseVersions","useResponseVersions","resumeListItem","_resumeListItem$respo","navigateToNextStep","_resumeListItem$respo2","resumeAction","addNewVersion","restart","restartInProcess","updateResponseVersionForm","_documentVersion$temp2","_integratedDataField$","_integratedDataField$2","integratedDataField","_integratedDataField$3","_integratedDataField$4","delegateYield","_result$data3","_result$data4","_result$data5","_result$data6","_result$data7","_result$data8","_result$data9","handleCreateNewResponse","_responseVersions$0$s","_responseVersions$0$s2","_responseVersions$0$s3","_result$data10","organizationHash","startNewResponseStatus","disabledMessage","getStartNewResponseStatus","position","right","bottom","deleteSigneeAnswerMutationUpdater","cacheData","_variables$answerInpu","_variables$answerInpu2","initialAnswers","saveSigneeAnswer","_useSaveSigneeAnswerM","saveSigneeAnswerFunction","setAnswersDictionary","_args$variables","_answersDictionary$an","useSafeSaveSigneeAnswerMutation","_useDeleteSigneeAnswe","deleteSigneeAnswer","_useSigneeQuestions","useSigneeQuestions","DeleteSigneeAnswer","textFieldValidation","IconButton","AttendeeField","attendeeLabel","tooltipId","disableInput","multiline","StudentInfoForm","canAddMultipleAttendees","disableAttendeeNameEditing","of","when","useStudentInfoValidation","isResponseManual","canAddAttendees","manualAttachmentUploadUrl","handleBackClick","student","FieldArray","render","remove","firstNameKey","lastNameKey","permittedKey","manualPermissionDateKey","manualAttachmentIdKey","manualNotesKey","canDelete","paddingBottom","role","StudentInfo","_form$document$disabl","_useEditAttendeesMuta","editAttendees","orgRoleLabels","allowMultipleChildrenOnOneOrder","PublicLanding","_useParams","EventDates","cutOffDate","advancedFormat","SigneeInfoForm","signeeInfoValidation","hasMultipleTags","useSigneeInfoValidation","signeeFirstNameLabel","signeeFirstNamePlaceholder","signeeFirstNameAutoPopulatedMessage","signeeLastNameLabel","signeeLastNamePlaceholder","signeeLastNameAutoPopulatedMessage","emailLabel","emailPlaceholder","minHeight","signeeAttachmentFileType","html","gdprCountryCodes","SigneeInfo","_eligibleTags$","_form$startDate","_form$endDate","_form$responseCutOffL","_useUpdateTagMutation","_useResponseVersionsL","useResponseVersionsLazyQuery","_useResponseVersionsL2","listResponseVersions","listResponseQuery","createResponseQuery","gainsightInitialized","_organization$country","_organization$country2","isGDPRCountry","has","isProduction","random","aptrinsic","useGainsight","navigateToNextPage","setSubmitting","previewResponse","currentData","readQuery","previewResponseVersion","NotApplicable","isPaymentRequired","sourceId","originalValueUri","getPreviewResponseVersion","previewOnCreateResponse","signeeValuesUpdated","tagValueUpdated","responseCutOffLocalDate","PayNowLanding","_existingResponse$ord","existingResponse","PDFDownloadLanding","downloadUrl","RosterBase","RouteBase","OrgRouteBase","PreviewBase","Routes","ReactRoutes","Route","defaultMergeFunction","_existing","incoming","loadStripe","requiresAuth","hostname","authLink","setContext","jwt","authorization","httpLink","createHttpLink","ApolloClient","link","mutate","errorPolicy","InMemoryCache","typePolicies","Query","merge","ResponseVersion","keyFields","Answer","Question","Attendee","App","ApolloProvider","ThemeProvider","I18nextProvider","BrowserRouter","createRoot","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","amdD","amdO","O","chunkIds","fn","priority","notFulfilled","fulfilled","j","r","getter","__esModule","d","getPrototypeOf","ns","create","def","getOwnPropertyNames","definition","o","defineProperty","enumerable","get","g","globalThis","Function","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","nc","__webpack_exports__"],"sourceRoot":""}