{"version":3,"file":"js/application-1acc0e4012494e1db7aa.js","mappings":"oJAKA,MAAMA,GAAgBC,EAAAA,EAAAA,OAAK,IAAM,0EAYjC,OAAeC,EAAAA,EAAAA,IAVoBC,EAAGC,UAElCC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACC,EAAAA,EAAuB,CAACC,MAAOH,GAC9BC,EAAAA,cAACL,EAAa,UCRtB,MAAMQ,GAAiBP,EAAAA,EAAAA,OAAK,IAAM,iEAMlC,OAAeC,EAAAA,EAAAA,IAJ2BO,IACjCJ,EAAAA,cAACG,EAAc,QCexBE,SAASC,iBAAiB,qBAAqB,KAC7CC,IAAAA,wBAAqC,IAGvCA,IAAAA,WAAwB,CACtBC,OAAO,IAGT,MAAMC,GAAoBb,EAAAA,EAAAA,OACxB,IAAM,gCAEFc,GAAgBd,EAAAA,EAAAA,OACpB,IAAM,gCAEFe,GAA8Bf,EAAAA,EAAAA,OAClC,IAAM,gCAGRW,IAAAA,SAAsB,CACpBE,oBACAC,gBACAf,cAAa,EACbiB,qBAAoB,EACpBD,+B,+ECzCK,MAAME,GAAaC,EAAAA,EAAAA,iBAwB1B,IAtBA,UAAqB,SAAEC,EAAQ,aAAEC,IAC/B,IAAIC,EAAS,CACXC,QAASF,GAAcG,QAAU,mCACjCC,QAAS,CACP,eAAgB,mBAChBC,OAAQ,oBAEVC,iBAAiB,EACjBC,QAAS,MAGoB,eAA3BP,GAAcQ,WAA2BP,EAAOM,QAAU,KAE9D,MAAME,GAAWC,EAAAA,EAAAA,QAAOC,EAAAA,EAAMC,OAAO,IAAKX,KAE1C,OACEjB,EAAAA,cAACa,EAAWgB,SAAQ,CAAC3B,MAAO,CAAEc,eAAcW,MAAOF,EAASK,UACzDf,EAGP,C,yFCrBO,MAAMgB,GAAyBjB,EAAAA,EAAAA,iBA+LtC,IA7LA,UAAiC,SAAEC,EAAQ,MAAEb,IAC3C,MAAM,MAAEyB,IAAUK,EAAAA,EAAAA,MACXC,EAAaC,IAAkBC,EAAAA,EAAAA,UAASjC,EAAMkC,oBAC9CC,EAAmBC,IAAwBH,EAAAA,EAAAA,UAChDjC,EAAMmC,oBAEDE,EAAYC,IAAiBL,EAAAA,EAAAA,UAAS,OACtCM,EAAyBC,IAA8BP,EAAAA,EAAAA,UAAS,OAChEQ,EAAcC,IAAmBT,EAAAA,EAAAA,WAAS,IAC1CU,EAAWC,IAAgBX,EAAAA,EAAAA,WAAS,IACrC,iBAAEY,EAAgB,KAAEC,EAAI,gBAAEC,EAAe,kBAAEC,GAAsBhD,EACjEiD,GAAUzB,EAAAA,EAAAA,QAAO,MAEjB0B,GAAgBC,EAAAA,EAAAA,cAAY,KAC3BN,GACLpB,EACG2B,IAAIP,EAAmBG,GACvBK,MAAMC,IACLhB,EAAcgB,EAAIzD,KAAKA,MACvB2C,EAA2Bc,EAAIzD,KAAKA,KAAK0D,oBAAoB,IAE9DC,OAAOC,IACNzB,GAAe,GACfI,EAAqBqB,EAAIC,SAAS7D,KAAKA,KAAK8D,OAAO,GACnD,GACH,CAACd,IAEEe,GAAsBT,EAAAA,EAAAA,cAAY,KACtC1B,EAAM2B,IAAI,6BAA6BC,MAAMC,IAC3Cd,EAA2Bc,EAAIzD,KAAK,GACpC,GACD,IAEGgE,GAAmBV,EAAAA,EAAAA,cACvB,CAACW,EAAMC,KACL,MAAMC,EAAW,IAAIC,SACrBD,EAASE,OAAO,MAAO3B,EAAwB4B,KAC/CH,EAASE,OAAO,MAAO3B,EAAwB6B,KAC/CJ,EAASE,OAAO,iBAAkB3B,EAAwB8B,gBAC1DL,EAASE,OAAO,SAAU3B,EAAwB+B,QAClDN,EAASE,OAAO,YAAa3B,EAAwBgC,WACrDP,EAASE,OACP,wBACA3B,EAAwBiC,qBAE1BR,EAASE,OACP,mBACA3B,EAAwB,qBAE1ByB,EAASE,OAAO,OAAQ3B,EAAwBkC,MAChDT,EAASE,OAAO,eAAgB,IAChCF,EAASE,OAAO,eAAgBJ,EAAKY,MACrCV,EAASE,OAAO,OAAQJ,IAExBa,EAAAA,EAAAA,GAAU,CACRC,IAAKrC,EAAwBqC,IAC7BC,OAAQtC,EAAwBsC,OAChChF,KAAMmE,EACN9C,QAAS,CACP,eAAgB,sBAChBC,OAAQ,SAETkC,MAAMC,IACHS,GACFA,EAAST,EAAIzD,MAEf+D,GAAqB,GACrB,GAEJ,CAACrB,IAGGuC,GAA2B3B,EAAAA,EAAAA,cAAY,CAACgB,EAAKJ,KACjDtC,EACGsD,KAAK,kCAAmC,CACvCC,aAAc,CACZb,IAAKA,KAGRd,MAAK,KACAU,GACFA,GACF,GACA,IAGAkB,GAAwB9B,EAAAA,EAAAA,cAAY,CAACgB,EAAKJ,KAC9CtC,EACGsD,KAAK,mCAAoC,CACxCC,aAAc,CACZb,IAAKA,KAGRd,MAAMC,IACDS,GACFA,EAAST,EAAIzD,KAAKA,KACpB,GACA,IAGAqF,GAAa/B,EAAAA,EAAAA,cACjB,IACEF,GAASrB,SAASuD,cAChB,IAAIC,MAAM,SAAU,CAAEC,YAAY,EAAMC,SAAS,MAErD,CAACrC,IAEGsC,GAAmBpC,EAAAA,EAAAA,cACtBtD,IACCyC,EAAc,MACd,MAAMkD,EAAuC,mBAAzBnD,GAAYoD,SAC1Bb,EAAMY,EACP,aAAY1C,oBAAuBE,IACnC,aAAYA,IACjBvB,EACGsD,KAAKH,EAAK,IACN/E,IAEJwD,MAAMC,IACDkC,GACFlD,EAAcgB,EAAIzD,KAAKA,MACvB2C,EAA2Bc,EAAIzD,KAAKA,KAAK0D,sBAEzCmC,OAAOC,SACLrC,EAAIzD,KAAKA,KAAK+F,SAAWtC,EAAIzD,KAAKA,KAAKgG,QAAQjB,GACnD,IAEDpB,OAAOC,IACNzB,GAAe,GACfI,EAAqBqB,EAAIC,SAAS7D,KAAKA,KAAK8D,QAC5CrB,EAAc,KAAK,GACnB,GAEN,CAACQ,EAAMT,IAEHyD,GAAkB3C,EAAAA,EAAAA,cAAatD,IACnC4B,EAAMsD,KAAM,mBAAkB/B,IAAqB,IAC9CnD,GACH,GACD,IACGkG,GAAoB5C,EAAAA,EAAAA,cACxB,CAAC6C,OAAoBC,EAAWC,OAAoBD,KAC7ClD,GACLtB,EACGsD,KAAKhC,GACLM,MAAMC,IACDA,EAAIzD,KAAKA,OACXqD,IACI8C,GAAmBA,EAAkB1C,EAAIzD,KAAKA,MAClDmC,EAAesB,EAAIzD,KAAKA,KAAKqC,mBAC7BE,EAAqBkB,EAAIzD,KAAKA,KAAKsC,mBACrC,IAEDqB,OAAM,KACD0C,GAAmBA,GAAmB,GAC1C,GAEN,CAACnD,IAGH,OACEjD,EAAAA,cAAC+B,EAAuBF,SAAQ,CAC9B3B,MAAO,CACLH,KAAMG,EACNqC,WAAYA,EACZa,gBACAnB,YAAaA,EACbC,eAAgBA,EAChBG,kBAAmBA,EACnBC,qBAAsBA,EACtBa,QAASA,EACTiC,WAAYA,EACZK,iBAAkBA,EAClBO,gBAAiBA,EACjBjC,iBAAkBA,EAClBiB,yBAA0BA,EAC1BG,sBAAuBA,EACvBxC,aAAcA,EACdC,gBAAiBA,EACjBC,UAAWA,EACXC,aAAcA,EACdmD,kBAAmBA,IAGpBlF,EAGP,C,qEC/LO,MAAMsF,GAAqBvF,EAAAA,EAAAA,iBAUlC,IARA,UAA6B,SAAEC,EAAQ,YAAEuF,IACvC,OACEtG,EAAAA,cAACqG,EAAmBxE,SAAQ,CAAC3B,MAAOoG,GACjCvF,EAGP,C,yFCAA,MANc,ICJI,CAChBwF,OAAQ,CACNC,uBAAwB,UACxBC,0BAA2B,UAC3BC,kBAAmB,UACnBC,iBAAkB,UAClBC,iBAAkB,UAClBC,iBAAkB,UAClBC,oBAAqB,UACrBC,iBAAkB,UAClBC,mBAAoB,UACpBC,aAAc,UACdC,iBAAkB,UAClBC,yBAA0B,YAC1BC,yBAA0B,UAC1BC,eAAgB,UAChBC,2BAA4B,4BAC5BC,aAAc,UACdC,kBAAmB,UACnBC,qBAAsB,UACtBC,cAAe,UACfC,oBAAqB,YACrBC,oBAAqB,YACrBC,oBAAqB,YACrBC,YAAa,UACbC,mBAAoB,4BACpBC,mBAAoB,4BACpBC,kBAAmB,YACnBC,mBAAoB,4BACpBC,cAAe,UACfC,oBAAqB,UACrBC,+BAAgC,4BAChCC,4BAA6B,UAC7BC,wBAAyB,kBACzBC,aAAc,CACZC,MAAO,CACLC,IAAK,UACLC,KAAM,UACNC,MAAO,WAETC,OAAQ,CACNH,IAAK,UACLC,KAAM,UACNC,MAAO,WAETE,MAAO,CACLJ,IAAK,UACLC,KAAM,UACNC,MAAO,cD1CbG,WAAY,IEJK,CACjBC,sBAAsBC,EAAAA,EAAAA,IAAG,2FAOzBC,qBAAqBD,EAAAA,EAAAA,IAAG,2FAOxBE,mBAAmBF,EAAAA,EAAAA,IAAG,2FAOtBG,oBAAoBH,EAAAA,EAAAA,IAAG,2FAOvBI,sBAAsBJ,EAAAA,EAAAA,IAAG,2FAOzBK,eAAeL,EAAAA,EAAAA,IAAG,2FAOlBM,oBAAoBN,EAAAA,EAAAA,IAAG,2FAOvBO,oBAAoBP,EAAAA,EAAAA,IAAG,iHAQvBQ,mBAAmBR,EAAAA,EAAAA,IAAG,2FAOtBS,cAAcT,EAAAA,EAAAA,IAAG,2FAOjBU,oBAAoBV,EAAAA,EAAAA,IAAG,2FAOvBW,0BAA0BX,EAAAA,EAAAA,IAAG,2FAO7BY,8BAA8BZ,EAAAA,EAAAA,IAAG,2FAOjCa,0BAA0Bb,EAAAA,EAAAA,IAAG,2FAO7Bc,8BAA8Bd,EAAAA,EAAAA,IAAG,2FAOjCe,oBAAoBf,EAAAA,EAAAA,IAAG,2FAOvBgB,mBAAmBhB,EAAAA,EAAAA,IAAG,6FF7GtBiB,MACF,K,oBGDA,MAAMC,GAAcC,EAAAA,EAAAA,IAAiB,keAyB/BC,EAAkBC,EAAAA,GAAOC,IAAGC,WAAA,CAAAC,YAAA,gBAAVH,CAAU,MAsBlC,MAnBmBI,GAAsB,CAACC,EAAO3J,IAE7ChB,EAAAA,cAAC4K,EAAAA,GAAa,CAACC,MAAOA,GACpB7K,EAAAA,cAACmK,EAAW,MACZnK,EAAAA,cAACqK,EAAe,KACdrK,EAAAA,cAAC8K,EAAAA,EAAW,CAAC9J,aAAcA,GAAgB2J,EAAM3J,cAC/ChB,EAAAA,cAAC+K,EAAAA,EAAmB,CAClBzE,YACEtF,GAAcsF,aAAeqE,EAAM3J,cAAcsF,aAGnDtG,EAAAA,cAAC0K,EAAsBC,M,+CC1CnC,SAAqBK,EAAAA,EAAAA,YAAWnK,EAAAA,E,qECFzB,MAAMqJ,EAAQ,CACnBe,gBAAiB,qBACjBC,WAAY,qBACZC,WAAY,6CACZC,iBAAkB,8CAClBC,YAAa,sBACbC,kBAAmB,qBACnBC,aAAc,qBACdC,aAAc,0CACdC,mBAAoB,2CACpBC,cAAe,uBAGjB,IAAeC,OAAOC,KAAK1B,GAAO2B,QAAO,CAACC,EAAKC,KAC7CD,EAAIC,GAAS,IAAIC,KAAS/C,EAAAA,EAAAA,IAAG,qBAClBiB,EAAM6B,IACX9C,EAAAA,EAAAA,OAAO+C,IAGNF,IACN,CAAC,E","sources":["webpack://app/./client/src/containers/challengeShow/challengeShowClientWrapper.js","webpack://app/./client/src/containers/challengeOpportunity/challengeOpportunityClientWrapper.js","webpack://app/./client/packs/application.js","webpack://app/./client/src/context/appContext.js","webpack://app/./client/src/context/contestSettings.js","webpack://app/./client/src/context/currentUser.js","webpack://app/./client/src/theme/theme.js","webpack://app/./client/src/theme/constants.js","webpack://app/./client/src/theme/fontStyles.js","webpack://app/./client/src/hoc/withTheme.js","webpack://app/./client/src/hooks/useAppContext.js","webpack://app/./client/src/theme/media.js"],"sourcesContent":["import React, { lazy } from \"react\";\nimport withTheme from \"../../hoc/withTheme\";\n\nimport ContestSettingsProvider from \"../../context/contestSettings\";\n\nconst ChallengeShow = lazy(() => import(\"./challengeShow\"));\n\nconst ChallengeShowClientWrapper = ({ data }) => {\n return (\n <>\n \n \n \n >\n );\n};\n\nexport default withTheme(ChallengeShowClientWrapper);\n","import React, { lazy } from \"react\";\nimport withTheme from \"../../hoc/withTheme\";\n\nconst NewOpportunity = lazy(() => import(\"./challengeOpportunity\"));\n\nconst ChallengeOpportunityClientWrapper = () => {\n return ;\n};\n\nexport default withTheme(ChallengeOpportunityClientWrapper);\n","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\nimport ReactOnRails from \"react-on-rails\";\nimport { lazy } from \"react\";\nimport ChallengeShow from \"../src/containers/challengeShow/challengeShowClientWrapper\";\nimport ChallengeOpportunity from \"../src/containers/challengeOpportunity/challengeOpportunityClientWrapper\";\n\ndocument.addEventListener('turbolinks:render', () => {\n ReactOnRails.reactOnRailsPageLoaded();\n});\n\nReactOnRails.setOptions({\n turbo: true\n});\n\nconst LayoutBreadcrumbs = lazy(\n () => import(\"../src/containers/layout/layoutBreadcrumbs\"),\n);\nconst LayoutSideNav = lazy(\n () => import(\"../src/containers/layout/layoutSideNav\"),\n);\nconst ChallengeOpportunitySuccess = lazy(\n () => import('../src/containers/challengeOpportunitySuccess/challengeOpportunitySuccess')\n)\n\nReactOnRails.register({\n LayoutBreadcrumbs,\n LayoutSideNav,\n ChallengeShow,\n ChallengeOpportunity,\n ChallengeOpportunitySuccess,\n});\n","import React, { createContext, useRef } from \"react\";\nimport axios from \"axios\";\n\nexport const AppContext = createContext();\n\nfunction AppProvider({ children, railsContext }) {\n let config = {\n baseURL: railsContext?.apiUrl || \"https://www.mindsumo.com/api/v1/\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n withCredentials: true,\n timeout: 15000,\n };\n\n if (railsContext?.railsEnv === \"production\") config.timeout = 10000;\n\n const axiosRef = useRef(axios.create({ ...config }));\n\n return (\n \n {children}\n \n );\n}\n\nexport default AppProvider;\n","import React, { createContext, useState, useRef, useCallback } from \"react\";\nimport useAppContext from \"../hooks/useAppContext\";\nimport bareAxios from \"axios\";\n\nexport const ContestSettingsContext = createContext();\n\nfunction ContestSettingsProvider({ children, value }) {\n const { axios } = useAppContext();\n const [eligibility, setEligibility] = useState(value.eligibilityStatus);\n const [eligibilityReason, setEligibilityReason] = useState(\n value.eligibilityReason,\n );\n const [formObject, setFormObject] = useState(null);\n const [currentFileUploadParams, setCurrentFileUploadParams] = useState(null);\n const [formDisabled, setFormDisabled] = useState(false);\n const [formValid, setFormValid] = useState(false);\n const { solutionFormPath, slug, reserveSpotPath, permitQueryString } = value;\n const formRef = useRef(null);\n\n const getFormObject = useCallback(() => {\n if (!solutionFormPath) return;\n axios\n .get(solutionFormPath + permitQueryString)\n .then((res) => {\n setFormObject(res.data.data);\n setCurrentFileUploadParams(res.data.data.fileSignedUploadUrl);\n })\n .catch((err) => {\n setEligibility(false);\n setEligibilityReason(err.response.data.data.errors);\n });\n }, [solutionFormPath]);\n\n const getSignedFileParams = useCallback(() => {\n axios.get(\"/solutionfiles/signed_url\").then((res) => {\n setCurrentFileUploadParams(res.data);\n });\n }, []);\n\n const handleFileUpload = useCallback(\n (file, callback) => {\n const formData = new FormData();\n formData.append(\"key\", currentFileUploadParams.key);\n formData.append(\"acl\", currentFileUploadParams.acl);\n formData.append(\"AWSAccessKeyId\", currentFileUploadParams.aWSAccessKeyId);\n formData.append(\"policy\", currentFileUploadParams.policy);\n formData.append(\"signature\", currentFileUploadParams.signature);\n formData.append(\n \"success_action_status\",\n currentFileUploadParams.successActionStatus,\n );\n formData.append(\n \"X-Requested-With\",\n currentFileUploadParams[\"x-Requested-With\"],\n );\n formData.append(\"utf8\", currentFileUploadParams.utf8);\n formData.append(\"Content-Type\", \"\");\n formData.append(\"content-type\", file.type);\n formData.append(\"file\", file);\n\n bareAxios({\n url: currentFileUploadParams.url,\n method: currentFileUploadParams.method,\n data: formData,\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n Accept: \"*/*\",\n },\n }).then((res) => {\n if (callback) {\n callback(res.data);\n }\n getSignedFileParams();\n });\n },\n [currentFileUploadParams],\n );\n\n const handleDeleteFileCallback = useCallback((key, callback) => {\n axios\n .post(\"/solutionfiles/deleted_callback\", {\n solutionfile: {\n key: key,\n },\n })\n .then(() => {\n if (callback) {\n callback();\n }\n });\n });\n\n const handleAddFileCallback = useCallback((key, callback) => {\n axios\n .post(\"/solutionfiles/uploaded_callback\", {\n solutionfile: {\n key: key,\n },\n })\n .then((res) => {\n if (callback) {\n callback(res.data.data);\n }\n });\n });\n\n const submitForm = useCallback(\n () =>\n formRef?.current?.dispatchEvent(\n new Event(\"submit\", { cancelable: true, bubbles: true }),\n ),\n [formRef],\n );\n const handleFormSubmit = useCallback(\n (data) => {\n setFormObject(null);\n const isPrefilter = formObject?.formType === \"prefilter_form\";\n const url = isPrefilter\n ? `/contests/${slug}/check_prefilter${permitQueryString}`\n : `/solutions${permitQueryString}`;\n axios\n .post(url, {\n ...data,\n })\n .then((res) => {\n if (isPrefilter) {\n setFormObject(res.data.data);\n setCurrentFileUploadParams(res.data.data.fileSignedUploadUrl);\n } else {\n window.location =\n res.data.data.viewUrl ?? res.data.data.contest.url;\n }\n })\n .catch((err) => {\n setEligibility(false);\n setEligibilityReason(err.response.data.data.errors);\n setFormObject(null);\n });\n },\n [slug, formObject],\n );\n const handleSaveDraft = useCallback((data) => {\n axios.post(`/solution_drafts${permitQueryString}`, {\n ...data,\n });\n }, []);\n const handleReserveSpot = useCallback(\n (onSuccessCallback = undefined, onFailureCallback = undefined) => {\n if (!reserveSpotPath) return;\n axios\n .post(reserveSpotPath)\n .then((res) => {\n if (res.data.data) {\n getFormObject();\n if (onSuccessCallback) onSuccessCallback(res.data.data);\n setEligibility(res.data.data.eligibilityStatus);\n setEligibilityReason(res.data.data.eligibilityReason);\n }\n })\n .catch(() => {\n if (onFailureCallback) onFailureCallback();\n });\n },\n [reserveSpotPath],\n );\n\n return (\n \n {children}\n \n );\n}\n\nexport default ContestSettingsProvider;\n","import React, { createContext } from \"react\";\n\nexport const CurrentUserContext = createContext();\n\nfunction CurrentUserProvider({ children, currentUser }) {\n return (\n \n {children}\n \n );\n}\n\nexport default CurrentUserProvider;\n","import media from \"./media\";\nimport constants from \"./constants\";\nimport fontStyles from \"./fontStyles\";\n\nconst theme = {\n ...constants,\n fontStyles: { ...fontStyles },\n media,\n};\n\nexport default theme;\n","const constants = {\n colors: {\n primaryBackgroundLight: \"#F5F3F7\",\n primaryBackgroundSelected: \"#150B3B\",\n primaryBackground: \"#211551\",\n primaryLightFill: \"#EAE9F2\",\n primarySeparator: \"#A199C2\",\n primaryTextHover: \"#6855B4\",\n primaryTextSelected: \"#22135E\",\n atRiskBackground: \"#F37026\",\n offTrackBackground: \"#C84060\",\n offTrackText: \"#B41320\",\n actionBackground: \"#1559EA\",\n actionBackgroundDisabled: \"#1559EA40\",\n actionBackgroundSelected: \"#1046B8\",\n colorAction300: \"#3270EB\",\n neutralsBackgroundInactive: \"rgba(255, 255, 255, 0.60)\",\n neutralsText: \"#100A27\",\n neutralsTextLight: \"#575463\",\n neutralsTextDisabled: \"#B8B3BC\",\n neutralsWhite: \"#FFFFFF\",\n neutralsWhiteTint30: \"#FFFFFF4D\",\n neutralsWhiteTint60: \"#FFFFFF99\",\n neutralsWhiteTint85: \"#FFFFFFD9\",\n primaryText: \"#352281\",\n primaryRulerTint50: \"rgba(161, 153, 194, 0.50)\",\n primaryRulerTint15: \"rgba(161, 153, 194, 0.15)\",\n primaryTextTint08: \"#6855B414\",\n neutralsTextTint85: \"rgba(255, 255, 255, 0.85)\",\n neutralsBlack: \"#080F1B\",\n secondaryBackground: \"#007F9C\",\n secondaryBackgroundLightTint20: \"rgba(213, 247, 255, 0.20)\",\n supplementalGroupBackground: \"#faf9fb\",\n disabledInputBackground: \"hsl(0, 0%, 95%)\",\n ribbonColors: {\n first: {\n top: \"#A199C2\",\n left: \"#211551\",\n right: \"#6855B4\",\n },\n second: {\n top: \"#D5F7FF\",\n left: \"#00576B\",\n right: \"#0095B8\",\n },\n third: {\n top: \"#EAE9F2\",\n left: \"#4C475D\",\n right: \"#838C9F\",\n },\n },\n },\n};\n\nexport default constants;\n","import { css } from \"styled-components\";\n\nconst fontStyles = {\n DesktopCopySmallBold: css`\n font-family: Roboto;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px;\n `,\n InterfaceCopyXSmall: css`\n font-family: Roboto;\n font-size: 10px;\n font-style: normal;\n font-weight: 400;\n line-height: 10px;\n `,\n MobileHeadlinesH3: css`\n font-family: Roboto;\n font-size: 24px;\n font-style: normal;\n font-weight: 600;\n line-height: 32px;\n `,\n DesktopHeadlinesH3: css`\n font-family: Roboto;\n font-size: 28px;\n font-style: normal;\n font-weight: 600;\n line-height: 32px;\n `,\n DesktopLargeBodyCopy: css`\n font-family: Roboto;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n `,\n InterfaceCopy: css`\n font-family: Roboto;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n `,\n InterfaceCopySmall: css`\n font-family: Roboto;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 12px;\n `,\n InterfaceCopyLarge: css`\n font-family: Roboto;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0.16px;\n `,\n InterfaceCopyBold: css`\n font-family: Roboto;\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 14px;\n `,\n CommentsBody: css`\n font-family: Roboto;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n `,\n DesktopHeadlinesH5: css`\n font-family: Roboto;\n font-size: 20px;\n font-style: normal;\n font-weight: 600;\n line-height: 24px;\n `,\n DesktopCopyBodyCopySmall: css`\n font-family: Roboto;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n `,\n DesktopCopyLargeBodyCopyBold: css`\n font-family: Roboto;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n line-height: 24px;\n `,\n DesktopCopyLargeBodyCopy: css`\n font-family: Roboto;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n `,\n DesktopCopySmallBodyCopyBold: css`\n font-family: Roboto;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px;\n `,\n DesktopHeadlinesH2: css`\n font-family: Roboto;\n font-size: 36px;\n font-style: normal;\n font-weight: 400;\n line-height: 48px;\n `,\n DesktopBodyItalic: css`\n font-family: Roboto;\n font-size: 16px;\n font-style: italic;\n font-weight: 400;\n line-height: 24px;\n `,\n};\n\nexport default fontStyles;\n","import React from \"react\";\nimport styled, { ThemeProvider, createGlobalStyle } from \"styled-components\";\n\nimport theme from \"../theme/theme\";\nimport CurrentUserProvider from \"../context/currentUser\";\nimport AppProvider from \"../context/appContext\";\n\nconst GlobalStyle = createGlobalStyle`\n.MuiInputBase-input.MuiOutlinedInput-input.MuiInputBase-inputSizeSmall {\n all: unset;\n font: inherit;\n letter-spacing: inherit;\n color: currentColor;\n padding: 4px 0 5px;\n border: 0;\n box-sizing: content-box;\n background: none;\n height: 1.4375em;\n margin: 0;\n -webkit-tap-highlight-color: transparent;\n display: block;\n min-width: 0;\n width: 100%;\n -webkit-animation-name: mui-auto-fill-cancel;\n animation-name: mui-auto-fill-cancel;\n -webkit-animation-duration: 10ms;\n animation-duration: 10ms;\n padding-top: 1px;\n padding: 8.5px 14px;\n}\n`;\n\nconst LayoutContainer = styled.div``;\n\n// eslint-disable-next-line react/display-name\nconst WithTheme = (OriginalComponent) => (props, railsContext) => {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default WithTheme;\n","import { useContext } from \"react\";\n\nimport { AppContext } from \"../context/appContext\";\n\nexport default () => useContext(AppContext);\n","import { css } from \"styled-components\";\n\nexport const media = {\n onlySmallMobile: \"(max-width: 576px)\",\n onlyMobile: \"(max-width: 768px)\",\n onlyTablet: \"(min-width: 768px) and (max-width: 1060px)\",\n onlySmallDesktop: \"(min-width: 1060px) and (max-width: 1440px)\",\n onlyDesktop: \"(min-width: 1440px)\",\n exceptSmallMobile: \"(min-width: 576px)\",\n exceptMobile: \"(min-width: 768px)\",\n exceptTablet: \"(max-width: 768px), (min-width: 1060px)\",\n exceptSmallDesktop: \"(max-width: 1060px), (min-width: 1440px)\",\n exceptDesktop: \"(max-width: 1440px)\",\n};\n\nexport default Object.keys(media).reduce((acc, label) => {\n acc[label] = (...args) => css`\n @media ${media[label]} {\n ${css(...args)};\n }\n `;\n return acc;\n}, {});\n"],"names":["ChallengeShow","lazy","withTheme","ChallengeShowClientWrapper","data","React","ContestSettingsProvider","value","NewOpportunity","ChallengeOpportunityClientWrapper","document","addEventListener","ReactOnRails","turbo","LayoutBreadcrumbs","LayoutSideNav","ChallengeOpportunitySuccess","ChallengeOpportunity","AppContext","createContext","children","railsContext","config","baseURL","apiUrl","headers","Accept","withCredentials","timeout","railsEnv","axiosRef","useRef","axios","create","Provider","current","ContestSettingsContext","useAppContext","eligibility","setEligibility","useState","eligibilityStatus","eligibilityReason","setEligibilityReason","formObject","setFormObject","currentFileUploadParams","setCurrentFileUploadParams","formDisabled","setFormDisabled","formValid","setFormValid","solutionFormPath","slug","reserveSpotPath","permitQueryString","formRef","getFormObject","useCallback","get","then","res","fileSignedUploadUrl","catch","err","response","errors","getSignedFileParams","handleFileUpload","file","callback","formData","FormData","append","key","acl","aWSAccessKeyId","policy","signature","successActionStatus","utf8","type","bareAxios","url","method","handleDeleteFileCallback","post","solutionfile","handleAddFileCallback","submitForm","dispatchEvent","Event","cancelable","bubbles","handleFormSubmit","isPrefilter","formType","window","location","viewUrl","contest","handleSaveDraft","handleReserveSpot","onSuccessCallback","undefined","onFailureCallback","CurrentUserContext","currentUser","colors","primaryBackgroundLight","primaryBackgroundSelected","primaryBackground","primaryLightFill","primarySeparator","primaryTextHover","primaryTextSelected","atRiskBackground","offTrackBackground","offTrackText","actionBackground","actionBackgroundDisabled","actionBackgroundSelected","colorAction300","neutralsBackgroundInactive","neutralsText","neutralsTextLight","neutralsTextDisabled","neutralsWhite","neutralsWhiteTint30","neutralsWhiteTint60","neutralsWhiteTint85","primaryText","primaryRulerTint50","primaryRulerTint15","primaryTextTint08","neutralsTextTint85","neutralsBlack","secondaryBackground","secondaryBackgroundLightTint20","supplementalGroupBackground","disabledInputBackground","ribbonColors","first","top","left","right","second","third","fontStyles","DesktopCopySmallBold","css","InterfaceCopyXSmall","MobileHeadlinesH3","DesktopHeadlinesH3","DesktopLargeBodyCopy","InterfaceCopy","InterfaceCopySmall","InterfaceCopyLarge","InterfaceCopyBold","CommentsBody","DesktopHeadlinesH5","DesktopCopyBodyCopySmall","DesktopCopyLargeBodyCopyBold","DesktopCopyLargeBodyCopy","DesktopCopySmallBodyCopyBold","DesktopHeadlinesH2","DesktopBodyItalic","media","GlobalStyle","createGlobalStyle","LayoutContainer","styled","div","withConfig","componentId","OriginalComponent","props","ThemeProvider","theme","AppProvider","CurrentUserProvider","useContext","onlySmallMobile","onlyMobile","onlyTablet","onlySmallDesktop","onlyDesktop","exceptSmallMobile","exceptMobile","exceptTablet","exceptSmallDesktop","exceptDesktop","Object","keys","reduce","acc","label","args"],"sourceRoot":""}