{"version":3,"sources":["components/ArtistApplications/PersonalDetails.js","components/ArtistApplications/CountrySelection.js","components/ArtistApplications/ApplicationComplete.js","components/ArtistApplications/PrePortfolioContent.js","components/ArtistApplications/LicenseSelection.js","components/ArtistApplications/OtherPlatformDetailsComponent.js","components/ArtistApplications/ExclusivitySelection.js","components/ArtistApplications/OtherPlatformSelection.js","components/ArtistApplications/ApplicationFormSubmission.js","components/ArtistApplications/ArtistApplicationForm.js","actions/checkoutAction.js","components/ArtistApplications/PreFormContent.js","components/ArtistApplications/AdditionalSamples.js","components/ArtistApplications/PortfolioContent.js"],"names":["Component","DropdownStyle","paddingRight","marginRight","fontSize","borderColor","borderWidth","borderRadius","paddingLeft","textColor","ApplicationComplete","className","href","target","OtherPlatformDetailsComponent","error","this","props","errors","otherPlatformDetails","length","name","value","onChange","handleChange","emailRegex","urlRegex","ArtistApplicationForm","state","step","firstName","lastName","artistName","email","countries","country","how","why","styles","sample1","additionalSamples","sample2","sample3","exclusivity","otherPlatforms","privacyAgreement","licensingOption","firstNameError","lastNameError","artistNameError","howError","whyError","stylesError","emailError","locationError","sample1Error","sample2Error","sample3Error","additionalPortfolioError","licenseError","exclusivityError","countryError","otherPlatformsError","privacyAgreementError","showPreForm","location","ChangeColor","fieldName","fieldState","errorMessage","setState","document","getElementById","style","handleCountry","bind","setAdditionalPortfolio","setPrivacy","exclusivityHandler","licenseHandler","otherPlatformHandler","finalize","additionalSampleHandler","ChangeHandler","event","stateName","fetchCountries","then","data","countryOptions","_","map","index","key","id","text","vat_rate","iso_code_2","iso_code2","catch","err","currentTarget","ignorePreformContent","paddingBottom","fetchSubscriptionPricePreview","planId","periodId","currencyId","countryId","vatNumber","couponId","authToken","sessionStorage","getItem","apiUrl","API","formData","FormData","append","fetch","method","body","res","json","fetchVatRate","countryCode","conditionallyGetCdnApi","checkVatNumber","countryID","Config","BASE_API_URL","headers","recalculateBasket","isValid","address","params","URLSearchParams","country_id","vat_number_valid","vat_number","line1","city","postal_code","toString","checkDiscountCode","discountCode","fetchCheckoutBasket","credentials","updateCheckoutBasket","JSON","stringify","token","updatePaymentOrderStatus","orderId","updateOrderStatus","checkOrderStatus","fetchOrderConfirmation","orderID","LinkStyle","color","AdditionalSamples","values","type","placeholder","autoComplete","marginBottom","PortfolioContent","fontWeight","marginTop","checked","setAdditionalSamples","htmlFor"],"mappings":"qOAI6CA,Y,SCAvCC,EAAgB,CAEpBC,aAAc,OACdC,YAAa,OACbC,SAAU,GACVC,YAAa,cACbC,YAAa,QACbC,aAAc,MACdC,YAAa,OACbC,UAAW,SCXQC,GDcyBV,YEZLA,Y,OCFKA,Y,4JFC5C,WACE,OACE,gCACE,qBAAKW,UAAU,0CAAf,SACE,gEAEF,qBAAKA,UAAU,yCAAf,SACE,qBAAKA,UAAU,yCAAf,SACE,sBAAKA,UAAU,0CAAf,UACE,mGACA,qPACA,iIAAyF,mBAAGC,KAAK,sDAAsDC,OAAO,SAArE,0BAAzF,0F,GAZmCb,c,qCGC5Bc,GCD6Bd,Y,4JDGhD,WACE,OACI,qBAAKW,UAAU,wDAAf,SACE,sBAAKA,UAAU,mBAAf,UACE,yGACA,0BACEA,UAAWA,IAAU,GAAI,CACvBI,MAAOC,KAAKC,MAAMC,OAAOC,qBAAqBC,OAAS,IAEzDC,KAAM,uBAAwBC,MAAON,KAAKC,MAAME,qBAAsBI,SAAUP,KAAKC,MAAMO,eAE7F,uBACCR,KAAKC,MAAMC,OAAOC,qBAAqBC,OAAS,GAAM,+BAAOJ,KAAKC,MAAMC,OAAOC,gC,GAdjCnB,c,GEAPA,Y,OCI9CyB,EAAa,kBACbC,EAAW,wFCSIC,GDLkC3B,Y,+DCMrD,WAAYiB,GAAQ,IAAD,8BACjB,cAAMA,IAaRW,MAAQ,CACNC,KAAM,GACNC,UAAW,GACXC,SAAU,GACVC,WAAY,GACZC,MAAO,GACPC,UAAW,GACXC,QAAS,GACTC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,QAAS,GACTC,kBAAmB,GACnBC,QAAS,GACTC,QAAS,GACTC,YAAa,GACbC,eAAgB,GAChBzB,qBAAsB,GACtB0B,kBAAkB,EAClBC,gBAAiB,GACjBC,eAAgB,GAChBC,cAAe,GACfC,gBAAiB,GACjBC,SAAU,GACVC,SAAU,GACVC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,GACdC,aAAc,GACdC,aAAc,GACdC,yBAA0B,GAC1BC,aAAc,GACdC,iBAAkB,GAClBC,aAAc,GACdC,oBAAqB,GACrBC,sBAAuB,GACvBC,YAAa,GACb9C,OAAQ,CACNY,UAAW,GACXC,SAAU,GACVE,MAAO,GACPD,WAAY,GACZiC,SAAU,GACV7B,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,QAAS,GACTE,QAAS,GACTC,QAAS,GACTE,eAAgB,GAChBzB,qBAAsB,KAjEP,EA6HnB+C,YAAc,SAACC,EAAWC,GAAmC,IAAvBC,EAAsB,uDAAP,GACnD,GAAkB,YAAdF,EAYJ,GAAkB,cAAdA,EAAJ,CAQA,GAAkB,aAAdA,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAEtB,cAAe,aAEd,UAAfoB,GACF,EAAKE,SAAS,CAAEtB,cAAe,MAInC,GAAkB,eAAdmB,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAErB,gBAAiB,aAEhB,UAAfmB,GACF,EAAKE,SAAS,CAAErB,gBAAiB,MAIrC,GAAkB,WAAdkB,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAElB,YAAa,aAEZ,UAAfgB,GACF,EAAKE,SAAS,CAAElB,YAAa,MAIjC,GAAkB,UAAde,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAEjB,WAAYgB,SAEX,UAAfD,GACF,EAAKE,SAAS,CAAEjB,WAAY,MAIhC,GAAkB,aAAdc,EASF,MARmB,UAAfC,IACF,EAAKE,SAAS,CAAEhB,cAAe,QAC/BiB,SAASC,eAAe,oBAAoBC,MAAM,oBAChD,YAEe,UAAfL,GACF,EAAKE,SAAS,CAAEhB,cAAe,MAInC,GAAkB,QAAda,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAEpB,SAAU,aAET,UAAfkB,GACF,EAAKE,SAAS,CAAEpB,SAAU,MAI9B,GAAkB,QAAdiB,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAEnB,SAAU,aAET,UAAfiB,GACF,EAAKE,SAAS,CAAEnB,SAAU,MAI9B,GAAkB,YAAdgB,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAEf,aAAcc,SAEb,UAAfD,GACF,EAAKE,SAAS,CAAEf,aAAc,MAIlC,GAAkB,YAAdY,EAOF,MANmB,UAAfC,GACF,EAAKE,SAAS,CAAEd,aAAca,SAEb,UAAfD,GACF,EAAKE,SAAS,CAAEd,aAAc,MAIhB,YAAdW,IACiB,UAAfC,GACF,EAAKE,SAAS,CAAEb,aAAcY,IAEb,UAAfD,GACF,EAAKE,SAAS,CAAEb,aAAc,MAGhB,aAAdU,IACiB,UAAfC,GACF,EAAKE,SAAS,CAAEhB,cAAe,6BAEd,UAAfc,GACF,EAAKE,SAAS,CAAEhB,cAAe,MAGjB,gBAAda,IACiB,UAAfC,GACF,EAAKE,SAAS,CAAEV,iBAAkB,6BAEjB,UAAfQ,GACF,EAAKE,SAAS,CAAEV,iBAAkB,MAGpB,oBAAdO,IACiB,UAAfC,GACF,EAAKE,SAAS,CAAEX,aAAc,6BAEb,UAAfS,GACF,EAAKE,SAAS,CAAEX,aAAc,MAGhB,mBAAdQ,IACiB,UAAfC,GACF,EAAKE,SAAS,CAAER,oBAAqB,6BAEpB,UAAfM,GACF,EAAKE,SAAS,CAAER,oBAAqB,MAGvB,qBAAdK,IACiB,UAAfC,GACF,EAAKE,SAAS,CAAEP,sBAAuB,6BAEtB,UAAfK,GACF,EAAKE,SAAS,CAAEP,sBAAuB,UAvItB,UAAfK,EACF,EAAKE,SAAS,CAAEvB,eAAgB,QAEhC,EAAKuB,SAAS,CAAEvB,eAAgB,SAff,UAAfqB,GACF,EAAKE,SAAS,CAAET,aAAc,QAC9BU,SAASC,eAAe,oBAAoBC,MAAM,oBAChD,cAEFF,SAASC,eAAe,oBAAoBC,MAAM,oBAChD,QACF,EAAKH,SAAS,CAAET,aAAc,OApIlC,EAAKa,cAAgB,EAAKA,cAAcC,KAAnB,gBACrB,EAAKC,uBAAyB,EAAKA,uBAAuBD,KAA5B,gBAC9B,EAAKE,WAAa,EAAKA,WAAWF,KAAhB,gBAClB,EAAKC,uBAAyB,EAAKA,uBAAuBD,KAA5B,gBAC9B,EAAKG,mBAAqB,EAAKA,mBAAmBH,KAAxB,gBAC1B,EAAKI,eAAiB,EAAKA,eAAeJ,KAApB,gBACtB,EAAKK,qBAAuB,EAAKA,qBAAqBL,KAA1B,gBAC5B,EAAKM,SAAW,EAAKA,SAASN,KAAd,gBAChB,EAAKO,wBAA0B,EAAKA,wBAAwBP,KAA7B,gBAC/B,EAAKQ,cAAgB,EAAKA,cAAcR,KAAnB,gBAXJ,E,iDAuEnB,SAAcS,GACZ,IAAMC,EAAYD,EAAMvE,OAAOQ,KACzBC,EAAQ8D,EAAMvE,OAAOS,MAC3BN,KAAKsD,SAAL,eAAiBe,EAAY/D,M,+BAG/B,WAAqB,IAAD,OAClBgE,cACGC,MAAK,SAACC,GACL,IAAMC,EAAiBC,EAAEC,IAAIH,GAAM,SAACrD,EAASyD,GAAV,MAAqB,CACtDC,IAAI,WAAD,OAAa1D,EAAQ2D,IACxBC,KAAM5D,EAAQd,KACdC,MAAOa,EAAQ2D,GACfE,SAAU7D,EAAQ6D,SAAW,IAC7BC,WAAY9D,EAAQ+D,cAEtB,EAAK5B,SAAS,CAAEpC,UAAWuD,OAE5BU,OAAM,SAACC,GAAD,OAASA,O,wBAGpB,SAAWhB,GACkB,OAAvBA,EAAMvE,OAAOS,QAAkD,IAAhCN,KAAKY,MAAMiB,iBAC5C7B,KAAKsD,SAAS,CAAEzB,kBAAkB,IAElC7B,KAAKsD,SAAS,CAAEzB,kBAAkB,M,oCAGtC,SAAuBuC,GACrBpE,KAAKsD,SACH,CACE9B,kBAAmB4C,EAAMiB,cAAc/E,QAEzC,iB,gCAGJ,SAAmB8D,GACjBpE,KAAKsD,SAAS,CAAE3B,YAAayC,EAAMvE,OAAOS,U,4BAE5C,SAAe8D,GACbpE,KAAKsD,SAAS,CAAExB,gBAAiBsC,EAAMvE,OAAOS,U,kCAEhD,SAAqB8D,GACnBpE,KAAKsD,SAAS,CAAE1B,eAAgBwC,EAAMvE,OAAOS,QAAS,iB,sBAExD,WACEN,KAAKsD,SAAS,CAAEzC,KAAM,e,2BAExB,SAAcuD,EAAd,GAAiC,IAAV9D,EAAS,EAATA,MACrBN,KAAKsD,SAAS,CAAEnC,QAASb,M,qCAE3B,SAAwB8D,GACtBpE,KAAKsD,SAAS,CAAE9B,kBAAmB4C,EAAMvE,OAAOS,QAAS,iB,oBA2J3D,WACE,MAoCIN,KAAKY,MAnCPC,EADF,EACEA,KADF,EAEEC,UAFF,EAGEC,SAHF,EAIEC,WAJF,EAKEC,MALF,EAMEE,QANF,EAOEC,IAPF,EAQEC,IARF,EASEC,OATF,EAUEC,QAVF,EAWEC,kBAXF,EAYEC,QAZF,EAaEC,QAbF,EAcEC,YAdF,EAeEC,eAfF,EAgBEzB,qBAhBF,EAiBE0B,iBAjBF,EAkBEC,gBAlBF,EAmBEC,eAnBF,EAoBEC,cApBF,EAqBEC,gBArBF,EAsBEC,SAtBF,EAuBEC,SAvBF,EAwBEC,YAxBF,EAyBEC,WAzBF,EA0BEC,cA1BF,EA2BEC,aA3BF,EA4BEC,aA5BF,EA6BEC,aA7BF,EA8BEG,iBA9BF,EA+BEE,oBA/BF,EAgCEJ,yBAhCF,EAiCEK,sBAjCF,EAkCEJ,aAlCF,EAmCEE,aAsCF,MAAa,aAAThC,EACK,cAAC,EAAD,IAGP,sBAAKiE,GAAG,cAAR,UACE,cAAC,IAAD,IAEqC,QAApC9E,KAAKC,MAAMqF,sBACV,gCACE,oBAAI3F,UAAU,qBAAd,gCAWA,4NAKA,oBAAG8D,MAAO,CAAE8B,cAAe,QAA3B,UACE,6CADF,2I,GA1XuCvG,e,qeCX5C,SAASwG,EAAT,GAA0G,IAAjEC,EAAgE,EAAhEA,OAAQC,EAAwD,EAAxDA,SAAUC,EAA8C,EAA9CA,WAAYC,EAAkC,EAAlCA,UAAWC,EAAuB,EAAvBA,UAAWC,EAAY,EAAZA,SAC5FC,EAAYC,eAAeC,QAAQ,cACnCC,EAAM,UAAMC,IAAN,8BACNC,EAAW,IAAIC,SAUrB,OARAD,EAASE,OAAO,aAAcP,GAC9BK,EAASE,OAAO,SAAUb,GAC1BW,EAASE,OAAO,WAAYZ,GAC5BU,EAASE,OAAO,aAAcX,GAC9BS,EAASE,OAAO,YAAaV,GACzBC,GAAWO,EAASE,OAAO,YAAaT,GACxCC,GAAUM,EAASE,OAAO,WAAYR,GAEnCS,IAAML,EAAQ,CACnBM,OAAQ,OACRC,KAAML,IAEL7B,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,KAGb,SAASwB,IAAmC,IAAtBC,EAAqB,wDAC1CX,EAAM,UAAMY,cAAN,gCAAsDD,GAElE,OAAON,IAAML,EAAQ,CACnBM,OAAQ,QAEPjC,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,KAGb,SAASd,IACd,IAAM4B,EAAM,UAAMC,IAAN,aAEZ,OAAOI,IAAML,EAAQ,CACnBM,OAAQ,QAEPjC,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,KAGb,SAAS2B,EAAelB,EAAWmB,GACxC,IAAMd,EAAM,UAAMe,IAAOC,aAAb,+DAAgFrB,EAAhF,uBAAwGmB,GAC9GjB,EAAYC,eAAeC,QAAQ,cACzC,OAAOM,IAAML,EAAQ,CACnBM,OAAQ,MACRW,QAAS,CACP,eAAgB,mBAChB,eAAgBpB,GAAa,QAG9BxB,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,KAGb,SAASgC,EAAkBJ,GAA2D,IAAhDK,EAA+C,wDAA9BxB,EAA8B,uDAAlB,GAAIyB,EAAc,uDAAJ,GAChFvB,EAAYC,eAAeC,QAAQ,cACnCsB,EAAS,IAAIC,gBAAgB,CACjCC,WAAYT,EACZU,iBAAkBL,EAClBM,WAAY9B,IAEVyB,EAAQM,OAAOL,EAAOjB,OAAO,gBAAiBgB,EAAQM,OACtDN,EAAQO,MAAMN,EAAOjB,OAAO,eAAgBgB,EAAQO,MACpDP,EAAQ1G,OAAO2G,EAAOjB,OAAO,gBAAiBgB,EAAQ1G,OACtD0G,EAAQQ,aAAaP,EAAOjB,OAAO,sBAAuBgB,EAAQQ,aACtE,IAAM5B,EAAM,UAAMe,IAAOC,aAAb,0DAA2EK,EAAOQ,YAC9F,OAAOxB,IAAML,EAAQ,CACnBM,OAAQ,MACRW,QAAS,CACP,eAAgB,mBAChB,eAAgBpB,GAAa,QAG9BxB,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,KAGb,SAAS4C,EACdC,EACAxC,EACAE,EACAD,EACAK,GAEA,IAAMG,EAAM,UAAMC,IAAN,qCACNC,EAAW,IAAIC,SAQrB,OANAD,EAASE,OAAO,QAASP,GACzBK,EAASE,OAAO,eAAgB2B,GAChC7B,EAASE,OAAO,SAAUb,GAC1BW,EAASE,OAAO,WAAYX,GAC5BS,EAASE,OAAO,WAAYZ,GAErBa,IAAML,EAAQ,CACnBM,OAAQ,OACRC,KAAML,IAEL7B,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,KAGb,SAAS8C,IACd,IAAMnC,EAAYC,eAAeC,QAAQ,cACzC,OAAO,kBACLM,IAAM,GAAD,OAAIU,IAAOC,aAAX,wBAA+C,CAClDV,OAAQ,MACR2B,YAAa,UACbhB,QAAS,CACP,eAAgB,mBAChB,eAAgBpB,GAAa,KAC7B,SAAUC,eAAeC,QAAQ,kBAAoB,QAGtD1B,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,MAGf,SAASgD,EAAqB5D,GACnC,IAAMuB,EAAYC,eAAeC,QAAQ,cACzC,OAAO,kBACLM,IAAM,GAAD,OAAIU,IAAOC,aAAX,wBAA+C,CAClDV,OAAQ,OACRC,KAAM4B,KAAKC,UAAL,aACJC,MAAOxC,GACJvB,IAEL2D,YAAa,UACbhB,QAAS,CACP,eAAgB,mBAChBoB,MAAOxC,GAAa,QAGrBxB,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,MAgBf,SAASoD,EAAyBC,GACvC,IAAM1C,EAAYC,eAAeC,QAAQ,cACzC,OAAO,kBACLM,IAAM,GAAD,OAAIJ,IAAJ,yDAAwDsC,GAAW,CACtEjC,OAAQ,MACRW,QAAS,CACP,eAAgB,mBAChB,eAAgBpB,GAAa,QAG9BxB,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,MAGf,SAASsD,EAAkBD,GAChC,IAAM1C,EAAYC,eAAeC,QAAQ,cACzC,OAAO,kBACLM,IAAM,GAAD,OAAIJ,IAAJ,kDAAiDsC,GAAW,CAC/DjC,OAAQ,MACRW,QAAS,CACP,eAAgB,mBAChB,eAAgBpB,GAAa,QAG9BxB,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,MAGf,SAASuD,EAAiBF,GAC/B,IAAM1C,EAAYC,eAAeC,QAAQ,cACzC,OAAO,kBACLM,IAAM,GAAD,OAAIU,IAAOC,aAAX,qCAAoDuB,GAAW,CAClEjC,OAAQ,MACRW,QAAS,CACP,eAAgB,mBAChB,eAAgBpB,GAAa,QAG9BxB,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,MAGf,SAASwD,EAAuBC,GACrC,IAAM9C,EAAYC,eAAeC,QAAQ,cACzC,OAAO,kBACLM,IAAM,GAAD,OAAIU,IAAOC,aAAX,2CAA0D2B,GAAW,CACxErC,OAAQ,MACRW,QAAS,CACP,eAAgB,mBAChB,eAAgBpB,GAAa,QAG9BxB,MAAK,SAACmC,GAAD,OAASA,EAAIC,UAClBxB,OAAM,SAACC,GAAD,OAASA,Q,+EChNhB0D,EAAY,CAChBC,MAAO,WAGmC/J,a,kICFvBgK,E,4JAEnB,WACE,OACE,gCACE,qBAAKrJ,UAAU,wDAAf,SACE,sBAAKA,UAAU,mBAAf,UACE,uDACA,uBACEA,UAAWA,IAAU,GAAI,CACvBI,MAAOC,KAAKC,MAAMgJ,OAAOzG,aAAapC,OAAS,IAEjDC,KAAK,UAAU6I,KAAK,OAAOC,YAAY,sDACvCC,aAAa,MAAM7I,SAAUP,KAAKC,MAAMO,aAAcF,MAAON,KAAKC,MAAMgJ,OAAOxH,UAEhFzB,KAAKC,MAAMgJ,OAAOzG,aAAapC,OAAS,GAAM,+BAAOJ,KAAKC,MAAMgJ,OAAOzG,oBAG5E,qBAAK7C,UAAU,wDAAwD8D,MAAO,CAAE4F,aAAc,QAA9F,SACE,sBAAK1J,UAAU,mBAAf,UACE,uDACA,uBACEA,UAAWA,IAAU,GAAI,CACvBI,MAAOC,KAAKC,MAAMgJ,OAAOxG,aAAarC,OAAS,IAEjDC,KAAK,UAAU6I,KAAK,OAAOC,YAAY,sDACvCC,aAAa,MAAM7I,SAAUP,KAAKC,MAAMO,aAAcF,MAAON,KAAKC,MAAMgJ,OAAOvH,UAEhF1B,KAAKC,MAAMgJ,OAAOxG,aAAarC,OAAS,GAAM,+BAAOJ,KAAKC,MAAMgJ,OAAOxG,2B,GA5BrCzD,aCC1BsK,E,4JACnB,WACE,OACE,sBAAK3J,UAAU,YAAYyJ,aAAa,MAAxC,UACE,qBAAKzJ,UAAU,wDAAf,SACE,sBAAKA,UAAU,mBAAf,UACE,uBAAO8D,MAAO,CAAE4F,aAAc,QAA9B,0KAEA,uBACE1J,UAAWA,IAAU,GAAI,CACvBI,MAAOC,KAAKC,MAAMgJ,OAAO1G,aAAanC,OAAS,IAEjDC,KAAK,UAAU6I,KAAK,OAAOC,YAAY,sDACvC7I,MAAON,KAAKC,MAAMgJ,OAAO1H,QAAShB,SAAUP,KAAKC,MAAMO,aACvD4I,aAAa,QAEdpJ,KAAKC,MAAMgJ,OAAO1G,aAAanC,OAAS,GAAM,+BAAOJ,KAAKC,MAAMgJ,OAAO1G,oBAG5E,sBAAK5C,UAAU,8DAAf,UACE,sBAAKA,UAAU,mBAAf,UACE,uBAAO8D,MAAO,CAAE8F,WAAY,MAAOC,UAAW,QAA9C,uFACA,sBAAK7J,UAAU,WAAf,UACE,uBAAOuJ,KAAK,QAAQpE,GAAG,yBAAyBzE,KAAK,yBAAyBC,MAAM,MAAMmJ,QAA0C,QAAjCzJ,KAAKC,MAAMuB,kBAA6BjB,SAAUP,KAAKC,MAAMyJ,uBAChK,uBAAOjG,MAAO,CAAE+F,UAAW,QAASH,aAAc,SAAWM,QAAQ,yBAArE,uBAGJ,qBAAKhK,UAAU,mBAAf,SACE,sBAAKA,UAAU,WAAf,UACE,uBAAOuJ,KAAK,QAAQpE,GAAG,wBAAwBzE,KAAK,wBAAwBC,MAAM,KAAKmJ,QAA0C,OAAjCzJ,KAAKC,MAAMuB,kBAA4BjB,SAAUP,KAAKC,MAAMyJ,uBAC5J,uBAAOjG,MAAO,CAAE+F,UAAW,QAASH,aAAc,SAAWM,QAAQ,wBAArE,wBAK4B,QAAjC3J,KAAKC,MAAMuB,mBACV,cAAC,EAAD,CACEyH,OAAQjJ,KAAKC,MAAMgJ,OACnBzI,aAAcR,KAAKC,MAAMO,aACzBkJ,qBAAsB1J,KAAKC,MAAMiE,wBACjC1C,kBAAmBxB,KAAKC,MAAMuB,2B,GAxCIxC","file":"static/js/13.chunk.js?hash=e069a7d7","sourcesContent":["import React, { Component } from 'react';\nimport className from 'classnames';\n\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class PersonalDetails extends Component {\n\n render() {\n return (\n
\n
\n
\n \n 1,\n })}\n name=\"firstName\" type=\"text\" placeholder=\"\"\n value={this.props.firstName} onChange={this.props.handleChange}\n autoComplete=\"off\"\n />\n {this.props.values.firstNameError.length > 0 && ({'This is a required field'})}\n
\n
\n
\n \n 1,\n })}\n name=\"lastName\" type=\"text\" placeholder=\"\"\n value={this.props.lastName} onChange={this.props.handleChange}\n autoComplete=\"off\"\n />\n {this.props.values.lastNameError.length > 0 && ({'This is a required field'})}\n
\n
\n
\n
\n
\n \n 1,\n })}\n name=\"artistName\" type=\"text\" placeholder=\"\"\n value={this.props.artistName} onChange={this.props.handleChange}\n autoComplete=\"off\"\n />\n
\n
\n
\n
\n
\n
\n \n 1,\n })}\n name=\"email\" type=\"text\" placeholder=\"\"\n value={this.props.email} onChange={this.props.handleChange}\n autoComplete=\"off\"\n />\n {this.props.values.emailError.length > 0 && ({this.props.values.emailError})}\n
\n
\n
\n
\n
\n );\n }\n}\n","import React, { Component } from 'react';\nimport { Dropdown } from 'semantic-ui-react';\nimport className from 'classnames';\n\nconst DropdownStyle = {\n\n paddingRight: '10px',\n marginRight: '10px',\n fontSize: 14,\n borderColor: 'transparent', // 'rgb(126, 160, 172)',\n borderWidth: '0.5px',\n borderRadius: '5px',\n paddingLeft: '10px',\n textColor: 'black',\n};\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class CountrySelection extends Component {\n\n render() {\n return (\n
\n
\n
\n \n \n {this.props.values.countryError.length > 0 && ({'This is a required field'})}\n
\n
\n
\n
\n
\n );\n }\n}\n","import React, { Component } from 'react';\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class ApplicationComplete extends Component {\n render() {\n return (\n
\n
\n

Thank you for your interest!

\n
\n
\n
\n
\n

Thank you for your interest in becoming an artist with Music Vine

\n

We receive a high volume of applications on a daily basis with a member of the team reviewing every application we receive. We will be in touch soon – but please allow up to 12 weeks for someone to respond.

\n

If you haven’t come across it already, we’d recommend you have a browse of our handy How It Works if you’d like to learn more about being an artist at Music Vine.

\n
\n
\n
\n
\n );\n }\n\n}\n\n","import React, { Component } from 'react';\nimport className from 'classnames';\n\n// eslint-disable-next-line react/prefer-stateless-function\nexport class PrePortfolioContent extends Component {\n\n render() {\n return (\n
\n
\n
\n
\n \n 1,\n })}\n name={'how'} value={this.props.how} onChange={this.props.handleChange}\n />\n {this.props.values.howError.length > 0 && ({'This is a required field'})}\n
\n
\n
\n
\n \n 1,\n })}\n name={'why'} value={this.props.why} onChange={this.props.handleChange} style={{ minHeight: '135px' }}\n />\n {this.props.values.whyError.length > 0 && ({'This is a required field'})}\n
\n
\n
\n
\n \n 1,\n })}\n name=\"styles\" type=\"text\" placeholder=\"\"\n value={this.props.styles} onChange={this.props.handleChange}\n autoComplete=\"off\"\n />\n {this.props.values.stylesError.length > 0 && ({'This is a required field'})}\n
\n
\n
\n
\n );\n }\n}\n\nexport default PrePortfolioContent;\n","import React, { Component } from 'react';\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class LicenseSelection extends Component {\n render() {\n return (\n
\n
\n
\n \n
\n {this.props.licenseError.length > 0 && ({'This is a required field'})}\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n
\n
\n );\n }\n}\n","import React, { Component } from 'react';\nimport className from 'classnames';\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class OtherPlatformDetailsComponent extends Component {\n\n render() {\n return (\n
\n
\n \n 1,\n })}\n name={'otherPlatformDetails'} value={this.props.otherPlatformDetails} onChange={this.props.handleChange}\n />\n
\n {this.props.errors.otherPlatformDetails.length > 0 && ({this.props.errors.otherPlatformDetails})}\n
\n
\n );\n }\n}\n","import React, { Component } from 'react';\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class ExclusivitySelection extends Component {\n render() {\n return (\n
\n
\n
\n \n
\n {this.props.exclusivityError.length > 0 && ({'This is a required field'})}\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n );\n }\n}\n","import React, { Component } from 'react';\nimport OtherPlatformDetailsComponent from './OtherPlatformDetailsComponent';\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class OtherPlatformSelection extends Component {\n\n render() {\n return (\n
\n
\n
\n
\n \n
\n {this.props.otherPlatformsError.length > 0 && ({'This is a required field'})}\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n {this.props.otherPlatforms === 'Yes' &&\n \n }\n
\n\n
\n );\n }\n}\n","import React, { Component } from 'react';\n// Notification pop up creator: https://github.com/teodosii\nimport 'react-notifications-component/dist/theme.css';\nimport { store } from 'react-notifications-component';\nimport {\n API,\n} from '../../constants';\nconst emailRegex = /^\\S+@\\S+\\.\\S+$/i;\nconst urlRegex = /[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)?/gi;\n\n\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class ApplicationFormSubmission extends Component {\n constructor() {\n super();\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n CreateNotification(errorMessage) {\n store.addNotification({\n title: 'Form Incomplete!',\n message: ' ',\n type: 'danger',\n insert: 'top',\n container: 'top-center',\n customContent: 'danger-with-icon',\n animationIn: ['animated', 'fadeIn'],\n animationOut: ['animated', 'fadeOut'],\n dismiss: {\n duration: 3000,\n onScreen: false,\n },\n });\n }\n\n handleSubmit(event) {\n let errorCount = 0;\n let yErrorPos = 0;\n event.preventDefault();\n // If there is an error message for last name field or the field is empty\n if (this.props.values.firstName === '') {\n errorCount += 1;\n yErrorPos = document.getElementById('PersonalDetails').getBoundingClientRect().y;\n this.props.ChangeColor('firstName', 'error');\n } else {\n this.props.ChangeColor('firstName', 'valid');\n }\n\n // If there is an error message for last name field or the field is empty\n if (this.props.values.lastName === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PersonalDetails').getBoundingClientRect().y;\n }\n this.props.ChangeColor('lastName', 'error');\n } else {\n this.props.ChangeColor('lastName', 'valid');\n }\n // If there is an error message for email field or the field is empty\n if (this.props.values.email === '' || !emailRegex.test(this.props.values.email)) {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PersonalDetails').getBoundingClientRect().y;\n }\n // If the email field is empty\n if (this.props.values.email === '') {\n // this.CreateNotification('Please tell us your email address ');\n this.props.ChangeColor('email', 'error', 'This is a required field');\n } else {\n // this.CreateNotification(this.props.errors.email);\n this.props.ChangeColor('email', 'error', 'Please enter a valid email address');\n }\n } else {\n this.props.ChangeColor('email', 'valid');\n }\n // If country is empty\n if (this.props.values.country === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('LocationSelection').getBoundingClientRect().y;\n }\n // this.CreateNotification('Please select a country ');\n this.props.ChangeColor('country', 'error');\n } else {\n this.props.ChangeColor('country', 'valid');\n }\n // If there is an error message for how field or the field is empty\n if (this.props.values.how === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PrePortfolioContent').getBoundingClientRect().y;\n }\n // this.CreateNotification(this.props.errors.how);\n this.props.ChangeColor('how', 'error');\n } else {\n this.props.ChangeColor('how', 'valid');\n }\n // If there is an error message for why field or the field is empty\n if (this.props.values.why === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PrePortfolioContent').getBoundingClientRect().y;\n }\n // this.CreateNotification('Please tell us why you want to be a Music Vine artist ');\n this.props.ChangeColor('why', 'error');\n } else {\n this.props.ChangeColor('why', 'valid');\n }\n // If the field is empty\n if (this.props.values.styles === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PrePortfolioContent').getBoundingClientRect().y;\n }\n this.props.ChangeColor('styles', 'error');\n } else {\n this.props.ChangeColor('styles', 'valid');\n }\n\n // If there is an error message for sample1 field or the field is empty\n if (this.props.values.sample1 === '' || !this.props.values.sample1.match(urlRegex)) {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PortfolioContent').getBoundingClientRect().y;\n }\n // If the artist name field is empty\n if (this.props.values.sample1 === '') {\n // this.CreateNotification('Please give us a link to your 5 best tracks ');\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PortfolioContent').getBoundingClientRect().y;\n }\n this.props.ChangeColor('sample1', 'error', 'This is a required field');\n } else {\n this.props.ChangeColor('sample1', 'error', 'Please enter a valid URL');\n }\n } else {\n this.props.ChangeColor('sample1', 'valid');\n }\n\n if ( this.props.values.additionalSamples === \"Yes\" ) {\n\n // If there is an error message for sample1 field or the field is empty\n if (this.props.values.sample2 !== '' && !this.props.values.sample2.match(urlRegex)) {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PortfolioContent').getBoundingClientRect().y;\n }\n // this.CreateNotification('Please give us a link to your 5 best tracks ');\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PortfolioContent').getBoundingClientRect().y;\n }\n this.props.ChangeColor('sample2', 'error', 'Please enter a valid URL');\n }\n else {\n this.props.ChangeColor('sample2', 'valid');\n }\n\n // If there is an error message for sample1 field or the field is empty\n if (this.props.values.sample3 !== '' && !this.props.values.sample3.match(urlRegex)) {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PortfolioContent').getBoundingClientRect().y;\n }\n // this.CreateNotification('Please give us a link to your 5 best tracks ');\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PortfolioContent').getBoundingClientRect().y;\n }\n this.props.ChangeColor('sample3', 'error', 'Please enter a valid URL');\n } else {\n this.props.ChangeColor('sample3', 'valid');\n }\n\n\n }\n\n // has the applicant told us they are working with other platforms\n if (this.props.values.otherPlatforms === 'Yes') {\n // check that they have entered details\n if (this.props.values.otherPlatformDetails === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('PortfolioContent').getBoundingClientRect().y;\n }\n // this.CreateNotification('Please tell us what other platforms you are working with ');\n this.props.ChangeColor('otherPlatformDetails', 'error');\n // return;\n }\n }\n if (this.props.values.otherPlatforms === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('OtherPlatformsSelection').getBoundingClientRect().y;\n }\n this.props.ChangeColor('otherPlatforms', 'error');\n } else {\n this.props.ChangeColor('otherPlatforms', 'valid');\n }\n if (this.props.values.exclusivity === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('ExclusivitySelection').getBoundingClientRect().y;\n }\n this.props.ChangeColor('exclusivity', 'error');\n } else {\n this.props.ChangeColor('exclusivity', 'valid');\n }\n if (this.props.values.licensingOption === '') {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('LicenseSelection').getBoundingClientRect().y;\n }\n this.props.ChangeColor('licensingOption', 'error');\n } else {\n this.props.ChangeColor('licensingOption', 'valid');\n }\n if (!this.props.values.privacyAgreement) {\n errorCount += 1;\n if (yErrorPos === 0) {\n yErrorPos = document.getElementById('ApplicationFormSubmission').getBoundingClientRect().y;\n }\n this.props.ChangeColor('privacyAgreement', 'error');\n } else {\n this.props.ChangeColor('privacyAgreement', 'valid');\n }\n if (errorCount > 0) {\n this.CreateNotification('Please complete the form');\n window.scrollTo(0, yErrorPos + window.scrollY);\n return;\n }\n\n const url = `${API}Application_Submission`;\n fetch(url, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(this.props.values),\n }).then((r) => this.props.completeApplication());\n }\n\n render() {\n return (\n
\n
\n
\n
\n \n
\n {this.props.privacyAgreementError.length > 0 && ({'This is a required field'})}\n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport PersonalDetails from \"./PersonalDetails\";\nimport LocationSelection from \"./CountrySelection\";\nimport PrePortfolioContent from \"./PrePortfolioContent\";\nimport PortfolioContent from \"./PortfolioContent\";\nimport LicenseSelection from \"./LicenseSelection\";\nimport ApplicationComplete from \"./ApplicationComplete\";\n// Notification pop up creator: https://github.com/teodosii\nimport ReactNotification from \"react-notifications-component\";\nimport \"react-notifications-component/dist/theme.css\";\nimport { fetchCountries } from \"../../actions/checkoutAction\";\nimport ExclusivitySelection from \"./ExclusivitySelection\";\nimport OtherPlatformSelection from \"./OtherPlatformSelection\";\nimport ApplicationFormSubmission from \"./ApplicationFormSubmission\";\nimport PreFormContent from \"./PreFormContent\";\nimport A from \"../A\";\n\nexport default class ArtistApplicationForm extends Component {\n constructor(props) {\n super(props);\n this.handleCountry = this.handleCountry.bind(this);\n this.setAdditionalPortfolio = this.setAdditionalPortfolio.bind(this);\n this.setPrivacy = this.setPrivacy.bind(this);\n this.setAdditionalPortfolio = this.setAdditionalPortfolio.bind(this);\n this.exclusivityHandler = this.exclusivityHandler.bind(this);\n this.licenseHandler = this.licenseHandler.bind(this);\n this.otherPlatformHandler = this.otherPlatformHandler.bind(this);\n this.finalize = this.finalize.bind(this);\n this.additionalSampleHandler = this.additionalSampleHandler.bind(this);\n this.ChangeHandler = this.ChangeHandler.bind(this);\n }\n\n state = {\n step: \"\",\n firstName: \"\",\n lastName: \"\",\n artistName: \"\",\n email: \"\",\n countries: [],\n country: \"\",\n how: \"\",\n why: \"\",\n styles: \"\",\n sample1: \"\",\n additionalSamples: \"\",\n sample2: \"\",\n sample3: \"\",\n exclusivity: \"\",\n otherPlatforms: \"\",\n otherPlatformDetails: \"\",\n privacyAgreement: false,\n licensingOption: \"\",\n firstNameError: \"\",\n lastNameError: \"\",\n artistNameError: \"\",\n howError: \"\",\n whyError: \"\",\n stylesError: \"\",\n emailError: \"\",\n locationError: \"\",\n sample1Error: \"\",\n sample2Error: \"\",\n sample3Error: \"\",\n additionalPortfolioError: \"\",\n licenseError: \"\",\n exclusivityError: \"\",\n countryError: \"\",\n otherPlatformsError: \"\",\n privacyAgreementError: \"\",\n showPreForm: \"\",\n errors: {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n artistName: \"\",\n location: \"\",\n how: \"\",\n why: \"\",\n styles: \"\",\n sample1: \"\",\n sample2: \"\",\n sample3: \"\",\n otherPlatforms: \"\",\n otherPlatformDetails: \"\",\n },\n };\n // form field error color = #ffe7a9\n\n // Handle field value changes\n ChangeHandler(event) {\n const stateName = event.target.name;\n const value = event.target.value;\n this.setState({ [stateName]: value });\n }\n\n componentDidMount() {\n fetchCountries()\n .then((data) => {\n const countryOptions = _.map(data, (country, index) => ({\n key: `country-${country.id}`,\n text: country.name,\n value: country.id,\n vat_rate: country.vat_rate / 100,\n iso_code_2: country.iso_code2,\n }));\n this.setState({ countries: countryOptions });\n })\n .catch((err) => err);\n }\n\n setPrivacy(event) {\n if (event.target.value === \"on\" && this.state.privacyAgreement === true) {\n this.setState({ privacyAgreement: false });\n } else {\n this.setState({ privacyAgreement: true });\n }\n }\n setAdditionalPortfolio(event) {\n this.setState(\n {\n additionalSamples: event.currentTarget.value,\n },\n () => {}\n );\n }\n exclusivityHandler(event) {\n this.setState({ exclusivity: event.target.value });\n }\n licenseHandler(event) {\n this.setState({ licensingOption: event.target.value });\n }\n otherPlatformHandler(event) {\n this.setState({ otherPlatforms: event.target.value }, () => {});\n }\n finalize() {\n this.setState({ step: \"Complete\" });\n }\n handleCountry(event, { value }) {\n this.setState({ country: value });\n }\n additionalSampleHandler(event) {\n this.setState({ additionalSamples: event.target.value }, () => {});\n }\n ChangeColor = (fieldName, fieldState, errorMessage = \"\") => {\n if (fieldName === \"country\") {\n if (fieldState === \"error\") {\n this.setState({ countryError: \"yes\" });\n document.getElementById(\"LocationDropdown\").style[\"background-color\"] =\n \"#ff00001f\";\n } else {\n document.getElementById(\"LocationDropdown\").style[\"background-color\"] =\n \"white\";\n this.setState({ countryError: \"\" });\n }\n return;\n }\n if (fieldName === \"firstName\") {\n if (fieldState === \"error\") {\n this.setState({ firstNameError: \"yes\" });\n } else {\n this.setState({ firstNameError: \"\" });\n }\n return;\n }\n if (fieldName === \"lastName\") {\n if (fieldState === \"error\") {\n this.setState({ lastNameError: \"Yes\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ lastNameError: \"\" });\n }\n return;\n }\n if (fieldName === \"artistName\") {\n if (fieldState === \"error\") {\n this.setState({ artistNameError: \"Yes\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ artistNameError: \"\" });\n }\n return;\n }\n if (fieldName === \"styles\") {\n if (fieldState === \"error\") {\n this.setState({ stylesError: \"Yes\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ stylesError: \"\" });\n }\n return;\n }\n if (fieldName === \"email\") {\n if (fieldState === \"error\") {\n this.setState({ emailError: errorMessage });\n }\n if (fieldState === \"valid\") {\n this.setState({ emailError: \"\" });\n }\n return;\n }\n if (fieldName === \"location\") {\n if (fieldState === \"error\") {\n this.setState({ locationError: \"Yes\" });\n document.getElementById(\"LocationDropdown\").style[\"background-color\"] =\n \"red\";\n }\n if (fieldState === \"valid\") {\n this.setState({ locationError: \"\" });\n }\n return;\n }\n if (fieldName === \"how\") {\n if (fieldState === \"error\") {\n this.setState({ howError: \"Yes\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ howError: \"\" });\n }\n return;\n }\n if (fieldName === \"why\") {\n if (fieldState === \"error\") {\n this.setState({ whyError: \"Yes\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ whyError: \"\" });\n }\n return;\n }\n if (fieldName === \"sample1\") {\n if (fieldState === \"error\") {\n this.setState({ sample1Error: errorMessage });\n }\n if (fieldState === \"valid\") {\n this.setState({ sample1Error: \"\" });\n }\n return;\n }\n if (fieldName === \"sample2\") {\n if (fieldState === \"error\") {\n this.setState({ sample2Error: errorMessage });\n }\n if (fieldState === \"valid\") {\n this.setState({ sample2Error: \"\" });\n }\n return;\n }\n if (fieldName === \"sample3\") {\n if (fieldState === \"error\") {\n this.setState({ sample3Error: errorMessage });\n }\n if (fieldState === \"valid\") {\n this.setState({ sample3Error: \"\" });\n }\n }\n if (fieldName === \"location\") {\n if (fieldState === \"error\") {\n this.setState({ locationError: \"This is a required field\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ locationError: \"\" });\n }\n }\n if (fieldName === \"exclusivity\") {\n if (fieldState === \"error\") {\n this.setState({ exclusivityError: \"This is a required field\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ exclusivityError: \"\" });\n }\n }\n if (fieldName === \"licensingOption\") {\n if (fieldState === \"error\") {\n this.setState({ licenseError: \"This is a required field\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ licenseError: \"\" });\n }\n }\n if (fieldName === \"otherPlatforms\") {\n if (fieldState === \"error\") {\n this.setState({ otherPlatformsError: \"This is a required field\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ otherPlatformsError: \"\" });\n }\n }\n if (fieldName === \"privacyAgreement\") {\n if (fieldState === \"error\") {\n this.setState({ privacyAgreementError: \"This is a required field\" });\n }\n if (fieldState === \"valid\") {\n this.setState({ privacyAgreementError: \"\" });\n }\n }\n };\n render() {\n const {\n step,\n firstName,\n lastName,\n artistName,\n email,\n country,\n how,\n why,\n styles,\n sample1,\n additionalSamples,\n sample2,\n sample3,\n exclusivity,\n otherPlatforms,\n otherPlatformDetails,\n privacyAgreement,\n licensingOption,\n firstNameError,\n lastNameError,\n artistNameError,\n howError,\n whyError,\n stylesError,\n emailError,\n locationError,\n sample1Error,\n sample2Error,\n sample3Error,\n exclusivityError,\n otherPlatformsError,\n additionalPortfolioError,\n privacyAgreementError,\n licenseError,\n countryError,\n } = this.state;\n const values = {\n firstName,\n lastName,\n artistName,\n email,\n country,\n how,\n why,\n styles,\n sample1,\n additionalSamples,\n sample2,\n sample3,\n exclusivity,\n otherPlatforms,\n otherPlatformDetails,\n privacyAgreement,\n licensingOption,\n firstNameError,\n lastNameError,\n artistNameError,\n howError,\n whyError,\n stylesError,\n emailError,\n locationError,\n sample1Error,\n sample2Error,\n sample3Error,\n exclusivityError,\n otherPlatformsError,\n additionalPortfolioError,\n privacyAgreementError,\n licenseError,\n countryError,\n };\n if (step === \"Complete\") {\n return ;\n }\n return (\n
\n \n {/* if the form is loaded form the contact page */}\n {this.props.ignorePreformContent === \"Yes\" && (\n
\n

Artist Application

\n {/*

\n Having launched mid 2015, Music Vine now represents some of the\n most esteemed and exciting production music artists in the world.\n Our growing client-base ranges from revered marketing agencies and\n global brands to independent filmmakers and hobbyists. We have an\n ambitious vision for the coming years and welcome applications\n from those looking for a licensing company which shares their\n passion for music, quality and a sustainable, prosperous music\n licensing landscape.\n

*/}\n

\n Thank you for your interest in joining Music Vine as an artist.\n Our applications are currently closed but we encourage you to\n check back periodically, as we may reopen them in the future.\n

\n

\n Please note: Until we reopen, artist application inquiries\n will not be considered or receive a response from our Customer\n Support team.\n

\n {/*

\n Important note - As advocates of fair payment for\n musicians and a sustainable licensing industry,{\" \"}\n \n we are unable to work with artists that are associated with\n licensing platforms operating a one-size-fits-all subscription\n model\n \n . We share this policy with numerous other respected licensing\n companies.{\" \"}\n \n Our CEO has published an open letter on this matter\n \n .\n

\n

\n Essential reading before applying\n

\n

\n Before completing the application form below, please read through\n our How It Works page\n to ensure your work is suitable for Music Vine.\n

\n

We look forward to receiving your application!

*/}\n
\n )}\n {/* if the form is loaded from the index page */}\n {/* {this.props.showPreformContent === 'Yes' && (
\n
\n

Artist Application

\n
\n \n
)}\n\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
*/}\n
\n );\n }\n}\n","// Set currency action.\n// -----------------------------------------------------------------------------\nimport fetch from 'isomorphic-fetch';\nimport Config, { API } from '../constants';\nimport {conditionallyGetCdnApi} from \"./generalAction\";\n\nexport function fetchSubscriptionPricePreview({ planId, periodId, currencyId, countryId, vatNumber, couponId }) {\n const authToken = sessionStorage.getItem('auth_token');\n const apiUrl = `${API}subscription/price-preview`;\n const formData = new FormData();\n\n formData.append('auth_token', authToken);\n formData.append('planId', planId);\n formData.append('periodId', periodId);\n formData.append('currencyId', currencyId);\n formData.append('countryId', countryId);\n if (vatNumber) formData.append('vatNumber', vatNumber);\n if (couponId) formData.append('couponId', couponId);\n\n return fetch(apiUrl, {\n method: 'POST',\n body: formData,\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function fetchVatRate(countryCode = false) {\n const apiUrl = `${conditionallyGetCdnApi()}subscription/get_vat/${countryCode}`;\n\n return fetch(apiUrl, {\n method: 'GET',\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function fetchCountries() {\n const apiUrl = `${API}countries`;\n\n return fetch(apiUrl, {\n method: 'GET',\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function checkVatNumber(vatNumber, countryID) {\n const apiUrl = `${Config.BASE_API_URL}api-checkout/payment/validate-vat-number?vat_number=${vatNumber}&country_id=${countryID}`;\n const authToken = sessionStorage.getItem('auth_token');\n return fetch(apiUrl, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function recalculateBasket(countryID, isValid = false, vatNumber = '', address = {}) {\n const authToken = sessionStorage.getItem('auth_token');\n const params = new URLSearchParams({\n country_id: countryID,\n vat_number_valid: isValid,\n vat_number: vatNumber,\n });\n if (address.line1) params.append('address_line1', address.line1);\n if (address.city) params.append('address_city', address.city);\n if (address.state) params.append('address_state', address.state);\n if (address.postal_code) params.append('address_postal_code', address.postal_code);\n const apiUrl = `${Config.BASE_API_URL}api-checkout/payment/recalculate-basket-totals?${params.toString()}`;\n return fetch(apiUrl, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function checkDiscountCode(\n discountCode,\n planId,\n currencyId,\n periodId,\n authToken\n) {\n const apiUrl = `${API}subscription/validateDiscountCode`;\n const formData = new FormData();\n\n formData.append('token', authToken);\n formData.append('discountCode', discountCode);\n formData.append('planId', planId);\n formData.append('currency', currencyId);\n formData.append('periodId', periodId);\n\n return fetch(apiUrl, {\n method: 'POST',\n body: formData,\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function fetchCheckoutBasket() {\n const authToken = sessionStorage.getItem('auth_token');\n return () =>\n fetch(`${Config.BASE_API_URL}api-checkout/payment`, {\n method: 'GET',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n 'X-GUID': sessionStorage.getItem('customer_guid') || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function updateCheckoutBasket(data) {\n const authToken = sessionStorage.getItem('auth_token');\n return () =>\n fetch(`${Config.BASE_API_URL}api-checkout/payment`, {\n method: 'POST',\n body: JSON.stringify({\n token: authToken,\n ...data,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n token: authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function fetchBillingInformation() {\n const authToken = sessionStorage.getItem('auth_token');\n return () =>\n fetch(`${Config.BASE_API_URL}api-checkout/payment/billing-information`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\nexport function updatePaymentOrderStatus(orderId) {\n const authToken = sessionStorage.getItem('auth_token');\n return () =>\n fetch(`${API}checkout/ajax-update-status-sca-order?orderId=${orderId}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function updateOrderStatus(orderId) {\n const authToken = sessionStorage.getItem('auth_token');\n return () =>\n fetch(`${API}checkout/ajax-update-sca-order?orderId=${orderId}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function checkOrderStatus(orderId) {\n const authToken = sessionStorage.getItem('auth_token');\n return () =>\n fetch(`${Config.BASE_API_URL}api-checkout/order-status/${orderId}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\nexport function fetchOrderConfirmation(orderID) {\n const authToken = sessionStorage.getItem('auth_token');\n return () =>\n fetch(`${Config.BASE_API_URL}api-checkout/order-confirmation/${orderID}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Auth-Token': authToken || null,\n },\n })\n .then((res) => res.json())\n .catch((err) => err);\n}\n\n","import React, { Component } from 'react';\nconst LinkStyle = {\n color: '#3a9ecf',\n};\n\nexport default class PreFormContent extends Component {\n render() {\n return (\n
\n
\n
\n
Join an acclaimed platform which celebrates expressive, authentic music with exceptional production values.
\n
\n

Having launched mid 2015, Music Vine now represents some of the most esteemed and exciting production music artists in the world. Our growing client-base ranges from revered marketing agencies and global brands to independent filmmakers and hobbyists. We have an ambitious vision for the coming years and welcome applications from those looking for a licensing company which shares their passion for music, quality and a sustainable, prosperous music licensing landscape.

\n


Important note - As advocates of fair payment for musicians and a sustainable licensing industry, we are unable to work with artists that are associated with licensing platforms operating a one-size-fits-all subscription model. We share this policy with numerous other respected licensing companies. Our CEO has published an open letter on this matter.  

\n

Essential reading before applying

\n

Before completing the application form below, please read through our How It Works page to ensure your work is suitable for Music Vine.

\n

We look forward to receiving your application!

\n
\n
\n
\n );\n }\n}\n","import React, { Component } from 'react';\nimport className from 'classnames';\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class AdditionalSamples extends Component {\n\n render() {\n return (\n
\n
\n
\n \n 1,\n })}\n name=\"sample2\" type=\"text\" placeholder=\"Do not use time-limited services such as WeTransfer\"\n autoComplete=\"off\" onChange={this.props.handleChange} value={this.props.values.sample2}\n />\n {this.props.values.sample2Error.length > 0 && ({this.props.values.sample2Error})}\n
\n
\n
\n
\n \n 1,\n })}\n name=\"sample3\" type=\"text\" placeholder=\"Do not use time-limited services such as WeTransfer\"\n autoComplete=\"off\" onChange={this.props.handleChange} value={this.props.values.sample3}\n />\n {this.props.values.sample3Error.length > 0 && ({this.props.values.sample3Error})}\n\n
\n
\n
\n );\n }\n}\n\n","import React, { Component } from 'react';\nimport className from 'classnames';\nimport AdditionalSamples from './AdditionalSamples';\n// eslint-disable-next-line react/prefer-stateless-function\nexport default class PortfolioContent extends Component {\n render() {\n return (\n
\n
\n
\n \n 1,\n })}\n name=\"sample1\" type=\"text\" placeholder=\"Do not use time-limited services such as WeTransfer\"\n value={this.props.values.sample1} onChange={this.props.handleChange}\n autoComplete=\"off\"\n />\n {this.props.values.sample1Error.length > 0 && ({this.props.values.sample1Error})}\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n\n
\n {this.props.additionalSamples === 'Yes' &&\n \n }\n
);\n }\n}\n"],"sourceRoot":""}