{"version":3,"sources":["redux/actionTypes/actionTypes.js","redux/reducers/languageReducer.js","redux/reducers/index.js","redux/store.js","reportWebVitals.js","global/components/atoms/Forms/Button/style.js","global/components/atoms/Forms/Button/index.js","styles/themes/constants.js","global/components/molecules/Header/style.js","assets/images/DCT white logo.svg","global/components/atoms/Forms/Link/style.js","global/components/atoms/Forms/Link/index.js","global/components/molecules/Header/index.js","redux/actions/index.js","global/components/molecules/HeroBanner/style.js","assets/images/herobanner.jpeg","global/components/molecules/HeroBanner/index.js","global/components/organism/CreativeVisaPage/style.js","global/components/atoms/ErrorMessage/style.js","global/Utils/MultiLingualValues.js","global/components/atoms/ErrorMessage/index.js","global/components/atoms/Forms/InputFile/style.js","global/components/atoms/Forms/InputFile/index.js","global/components/atoms/Forms/TextBox/style.js","global/components/atoms/Forms/TextBox/index.js","global/components/atoms/Forms/SelectBox/style.js","global/components/atoms/Forms/SelectBox/index.js","global/components/atoms/Forms/Radio/style.js","global/components/atoms/Forms/Radio/index.js","global/components/atoms/Forms/CheckBox/style.js","global/components/atoms/Forms/CheckBox/index.js","global/components/atoms/Forms/Date/style.js","global/components/atoms/Forms/Date/index.js","global/components/molecules/CreativeVisaForm/constants.js","global/components/atoms/ReadOnlyField/style.js","global/components/atoms/RichText/style.js","global/components/atoms/RichText/index.js","global/components/atoms/DecodeHTML/index.js","global/components/atoms/ReadOnlyField/index.js","global/components/molecules/CreativeVisaForm/style.js","global/Utils/services.js","global/components/molecules/CreativeVisaForm/index.js","global/components/molecules/CreativeVisaForm/formData.js","global/components/organism/CreativeVisaPage/index.js","global/components/organism/HomePage/style.js","global/components/atoms/Title/style.js","global/components/atoms/Title/index.js","global/components/molecules/Footer/style.js","assets/images/footer_map.png","assets/images/footer_tca_logo.png","global/components/molecules/Footer/index.js","global/components/organism/HomePage/index.js","global/components/organism/HomePage/data.js","global/components/organism/GoldenVisaPage/style.js","global/Utils/GoldenMultiLingualValues.js","global/components/molecules/GoldenVisaForm/constants.js","global/components/molecules/GoldenVisaForm/style.js","global/components/molecules/GoldenVisaForm/index.js","global/components/molecules/GoldenVisaForm/formData.js","global/components/organism/GoldenVisaPage/index.js","global/components/organism/GoldenHomePage/style.js","global/components/organism/GoldenHomePage/index.js","global/components/organism/GoldenHomePage/data.js","App.js","styles/themes/colors.js","styles/themes/mixins.js","styles/themes/shadows.js","styles/themes/borders.js","styles/themes/font.js","styles/themes/index.js","styles/themes/utils.js","Layout.js","index.js","global/Utils/helperFunctions.js"],"names":["UPDATE_LANGUAGE","intialState","lang","rootReducer","combineReducers","languageReducer","state","arguments","length","undefined","action","type","_objectSpread","payload","store","createStore","reportWebVitals","onPerfEntry","Function","then","_ref","getCLS","getFID","getFCP","getLCP","getTTFB","ButtonContainerStyle","styled","div","_templateObject","_taggedTemplateLiteral","pxToRem","ButtonStyle","button","_templateObject2","props","_props$theme$palette","theme","palette","disabledRed","Button","fieldType","fieldLabel","data","isArabic","test","_jsx","children","dir","onClick","disabled","breakpoints","keys","values","xs","sm","md","lg","xl","xxl","xxxl","desktopMedia","concat","HeaderContainer","shadows","LanguageSelectorContainer","LogoContainer","_templateObject3","_templateObject4","a","_templateObject5","LinkStyle","red","Link","linkValue","onChange","connect","dispatch","updateLanguage","params","_jsxs","src","logo","alt","setLanguageEnglish","setLanguageArabic","HeroBannerContainer","Overlay","HeroContent","HeroBanner","herobanner","title","subTitle","CreativeVisaPageContainer","typography","fontFamily","primaryRegular","ErrorMessageStyle","span","multiLinguaValues","salutationId","labelEN","labelAR","instructionHeadingText","passportCodeText","instructionContentText","process","declarationContentText","firstName","middleName","surName","email","genderId","personalInformation","nationalityAndPassport","dateOfBirth","birthCountryId","birthCity","golden","creative","previousNationalityId","nationalityId","passportTypeId","passportIssueCountryId","passportNumber","passportIssueCity","passportIssueDate","passportExpiryDate","occupation","qualificationId","qualificationCountryId","educationLevelDetails","maritalStatusId","motherName","religionId","faithId","uaeUnifiedNo","uaeIdentityNumber","hasUaeVisa","sponsorName","hasLegalIssue","legalIssueDetails","havedependantsSponsor","visaInformation","occupationAndQualification","yes","no","permanentContactInformation","homeCountryBuilding","homeCountryStreet","homeCountryCity","homeCountryState","homeCountryId","homeCountryZipCode","homeCountryMobile","homeCountryOtherContact","contactInformation","uaeBuilding","uaeStreet","uaeCity","uaeEmirateId","uaePoBox","uaeResidencePhoneNumber","uaeOtherContact","uaeMobile","creativeVisaText","creativeVisaSubText","creativeVisaCategories","applicantTypeId","visaCategoryId","visaActivityId","supportingDocuments","supportingDocumentsDisclaimer","PersonalInformationDisclaimer","attachment_Passport","attachment_Colour_photo","attachment_Dependant_passport","attachment_Health_Insurance","acclaimedApplicants","attachment_Upload_evidence","attachment_Additional_Supporting_Docs","attachment_Supporting_doc1","attachment_Supporting_doc2","attachment_Uae_Visa","attachment_EmiratesId","talentedApplicants","attachment_Letter_of_Intent","attachment_Portfolio_of_Work","attachment_Reference_Letter","attachment_Evidence_of_degree","attachment_Other_relevant_documents","declarationText","name","sign_date_form","signature","privacyPolicyCheckboxLinkText","terms","submitText","requiredFieldText","successMessage","apiErrorMessage","dateErrorMessage","xssErrorMessage","proceedText","proceedYourApplication","contactInfoText","contactAddrerssText","followUsText","contactText","officesText","privacyPolicyText","quickLinksText","termsAndConditionText","copyRightText","homePageText","instructionNewContentText","copyRightNewText","getLanguageValues","fieldName","ErrorMessage","message","UploadedDOCStyle","darkBlue","RemoveFileStyle","mixins","marginLeft","UploadIconStyle","marginRight","left","Black","LabelStyle","label","InputFile","isMultipleUpload","maxUpload","isRequired","uploadedFiles","setUploadedFiles","useState","handleChagne","e","console","info","target","allowedExtensions","allowedExtensionsDoc","fileName","size","fileSize","files","fileExtension","split","pop","includes","toLowerCase","alert","value","err","htmlFor","className","errors","id","style","display","ref","reference","map","file","onFileDelete","lastModified","removeStyleBtn","document","querySelector","InputStyle","input","InputField","getFieldType","SelectStyle","fieldset","borderColor","SelectBox","isLinkedToForm","listItems","Controller","control","formControl","rules","required","render","Select","options","noOptionsMessage","RadioStyle","RadioOptionStyle","Radio","item","key","CheckboxStyle","CheckboxOptionStyle","CheckBox","extraProps","DatePickerStyle","DatePicker","showTodayDate","Datepicker","utcOffset","selected","autoComplete","showYearDropdown","scrollableYearDropdown","formFieldTypes","SINGLELINETEXT","EMAIL","PHONE","INPUTFILE","DROPDOWN","DATE","CHECKBOX","RADIO","CAPTCHA","SUBMIT","READONLY","ReadOnlyStyle","RichTextStyle","RichText","dangerouslySetInnerHTML","__html","encodedHTML","content","replace","ReadOnlyField","contentHeading","richText","CreativeVisaFormContainer","lightYellow","CreativeVisaFormStyle","form","White","ErrorMessageAPIStyle","SuccessMessageStyle","FieldStyle","httpHost","getAllDropdownValues","postApplicantDetails","CreativeVisaForm","recaptchachecked","setRecaptchachecked","React","formSubmitStatus","setFormSubmitStatus","showRecaptchaError","setShowRecaptchaError","showLoader","setShowLoader","apiError","setApiError","dateError","setdateError","xssError","setxssError","register","handleSubmit","watch","setValue","useForm","dropdownData","applicantTypeValue","uaeVisaValue","legalIssueValue","qualificationValue","religionVlaue","visaCategoryValue","religionValue","dependentSpoonsorValue","useEffect","window","scrollTo","Date","validateDate","dateString","parts","day","parseInt","month","year","monthLength","getDropdownValues","keyName","filter","nameAr","valuesExtracted","handleFileChange","targetName","updatedFiles","renderFormFields","fields","uaeVisaCondition","legalIssueCondition","religionCondition","visaCategoryCondition","date","_Fragment","ReCAPTCHA","sitekey","captchaKey","recaptchaCallback","Loading","loading","background","loaderColor","onSubmit","locale","toLocaleDateString","obj","Object","forEach","index","toString","pushAnaylyticsData","CurrentVisaType","rows","visaTypeId","log","requestObject","fileFormData","FormData","applicantFormData","append","element","hoursDiff","getHours","getTimezoneOffset","setHours","set","JSON","stringify","axios","post","headers","status","referenceCode","catch","renderForm","formFields","isFormGroup","groupTitle","groupDisclaimer","parentField","parentValues","formData","field","applicantCondition","fontSize","color","fieldData","newFieldData","CreativeVisaPage","dropdownValues","setdropdownValues","get","AppContainer","HomeContainer","HomeTextContainer","Title","greyBlack","FooterBottomSectionContainer","darkGrey","_templateObject6","Footer","HomePage","proceedClicked","setProceedClicked","privacyClicked","setprivacyClicked","proceedButtonData","privacyCheckBox","Helmet","Header","onProceedClick","preinstructionContent","visaType","visaExpiringDate","attachment_Copy_UAE_HEALTH_INSURANCE","attachment_Supporting_doc3","attachment_EvidenceWorkAUH","existingVisaExpiryDate","IsxssExists","ValidatexssExists","GoldenVisaForm","GoldenVisaPage","App","BrowserRouter","Route","path","routeProps","subdomain","location","hostname","GoldenHomePage","lightBlue","darkGreen","mediumGreen","lightGreen","yellow","blueThemeGradient","isRtl","right","unit","positionLR","leftUnit","rightUnit","borderLeft","borderRight","marginLR","paddingLeft","paddingRight","paddingLR","textLeft","textRight","flexDirection","rotate180","rotate0","translateX","angle","Grey","colorMixins","borders","divider","fieldBorder","dropDownBorder","redBorder","baseFont","fontFamilyEN","join","primaryBold","fontFamilyAR","selectedLang","getFontFamily","direction","isDirectionRTL","setAttribute","ThemeProvider","defaults","common","GTA_ID","ReactDOM","Provider","StrictMode","Layout","async","injectGA","gtag","dataLayer","push","getElementById","pixelValue","canUseDOM","createElement","browser","analyticsInfo","winObj"],"mappings":"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","file":"static/js/main.b91c217e.chunk.js","sourcesContent":["export const UPDATE_LANGUAGE = \"UPDATE_LANGUAGE\";\r\n","import { UPDATE_LANGUAGE } from \"../actionTypes/actionTypes\";\r\n\r\nconst intialState = {\r\n lang: \"en\",\r\n};\r\n\r\nexport default function languageReducer(state = intialState, action) {\r\n switch (action.type) {\r\n case UPDATE_LANGUAGE:\r\n return {\r\n ...state,\r\n lang: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from \"redux\";\r\nimport languageReducer from \"./languageReducer\";\r\n\r\nconst rootReducer = combineReducers({\r\n languageReducer,\r\n});\r\n\r\nexport default rootReducer;\r\n","import { createStore } from \"redux\";\r\n\r\nimport rootReducer from \"./reducers/index\";\r\n\r\nconst store = createStore(rootReducer);\r\n\r\nexport default store;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../../Utils/helperFunctions\";\r\n\r\nexport const ButtonContainerStyle = styled.div`\r\n margin-top: ${pxToRem(16)};\r\n`;\r\n\r\nexport const ButtonStyle = styled.button`\r\n background-color: #f77860;\r\n width: 20%;\r\n display: inline-block;\r\n text-align: center;\r\n border: none;\r\n border-radius: 10px;\r\n color: white;\r\n font-size: 14px;\r\n text-decoration: none;\r\n cursor: pointer;\r\n margin: 0;\r\n line-height: 2.5rem;\r\n transition: background 0.3s ease-in-out;\r\n\r\n &:disabled {\r\n background-color: ${(props) => props.theme.palette?.disabledRed || \"#d3d3d3\"};\r\n cursor: no-drop;\r\n }\r\n\r\n &:hover {\r\n background: #e56750; /* Slightly darker shade */\r\n }\r\n\r\n /* Tablets (iPads & iPad Mini) */\r\n @media (max-width: 1024px) {\r\n width: 40%;\r\n }\r\n\r\n /* iPad Mini (768px - 834px) */\r\n @media (min-width: 768px) and (max-width: 834px) {\r\n width: 50%; /* Adjust width for iPad Mini */\r\n }\r\n\r\n /* Mobile Devices */\r\n @media (max-width: 767px) {\r\n width: 100% !important;\r\n margin: 0 !important;\r\n }\r\n`;\r\n\r\n\r\n","import React from \"react\";\r\nimport { ButtonContainerStyle, ButtonStyle } from \"./style\";\r\n\r\nconst Button = (props) => {\r\n const { fieldType, fieldLabel } = props.data;\r\n\r\n // Check if the field label is in Arabic (using a regex to check for Arabic characters)\r\n const isArabic = /[\\u0600-\\u06FF]/.test(fieldLabel);\r\n\r\n return (\r\n \r\n \r\n {fieldLabel}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Button;\r\n","export const breakpoints = {\r\n keys: [\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"xxl\", \"xxxl\"],\r\n values: {\r\n xs: 0,\r\n sm: 600,\r\n md: 768,\r\n lg: 1024,\r\n xl: 1280,\r\n xxl: 1440,\r\n xxxl: 2048,\r\n },\r\n};\r\n\r\nexport const desktopMedia = `@media (min-width: ${breakpoints.values.lg}px)`;\r\nexport const mobileMedia = `@media (max-width: ${breakpoints.values.lg - 1}px)`;\r\n\r\nexport const arabicLang = \"ar\";\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const HeaderContainer = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n position: absolute;\r\n padding: 20px 40px;\r\n width:-webkit-fill-available;\r\n justify-content: space-between;\r\n align-items: center;\r\n /* background: rgba(0, 0, 0, 0.5); */\r\n color: #fff;\r\n z-index: 10;\r\n // box-shadow: ${props => props.theme.shadows[6]};\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n padding: ${pxToRem(24)} ${pxToRem(88)};\r\n }\r\n`;\r\n\r\nexport const LanguageSelectorContainer = styled.div`\r\n width: ${pxToRem(80)};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: bold;\r\n font-size: ${pxToRem(24)};\r\n`;\r\n\r\nexport const LogoContainer = styled.div`\r\n img {\r\n width: 120px;\r\n ${desktopMedia} {\r\n width: 175px;\r\n }\r\n }\r\n`;\r\nexport const MenuContainer = styled.div`\r\n display: flex;\r\n gap: ${pxToRem(20)};\r\n align-items: center;\r\n`;\r\n\r\nexport const MenuItem = styled.a`\r\n color: #fff;\r\n text-decoration: none;\r\n font-size: ${pxToRem(16)};\r\n font-weight: bold;\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/DCT white logo.6d836126.svg\";","import styled from \"styled-components\";\r\n\r\nexport const LinkStyle = styled.a`\r\n cursor: pointer;\r\n :hover {\r\n color: ${props => props.theme.palette.red};\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { LinkStyle } from \"./style\";\r\n\r\nconst Link = props => {\r\n const { linkValue } = props;\r\n\r\n return {linkValue};\r\n};\r\n\r\nexport default Link;\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { updateLanguage } from \"../../../../redux/actions\";\r\nimport {\r\n HeaderContainer,\r\n LanguageSelectorContainer,\r\n LogoContainer,\r\n MenuContainer,\r\n MenuItem,\r\n} from \"./style\";\r\nimport logo from \"../../../../assets/images/DCT white logo.svg\";\r\nimport Link from \"../../atoms/Forms/Link\";\r\n\r\nconst Header = (props) => {\r\n const setLanguageEnglish = () => {\r\n props.updateLanguage(\"en\");\r\n };\r\n\r\n const setLanguageArabic = () => {\r\n props.updateLanguage(\"ar\");\r\n };\r\n\r\n return (\r\n \r\n \r\n \"logo\"\r\n \r\n\r\n \r\n {/* \r\n Home\r\n Contact\r\n AA\r\n */}\r\n {props.lang === \"ar\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateLanguage: (params) => dispatch(updateLanguage(params)),\r\n };\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.languageReducer.lang,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import { UPDATE_LANGUAGE } from \"../actionTypes/actionTypes\";\r\n\r\nexport function updateLanguage(lang) {\r\n return {\r\n type: UPDATE_LANGUAGE,\r\n payload: lang,\r\n };\r\n}\r\n","import styled from \"styled-components\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const HeroBannerContainer = styled.div`\r\n position: relative;\r\n width: 100%;\r\n height: 200px; /* Mobile height */\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: top; /* Ensures top part is visible */\r\n }\r\n\r\n ${desktopMedia} {\r\n height: 600px; /* Desktop height */\r\n }\r\n`;\r\n\r\nexport const Overlay = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: rgba(0, 0, 0, 0.5); /* Semi-transparent black overlay */\r\n z-index: 1;\r\n`;\r\n\r\nexport const HeroContent = styled.div`\r\n position: absolute;\r\n text-align: center;\r\n color: #fff;\r\n z-index: 2;\r\n padding: 0 20px;\r\n bottom:10%;\r\n\r\n h1 {\r\n font-size: 24px;\r\n margin-bottom: 10px;\r\n }\r\n\r\n h3 {\r\n font-size: 16px;\r\n // font-weight: 300;\r\n }\r\n\r\n ${desktopMedia} {\r\n h1 {\r\n font-size: 50px;\r\n }\r\n\r\n h3 {\r\n font-size: 30px;\r\n }\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/herobanner.483abfcc.jpeg\";","import React from \"react\";\r\nimport { HeroBannerContainer, Overlay, HeroContent } from \"./style\";\r\nimport herobanner from \"../../../../assets/images/herobanner.jpeg\";\r\n\r\nconst HeroBanner = (props) => {\r\n return (\r\n \r\n \r\n \"banner\"\r\n {/* */}\r\n\r\n <HeroContent>\r\n <h1>{props.title}</h1>\r\n <h3>{props.subTitle}</h3>\r\n </HeroContent>\r\n </HeroBannerContainer>\r\n );\r\n};\r\n\r\nexport default HeroBanner;\r\n","import styled from \"styled-components\";\r\n\r\nexport const CreativeVisaPageContainer = styled.div`\r\n font-family: ${props => props.theme.typography.fontFamily.primaryRegular};\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\n\r\nexport const ErrorMessageStyle = styled.span`\r\n color: ${props => props.theme.palette.red};\r\n margin-top: ${pxToRem(8)};\r\n`;\r\n","const multiLinguaValues = {\r\n salutationId: {\r\n labelEN: \"Salutation\",\r\n labelAR: \"اللقب\",\r\n },\r\n instructionHeadingText: {\r\n labelEN: \"INSTRUCTIONS\",\r\n labelAR: \"التعليمات\",\r\n },\r\n passportCodeText: {\r\n labelEN: \"Passport Code\",\r\n labelAR: \"رمز جواز السفر\",\r\n },\r\n instructionContentText: {\r\n labelEN: `Be part of Abu Dhabi’s thriving cultural and creative scene - find out what the “<strong>Creative Visa</strong>” has in store for you! \r\n <br><br>\r\n The Creative Visa is a long-term visa that aims to support talent across the Emirate’s cultural and creative industries. The Creative Visa is offered to professionals who are endorsed by the Department of Culture and Tourism – Abu Dhabi, and specialize in the following categories:<strong> Visual Arts, Publishing, Performing Arts, Design & Crafts, Heritage, Gaming & e-Sports or Media</strong>.</b>\r\n <br><br>\r\n Please read the Creative Visa <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_EN} target=\"_default\" rel=\"no-referrer\" >Endorsement Rules</a> </strong>before applying for your Creative Visa.\r\n <br>\r\n <br>\r\n <b>Start your Creative Visa application by clicking \"proceed\".</b>\r\n `,\r\n labelAR: `كن جزءاً من المشهد الثقافي والإبداعي المزدهر في إمارة أبوظبي - اكتشف ما تخبئه لك \"<strong>تصريح إقامة المبدعين</strong>\"! \r\n <br><br>\r\n تهدف تصاريح الإقامة للمبدعين الطويلة إلى دعم الموهوبين من القطاعات الثقافية والإبداعية في الإمارة. تُمنح تصاريح الإقامة للمبدعين المعتمدين من قبل دائرة الثقافة والسياحة – أبوظبي والمتخصصين في الفئات التالية:<strong> الفنون المرئية، النشر، الفنون المسرحية، التصميم والحرف اليدوية، التراث، الألعاب والرياضات الإلكترونية أو الإعلام</strong>. \r\n <br><br>\r\n يرجى قراءة <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_AR} target=\"_default\" rel=\"no-referrer\" >قواعد الإعتماد</a></strong> على تصريح إقامة المبدعين قبل التقدم بطلب للحصول على تصريح إقامة المبدعين. \r\n \r\n <br>\r\n <br>\r\n <b>باشر بتقديم طلب تأشيرة إقامة المبدعين الخاص بك بالنقر على زر التقديم</b>\r\n `,\r\n },\r\n declarationContentText: {\r\n labelEN: `I declare and agree that:\r\n <ol type=\"I\">\r\n <li>I have read, understood and agree to comply with the <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_EN} target=\"_default\" rel=\"no-referrer\" >Creative Visa Endorsement Rules</a></strong>;</li>\r\n <li>All information submitted (including attachments) as part of this application form and any other documentation submitted is complete and accurate to the best of my knowledge and belief; </li>\r\n <li>All information submitted (including any attachments) may be disclosed to parties who will be involved in the processing of this application form and may also be disclosed by the Department of Culture and Tourism - Abu Dhabi to a third party as required;\r\n </li>\r\n <li>\r\n To the best of my knowledge and belief there is nothing in relation to my conduct, character or personal background of any nature that would adversely affect my application or may be damaging to the reputation of the Department of Culture and Tourism - Abu Dhabi, Abu Dhabi or the UAE;\r\n </li>\r\n <li>The Department of Culture and Tourism - Abu Dhabi is authorized to display my name, contact details and visa categories on its or its subsidiaries’ websites and/or portals;</li>\r\n <li>I will pay in full all required fees and payments, including the sponsorship fees and health insurance fee (where relevant), prior to the issue of my Creative Visa; </li>\r\n <li>The Department of Culture and Tourism - Abu Dhabi or any of its representatives may contact me regarding this application or any other related matter; and</li>\r\n <li>\r\n The Department of Culture and Tourism – Abu Dhabi can contact me with information related to creative and cultural news and events.\r\n </li>\r\n </ol>\r\n `,\r\n labelAR: `أصرّح وأُقرّ بما يلي:\r\n <ol type=\"I\">\r\n <li>\r\n أنني قرأت واستوعبت وأوافق على الامتثال <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_AR} target=\"_default\" rel=\"no-referrer\" >لقواعد الإعتماد</a></strong> على تصريح إقامة المبدعين؛\r\n </li>\r\n <li>\r\n كافة المعلومات المقدمة كجزء من هذه الاستمارة (بما في ذلك المرفقات) وأي وثائق أخرى مقدمة كاملة, صحيحة ودقيقة حسب معرفتي واعتقادي؛ \r\n </li>\r\n <li>\r\n يجــوز الإفصاح عن كافــة المعلومات المقدّمة (بما في ذلك أي مرفقات) إلى الجهات المسؤولة عن معالجة هذه الاستمارة، ويمكن لدائرة الثقافة والسياحة - أبوظبي الإفصاح عنها لأي طرف آخر حسبما هو ضروري؛\r\n </li>\r\n <li>\r\n حسب معرفتي واعتقادي لا يوجد أي شيء فيما يتعلق بسلوكي أو شخصيتي أو خلفيتي الشخصية من أي نوع من شأنه قد يؤثر سلبًا على طلبي أو قد يضر بسمعة دائرة الثقافة والسياحة - أبوظبي ، أبو ظبي أو الإمارات العربية المتحدة؛\r\n </li>\r\n <li>\r\n إن دائرة الثقافة والسياحة - أبوظبي مخولة بعرض اسمي وتفاصيل الاتصال الخاصة بي وفئة التصريح الخاصة بي على مواقع و / أو صفحات الدائرة أو الشركات التابعة لها؛\r\n </li>\r\n <li>\r\n أنني سأقوم بدفع الرسوم والدفعات المطلوبة بالكامل وتشمل رسوم الكفالة والتأمين الصحي (إن انطبق ذلك)، وذلك قبل إصدار تصريح إقامة المبدعين الخاص بي؛ \r\n </li>\r\n <li>\r\n \tيمكن لدائرة الثقافة والسياحة - أبوظبي أو أي من ممثليها التواصل معي بخصوص هذه الاستمارة أو أي من الموضوعات ذات الصلة؛ و\r\n </li>\r\n <li>\r\n يمكن لدائرة الثقافة والسياحة - أبوظبي التواصل معي بخصوص أخبار وفعاليات إبداعية وثقافية.\r\n </li>\r\n </ol>\r\n <br>\r\n <br>\r\n باشر بتقديم طلب تأشيرة إقامة المبدعين الخاص بك بالنقر\r\n `,\r\n },\r\n firstName: {\r\n labelEN: \"First Name\",\r\n labelAR: \"الاسم الأول\",\r\n },\r\n middleName: {\r\n labelEN: \"Middle Name(s)\",\r\n labelAR: \"اسم الأب\",\r\n },\r\n surName: {\r\n labelEN: \"Surname\",\r\n labelAR: \"القبيلة\",\r\n },\r\n email: {\r\n labelEN: \"Email\",\r\n labelAR: \"البريد الألكتروني\",\r\n },\r\n genderId: {\r\n labelEN: \"Gender\",\r\n labelAR: \"الجنس\",\r\n },\r\n personalInformation: {\r\n labelEN: \"Personal Information\",\r\n labelAR: \"المعلومات الشخصية\",\r\n },\r\n nationalityAndPassport: {\r\n labelEN: \"Nationality and Passport\",\r\n labelAR: \"الجنسية وجواز السفر\",\r\n },\r\n dateOfBirth: {\r\n labelEN: \"Date of Birth (MM/DD/YYYY)\",\r\n labelAR: \"تاريخ الميلاد (MM/DD/YYYY)\",\r\n },\r\n birthCountryId: {\r\n labelEN: \"Country of Birth\",\r\n labelAR: \"بلد الميلاد\",\r\n },\r\n birthCity: {\r\n labelEN: \"Place of Birth (City)\",\r\n labelAR: \"مكان الميلاد (المدينة)\",\r\n },\r\n golden: {\r\n labelEN: \"Golden\",\r\n labelAR: \"الذهبية\",\r\n },\r\n\r\n creative: {\r\n labelEN: \"Creative\",\r\n labelAR: \"الإبداعية\",\r\n },\r\n previousNationalityId: {\r\n labelEN: \"Previous Nationality (where applicable)\",\r\n labelAR: \"الجنسية السابقة (إن وجدت)\",\r\n },\r\n nationalityId: {\r\n labelEN: \"Current Nationality\",\r\n labelAR: \"الجنسية الحالية\",\r\n },\r\n passportTypeId: {\r\n labelEN: \"Passport Type\",\r\n labelAR: \"نوع جواز السفر\",\r\n },\r\n passportIssueCountryId: {\r\n labelEN: \"Country of Issue\",\r\n labelAR: \"بلد الإصدار\",\r\n },\r\n passportNumber: {\r\n labelEN: \"Passport Number\",\r\n labelAR: \"رقم جواز السفر\",\r\n },\r\n passportIssueCity: {\r\n labelEN: \"Passport Issue Place\",\r\n labelAR: \"مكان إصدار جواز السفر\",\r\n },\r\n passportIssueDate: {\r\n labelEN: \"Passport Issue Date (MM/DD/YYYY)\",\r\n labelAR: \"تاريخ إصدار جواز السفر (MM/DD/YYYY)\",\r\n },\r\n passportExpiryDate: {\r\n labelEN: \"Passport Expiry date (MM/DD/YYYY)\",\r\n labelAR: \"تاريخ إنتهاء جواز السفر (MM/DD/YYYY)\",\r\n },\r\n occupation: {\r\n labelEN: \"Occupation\",\r\n labelAR: \"المهنة\",\r\n },\r\n qualificationId: {\r\n labelEN: \"Qualification\",\r\n labelAR: \"المؤهلات\",\r\n },\r\n qualificationCountryId: {\r\n labelEN: \"Qualification Country\",\r\n labelAR: \"بلد صدور المؤهلات\",\r\n },\r\n educationLevelDetails: {\r\n labelEN: \"Education Level Details\",\r\n labelAR: \"المستوى التعليمي\",\r\n },\r\n maritalStatusId: {\r\n labelEN: \"Marital Status\",\r\n labelAR: \"الحالة الاجتماعية\",\r\n },\r\n motherName: {\r\n labelEN: \"Mother`s Name\",\r\n labelAR: \"اسم الأم\",\r\n },\r\n religionId: {\r\n labelEN: \"Religion\",\r\n labelAR: \"الدين\",\r\n },\r\n faithId: {\r\n labelEN: \"Faith\",\r\n labelAR: \"المذهب\",\r\n },\r\n uaeUnifiedNo: {\r\n labelEN: \"UAE Unified No (on Visa)(where applicable)\",\r\n labelAR: \"الرقم الموحد الإماراتي (على التأشيرة) (إن وجد)\",\r\n },\r\n uaeIdentityNumber: {\r\n labelEN: \"Emirates ID Number (where applicable)\",\r\n labelAR: \"رقم بطاقة الهوية الإماراتية (إن وجد)\",\r\n },\r\n hasUaeVisa: {\r\n labelEN: \"Do you have an existing UAE residency visa?\",\r\n labelAR: \"هل لديك تأشيرة إقامة إماراتية سارية حالياً؟\",\r\n },\r\n sponsorName: {\r\n labelEN: \"If YES, please name sponsor:\",\r\n labelAR: \"إذا كانت الإجابة نعم، يرجى ذكر اسم الكفبل:\",\r\n },\r\n hasLegalIssue: {\r\n labelEN:\r\n \"Have you ever been convicted of a criminal offence for which you have been prosecuted in the UAE or elsewhere?\",\r\n labelAR:\r\n \"هل سبق إدانتك بجريمة جنائية تمت مقاضاتك بسببها في الإمارات أو في أي مكان آخر؟\",\r\n },\r\n legalIssueDetails: {\r\n labelEN: \"If YES, please provide details:\",\r\n labelAR: \"إذا كانت الإجابة نعم، يرجى كتابة التفاصيل\",\r\n },\r\n havedependantsSponsor: {\r\n labelEN: \"Do you have any dependants that you would like to sponsor?\",\r\n labelAR: \"هل لديك أي معالين ترغب في كفالتهم؟\",\r\n },\r\n visaInformation: {\r\n labelEN: \"Visa Information\",\r\n labelAR: \"معلومات التأشيرة\",\r\n },\r\n occupationAndQualification: {\r\n labelEN: \"Occupation and Qualification\",\r\n labelAR: \"المهنة والمؤهلات\",\r\n },\r\n yes: {\r\n labelEN: \"Yes\",\r\n labelAR: \"نعم\",\r\n },\r\n no: {\r\n labelEN: \"No\",\r\n labelAR: \"لا\",\r\n },\r\n permanentContactInformation: {\r\n labelEN: \"Permanent Contact Information in Home Country / Outside UAE\",\r\n labelAR:\r\n \"معلومات الاتصال الدائمة في الوطن / خارج دولة الإمارات العربية المتحدة\",\r\n },\r\n homeCountryBuilding: {\r\n labelEN:\r\n \"Home Country Residential Address: Apartment / Villa No, Building / Complex / Hotel\",\r\n labelAR:\r\n \"عنوان الإقامة في البلد الأم: الشقة / رقم الفيلا , البناية / المجمع / الفندق\",\r\n },\r\n homeCountryStreet: {\r\n labelEN: \"Home Country Residential Address: Street\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الشارع\",\r\n },\r\n homeCountryCity: {\r\n labelEN: \"Home Country Residential Address: City\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: المدينة\",\r\n },\r\n homeCountryState: {\r\n labelEN: \"Home Country Residential Address: State\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الولاية\",\r\n },\r\n homeCountryId: {\r\n labelEN: \"Home Country Residential Address: Country\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الدولة\",\r\n },\r\n homeCountryZipCode: {\r\n labelEN: \"Home Country Residential Address: Zipcode\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الرمز البريدي\",\r\n },\r\n homeCountryMobile: {\r\n labelEN: \"Home Country Mobile number\",\r\n labelAR: \"رقم الهاتف المحمول في البلد الأم\",\r\n },\r\n homeCountryOtherContact: {\r\n labelEN: \"Home Country Other Contact number\",\r\n labelAR: \"رقم تواصل آخر في البلد الأم\",\r\n },\r\n contactInformation: {\r\n labelEN: \"Contact Information Inside UAE\",\r\n labelAR: \"معلومات الاتصال داخل الإمارات\",\r\n },\r\n uaeBuilding: {\r\n labelEN:\r\n \"UAE Residential Address: Apartment / Villa No, Building / Complex / Hotel\",\r\n labelAR:\r\n \"عنوان الإقامة في الإمارات : الشقة / رقم الفيلا , البناية / المجمع / الفندق\",\r\n },\r\n uaeStreet: {\r\n labelEN: \"UAE Residential Address: Street\",\r\n labelAR: \"عنوان الإقامة في الإمارات: الشارع\",\r\n },\r\n uaeCity: {\r\n labelEN: \"UAE Residential Address: City\",\r\n labelAR: \"عنوان الإقامة في الإمارات: المدينة\",\r\n },\r\n uaeEmirateId: {\r\n labelEN: \"UAE Residential Address: Emirate\",\r\n labelAR: \"عنوان الإقامة في الإمارات: الإمارة\",\r\n },\r\n uaePoBox: {\r\n labelEN: \"UAE Residential Address: PO Box\",\r\n labelAR: \"عنوان الإقامة في الإمارات: صندوق البريد\",\r\n },\r\n uaeResidencePhoneNumber: {\r\n labelEN: \"UAE Residence Phone Number\",\r\n labelAR: \"رقم الهاتف الأرضي في الإمارات\",\r\n },\r\n uaeOtherContact: {\r\n labelEN: \"UAE Office Phone Number\",\r\n labelAR: \"رقم هاتف المكتب في الإمارات\",\r\n },\r\n uaeMobile: {\r\n labelEN: \"UAE Mobile number\",\r\n labelAR: \"رقم الهاتف المحمول في الإمارات\",\r\n },\r\n creativeVisaText: {\r\n labelEN: \"Endorsement for Creatives\",\r\n labelAR: \" التأييد للمبدعين\",\r\n },\r\n creativeVisaSubText: {\r\n labelEN: \"Empowering Creatives to Build a Future in the UAE\",\r\n labelAR:\r\n \"تمكين المبدعين لبناء مستقبل أفضل في دولة الإمارات العربية المتحدة \",\r\n },\r\n creativeVisaCategories: {\r\n labelEN: \"CREATIVE VISA CATEGORIES\",\r\n labelAR: \"فئات التأشيرات الإبداعية\",\r\n },\r\n applicantTypeId: {\r\n labelEN: \"Applicant Type\",\r\n labelAR: \"نوع التقديم\",\r\n },\r\n visaCategoryId: {\r\n labelEN: \"Which category are you applying for?\",\r\n labelAR: \"ماهي الفئة التي تقدم لها؟\",\r\n },\r\n visaActivityId: {\r\n labelEN: \"Which sub-category are you applying for?\",\r\n labelAR: \"ما هي الفئة الفرعية التي تقدم لها؟\",\r\n },\r\n supportingDocuments: {\r\n labelEN: \"SUPPORTING DOCUMENTS\",\r\n labelAR: \"المستندات الداعمة\",\r\n },\r\n supportingDocumentsDisclaimer: {\r\n labelEN: `Please refer to the Creative Visa <a href=${process.env.REACT_APP_LINK_EndorsementRules_EN} target=\"_default\" rel=\"no-referrer\" >Endorsement Rules</a> for a list of the required supporting documentation. <br/>If you wish to include links to online articles or IMDb profiles etc., please paste the link into a Word document and upload the document as a \"Supporting Document\".`,\r\n labelAR: `يرجى مراجعة <a href=${process.env.REACT_APP_LINK_EndorsementRules_AR} target=\"_default\" rel=\"no-referrer\" >قواعد الاعتماد</a> الخاصة بطلب تصريح اقامة المبدعين للاطلاع على المستندات المطلوبة. <br/> إذا كنت ترغب في تضمين روابط لمقالات عبر الإنترنت أو ملفات تعريف IMDB أوإلخ… فيرجى إرفاق الرابط في برنامج Word وقم بتحميل المستند كـ \"مستند داعم\".`,\r\n },\r\n PersonalInformationDisclaimer: {\r\n labelEN: `* mandatory field`,\r\n labelAR: `*حقل الزامي`,\r\n },\r\n attachment_Passport: {\r\n labelEN: \"Upload Passport\",\r\n labelAR: \"تحميل جواز\",\r\n },\r\n attachment_Colour_photo: {\r\n labelEN: \"Upload Colour Photo (white background)\",\r\n labelAR: \"تحميل صورة ملونة (خلفية بيضاء)\",\r\n },\r\n attachment_Dependant_passport: {\r\n labelEN: \"Dependant Passport\",\r\n labelAR: \"جواز السفر المعال\",\r\n },\r\n attachment_Health_Insurance: {\r\n labelEN: \"Health Insurance\",\r\n labelAR: \"التأمين الصحي\",\r\n },\r\n acclaimedApplicants: {\r\n labelEN: \"Acclaimed Applicants\",\r\n labelAR: \"المقدمون البارزون\",\r\n },\r\n attachment_Upload_evidence: {\r\n labelEN: \"Upload evidence of acclaimed status\",\r\n labelAR: \"تحميل دليل يثبت الفئة \",\r\n },\r\n attachment_Additional_Supporting_Docs: {\r\n labelEN: \"Upload Additional Supporting Documents\",\r\n labelAR: \"تحميل ملفات داعمة اضافية \",\r\n },\r\n attachment_Supporting_doc1: {\r\n labelEN: \"Upload Supporting Document 1\",\r\n labelAR: \"تحميل الملفات الداعمة 1 \",\r\n },\r\n attachment_Supporting_doc2: {\r\n labelEN: \"Upload Supporting Document 2\",\r\n labelAR: \"تحميل الملفات الداعمة 2 \",\r\n },\r\n attachment_Uae_Visa: {\r\n labelEN: \"Upload UAE Visa (where applicable)\",\r\n labelAR: \"تحميل تأشيرة إقامة إماراتية (إن وجد)\",\r\n },\r\n attachment_EmiratesId: {\r\n labelEN: \"Upload Emirates ID (where applicable)\",\r\n labelAR: \"تحميل بطاقة الهوية الإماراتية (إن وجد) \",\r\n },\r\n talentedApplicants: {\r\n labelEN: \"Talented Applicants\",\r\n labelAR: \"المتقدمون الموهوبون\",\r\n },\r\n attachment_Letter_of_Intent: {\r\n labelEN: \"Letter of Intent\",\r\n labelAR: \"خطاب رسمي\",\r\n },\r\n attachment_Portfolio_of_Work: {\r\n labelEN: \"Portfolio of Work / Curriculum Vitae\",\r\n labelAR: \"ملف أعمالك / السيرة الذاتية\",\r\n },\r\n attachment_Reference_Letter: {\r\n labelEN: \"Reference Letter\",\r\n labelAR: \"رسالة مرجعية \",\r\n },\r\n attachment_Evidence_of_degree: {\r\n labelEN:\r\n \"Evidence of degree / qualification from recognized institute within the field\",\r\n labelAR: \"مؤهل من معهد معتمد في المجال\",\r\n },\r\n attachment_Other_relevant_documents: {\r\n labelEN: \"Other relevant documents /links (discretion of applicant)\",\r\n labelAR: \"المستندات الأخرى ذات الصلة (بحسب مقدم الطلب)\",\r\n },\r\n declarationText: {\r\n labelEN: \"DECLARATION\",\r\n labelAR: \"إقرار\",\r\n },\r\n name: {\r\n labelEN: \"Name\",\r\n labelAR: \"الاسم\",\r\n },\r\n sign_date_form: {\r\n labelEN: \"Date\",\r\n labelAR: \"التاريخ\",\r\n },\r\n signature: {\r\n labelEN: \"Signature\",\r\n labelAR: \"التوقيع\",\r\n },\r\n privacyPolicyCheckboxLinkText: {\r\n labelEN: `I have read and accept the terms of the Department of Culture and Tourism - <strong><a href=${process.env.REACT_APP_LINK_PRIVACY_POLICY_EN} target=\"_default\" rel=\"no-referrer\" >Abu Dhabi's privacy policy</a></strong>.`,\r\n labelAR: `لقد قرأت وقبلت شروط <strong><a href=${process.env.REACT_APP_LINK_PRIVACY_POLICY_AR} target=\"_default\" rel=\"no-referrer\" >سياسة الخصوصية</a></strong> لدائرة الثقافة والسياحة - أبوظبي `,\r\n },\r\n terms: {\r\n labelEN:\r\n \"By registering my information, I agree to be contacted by the Department of Culture and Tourism – Abu Dhabi and/or its third party representatives.\",\r\n labelAR:\r\n \"من خلال تسجيل معلوماتي، أوافق على أن يتم الاتصال بي من قبل دائرة الثقافة والسياحة - أبوظبي و/أو ممثلي الطرف الثالث.\",\r\n },\r\n submitText: {\r\n labelEN: \"Submit\",\r\n labelAR: \"إرسال\",\r\n },\r\n requiredFieldText: {\r\n labelEN: \"This field is required\",\r\n labelAR: \"هذا الحقل مطلوب\",\r\n },\r\n successMessage: {\r\n labelEN:\r\n \"Your request is submitted sucessfully. Your referrence number is: \",\r\n labelAR:\r\n \"شكرًا على تقديم طلب تأشيرة إقامة المبدعين الخاص بك. سنتواصل معك قريبًا. رقمك المرجعي هو\",\r\n },\r\n apiErrorMessage: {\r\n labelEN: \"Something went wrong. Please check your files size and try to reduce it or send a file which contains a link for shared files\",\r\n labelAR: \"حدث خطأ. يرجى التحقق من حجم ملفاتك ومحاولة تقليلها، أو إرسال ملف يحتوي على رابط للملفات المشتركة.\",\r\n },\r\n dateErrorMessage: {\r\n labelEN: \"Specified date isn't valid please enter a valid date\",\r\n labelAR: \"التاريخ غير صحيح, من فضلك أدخل تاريخ صحيح\",\r\n },\r\n xssErrorMessage: {\r\n labelEN: \"one or more fields is containing malicious script\",\r\n labelAR: \"يحتوي حقل واحد أو أكثر على نصوص برمجية ضارة\",\r\n },\r\n proceedText: {\r\n labelEN: \"Proceed to Application\",\r\n labelAR: \"انتقل إلى التطبيق\",\r\n },\r\n proceedYourApplication: {\r\n labelEN: \"Start Your Application\",\r\n labelAR: \"انتقل إلى التطبيق\",\r\n},\r\n contactInfoText: {\r\n labelEN: `<table class=\"address_tbl\">\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\">PO Box 94000, Abu Dhabi UAE</td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">Tel:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0444</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">Fax:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0400</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">E-mail:</td>\r\n <td class=\"mob_t_sty_rgt\"><a href=\"mailto:info@dctabudhabi.ae\">info@dctabudhabi.ae</a></td>\r\n </tr>\r\n </tbody>\r\n </table>`,\r\n labelAR: `<table class=\"address_tbl\">\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\">صندوق بريد 94000, أبوظبي الإمارات العربية المتحدة</td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">هاتف:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0444</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">فاكس:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0400</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">البريد الإلكتروني:</td>\r\n <td class=\"mob_t_sty_rgt\"><a href=\"mailto:info@dctabudhabi.ae\">info@dctabudhabi.ae</a></td>\r\n </tr>\r\n </tbody>\r\n</table>`,\r\n },\r\n contactAddrerssText: {\r\n labelEN: `<span>For any technical issues & support please contact us using below details<br>\r\n Phone No: +97125995106 <br>\r\n Email Address: <a href=\"mailto:esupport@dctabudhabi.ae\">esupport@dctabudhabi.ae</a>\r\n </span>`,\r\n labelAR: `<span>لأية مشاكل تقنية ودعم يرجى الاتصال بنا باستخدام التفاصيل أدناه<br>\r\n رقم الهاتف: +97125995106 <br>\r\n عنوان البريد الإلكتروني: <a href=\"mailto:esupport@dctabudhabi.ae\">esupport@dctabudhabi.ae</a>\r\n </span>`,\r\n },\r\n followUsText: {\r\n labelEN: \"Follow us\",\r\n labelAR: \"تابعنا\",\r\n },\r\n contactText: {\r\n labelEN: \"Contact\",\r\n labelAR: \"الاتصال\",\r\n },\r\n officesText: {\r\n labelEN: \"International Offices\",\r\n labelAR: \"المكاتب الدولية\",\r\n },\r\n privacyPolicyText: {\r\n labelEN: \"Privacy Policy\",\r\n labelAR: \"سياسة الخصوصية\",\r\n },\r\n quickLinksText: {\r\n labelEN: \"Quick Links\",\r\n labelAR: \"روابط سريعة\",\r\n },\r\n termsAndConditionText: {\r\n labelEN: \"Terms & Conditions\",\r\n labelAR: \"الشروط والأحكام\",\r\n },\r\n copyRightText: {\r\n labelEN:\r\n \"Copyright © 2021 Department of Culture and Tourism, all rights reserved.\",\r\n labelAR: \"حقوق الطبع © 2021 وزارة الثقافة والسياحة، وجميع الحقوق محفوظة.\",\r\n },\r\n homePageText: {\r\n labelEN:\r\n \"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\",\r\n labelAR:\r\n \"Lorem Ipsum هو ببساطة نص وهمية من صناعة الطباعة و typesetting.كان لوريم إيبسوم النص الوهمي القياسي في الصناعة منذ القرن التاسع عشر ، عندما أخذت طابعة غير معروفة مطبخًا من النوع وتدافعت عليه لصنع كتاب عينة من النوع.وقد نجا ليس فقط خمسة قرون ، ولكن أيضا قفزة في التنضيد الإلكتروني ، وتبقى دون تغيير أساسا.وقد شاع في 1960s مع الافراج عن أوراق Letraset التي تحتوي على مقاطع لوتريم Ipsum ، ومؤخرا مع برامج النشر المكتبي مثل Aldus PageMaker بما في ذلك إصدارات من لوريم إبسوم.\",\r\n },\r\n instructionNewContentText: {\r\n labelEN: `\r\n The Department of Culture and Tourism Abu Dhabi endorses talented, experienced professionals across diverse creative fields, including: \r\n <ul>\r\n <li>Visual Arts</li>\r\n <li>Publishing</li>\r\n <li>Performing Arts</li>\r\n <li>Design & Crafts</li>\r\n <li>Heritage</li>\r\n <li>Gaming & E-Sports</li>\r\n <li>Media</li>\r\n </ul>\r\n \r\n <strong>Get Started:</strong> <br/>\r\n <strong>1. For UAE Residents (with Emirates ID)</strong> <br/>\r\n If you hold a valid Emirates ID, you can continue the process via the designated platform. \r\n <br>\r\n<strong><a class=\"responsive-button\" \r\n href=${process.env.REACT_APP_TAMM_REDIERCT} target=\"_blank\" rel=\"noopener noreferrer\">\r\n Apply Using Emirates ID\r\n</a></strong>\r\n <br><hr style=\"border:0.5px solid #D0D0D0; margin:20px 0px 20px 0px\">\r\n <strong>2. For International Applicants (without Emirates ID)</strong> <br/>\r\n If you do not have an Emirates ID, you can start your application here.<br/>\r\n \r\n `,\r\n labelAR: `\r\n تعتمد دائرة الثقافة والسياحة – أبوظبي الموهوبين والمحترفين ذوي الخبرة في مجالات إبداعية متنوعة، بما في ذلك: \r\n <ul>\r\n <li>الفنون المرئية</li>\r\n <li>النشر</li>\r\n <li>الفنون المسرحية</li>\r\n <li>التصميم والحرف اليدوية</li>\r\n <li>التراث</li>\r\n <li>الألعاب والرياضات الإلكترونية</li>\r\n <li>الإعلام</li>\r\n </ul>\r\n \r\n <strong>البدء:</strong> <br/>\r\n <strong>1. المقيمون في الإمارات (بهوية إماراتية)</strong> <br/>\r\n إذا كنت تحمل هوية إماراتية سارية، يمكنك متابعة العملية عبر المنصة المخصصة. \r\n <br>\r\n <strong><a class=\"responsive-button\" \r\n href=${process.env.REACT_APP_TAMM_REDIERCT} target=\"_blank\" rel=\"noopener noreferrer\">التقديم باستخدام الهوية الإماراتية</a></strong>\r\n <br><hr style=\"border:0.5px solid #D0D0D0; margin:20px 0px 20px 0px\">\r\n <strong>2. المتقدمون الدوليون (بدون هوية إماراتية)</strong> <br/>\r\n إذا لم يكن لديك هوية إماراتية، يمكنك بدء تقديم طلبك هنا.<br/>\r\n \r\n `,\r\n },\r\n \r\n\r\n copyRightNewText: {\r\n labelEN: \"Privacy Policy | Terms and Condition\",\r\n labelAR: \"سياسة الخصوصية | الشروط والأحكام\",\r\n },\r\n};\r\n\r\nexport const getLanguageValues = (lang, fieldName) => {\r\n const selector = lang === \"ar\" ? \"labelAR\" : \"labelEN\";\r\n return multiLinguaValues[fieldName][selector];\r\n};\r\n","import React from \"react\";\r\nimport { ErrorMessageStyle } from \"./style\";\r\nimport { getLanguageValues } from \"../../../Utils/MultiLingualValues\";\r\n\r\nconst ErrorMessage = props => {\r\n return (\r\n <ErrorMessageStyle>\r\n {props.message ? props.message : getLanguageValues(props.lang, \"requiredFieldText\")}\r\n </ErrorMessageStyle>\r\n );\r\n};\r\n\r\nexport default ErrorMessage;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../../Utils/helperFunctions\";\r\n\r\nexport const UploadedDOCStyle = styled.div`\r\n margin-top: ${pxToRem(8)};\r\n /* color: ${props => props.theme.palette.darkBlue}; */\r\n`;\r\n\r\nexport const RemoveFileStyle = styled.span`\r\n ${props => props.theme.mixins.marginLeft(12)};\r\n color: ${props => props.theme.palette.red};\r\n cursor: pointer;\r\n`;\r\nexport const UploadIconStyle = styled.div`\r\n min-width: 38px;\r\n height: 38px;\r\n position: relative;\r\n display: inline-block;\r\n background-color: ${props => props.theme.palette.red};\r\n border-radius: 20px;\r\n ${props => props.theme.mixins.marginRight(12)};\r\n ::after {\r\n content: \"\";\r\n position: absolute;\r\n border: solid white;\r\n top: 13px;\r\n ${props => props.theme.mixins.left(14)};\r\n border-width: 0 2px 2px 0;\r\n display: inline-block;\r\n padding: 4px;\r\n transform: rotate(-135deg);\r\n }\r\n ::before {\r\n content: \"\";\r\n position: absolute;\r\n border: 1px solid white;\r\n top: 14px;\r\n ${props => props.theme.mixins.left(18)};\r\n display: inline-block;\r\n height: 10px;\r\n }\r\n &.disabled {\r\n background-color: ${props => props.theme.mixins.Black(500)};\r\n }\r\n`;\r\n\r\nexport const LabelStyle = styled.label`\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n`;\r\n","import React, { useState } from \"react\";\r\nimport ErrorMessage from \"../../ErrorMessage\";\r\nimport {\r\n UploadedDOCStyle,\r\n UploadIconStyle,\r\n LabelStyle,\r\n RemoveFileStyle,\r\n} from \"./style\";\r\n\r\nconst InputFile = (props) => {\r\n const {\r\n fieldType,\r\n fieldLabel,\r\n fieldName,\r\n isMultipleUpload,\r\n maxUpload,\r\n isRequired,\r\n } = props.data;\r\n const [uploadedFiles, setUploadedFiles] = useState(\"\");\r\n\r\n const handleChagne = (e) => {\r\n debugger;\r\n console.info(\"File Change\",fieldType,fieldLabel,fieldName)\r\n if (e.target && e.target.type === \"file\") {\r\n try {\r\n const allowedExtensions = [\"jpg\", \"jpeg\", \"png\", \"pdf\", \"doc\", \"docx\"];\r\n const allowedExtensionsDoc=[\"pdf\", \"doc\", \"docx\"];\r\n\r\n \r\n // destructuring file name and size from file object\r\n const { name: fileName, size: fileSize } = e.target.files[0];\r\n\r\n /*\r\n * if the filename is apple.png, we split the string to get [\"apple\",\"png\"]\r\n * then apply the pop() method to return the file extension (png)\r\n *\r\n */\r\n const fileExtension = fileName.split(/[. ]+/).pop();\r\n\r\n /* \r\n check if the extension of the uploaded file is included \r\n in our array of allowed file extensions\r\n */\r\n if(fieldName==\"attachment_EvidenceWorkAUH\")\r\n {\r\n if (!allowedExtensionsDoc.includes(fileExtension.toLowerCase())) {\r\n alert(\"please upload only pdf and doc files\");\r\n e.target.value = null;\r\n return;\r\n }\r\n }\r\n else\r\n {\r\n if (!allowedExtensions.includes(fileExtension.toLowerCase())) {\r\n alert(\"please upload only pdf, doc and images files\");\r\n e.target.value = null;\r\n return;\r\n }\r\n }\r\n \r\n\r\n if (e.target.files.length) {\r\n setUploadedFiles(e.target.files[0]);\r\n }\r\n } catch (err) {}\r\n }\r\n };\r\n\r\n const onFileDelete = (key, name) => {\r\n setUploadedFiles({});\r\n // props.reference.value = \"\";\r\n // fileInput.value = \"\";\r\n let element = document.querySelector(`#${fieldType}_${fieldName}`);\r\n element.value = \"\";\r\n };\r\n if (isMultipleUpload) {\r\n return (\r\n <fieldset>\r\n <LabelStyle\r\n htmlFor={`${fieldType}_${fieldName}`}\r\n className={props.errors && props.errors[fieldName] && \"error\"}\r\n disabled={\r\n props.uploadedFiles &&\r\n props.uploadedFiles[fieldName] &&\r\n props.uploadedFiles[fieldName].length >= maxUpload\r\n }\r\n >\r\n <UploadIconStyle\r\n className={\r\n props.uploadedFiles &&\r\n props.uploadedFiles[fieldName] &&\r\n props.uploadedFiles[fieldName].length >= maxUpload &&\r\n \"disabled\"\r\n }\r\n />\r\n {fieldLabel && fieldLabel}\r\n {isRequired ? \"*\" : \"\"}\r\n </LabelStyle>\r\n <input\r\n id={`${fieldType}_${fieldName}`}\r\n name={fieldName}\r\n type={fieldType}\r\n onChange={props.onChange}\r\n style={{ display: \"none\" }}\r\n disabled={\r\n props.uploadedFiles &&\r\n props.uploadedFiles[fieldName] &&\r\n props.uploadedFiles[fieldName].length >= maxUpload\r\n }\r\n ref={props.reference}\r\n />\r\n {props.errors && props.errors[fieldName] && (\r\n <ErrorMessage lang={props.lang} />\r\n )}\r\n {props.uploadedFiles &&\r\n props.uploadedFiles[fieldName] &&\r\n props.uploadedFiles[fieldName].length &&\r\n props.uploadedFiles[fieldName].map((file) => {\r\n return (\r\n <UploadedDOCStyle>\r\n {file.name}\r\n <RemoveFileStyle\r\n onClick={() =>\r\n props.onFileDelete(file.lastModified, fieldName, fieldType)\r\n }\r\n >\r\n {props.lang==\"ar\"?\"حذف\":\"Remove\"}\r\n </RemoveFileStyle>\r\n </UploadedDOCStyle>\r\n );\r\n })}\r\n </fieldset>\r\n );\r\n } else {\r\n let removeStyleBtn = \"\";\r\n if (uploadedFiles.lastModified) {\r\n removeStyleBtn = (\r\n <RemoveFileStyle\r\n onClick={() => onFileDelete(uploadedFiles.lastModified, fieldName)}\r\n >\r\n {props.lang==\"ar\"?\"حذف\":\"Remove\"}\r\n </RemoveFileStyle>\r\n );\r\n }\r\n return (\r\n <fieldset>\r\n <LabelStyle\r\n htmlFor={`${fieldType}_${fieldName}`}\r\n className={props.errors && props.errors[fieldName] && \"error\"}\r\n >\r\n <UploadIconStyle />\r\n {fieldLabel && fieldLabel}\r\n {isRequired ? \"*\" : \"\"}\r\n </LabelStyle>\r\n <input\r\n id={`${fieldType}_${fieldName}`}\r\n name={fieldName}\r\n type={fieldType}\r\n ref={props.reference}\r\n onChange={handleChagne}\r\n style={{ display: \"none\" }}\r\n />\r\n {props.errors && props.errors[fieldName] && (\r\n <ErrorMessage lang={props.lang} />\r\n )}\r\n {uploadedFiles && (\r\n <UploadedDOCStyle>\r\n {uploadedFiles.name}\r\n\r\n {removeStyleBtn}\r\n </UploadedDOCStyle>\r\n )}\r\n </fieldset>\r\n );\r\n }\r\n};\r\n\r\nexport default InputFile;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../../Utils/helperFunctions\";\r\n\r\nconst InputStyle = styled.input`\r\n padding: ${pxToRem(10)};\r\n border: 1px solid rgb(0,0,0,0.3);\r\n /* ${props => props.theme.mixins.marginLeft(40)} */\r\n &.error {\r\n border: 1px solid;\r\n border-color: ${props => props.theme.palette.red};\r\n }\r\n`;\r\n\r\nexport default InputStyle;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport InputStyle from \"./style\";\r\n\r\nconst InputField = props => {\r\n const { fieldType, fieldLabel, fieldName, isRequired } = props.data;\r\n\r\n const getFieldType = type => {\r\n switch (type) {\r\n case \"textbox\":\r\n return \"text\";\r\n case \"email\":\r\n return \"email\";\r\n case \"number\":\r\n return \"number\";\r\n default:\r\n return \"text\";\r\n }\r\n };\r\n return (\r\n <fieldset>\r\n <label\r\n htmlFor={`${fieldType}_${fieldName}`}\r\n className={props.errors && props.errors[fieldName] && \"error\"}\r\n >\r\n {fieldLabel && fieldLabel}{isRequired ? '*' : ''}\r\n </label>\r\n <InputStyle\r\n id={`${fieldType}_${fieldName}`}\r\n name={fieldName}\r\n type={getFieldType(fieldType)}\r\n ref={props.reference}\r\n // placeholder={fieldLabel && fieldLabel}\r\n className={props.errors && props.errors[fieldName] && \"error\"}\r\n />\r\n {/* {props.errors && props.errors[fieldName] && (\r\n <ErrorMessage lang={props.lang} />\r\n )} */}\r\n </fieldset>\r\n );\r\n};\r\n\r\nInputField.propTypes = {\r\n type: PropTypes.string,\r\n};\r\n\r\nexport default InputField;\r\n","import styled from \"styled-components\";\r\n\r\nconst SelectStyle = styled.fieldset`\r\n .select-box > div:first-of-type {\r\n border-color: ${props => props.theme.palette.borderColor};\r\n border: 1px solid rgb(0,0,0,0.3);\r\n }\r\n .select-box input {\r\n width: 0 !important;\r\n }\r\n .select-box.error > div:first-of-type {\r\n border-color: ${props => props.theme.palette.red};\r\n }\r\n`;\r\n\r\nexport default SelectStyle;\r\n","import React from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\n\r\nimport SelectStyle from \"./style\";\r\nimport Select from \"react-select\";\r\n\r\nconst SelectBox = (props) => {\r\n if (props.isLinkedToForm) {\r\n const {\r\n fieldType,\r\n fieldLabel,\r\n fieldName,\r\n listItems,\r\n isRequired,\r\n } = props.data;\r\n\r\n if (listItems.length < 1) {\r\n return \"\";\r\n }\r\n\r\n return (\r\n <SelectStyle>\r\n <label\r\n htmlFor={`${fieldType}_${fieldName}`}\r\n className={props.errors && props.errors[fieldName] && \"error\"}\r\n >\r\n {fieldLabel && fieldLabel}\r\n {isRequired ? \"*\" : \"\"}\r\n </label>\r\n <Controller\r\n name={fieldName}\r\n control={props.formControl}\r\n rules={{ required: isRequired }}\r\n render={({ onChange }) => (\r\n <Select\r\n options={listItems}\r\n noOptionsMessage={() => \"\"}\r\n className={`select-box ${\r\n props.errors && props.errors[fieldName] ? \"error\" : \"\"\r\n }`}\r\n onChange={(e) => onChange(e.value)}\r\n // placeholder={fieldLabel}\r\n />\r\n )}\r\n />\r\n {/* {props.errors && props.errors[fieldName] && (\r\n <ErrorMessage lang={props.lang} />\r\n )} */}\r\n </SelectStyle>\r\n );\r\n } else {\r\n return (\r\n <div>\r\n <Select\r\n options={props.options}\r\n onChange={props.onChange}\r\n value={props.value}\r\n />\r\n </div>\r\n );\r\n }\r\n};\r\n\r\nexport default SelectBox;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../../Utils/helperFunctions\";\r\n\r\nexport const RadioStyle = styled.fieldset`\r\n width: 100% !important;\r\n`;\r\n\r\nexport const RadioOptionStyle = styled.div`\r\n display: flex;\r\n margin-top: ${pxToRem(8)};\r\n span {\r\n display: flex;\r\n label {\r\n margin: 0;\r\n }\r\n }\r\n`;\r\n\r\nexport const LabelStyle = styled.div`\r\n display: block;\r\n margin: 1rem 0 0.25rem;\r\n font-size: 18px;\r\n`;\r\n","import React from \"react\";\r\nimport { RadioStyle, RadioOptionStyle, LabelStyle } from \"./style\";\r\nimport ErrorMessage from \"../../ErrorMessage\";\r\n\r\nconst Radio = props => {\r\n const { fieldType, fieldLabel, fieldName, listItems, isRequired } = props.data;\r\n\r\n const renderRadioOptions = () => {\r\n return listItems.map(item => {\r\n return (\r\n <span>\r\n <input\r\n id={`${fieldType}_${fieldName}_${item.key}`}\r\n type=\"radio\"\r\n name={fieldName}\r\n ref={props.reference}\r\n value={item.key}\r\n />\r\n <label htmlFor={`${fieldType}_${fieldName}_${item.key}`}>\r\n {item.value}\r\n </label>\r\n </span>\r\n );\r\n });\r\n };\r\n\r\n return (\r\n <RadioStyle>\r\n <LabelStyle>{fieldLabel && fieldLabel} {isRequired ? '*' : ''}</LabelStyle>\r\n <RadioOptionStyle>{renderRadioOptions()}</RadioOptionStyle>\r\n {props.errors && props.errors[fieldName] && (\r\n <ErrorMessage lang={props.lang} />\r\n )}\r\n </RadioStyle>\r\n );\r\n};\r\n\r\nexport default Radio;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../../Utils/helperFunctions\";\r\n\r\nexport const CheckboxStyle = styled.fieldset`\r\n width: 100% !important;\r\n`;\r\n\r\nexport const CheckboxOptionStyle = styled.div`\r\n display: flex;\r\n label {\r\n margin: 0;\r\n ${props => props.theme.mixins.marginLeft(pxToRem(8))};\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { CheckboxStyle, CheckboxOptionStyle } from \"./style\";\r\nimport ErrorMessage from \"../../ErrorMessage\";\r\n\r\nconst CheckBox = props => {\r\n const { fieldType, fieldLabel, fieldName, isRequired } = props.data;\r\n let extraProps = {};\r\n if(props.onChange) {\r\n extraProps = {\r\n onChange: props.onChange\r\n };\r\n }\r\n return (\r\n <CheckboxStyle>\r\n <CheckboxOptionStyle>\r\n <input\r\n id={`${fieldType}_${fieldName}`}\r\n type=\"checkbox\"\r\n name={fieldName}\r\n ref={props.reference}\r\n {...extraProps}\r\n />\r\n <label htmlFor={`${fieldType}_${fieldName}`}>{fieldLabel}{isRequired ? '*' : ''}</label>\r\n </CheckboxOptionStyle>\r\n {props.errors && props.errors[fieldName] && (\r\n <ErrorMessage lang={props.lang} />\r\n )}\r\n </CheckboxStyle>\r\n );\r\n};\r\n\r\nexport default CheckBox;\r\n","import styled from \"styled-components\";\r\n\r\nexport const DatePickerStyle = styled.fieldset`\r\n .date-picker {\r\n width: calc(100% - 22px);\r\n padding: 0.625rem;\r\n border: 1px solid rgb(0,0,0,0.3);\r\n }\r\n .date-picker.error {\r\n border: 1px solid;\r\n border-color: ${props => props.theme.palette.red};\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport Datepicker from \"react-datepicker\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { DatePickerStyle } from \"./style\";\r\n\r\nconst DatePicker = (props) => {\r\n const { fieldType, fieldLabel, fieldName, showTodayDate, isRequired } =\r\n props.data;\r\n const { errors } = props;\r\n\r\n return (\r\n <DatePickerStyle>\r\n <label\r\n htmlFor={`${fieldType}_${fieldName}`}\r\n className={errors && errors[fieldName] && \"error\"}\r\n >\r\n {fieldLabel && fieldLabel}\r\n {isRequired ? \"*\" : \"\"}\r\n </label>\r\n <Controller\r\n control={props.formControl}\r\n name={fieldName}\r\n fieldType={fieldType}\r\n rules={{ required: true }}\r\n render={(props) => {\r\n return (\r\n <Datepicker\r\n className={`date-picker ${\r\n errors && errors[fieldName] ? \"error\" : \"\"\r\n }`}\r\n id={`${fieldType}_${fieldName}`}\r\n // placeholderText={fieldLabel && fieldLabel}\r\n utcOffset={0}\r\n onChange={(e) => props.onChange(e)}\r\n selected={props.value}\r\n name={props.name}\r\n autoComplete=\"off\"\r\n showYearDropdown=\"true\"\r\n scrollableYearDropdown=\"true\"\r\n />\r\n );\r\n }}\r\n />\r\n {/* {props.errors && props.errors[fieldName] && (\r\n <ErrorMessage lang={props.lang} />\r\n )} */}\r\n </DatePickerStyle>\r\n );\r\n};\r\n\r\nexport default DatePicker;\r\n","const formFieldTypes = {\r\n SINGLELINETEXT: \"textbox\",\r\n EMAIL: \"email\",\r\n PHONE: \"number\",\r\n INPUTFILE: \"file\",\r\n DROPDOWN: \"dropdown\",\r\n DATE: \"date\",\r\n CHECKBOX: \"checkbox\",\r\n RADIO: \"radio\",\r\n CAPTCHA: \"captcha\",\r\n SUBMIT: \"submit\",\r\n READONLY: \"readonly\",\r\n};\r\n\r\nexport default formFieldTypes;\r\n","import styled from \"styled-components\";\r\n\r\nexport const ReadOnlyStyle = styled.div`\r\n width: 100%;\r\n p{margin:0}\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nexport const RichTextStyle = styled.div`\r\n line-height: ${pxToRem(40)};\r\n\r\n /* Apply styles to <a> tag inside the div */\r\n .responsive-button {\r\n background: #f77860;\r\n width: 20%; /* Default for desktop */\r\n display: inline-block;\r\n text-align: center;\r\n border: none;\r\n border-radius: 10px;\r\n color: white;\r\n font-size: 14px;\r\n text-decoration: none;\r\n cursor: pointer;\r\n margin: 1rem 0 1rem 0;\r\n transition: background 0.3s ease-in-out;\r\n\r\n &:hover {\r\n background: #e56750; /* Slightly darker shade */\r\n }\r\n\r\n /* Tablets (iPads & iPad Mini) */\r\n @media (max-width: 1024px) {\r\n width: 40%;\r\n }\r\n\r\n /* iPad Mini (768px - 834px) */\r\n @media (min-width: 768px) and (max-width: 834px) {\r\n width: 50%; /* Adjust width for iPad Mini */\r\n }\r\n\r\n /* Mobile Devices */\r\n @media (max-width: 767px) {\r\n width: 100% !important;\r\n margin: 0 !important;\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { DecodeHTML } from \"../DecodeHTML\";\r\nimport { RichTextStyle } from \"./style\";\r\n\r\nconst RichText = props => {\r\n return (\r\n <RichTextStyle\r\n className={`richText`}\r\n dangerouslySetInnerHTML={{\r\n __html: DecodeHTML(props.content),\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default RichText;\r\n","/* \r\n This method remove \"\\\" from html string\r\n Accept params: encoded html\r\n Return: decode html\r\n*/\r\nexport const DecodeHTML = encodedHTML => encodedHTML.replace(/\\\\/g, \"\");\r\n","import React from \"react\";\r\nimport { ReadOnlyStyle } from \"./style\";\r\nimport RichText from \"../RichText\";\r\n\r\nconst ReadOnlyField = props => {\r\n const { contentHeading, content, richText } = props.data;\r\n return (\r\n <ReadOnlyStyle>\r\n <h3>{contentHeading}</h3>\r\n <p>{richText ? <RichText content={content} /> : content}</p>\r\n </ReadOnlyStyle>\r\n );\r\n};\r\n\r\nexport default ReadOnlyField;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const CreativeVisaFormContainer = styled.div`\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n padding: ${pxToRem(64)} ${pxToRem(88)};\r\n background: ${props => props.theme.palette.lightYellow};\r\n }\r\n`;\r\n\r\nexport const CreativeVisaFormStyle = styled.form`\r\n ${desktopMedia} {\r\n background-color: ${props => props.theme.mixins.White()};\r\n padding: ${pxToRem(48)};\r\n width: 60%;\r\n }\r\n`;\r\nexport const ErrorMessageAPIStyle = styled.form`\r\n margin-top: ${pxToRem(20)};\r\n`;\r\n\r\nexport const SuccessMessageStyle = styled.div`\r\n display: flex;\r\n align-items: center;\r\n min-height: ${pxToRem(100)};\r\n`;\r\n\r\nexport const FieldStyle = styled.div`\r\n ${desktopMedia} {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n fieldset {\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0.5rem;\r\n justify-content: flex-end;\r\n ${desktopMedia} {\r\n width: calc(50% - 16px);\r\n }\r\n }\r\n`;\r\n","const httpHost = process.env.REACT_APP_API_KEY;\r\n\r\nexport const getAllDropdownValues = `${httpHost}/api/LookUps/All`;\r\nexport const postApplicantDetails = `${httpHost}/api/Applicant`;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport Loading from \"react-fullscreen-loading\";\r\n\r\nimport InputFile from \"../../atoms/Forms/InputFile\";\r\nimport InputField from \"../../atoms/Forms/TextBox\";\r\nimport SelectBox from \"../../atoms/Forms/SelectBox\";\r\nimport Radio from \"../../atoms/Forms/Radio\";\r\nimport CheckBox from \"../../atoms/Forms/CheckBox\";\r\nimport DatePicker from \"../../atoms/Forms/Date\";\r\nimport Button from \"../../atoms/Forms/Button\";\r\nimport { formData } from \"./formData\";\r\nimport formFieldTypes from \"./constants\";\r\nimport ReadOnlyField from \"../../atoms/ReadOnlyField\";\r\nimport {\r\n CreativeVisaFormContainer,\r\n CreativeVisaFormStyle,\r\n ErrorMessageAPIStyle,\r\n FieldStyle,\r\n SuccessMessageStyle,\r\n} from \"./style\";\r\nimport axios from \"axios\";\r\nimport { postApplicantDetails } from \"../../../Utils/services\";\r\nimport ErrorMessage from \"../../atoms/ErrorMessage\";\r\nimport { getLanguageValues } from \"../../../Utils/MultiLingualValues\";\r\nimport { pushAnaylyticsData } from \"../../../Utils/helperFunctions\";\r\n\r\nconst CreativeVisaForm = (props) => {\r\n const [uploadedFiles, setUploadedFiles] = useState({});\r\n const [recaptchachecked, setRecaptchachecked] = React.useState(false);\r\n const [formSubmitStatus, setFormSubmitStatus] = React.useState(false);\r\n const [showRecaptchaError, setShowRecaptchaError] = React.useState(false);\r\n const [showLoader, setShowLoader] = useState(false);\r\n const [apiError, setApiError] = useState(false);\r\n const [dateError, setdateError] = useState(false);\r\n const [xssError, setxssError] = useState(false);\r\n\r\n const { register, handleSubmit, watch, control, errors, setValue } =\r\n useForm();\r\n const { dropdownData, lang } = props;\r\n const {\r\n SINGLELINETEXT,\r\n EMAIL,\r\n PHONE,\r\n INPUTFILE,\r\n DROPDOWN,\r\n DATE,\r\n CHECKBOX,\r\n RADIO,\r\n CAPTCHA,\r\n SUBMIT,\r\n READONLY,\r\n } = formFieldTypes;\r\n\r\n const applicantTypeValue = watch(\"applicantTypeId\");\r\n const uaeVisaValue = watch(\"hasUaeVisa\");\r\n const legalIssueValue = watch(\"hasLegalIssue\");\r\n const qualificationValue = watch(\"qualificationId\");\r\n const religionVlaue = watch(\"religionId\");\r\n const visaCategoryValue = watch(\"visaCategoryId\");\r\n const religionValue = watch(\"religionId\");\r\n const dependentSpoonsorValue = watch(\"havedependantsSponsor\");\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n setValue(\"sign_date_form\", new Date());\r\n }, []);\r\n\r\n const validateDate = (dateString) => {\r\n // First check for the pattern\r\n if (!/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/.test(dateString)) return false;\r\n\r\n // Parse the date parts to integers\r\n var parts = dateString.split(\"/\");\r\n var day = parseInt(parts[1], 10);\r\n var month = parseInt(parts[0], 10);\r\n var year = parseInt(parts[2], 10);\r\n\r\n // Check the ranges of month and year\r\n if (year < 1000 || year > 3000 || month == 0 || month > 12) return false;\r\n\r\n var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n\r\n // Adjust for leap years\r\n if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))\r\n monthLength[1] = 29;\r\n\r\n // Check the range of the day\r\n return day > 0 && day <= monthLength[month - 1];\r\n };\r\n const ValidatexssExists = (obj) => {\r\n Object.keys(obj).forEach(function (key, index) {\r\n // key: the name of the object key\r\n // index: the ordinal position of the key within the object\r\n if (\r\n obj[key] &&\r\n obj[key].toString() &&\r\n obj[key].toString().includes(\"<\")\r\n ) {\r\n setxssError(true);\r\n return true;\r\n }\r\n });\r\n };\r\n const onSubmit = (data) => {\r\n if (recaptchachecked) {\r\n const locale = \"en-US\";\r\n if (\r\n validateDate(data.dateOfBirth.toLocaleDateString(locale)) &&\r\n validateDate(data.passportExpiryDate.toLocaleDateString(locale)) &&\r\n validateDate(data.passportIssueDate.toLocaleDateString(locale)) &&\r\n validateDate(data.sign_date_form.toLocaleDateString(locale))\r\n ) {\r\n setdateError(false);\r\n } else {\r\n setdateError(true);\r\n return;\r\n }\r\n\r\n if (ValidatexssExists(data)) {\r\n return;\r\n }\r\n\r\n pushAnaylyticsData(\"clicked\", \"Submit Button\");\r\n setShowLoader(true);\r\n setShowRecaptchaError(false);\r\n\r\n const VisaTypes = getDropdownValues(\"visaTypes\");\r\n const CurrentVisaType = VisaTypes.filter((rows) => {\r\n return rows.label === getLanguageValues(lang, \"creative\"); //getLanguageValues(lang, \"golden\")\r\n });\r\n data.visaTypeId = CurrentVisaType[0].value;\r\n console.log({ ...data, ...uploadedFiles });\r\n const requestObject = { ...data, ...uploadedFiles };\r\n let fileFormData = new FormData();\r\n let applicantFormData = {};\r\n for (const key in requestObject) {\r\n if (\r\n key.includes(\"attachment\") &&\r\n requestObject[key] &&\r\n requestObject[key].length === 1 &&\r\n requestObject[key][0] &&\r\n requestObject[key][0].name\r\n ) {\r\n fileFormData.append(key, requestObject[key][0]);\r\n delete requestObject[key];\r\n } else if (\r\n key.includes(\"attachment\") &&\r\n requestObject[key] &&\r\n requestObject[key].length > 1 &&\r\n requestObject[key][0] &&\r\n requestObject[key][0].name\r\n ) {\r\n for (let index = 0; index < requestObject[key].length; index++) {\r\n const element = requestObject[key][index];\r\n fileFormData.append(index + key, element);\r\n }\r\n delete requestObject[key];\r\n }\r\n }\r\n applicantFormData = { ...applicantFormData, ...requestObject };\r\n let hoursDiff =\r\n applicantFormData.dateOfBirth.getHours() -\r\n applicantFormData.dateOfBirth.getTimezoneOffset() / 60;\r\n applicantFormData.dateOfBirth.setHours(hoursDiff);\r\n applicantFormData.passportExpiryDate.setHours(hoursDiff);\r\n applicantFormData.passportIssueDate.setHours(hoursDiff);\r\n // applicantFormData.sign_date_form.setHours(hoursDiff);\r\n fileFormData.set(\"applicant\", JSON.stringify(applicantFormData));\r\n\r\n axios\r\n .post(postApplicantDetails, fileFormData, {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Ocp-Apim-Subscription-Key\": \"bb43772e423a4ad59e93513598bef5ea\",\r\n },\r\n })\r\n .then((data) => {\r\n setShowLoader(false);\r\n setApiError(false);\r\n if (data.status === 200 && data.data.referenceCode) {\r\n setFormSubmitStatus(data.data.referenceCode);\r\n }\r\n })\r\n .catch((err) => {\r\n setShowLoader(false);\r\n setApiError(true);\r\n });\r\n } else {\r\n setShowRecaptchaError(true);\r\n }\r\n };\r\n\r\n const getDropdownValues = (keyName) => {\r\n let listItems;\r\n if (keyName === \"visaActivities\") {\r\n if (visaCategoryValue) {\r\n const valuesExtracted = dropdownData[keyName].filter((data) => {\r\n return data.visaCategoryId === visaCategoryValue;\r\n });\r\n listItems = valuesExtracted.map((value) => {\r\n return {\r\n label: lang === \"ar\" ? value.nameAr : value.name,\r\n value: value.id,\r\n };\r\n });\r\n } else {\r\n return [];\r\n }\r\n } else if (keyName === \"faiths\") {\r\n if (religionValue) {\r\n const valuesExtracted = dropdownData[keyName].filter((data) => {\r\n return data.religionId === religionValue;\r\n });\r\n if (valuesExtracted && valuesExtracted.length) {\r\n listItems = valuesExtracted.map((value) => {\r\n return {\r\n label: lang === \"ar\" ? value.nameAr : value.name,\r\n value: value.id,\r\n };\r\n });\r\n } else {\r\n return [];\r\n }\r\n } else {\r\n return [];\r\n }\r\n } else {\r\n listItems = dropdownData[keyName].map((value) => {\r\n return {\r\n label: lang === \"ar\" ? value.nameAr : value.name,\r\n value: value.id,\r\n };\r\n });\r\n }\r\n\r\n return listItems;\r\n };\r\n\r\n const handleFileChange = (e) => {\r\n if (e.target && e.target.type === \"file\") {\r\n try {\r\n const allowedExtensions = [\"jpg\", \"jpeg\", \"png\", \"pdf\", \"doc\", \"docx\"];\r\n const { name: fileName, size: fileSize } = e.target.files[0];\r\n const fileExtension = fileName.split(/[. ]+/).pop();\r\n if (!allowedExtensions.includes(fileExtension.toLowerCase())) {\r\n alert(\"please upload only pdf, doc and images files\");\r\n e.target.value = null;\r\n return;\r\n }\r\n\r\n if (e.target.files.length) {\r\n const files = e.target.files[0];\r\n const targetName = e.target.name;\r\n if (uploadedFiles[targetName]) {\r\n setUploadedFiles({\r\n ...uploadedFiles,\r\n [targetName]: [...uploadedFiles[targetName], files],\r\n });\r\n } else {\r\n setUploadedFiles({\r\n ...uploadedFiles,\r\n [targetName]: [files],\r\n });\r\n }\r\n }\r\n } catch (err) {}\r\n }\r\n };\r\n\r\n const onFileDelete = (key, name, type) => {\r\n const updatedFiles = uploadedFiles[name].filter(\r\n (file) => file.lastModified !== key\r\n );\r\n setUploadedFiles({\r\n ...uploadedFiles,\r\n [name]: updatedFiles,\r\n });\r\n let element = document.querySelector(`#${type}_${name}`);\r\n element.value = \"\";\r\n };\r\n\r\n const renderFormFields = (fields) => {\r\n // condition to view UAE visa sponsor field\r\n if (\r\n (fields.uaeVisaCondition && !uaeVisaValue) ||\r\n (fields.uaeVisaCondition &&\r\n uaeVisaValue &&\r\n uaeVisaValue !== fields.uaeVisaCondition)\r\n ) {\r\n return \"\";\r\n }\r\n // condition to view legal issue details field\r\n if (\r\n (fields.legalIssueCondition && !legalIssueValue) ||\r\n (fields.legalIssueCondition &&\r\n legalIssueValue &&\r\n legalIssueValue !== fields.legalIssueCondition)\r\n ) {\r\n return \"\";\r\n }\r\n\r\n // checking for faith field value to change required behaviour of other related fields\r\n if (fields.religionCondition && !religionVlaue) {\r\n return \"\";\r\n }\r\n\r\n //checking for visa category value to render visa activity field\r\n if (fields.visaCategoryCondition && !visaCategoryValue) {\r\n return \"\";\r\n }\r\n\r\n switch (fields.fieldType) {\r\n case SINGLELINETEXT:\r\n case EMAIL:\r\n case PHONE:\r\n return (\r\n <InputField\r\n data={fields}\r\n reference={register({ required: fields.isRequired })}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case INPUTFILE:\r\n if (fields.isMultipleUpload) {\r\n return (\r\n <InputFile\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n onChange={handleFileChange}\r\n onFileDelete={onFileDelete}\r\n uploadedFiles={uploadedFiles}\r\n />\r\n );\r\n } else {\r\n return (\r\n <InputFile\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n }\r\n case DATE:\r\n return (\r\n <DatePicker\r\n reference={register({ required: fields.isRequired })}\r\n date={new Date()}\r\n value={new Date()}\r\n formControl={control}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case DROPDOWN:\r\n return (\r\n <SelectBox\r\n reference={register({ required: fields.isRequired })}\r\n formControl={control}\r\n isLinkedToForm={true}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case CHECKBOX:\r\n return (\r\n <CheckBox\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case RADIO:\r\n return (\r\n <Radio\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case READONLY:\r\n return <ReadOnlyField data={fields} />;\r\n case CAPTCHA:\r\n return (\r\n <>\r\n <ReCAPTCHA\r\n sitekey={fields.captchaKey}\r\n onChange={recaptchaCallback}\r\n />\r\n {showRecaptchaError && <ErrorMessage />}\r\n </>\r\n );\r\n case SUBMIT:\r\n return <Button data={fields} />;\r\n default:\r\n return \"not defined\";\r\n }\r\n };\r\n\r\n const renderSuccessScreen = () => {\r\n return (\r\n <SuccessMessageStyle>\r\n <h2>\r\n {getLanguageValues(lang, \"successMessage\")}\r\n {formSubmitStatus}\r\n </h2>\r\n </SuccessMessageStyle>\r\n );\r\n };\r\n\r\n const recaptchaCallback = (value) => {\r\n //If value is long string then we have sucessfully submited\r\n // google captcha and now we can submit the form\r\n setRecaptchachecked(value.length > 0);\r\n setShowRecaptchaError(!(value.length > 0));\r\n };\r\n\r\n const renderForm = () => {\r\n const formFields = formData(props.lang);\r\n return formFields.map((field) => {\r\n if (field.isFormGroup) {\r\n // condition to view applicant fields\r\n if (\r\n (field.applicantCondition && !applicantTypeValue) ||\r\n (field.applicantCondition &&\r\n applicantTypeValue &&\r\n applicantTypeValue !== field.applicantCondition)\r\n ) {\r\n return \"\";\r\n }\r\n const formGroupDOM = (\r\n <div>\r\n <h3>{field.groupTitle}</h3>\r\n <div\r\n style={{\r\n fontSize: \"small\",\r\n color: \"red\",\r\n }}\r\n dangerouslySetInnerHTML={{ __html: field.groupDisclaimer }}\r\n ></div>\r\n <FieldStyle>\r\n {field.fields.map((fieldData) => {\r\n let newFieldData = fieldData;\r\n // adding dropdown values fetched from API\r\n if (\r\n newFieldData.fieldType === DROPDOWN &&\r\n newFieldData.keyName\r\n ) {\r\n newFieldData = {\r\n ...newFieldData,\r\n listItems: getDropdownValues(newFieldData.keyName),\r\n };\r\n }\r\n //checking for qualification field value to change required behaviour of otherr related fields\r\n if (\r\n newFieldData.parentField == \"qualificationId\" &&\r\n qualificationValue &&\r\n newFieldData.parentValues &&\r\n newFieldData.parentValues.length &&\r\n newFieldData.parentValues\r\n .split(\",\")\r\n .includes(`${qualificationValue}`)\r\n ) {\r\n newFieldData = {\r\n ...newFieldData,\r\n isRequired: true,\r\n };\r\n }\r\n if (\r\n newFieldData.fieldName === \"attachment_Dependant_passport\" &&\r\n dependentSpoonsorValue &&\r\n dependentSpoonsorValue === \"true\"\r\n ) {\r\n newFieldData = {\r\n ...newFieldData,\r\n isRequired: true,\r\n };\r\n }\r\n\r\n return renderFormFields(newFieldData);\r\n })}\r\n </FieldStyle>\r\n </div>\r\n );\r\n return formGroupDOM;\r\n } else {\r\n return <>{renderFormFields(field)}</>;\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <CreativeVisaFormContainer>\r\n <Loading\r\n loading={showLoader}\r\n background=\"rgb(0,0,0, 0.8)\"\r\n loaderColor=\"#fff\"\r\n />\r\n <CreativeVisaFormStyle onSubmit={handleSubmit(onSubmit)}>\r\n {!formSubmitStatus ? renderForm() : renderSuccessScreen()}\r\n {dateError && (\r\n <ErrorMessageAPIStyle>\r\n {\" \"}\r\n <ErrorMessage\r\n message={getLanguageValues(lang, \"dateErrorMessage\")}\r\n />\r\n </ErrorMessageAPIStyle>\r\n )}\r\n {apiError && (\r\n <ErrorMessageAPIStyle>\r\n {\" \"}\r\n <ErrorMessage\r\n message={getLanguageValues(lang, \"apiErrorMessage\")}\r\n />\r\n </ErrorMessageAPIStyle>\r\n )}\r\n {xssError && (\r\n <ErrorMessageAPIStyle>\r\n {\" \"}\r\n <ErrorMessage\r\n message={getLanguageValues(lang, \"xssErrorMessage\")}\r\n />\r\n </ErrorMessageAPIStyle>\r\n )}\r\n </CreativeVisaFormStyle>\r\n </CreativeVisaFormContainer>\r\n );\r\n};\r\n\r\nexport default CreativeVisaForm;\r\n","import { getLanguageValues } from \"../../../Utils/MultiLingualValues\";\r\n\r\nexport const formData = (lang) => {\r\n const processedData = [\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"personalInformation\"),\r\n groupDisclaimer: getLanguageValues(lang, \"PersonalInformationDisclaimer\"),\r\n fields: [\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"salutationId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"salutationId\",\r\n keyName: \"salutations\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"firstName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"firstName\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"middleName\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"middleName\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"surName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"surName\",\r\n },\r\n {\r\n fieldType: \"email\",\r\n fieldLabel: getLanguageValues(lang, \"email\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"email\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"genderId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"genderId\",\r\n keyName: \"genders\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"nationalityAndPassport\"),\r\n fields: [\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"dateOfBirth\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"dateOfBirth\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"birthCountryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"birthCountryId\",\r\n keyName: \"countries\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"birthCity\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"birthCity\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"previousNationalityId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"previousNationalityId\",\r\n keyName: \"nationalites\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"nationalityId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"nationalityId\",\r\n keyName: \"nationalites\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"passportTypeId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportTypeId\",\r\n keyName: \"passportTypes\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"passportCodeText\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportCodeId\",\r\n keyName: \"passportCodes\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"passportIssueCountryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportIssueCountryId\",\r\n keyName: \"countries\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"passportNumber\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportNumber\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"passportIssueCity\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportIssueCity\",\r\n },\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"passportIssueDate\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportIssueDate\",\r\n },\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"passportExpiryDate\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportExpiryDate\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"occupationAndQualification\"),\r\n fields: [\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"occupation\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"occupation\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"qualificationId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"qualificationId\",\r\n keyName: \"qualifications\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"qualificationCountryId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"qualificationCountryId\",\r\n keyName: \"countries\",\r\n parentField: \"qualificationId\",\r\n parentValues: \"3,4,5,6,7,8,10\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"educationLevelDetails\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"educationLevelDetails\",\r\n parentField: \"qualificationId\",\r\n parentValues: \"3,4,5,6,10\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"visaInformation\"),\r\n fields: [\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"maritalStatusId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"maritalStatusId\",\r\n keyName: \"maritalStatuses\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"motherName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"motherName\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"religionId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"religionId\",\r\n keyName: \"religions\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"faithId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"faithId\",\r\n keyName: \"faiths\",\r\n religionCondition: \"8,9\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeUnifiedNo\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeUnifiedNo\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeIdentityNumber\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeIdentityNumber\",\r\n },\r\n {\r\n fieldType: \"radio\",\r\n fieldLabel: getLanguageValues(lang, \"hasUaeVisa\"),\r\n isRequired: true,\r\n listItems: [\r\n {\r\n value: getLanguageValues(lang, \"yes\"),\r\n key: true,\r\n },\r\n {\r\n value: getLanguageValues(lang, \"no\"),\r\n key: false,\r\n },\r\n ],\r\n fieldName: \"hasUaeVisa\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"sponsorName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"sponsorName\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"radio\",\r\n fieldLabel: getLanguageValues(lang, \"hasLegalIssue\"),\r\n isRequired: true,\r\n listItems: [\r\n {\r\n value: getLanguageValues(lang, \"yes\"),\r\n key: true,\r\n },\r\n {\r\n value: getLanguageValues(lang, \"no\"),\r\n key: false,\r\n },\r\n ],\r\n fieldName: \"hasLegalIssue\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"legalIssueDetails\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"legalIssueDetails\",\r\n legalIssueCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"radio\",\r\n fieldLabel: getLanguageValues(lang, \"havedependantsSponsor\"),\r\n isRequired: true,\r\n listItems: [\r\n {\r\n value: getLanguageValues(lang, \"yes\"),\r\n key: true,\r\n },\r\n {\r\n value: getLanguageValues(lang, \"no\"),\r\n key: false,\r\n },\r\n ],\r\n fieldName: \"havedependantsSponsor\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"permanentContactInformation\"),\r\n fields: [\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryBuilding\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryBuilding\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryStreet\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryStreet\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryCity\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryCity\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryState\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryState\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryId\",\r\n keyName: \"countries\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryZipCode\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryZipCode\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryMobile\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryMobile\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryOtherContact\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"homeCountryOtherContact\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"contactInformation\"),\r\n fields: [\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"uaeBuilding\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeBuilding\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"uaeStreet\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeStreet\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"uaeCity\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeCity\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"uaeEmirateId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeEmirateId\",\r\n keyName: \"emirates\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaePoBox\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaePoBox\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeResidencePhoneNumber\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeResidencePhoneNumber\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeOtherContact\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeOtherContact\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeMobile\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeMobile\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"creativeVisaCategories\"),\r\n fields: [\r\n // {\r\n // fieldType: \"dropdown\",\r\n // fieldLabel: getLanguageValues(lang, \"applicantTypeId\"),\r\n // isRequired: true,\r\n // listItems: [],\r\n // fieldName: \"applicantTypeId\",\r\n // keyName: \"applicantTypes\",\r\n // },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"visaCategoryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"visaCategoryId\",\r\n keyName: \"visaCategories\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"visaActivityId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"visaActivityId\",\r\n keyName: \"visaActivities\",\r\n visaCategoryCondition: \"visaCategoryId\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"supportingDocuments\"),\r\n groupDisclaimer: getLanguageValues(lang, \"supportingDocumentsDisclaimer\"),\r\n\r\n fields: [\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Passport\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Passport\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Colour_photo\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Colour_photo\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Supporting_doc1\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Supporting_doc1\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Supporting_doc2\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Supporting_doc2\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(\r\n lang,\r\n \"attachment_Additional_Supporting_Docs\"\r\n ),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"attachment_Additional_Supporting_Docs\",\r\n isMultipleUpload: true,\r\n maxUpload: 10,\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Uae_Visa\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"attachment_Uae_Visa\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_EmiratesId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"attachment_EmiratesId\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(lang, \"attachment_Dependant_passport\"),\r\n // isRequired: false,\r\n // listItems: [],\r\n // fieldName: \"attachment_Dependant_passport\",\r\n // },\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(lang, \"attachment_Health_Insurance\"),\r\n // isRequired: false,\r\n // listItems: [],\r\n // fieldName: \"attachment_Health_Insurance\",\r\n // },\r\n ],\r\n },\r\n // {\r\n // isFormGroup: true,\r\n // groupTitle: getLanguageValues(lang, \"acclaimedApplicants\"),\r\n // fields: [\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(lang, \"attachment_Upload_evidence\"),\r\n // isRequired: true,\r\n // listItems: [],\r\n // fieldName: \"attachment_Upload_evidence\",\r\n // isMultipleUpload: true,\r\n // maxUpload: 4,\r\n // },\r\n // ],\r\n // applicantCondition: 18,\r\n // },\r\n // {\r\n // isFormGroup: true,\r\n // groupTitle: getLanguageValues(lang, \"talentedApplicants\"),\r\n // fields: [\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(lang, \"attachment_Letter_of_Intent\"),\r\n // isRequired: true,\r\n // listItems: [],\r\n // fieldName: \"attachment_Letter_of_Intent\",\r\n // },\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(lang, \"attachment_Portfolio_of_Work\"),\r\n // isRequired: false,\r\n // listItems: [],\r\n // fieldName: \"attachment_Portfolio_of_Work\",\r\n // },\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(lang, \"attachment_Reference_Letter\"),\r\n // isRequired: false,\r\n // listItems: [],\r\n // fieldName: \"attachment_Reference_Letter\",\r\n // },\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(lang, \"attachment_Evidence_of_degree\"),\r\n // isRequired: false,\r\n // listItems: [],\r\n // fieldName: \"attachment_Evidence_of_degree\",\r\n // },\r\n // {\r\n // fieldType: \"file\",\r\n // fieldLabel: getLanguageValues(\r\n // lang,\r\n // \"attachment_Other_relevant_documents\"\r\n // ),\r\n // isRequired: false,\r\n // listItems: [],\r\n // fieldName: \"attachment_Other_relevant_documents\",\r\n // isMultipleUpload: true,\r\n // maxUpload: 3,\r\n // },\r\n // ],\r\n // applicantCondition: 19,\r\n // },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"declarationText\"),\r\n fields: [\r\n {\r\n fieldType: \"readonly\",\r\n content: getLanguageValues(lang, \"declarationContentText\"),\r\n richText: true,\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"name\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"name\",\r\n },\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"sign_date_form\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"sign_date_form\",\r\n showTodayDate: true,\r\n },\r\n {\r\n fieldType: \"checkbox\",\r\n fieldLabel: getLanguageValues(lang, \"signature\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"signature\",\r\n },\r\n {\r\n fieldType: \"checkbox\",\r\n fieldLabel: getLanguageValues(lang, \"terms\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"terms\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: false,\r\n fieldType: \"captcha\",\r\n captchaKey: process.env.REACT_APP_CAPTCHA_KEY,\r\n },\r\n {\r\n isFormGroup: false,\r\n fieldType: \"submit\",\r\n fieldLabel: getLanguageValues(lang, \"submitText\"),\r\n },\r\n ];\r\n return processedData;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport { CreativeVisaPageContainer } from \"./style\";\r\nimport CreativeVisaForm from \"../../molecules/CreativeVisaForm\";\r\nimport axios from \"axios\";\r\nimport { getAllDropdownValues } from \"../../../Utils/services\";\r\n// import { dropdownData } from \"./data\";\r\nimport Loading from \"react-fullscreen-loading\";\r\n\r\nconst CreativeVisaPage = (props) => {\r\n const [dropdownValues, setdropdownValues] = useState({});\r\n const [showLoader, setShowLoader] = useState(true);\r\n\r\n useEffect(() => {\r\n axios\r\n .get(getAllDropdownValues, {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Ocp-Apim-Subscription-Key\": \"bb43772e423a4ad59e93513598bef5ea\",\r\n },\r\n })\r\n .then((data) => {\r\n setdropdownValues(data.data);\r\n setShowLoader(false);\r\n });\r\n }, []);\r\n\r\n return (\r\n <CreativeVisaPageContainer>\r\n <Loading\r\n loading={showLoader}\r\n background=\"rgb(0,0,0, 0.8)\"\r\n loaderColor=\"#fff\"\r\n />\r\n <div>\r\n {/* {Object.keys(dropdownData).length && (\r\n <CreativeVisaForm lang={props.lang} dropdownData={dropdownData} />\r\n )} */}\r\n {Object.keys(dropdownValues).length && (\r\n <CreativeVisaForm lang={props.lang} dropdownData={dropdownValues} />\r\n )}\r\n </div>\r\n </CreativeVisaPageContainer>\r\n );\r\n};\r\n\r\nexport default CreativeVisaPage;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const AppContainer = styled.div`\r\n font-family: ${props => props.theme.typography.fontFamily.primaryRegular};\r\n`;\r\n\r\nexport const HomeContainer = styled.div`\r\n ${desktopMedia} {\r\n background: ${props => props.theme.palette.lightYellow};\r\n }\r\n .text-container {\r\n line-height: 24px;\r\n }\r\n`;\r\n\r\nexport const HomeTextContainer = styled.div`\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n \r\n ${desktopMedia} {\r\n padding: ${pxToRem(40)} ${pxToRem(80)} ${pxToRem(60)} ${pxToRem(80)};\r\n background: ${props => props.theme.mixins.White()};\r\n }\r\n`;","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const TitleStyled = styled.div`\r\n line-height: 3rem;\r\n ${(props) => props.theme.mixins.marginLeft(pxToRem(16))};\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n text-align: center;\r\n color: #fff;\r\n z-index: 5;\r\n padding: ${pxToRem(0)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n width: 100%;\r\n padding: ${pxToRem(0)} ${pxToRem(0)};\r\n h1 {\r\n font-size: ${pxToRem(50)};\r\n }\r\n ,\r\n h3 {\r\n font-size: ${pxToRem(30)};\r\n font-weight: 600;\r\n }\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { TitleStyled } from \"./style\";\r\n\r\nconst Title = props => {\r\n console.log(props)\r\n return (\r\n <TitleStyled>\r\n <h1>{props.title}</h1>\r\n <h3>{props.subTitle}</h3>\r\n\r\n </TitleStyled>\r\n );\r\n};\r\n\r\nTitle.propTypes = {};\r\n\r\nexport default Title;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const FooterContainer = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n background-color: ${props => props.theme.palette.greyBlack};\r\n\tcolor: ${props => props.theme.mixins.White()};\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n\tjustify-content: space-between;\r\n\tflex-direction: row;\r\n align-items: flex-start;\r\n padding: ${pxToRem(24)} ${pxToRem(88)};\r\n }\r\n\th4 {\r\n\t\tfont-size: ${pxToRem(22)};\r\n\t}\r\n\ta {\r\n\t\tcolor: ${props => props.theme.mixins.White()};\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.links {\r\n\t\tmargin-bottom: ${pxToRem(10)};\r\n\t}\r\n`;\r\n\r\nexport const FooterBottomSectionContainer = styled.div`\r\n display: flex;\r\n justify-content: start;\r\n background-color: ${props => props.theme.palette.darkGrey};\r\n color: ${props => props.theme.mixins.White()};\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n padding: ${pxToRem(24)} ${pxToRem(88)};\r\n }\r\n\r\n\tul {\r\n\t\tmargin: 0;\r\n\t\tlist-style: none;\r\n\t\tpadding: 0;\r\n\t\tdisplay: flex;\r\n\t\tli {\r\n\t\t\ta {\r\n\t\t\t\tcolor: ${props => props.theme.mixins.White()};\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\t\t}\r\n\t\tli:first-child {\r\n\t\t\t${props => props.theme.mixins.marginRight(12)};\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nexport const OfficesSection = styled.div`\r\n\t${desktopMedia} {\r\n\t\twidth: 33%;\r\n \t}\r\n\timg {\r\n\t\twidth: 100%;\r\n\t\tmax-width: 256px;\r\n\t}\r\n`;\r\n\r\nexport const QuickLinkSection = styled.div`\r\n\t${desktopMedia} {\r\n\t\twidth: 20%;\r\n \t}\r\n`;\r\n\r\nexport const ContactSection = styled.div`\r\n\t${desktopMedia} {\r\n\t\twidth: 27%;\r\n \t}\r\n`;\r\n\r\nexport const FollowSection = styled.div`\r\n\t${desktopMedia} {\r\n\t\twidth: 18%;\r\n \t}\r\n\tul {\r\n\t\tmargin: 0;\r\n\t\tlist-style: none;\r\n\t\tpadding: 0;\r\n\t\tdisplay: flex;\r\n\t\tli {\r\n\t\t\ta {\r\n\t\t\t\tcolor: ${props => props.theme.mixins.White()};\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\t\t\timg {\r\n\t\t\t\twidth: ${pxToRem(22)};\r\n\t\t\t\t${props => props.theme.mixins.marginRight(10)};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\timg {\r\n\t\twidth: ${pxToRem(170)};\r\n\t\tmargin-top: ${pxToRem(20)};\r\n\t}\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/footer_map.23a93e29.png\";","export default __webpack_public_path__ + \"static/media/footer_tca_logo.65f07e65.png\";","import React from 'react';\r\n\r\nimport { getLanguageValues } from '../../../Utils/MultiLingualValues'\r\nimport { FooterBottomSectionContainer, FooterContainer, OfficesSection, QuickLinkSection, ContactSection, FollowSection } from './style'\r\nimport footerMapImage from \"../../../../assets/images/footer_map.png\";\r\nimport linkdinImage from \"../../../../assets/images/linkdin_icn.png\";\r\nimport twitterImage from \"../../../../assets/images/twitter_icn.png\";\r\nimport instagramImage from \"../../../../assets/images/instagram_icn.png\";\r\nimport facebookImage from \"../../../../assets/images/facebook_icn.png\";\r\nimport youtubeImage from \"../../../../assets/images/youtube_icn.png\";\r\nimport logo from \"../../../../assets/images/footer_tca_logo.png\";\r\nimport RichText from '../../atoms/RichText';\r\n\r\nconst Footer = (props) => {\r\n\tconst { lang } = props;\r\n\tconst quickLinksText = process.env.REACT_APP_FOOTER_QUICK_LINKS_TEXT.split(',');\r\n\tconst quickLinksLink = process.env.REACT_APP_FOOTER_QUICK_LINKS_LINK.split(',');\r\n\tconst followLinks = [\r\n\t\t{link: 'https://www.linkedin.com/company/dctabudhabi', src: linkdinImage, alt: 'linkdin_icn' },\r\n\t\t{link: 'https://twitter.com/dctabudhabi', src: twitterImage, alt: 'twitter_icn' },\r\n\t\t{link: 'https://www.instagram.com/dctabudhabi/', src: instagramImage, alt: 'instagram_icn' },\r\n\t\t{link: 'https://www.facebook.com/dctabudhabi', src: facebookImage, alt: 'facebook_icn' },\r\n\t\t{link: 'https://youtube.com/c/dctabudhabi', src: youtubeImage, alt: 'youtube_icn' },\r\n\t];\r\n\r\n\tconst renderLinks = () => {\r\n\t\treturn quickLinksText.map((text, index) => {\r\n\t\t\treturn <div className=\"links\" key={`${text}_${Math.random()}`}><a href={quickLinksLink[index]} target=\"_blank\" rel=\"noreferrer\">{text}</a></div>\r\n\t\t});\r\n\t}\r\n\r\n\tconst renderFollowUs = () => {\r\n\t\treturn followLinks.map(link => {\r\n\t\t\treturn <li><a href={link.link} target=\"_blank\" rel=\"noreferrer\"><img src={link.src} alt={link.alt} /></a></li>\r\n\t\t})\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t{/* <FooterContainer>\r\n\t\t\t<QuickLinkSection>\r\n\t\t\t\t<h4>{getLanguageValues(lang, 'quickLinksText')}</h4>\r\n\t\t\t\t{quickLinksText && renderLinks()}\r\n\t\t\t</QuickLinkSection>\r\n\t\t\t<OfficesSection>\r\n\t\t\t\t<h4>{getLanguageValues(lang, 'officesText')}</h4>\r\n\t\t\t\t<a href=\"https://tcaabudhabi.ae/en/who.we.are/our.offices.aspx\" target=\"_blank\" rel=\"noreferrer\">\r\n\t\t\t\t\t<img src={footerMapImage} alt=\"offices\" />\r\n\t\t\t\t</a>\r\n\t\t\t</OfficesSection>\r\n\t\t\t<ContactSection>\r\n\t\t\t\t<h4>{getLanguageValues(lang, 'contactText')}</h4>\r\n\t\t\t\t<RichText content={getLanguageValues(lang, 'contactInfoText')} />\r\n\t\t\t\t<RichText content={getLanguageValues(lang, 'contactAddrerssText')} />\r\n\t\t\t</ContactSection>\r\n\t\t\t<FollowSection>\r\n\t\t\t\t<h4>{getLanguageValues(lang, 'followUsText')}</h4>\r\n\t\t\t\t<ul>\r\n\t\t\t\t\t{renderFollowUs()}\r\n\t\t\t\t</ul>\r\n\t\t\t\t<img src={logo} alt=\"logo\" />\r\n\t\t\t</FollowSection>\r\n\t\t</FooterContainer> */}\r\n\t\t<FooterBottomSectionContainer>\r\n\t\t\t\t<div>{getLanguageValues(lang, 'copyRightNewText')}</div>\r\n\t\t\t\t{/* <ul>\r\n\t\t\t\t\t<li><a href={`${lang === 'ar' ? process.env.REACT_APP_LINK_PRIVACY_POLICY_AR : process.env.REACT_APP_LINK_PRIVACY_POLICY_EN}`} target=\"_blank\" rel=\"noreferrer\">{getLanguageValues(lang, 'privacyPolicyText')}</a></li>\r\n\t\t\t\t</ul> */}\r\n\t\t\t</FooterBottomSectionContainer>\r\n\t\t</>\r\n\t)\r\n}\r\n\r\nexport default Footer\r\n","import React, { useState } from \"react\";\r\n\r\nimport Button from \"../../atoms/Forms/Button\";\r\nimport Header from \"../../molecules/Header\";\r\nimport HeroBanner from \"../../molecules/HeroBanner\";\r\nimport CreativeVisaPage from \"../CreativeVisaPage\";\r\nimport { AppContainer, HomeContainer, HomeTextContainer } from \"./style\";\r\nimport { HomePageData } from \"./data\";\r\nimport { getLanguageValues } from \"../../../Utils/MultiLingualValues\";\r\nimport { pushAnaylyticsData } from \"../../../Utils/helperFunctions\";\r\nimport Title from \"../../atoms/Title\";\r\nimport Footer from \"../../molecules/Footer\";\r\nimport ReadOnlyField from \"../../atoms/ReadOnlyField\";\r\nimport CheckBox from \"../../atoms/Forms/CheckBox\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst TITLE = \"Creative Visa app\";\r\n\r\nconst HomePage = (props) => {\r\n const [proceedClicked, setProceedClicked] = useState(false);\r\n const [privacyClicked, setprivacyClicked] = useState(false);\r\n\r\n const data = HomePageData(props.lang);\r\n\r\n const onProceedClick = () => {\r\n pushAnaylyticsData(\"clicked\", \"Proceed Button\");\r\n setProceedClicked(true);\r\n };\r\n\r\n const onCheckBoxChange = (event) => {\r\n if (event.target) {\r\n setprivacyClicked(event.target.checked);\r\n }\r\n };\r\n\r\n return (\r\n <AppContainer>\r\n <Helmet>\r\n <title>{TITLE}\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n {!proceedClicked ? (\r\n <HomeContainer>\r\n <HomeTextContainer>\r\n <div className=\"text-container\">\r\n <ReadOnlyField data={data.homePageText} />\r\n {/* {getLanguageValues(props.lang, 'homePageText')} */}\r\n </div>\r\n {/* <CheckBox\r\n data={data.privacyCheckBox}\r\n lang={props.lang}\r\n onChange={onCheckBoxChange}\r\n /> */}\r\n <div className=\"container\" >\r\n <Button\r\n data={data.proceedButtonData}\r\n onClick={onProceedClick}\r\n />\r\n </div>\r\n </HomeTextContainer>\r\n \r\n \r\n </HomeContainer>\r\n \r\n ) : (\r\n <CreativeVisaPage lang={props.lang} />\r\n )}\r\n </div>\r\n <Footer lang={props.lang} />\r\n </AppContainer>\r\n );\r\n};\r\n\r\nexport default HomePage;\r\n","import { getLanguageValues } from \"../../../Utils/MultiLingualValues\";\r\nimport RichText from \"../../atoms/RichText\";\r\n\r\nexport const HomePageData = (lang) => ({\r\n proceedButtonData: {\r\n isFormGroup: false,\r\n fieldType: \"submit\",\r\n fieldLabel: getLanguageValues(lang, \"proceedYourApplication\"),\r\n },\r\n homePageText: {\r\n isFormGroup: false,\r\n fieldType: \"readonly\",\r\n content: getLanguageValues(lang, \"instructionNewContentText\"),\r\n richText: true,\r\n },\r\n privacyCheckBox: {\r\n fieldType: \"checkbox\",\r\n fieldLabel: (\r\n <RichText\r\n content={getLanguageValues(lang, \"privacyPolicyCheckboxLinkText\")}\r\n />\r\n ),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"privacyPolicyCheckboxLinkText\",\r\n },\r\n});\r\n","import styled from \"styled-components\";\r\n\r\nexport const CreativeVisaPageContainer = styled.div`\r\n font-family: ${props => props.theme.typography.fontFamily.primaryRegular};\r\n`;\r\n","const multiLinguaValues = {\r\n salutationId: {\r\n labelEN: \"Salutation\",\r\n labelAR: \"اللقب\",\r\n },\r\n instructionHeadingText: {\r\n labelEN: \"INSTRUCTIONS\",\r\n labelAR: \"التعليمات\",\r\n },\r\n passportCodeText: {\r\n labelEN: \"Passport Code\",\r\n labelAR: \"رمز جواز السفر\",\r\n },\r\n preinstructionContent: {\r\n labelEN: `<div>\r\n <p>\r\n The Department of Culture and Tourism – Abu Dhabi endorses talented, experienced professionals that specialize in the following categories: \r\n Visual Arts, Publishing, Performing Arts, Design & Crafts, Heritage, Gaming & e-Sports or Media.\r\n </p>\r\n <p>\r\n If you currently have an Emirates ID, please \r\n <a href=\"https://www.tamm.abudhabi/en/life-events/individual/Identity-Citizenship-Human-Resources/Residency-Entry-Permit/RequestforGoldenVisaNomination\" target=\"_blank\">click here to apply</a>.\r\n </p>\r\n <p>\r\n If you are an international candidate with no Emirates ID, please \r\n <a href=\"https://endorsementform.adcreativevisa.gov.ae/\" target=\"_blank\">click here to apply</a> and view the current DCT terms and conditions.\r\n </p>\r\n</div>\r\n`,\r\n labelAR: `<div dir=\"rtl\" lang=\"ar\">\r\n <p>\r\n تدعم دائرة الثقافة والسياحة – أبوظبي المحترفين الموهوبين وذوي الخبرة المتخصصين في الفئات التالية: \r\n الفنون البصرية، النشر، الفنون الأدائية، التصميم والحرف اليدوية، التراث، الألعاب والرياضات الإلكترونية أو الإعلام.\r\n </p>\r\n <p>\r\n إذا كان لديك بطاقة هوية إماراتية، يرجى \r\n <a href=\"https://www.tamm.abudhabi/en/life-events/individual/Identity-Citizenship-Human-Resources/Residency-Entry-Permit/RequestforGoldenVisaNomination\" target=\"_blank\">النقر هنا للتقديم</a>.\r\n </p>\r\n <p>\r\n إذا كنت مرشحاً دولياً بدون بطاقة هوية إماراتية، يرجى \r\n <a href=\"https://endorsementform.adcreativevisa.gov.ae/\" target=\"_blank\">النقر هنا للتقديم</a> ومراجعة الشروط والأحكام الخاصة بدائرة الثقافة والسياحة.\r\n </p>\r\n</div>\r\n`,\r\n },\r\n instructionContentText: {\r\n labelEN: `The Department of Culture and Tourism – Abu Dhabi endorses talented, experienced professionals that specialize in the following categories: <strong> Visual Arts, Publishing, Performing Arts, Design & Crafts, Heritage, Gaming & e-Sports or Media</strong>.</b>\r\n <br><br>\r\n <p>\r\n If you currently have an Emirates ID, please \r\n <a href=\"https://www.tamm.abudhabi/en/life-events/individual/Identity-Citizenship-Human-Resources/Residency-Entry-Permit/RequestforGoldenVisaNomination\" target=\"_blank\">click here to apply</a>.\r\n </p>\r\n <br><br>\r\n If you are an international candidate with no Emirates ID, Please read the <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_EN_Golden} target=\"_default\" rel=\"no-referrer\" >Endorsement Rules</a> </strong>before completing the endorsement application.\r\n <br>\r\n <br>\r\n <b>Start your endorsement application by clicking \"proceed\".</b>\r\n `,\r\n labelAR: `تعتمد دائرة الثقافة والسياحة – أبوظبي الموهوبين, المحترفين ذوي الخبرة المتخصصين في الفئات التالية:<strong> الفنون المرئية، النشر، الفنون المسرحية، التصميم والحرف اليدوية، التراث، الألعاب والرياضات الإلكترونية أو الإعلام</strong>. \r\n <br><br>\r\n <p>\r\n إذا كان لديك بطاقة هوية إماراتية، يرجى \r\n <a href=\"https://www.tamm.abudhabi/en/life-events/individual/Identity-Citizenship-Human-Resources/Residency-Entry-Permit/RequestforGoldenVisaNomination\" target=\"_blank\">النقر هنا للتقديم</a>.\r\n </p>\r\n <br><br>\r\n إذا كنت مرشحاً دولياً بدون بطاقة هوية إماراتية، يرجى قراءة \r\n \r\n <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_AR_Golden} target=\"_default\" rel=\"no-referrer\" >قواعد الإعتماد</a></strong> قبل استكمال طلب الإعتماد. \r\n \r\n <br>\r\n <br>\r\n <b>باشر بتقديم طلب الإعتماد الخاص بك بالنقر على زر \"التقديم\"</b>\r\n `,\r\n },\r\n declarationContentText: {\r\n labelEN: `I declare and agree that:\r\n <ol type=\"I\">\r\n <li>I have read, understood and agree to comply with the <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_EN_Golden} target=\"_default\" rel=\"no-referrer\" >Endorsement Rules</a></strong>;</li>\r\n <li>All information submitted (including attachments) as part of this application form and any other documentation submitted is complete and accurate to the best of my knowledge and belief; </li>\r\n <li>All information submitted (including any attachments) may be disclosed to parties who will be involved in the processing of this application form and may also be disclosed by the Department of Culture and Tourism - Abu Dhabi to a third party as required;\r\n </li>\r\n <li>\r\n To the best of my knowledge and belief there is nothing in relation to my conduct, character or personal background of any nature that would adversely affect my application or may be damaging to the reputation of the Department of Culture and Tourism - Abu Dhabi, Abu Dhabi or the UAE;\r\n </li>\r\n <li>The Department of Culture and Tourism - Abu Dhabi is authorized to display my name, contact details and visa categories on its or its subsidiaries’ websites and/or portals;</li>\r\n <li>I will pay in full all required fees and payments, including the sponsorship fees and health insurance fee (where relevant), prior to the issue of my Visa; </li>\r\n <li>The Department of Culture and Tourism - Abu Dhabi or any of its representatives may contact me regarding this application or any other related matter; and</li>\r\n <li>\r\n The Department of Culture and Tourism – Abu Dhabi can contact me with information related to creative and cultural news and events.\r\n </li>\r\n </ol>\r\n `,\r\n labelAR: `أصرّح وأُقرّ بما يلي:\r\n <ol type=\"I\">\r\n <li>\r\n أنني قرأت واستوعبت وأوافق على الامتثال <strong><a href=${process.env.REACT_APP_LINK_EndorsementRules_AR_Golden} target=\"_default\" rel=\"no-referrer\" >لقواعد الإعتماد</a></strong>؛\r\n </li>\r\n <li>\r\n كافة المعلومات المقدمة كجزء من هذه الاستمارة (بما في ذلك المرفقات) وأي وثائق أخرى مقدمة كاملة, صحيحة ودقيقة حسب معرفتي واعتقادي؛ \r\n </li>\r\n <li>\r\n يجــوز الإفصاح عن كافــة المعلومات المقدّمة (بما في ذلك أي مرفقات) إلى الجهات المسؤولة عن معالجة هذه الاستمارة، ويمكن لدائرة الثقافة والسياحة - أبوظبي الإفصاح عنها لأي طرف آخر حسبما هو ضروري؛\r\n </li>\r\n <li>\r\n حسب معرفتي واعتقادي لا يوجد أي شيء فيما يتعلق بسلوكي أو شخصيتي أو خلفيتي الشخصية من أي نوع من شأنه قد يؤثر سلبًا على طلبي أو قد يضر بسمعة دائرة الثقافة والسياحة - أبوظبي ، أبو ظبي أو الإمارات العربية المتحدة؛\r\n </li>\r\n <li>\r\n إن دائرة الثقافة والسياحة - أبوظبي مخولة بعرض اسمي وتفاصيل الاتصال الخاصة بي وفئة التصريح الخاصة بي على مواقع و / أو صفحات الدائرة أو الشركات التابعة لها؛\r\n </li>\r\n <li>\r\n أنني سأقوم بدفع الرسوم والدفعات المطلوبة بالكامل وتشمل رسوم الكفالة والتأمين الصحي (إن انطبق ذلك)، وذلك قبل إصدار الإقامة الخاص بي؛ \r\n </li>\r\n <li>\r\n \tيمكن لدائرة الثقافة والسياحة - أبوظبي أو أي من ممثليها التواصل معي بخصوص هذه الاستمارة أو أي من الموضوعات ذات الصلة؛ و\r\n </li>\r\n <li>\r\n يمكن لدائرة الثقافة والسياحة - أبوظبي التواصل معي بخصوص أخبار وفعاليات إبداعية وثقافية.\r\n </li>\r\n </ol>\r\n `,\r\n },\r\n firstName: {\r\n labelEN: \"First Name\",\r\n labelAR: \"الاسم الأول\",\r\n },\r\n middleName: {\r\n labelEN: \"Middle Name(s)\",\r\n labelAR: \"اسم الأب\",\r\n },\r\n surName: {\r\n labelEN: \"Surname\",\r\n labelAR: \"القبيلة\",\r\n },\r\n email: {\r\n labelEN: \"Email\",\r\n labelAR: \"البريد الألكتروني\",\r\n },\r\n genderId: {\r\n labelEN: \"Gender\",\r\n labelAR: \"الجنس\",\r\n },\r\n personalInformation: {\r\n labelEN: \"Personal Information\",\r\n labelAR: \"المعلومات الشخصية\",\r\n },\r\n nationalityAndPassport: {\r\n labelEN: \"Nationality and Passport\",\r\n labelAR: \"الجنسية وجواز السفر\",\r\n },\r\n dateOfBirth: {\r\n labelEN: \"Date of Birth (MM/DD/YYYY)\",\r\n labelAR: \"تاريخ الميلاد (MM/DD/YYYY)\",\r\n },\r\n birthCountryId: {\r\n labelEN: \"Country of Birth\",\r\n labelAR: \"بلد الميلاد\",\r\n },\r\n birthCity: {\r\n labelEN: \"Place of Birth (City)\",\r\n labelAR: \"مكان الميلاد (المدينة)\",\r\n },\r\n previousNationalityId: {\r\n labelEN: \"Previous Nationality (where applicable)\",\r\n labelAR: \"الجنسية السابقة (إن وجدت)\",\r\n },\r\n nationalityId: {\r\n labelEN: \"Current Nationality\",\r\n labelAR: \"الجنسية الحالية\",\r\n },\r\n passportTypeId: {\r\n labelEN: \"Passport Type\",\r\n labelAR: \"نوع جواز السفر\",\r\n },\r\n passportIssueCountryId: {\r\n labelEN: \"Country of Issue\",\r\n labelAR: \"بلد الإصدار\",\r\n },\r\n passportNumber: {\r\n labelEN: \"Passport Number\",\r\n labelAR: \"رقم جواز السفر\",\r\n },\r\n passportIssueCity: {\r\n labelEN: \"Passport Issue Place\",\r\n labelAR: \"مكان إصدار جواز السفر\",\r\n },\r\n passportIssueDate: {\r\n labelEN: \"Passport Issue Date (MM/DD/YYYY)\",\r\n labelAR: \"تاريخ إصدار جواز السفر (MM/DD/YYYY)\",\r\n },\r\n passportExpiryDate: {\r\n labelEN: \"Passport Expiry date (MM/DD/YYYY)\",\r\n labelAR: \"تاريخ إنتهاء جواز السفر (MM/DD/YYYY)\",\r\n },\r\n occupation: {\r\n labelEN: \"Occupation\",\r\n labelAR: \"المهنة\",\r\n },\r\n qualificationId: {\r\n labelEN: \"Qualification\",\r\n labelAR: \"المؤهلات\",\r\n },\r\n qualificationCountryId: {\r\n labelEN: \"Qualification Country\",\r\n labelAR: \"بلد صدور المؤهلات\",\r\n },\r\n educationLevelDetails: {\r\n labelEN: \"Education Level Details\",\r\n labelAR: \"المستوى التعليمي\",\r\n },\r\n maritalStatusId: {\r\n labelEN: \"Marital Status\",\r\n labelAR: \"الحالة الاجتماعية\",\r\n },\r\n motherName: {\r\n labelEN: \"Mother`s Name\",\r\n labelAR: \"اسم الأم\",\r\n },\r\n religionId: {\r\n labelEN: \"Religion\",\r\n labelAR: \"الدين\",\r\n },\r\n faithId: {\r\n labelEN: \"Faith\",\r\n labelAR: \"المذهب\",\r\n },\r\n uaeUnifiedNo: {\r\n labelEN: \"UAE Unified No (on Visa)(where applicable)\",\r\n labelAR: \"الرقم الموحد الإماراتي (على التأشيرة) (إن وجد)\",\r\n },\r\n uaeIdentityNumber: {\r\n labelEN: \"Emirates ID Number (where applicable)\",\r\n labelAR: \"رقم بطاقة الهوية الإماراتية (إن وجد)\",\r\n },\r\n hasUaeVisa: {\r\n labelEN: \"Do you have an existing UAE visa?\",\r\n labelAR: \"هل لديك تأشيرة إماراتية حالياً؟\",\r\n },\r\n sponsorName: {\r\n labelEN: \"If YES, please name sponsor:\",\r\n labelAR: \"إذا كانت الإجابة نعم، يرجى ذكر اسم الكفيل:\",\r\n },\r\n visaType: {\r\n labelEN: \"What type of visa is it?\",\r\n labelAR: \"ما هو نوع التأشيرة؟\",\r\n },\r\n visaExpiringDate: {\r\n labelEN: \"Date that your existing UAE visa is expiring? (MM/DD/YYYY)\",\r\n labelAR: \"تاريخ انتهاء التأشيرة الحالية؟ (MM/DD/YYYY)\",\r\n },\r\n hasLegalIssue: {\r\n labelEN:\r\n \"Have you ever been convicted of a criminal offence for which you have been prosecuted in the UAE or elsewhere?\",\r\n labelAR:\r\n \"هل سبق إدانتك بجريمة جنائية تمت مقاضاتك بسببها في الإمارات أو في أي مكان آخر؟\",\r\n },\r\n legalIssueDetails: {\r\n labelEN: \"If YES, please provide details:\",\r\n labelAR: \"إذا كانت الإجابة نعم، يرجى كتابة التفاصيل\",\r\n },\r\n havedependantsSponsor: {\r\n labelEN: \"Do you have any dependants that you would like to sponsor?\",\r\n labelAR: \"هل لديك أي معالين ترغب في كفالتهم؟\",\r\n },\r\n visaInformation: {\r\n labelEN: \"Visa Information\",\r\n labelAR: \"معلومات التأشيرة\",\r\n },\r\n occupationAndQualification: {\r\n labelEN: \"Occupation and Qualification\",\r\n labelAR: \"المهنة والمؤهلات\",\r\n },\r\n yes: {\r\n labelEN: \"Yes\",\r\n labelAR: \"نعم\",\r\n },\r\n no: {\r\n labelEN: \"No\",\r\n labelAR: \"لا\",\r\n },\r\n permanentContactInformation: {\r\n labelEN: \"Permanent Contact Information in Home Country / Outside UAE\",\r\n labelAR:\r\n \"معلومات الاتصال الدائمة في البلد الأم / خارج دولة الإمارات العربية المتحدة\",\r\n },\r\n homeCountryBuilding: {\r\n labelEN:\r\n \"Home Country Residential Address: Apartment / Villa No, Building / Complex / Hotel\",\r\n labelAR:\r\n \"عنوان الإقامة في البلد الأم: الشقة / رقم الفيلا , البناية / المجمع / الفندق\",\r\n },\r\n homeCountryStreet: {\r\n labelEN: \"Home Country Residential Address: Street\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الشارع\",\r\n },\r\n homeCountryCity: {\r\n labelEN: \"Home Country Residential Address: City\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: المدينة\",\r\n },\r\n homeCountryState: {\r\n labelEN: \"Home Country Residential Address: State\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الولاية\",\r\n },\r\n homeCountryId: {\r\n labelEN: \"Home Country Residential Address: Country\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الدولة\",\r\n },\r\n homeCountryZipCode: {\r\n labelEN: \"Home Country Residential Address: Zipcode\",\r\n labelAR: \"عنوان الإقامة في البلد الأم: الرمز البريدي\",\r\n },\r\n homeCountryMobile: {\r\n labelEN: \"Home Country Mobile number\",\r\n labelAR: \"رقم الهاتف المحمول في البلد الأم\",\r\n },\r\n homeCountryOtherContact: {\r\n labelEN: \"Home Country Other Contact number\",\r\n labelAR: \"رقم تواصل آخر في البلد الأم\",\r\n },\r\n contactInformation: {\r\n labelEN: \"Contact Information Inside UAE\",\r\n labelAR: \"معلومات الاتصال داخل الإمارات\",\r\n },\r\n uaeBuilding: {\r\n labelEN:\r\n \"UAE Residential Address: Apartment / Villa No, Building / Complex / Hotel\",\r\n labelAR:\r\n \"عنوان الإقامة في الإمارات : الشقة / رقم الفيلا , البناية / المجمع / الفندق\",\r\n },\r\n uaeStreet: {\r\n labelEN: \"UAE Residential Address: Street\",\r\n labelAR: \"عنوان الإقامة في الإمارات: الشارع\",\r\n },\r\n uaeCity: {\r\n labelEN: \"UAE Residential Address: City\",\r\n labelAR: \"عنوان الإقامة في الإمارات: المدينة\",\r\n },\r\n uaeEmirateId: {\r\n labelEN: \"UAE Residential Address: Emirate\",\r\n labelAR: \"عنوان الإقامة في الإمارات: الإمارة\",\r\n },\r\n uaePoBox: {\r\n labelEN: \"UAE Residential Address: PO Box\",\r\n labelAR: \"عنوان الإقامة في الإمارات: صندوق البريد\",\r\n },\r\n uaeResidencePhoneNumber: {\r\n labelEN: \"UAE Residence Phone Number\",\r\n labelAR: \"رقم الهاتف الأرضي في الإمارات\",\r\n },\r\n uaeOtherContact: {\r\n labelEN: \"UAE Office Phone Number\",\r\n labelAR: \"رقم هاتف المكتب في الإمارات\",\r\n },\r\n uaeMobile: {\r\n labelEN: \"UAE Mobile number\",\r\n labelAR: \"رقم الهاتف المحمول في الإمارات\",\r\n },\r\n creativeVisaText: {\r\n labelEN: \"Endorsement for Creatives\",\r\n labelAR: \"الإعتماد للمبدعين\",\r\n },\r\n creativeVisaCategories: {\r\n labelEN: \"CATEGORIES\",\r\n labelAR: \"فئة التأشيرة\",\r\n },\r\n applicantTypeId: {\r\n labelEN: \"Applicant Type\",\r\n labelAR: \"نوع التقديم\",\r\n },\r\n visaCategoryId: {\r\n labelEN: \"Which category are you applying for?\",\r\n labelAR: \"ماهي الفئة التي تقدم لها؟\",\r\n },\r\n visaActivityId: {\r\n labelEN: \"Which sub-category are you applying for?\",\r\n labelAR: \"ما هي الفئة الفرعية التي تقدم لها؟\",\r\n },\r\n supportingDocuments: {\r\n labelEN: \"SUPPORTING DOCUMENTS\",\r\n labelAR: \"المستندات الداعمة\",\r\n },\r\n supportingDocumentsDisclaimer: {\r\n labelEN: `Please refer to the <a href=${process.env.REACT_APP_LINK_EndorsementRules_EN_Golden} target=\"_default\" rel=\"no-referrer\" >Endorsement Rules</a> for a list of the required supporting documentation. <br/>If you wish to include links to online articles or IMDb profiles etc., please paste the link into a Word document and upload the document as a \"Supporting Document\".`,\r\n labelAR: `يرجى مراجعة <a href=${process.env.REACT_APP_LINK_EndorsementRules_AR_Golden} target=\"_default\" rel=\"no-referrer\" >قواعد الاعتماد</a> للاطلاع على المستندات المطلوبة. <br/> إذا كنت ترغب في تضمين روابط لمقالات عبر الإنترنت أو ملفات تعريف IMDB أوإلخ… فيرجى إرفاق الرابط في برنامج Word وقم بتحميل المستند كـ \"مستند داعم\".`,\r\n },\r\n PersonalInformationDisclaimer: {\r\n labelEN: `* mandatory field`,\r\n labelAR: `*حقل الزامي`,\r\n },\r\n attachment_Passport: {\r\n labelEN: \"Upload Passport\",\r\n labelAR: \"تحميل جواز\",\r\n },\r\n attachment_Colour_photo: {\r\n labelEN: \"Upload Colour Photo (white background)\",\r\n labelAR: \"تحميل صورة ملونة (خلفية بيضاء)\",\r\n },\r\n attachment_Dependant_passport: {\r\n labelEN: \"Dependant Passport\",\r\n labelAR: \"جواز السفر المعال\",\r\n },\r\n attachment_Health_Insurance: {\r\n labelEN: \"Health Insurance\",\r\n labelAR: \"التأمين الصحي\",\r\n },\r\n attachment_Copy_UAE_HEALTH_INSURANCE: {\r\n labelEN:\r\n \"Upload Copy of valid UAE health insurance card (where applicable)\",\r\n labelAR: \"تحميل نسخة من بطاقة التأمين الصحي سارية المفعول (إن وجد)\",\r\n },\r\n acclaimedApplicants: {\r\n labelEN: \"Acclaimed Applicants\",\r\n labelAR: \"المقدمون البارزون\",\r\n },\r\n attachment_Upload_evidence: {\r\n labelEN: \"Upload evidence of acclaimed status\",\r\n labelAR: \"تحميل دليل يثبت الفئة \",\r\n },\r\n attachment_Additional_Supporting_Docs: {\r\n labelEN: \"Upload Additional Supporting Documents\",\r\n labelAR: \"تحميل ملفات داعمة اضافية \",\r\n },\r\n attachment_Supporting_doc1: {\r\n labelEN: \"Upload Supporting Document 1\",\r\n labelAR: \"تحميل الملفات الداعمة 1 \",\r\n },\r\n attachment_Supporting_doc2: {\r\n labelEN: \"Upload Supporting Document 2\",\r\n labelAR: \"تحميل الملفات الداعمة 2 \",\r\n },\r\n attachment_Supporting_doc3: {\r\n labelEN: \"Upload Supporting Document 3\",\r\n labelAR: \"تحميل الملفات الداعمة 3 \",\r\n },\r\n attachment_EvidenceWorkAUH:{\r\n labelEN: \"Evidence of previous/upcoming work in Abu Dhabi\",\r\n labelAR: \"تحميل دليل على الأعمال السابقة أو المستقبلية في ابوظبي\",\r\n },\r\n attachment_Uae_Visa: {\r\n labelEN: \"Upload UAE Visa (where applicable)\",\r\n labelAR: \"تحميل تأشيرة إقامة إماراتية (إن وجد)\",\r\n },\r\n attachment_EmiratesId: {\r\n labelEN: \"Upload Emirates ID (where applicable)\",\r\n labelAR: \"تحميل بطاقة الهوية الإماراتية (إن وجد) \",\r\n },\r\n talentedApplicants: {\r\n labelEN: \"Talented Applicants\",\r\n labelAR: \"المتقدمون الموهوبون\",\r\n },\r\n attachment_Letter_of_Intent: {\r\n labelEN: \"Letter of Intent\",\r\n labelAR: \"خطاب رسمي\",\r\n },\r\n attachment_Portfolio_of_Work: {\r\n labelEN: \"Portfolio of Work / Curriculum Vitae\",\r\n labelAR: \"ملف أعمالك / السيرة الذاتية\",\r\n },\r\n attachment_Reference_Letter: {\r\n labelEN: \"Reference Letter\",\r\n labelAR: \"رسالة مرجعية \",\r\n },\r\n attachment_Evidence_of_degree: {\r\n labelEN:\r\n \"Evidence of degree / qualification from recognized institute within the field\",\r\n labelAR: \"مؤهل من معهد معتمد في المجال\",\r\n },\r\n attachment_Other_relevant_documents: {\r\n labelEN: \"Other relevant documents /links (discretion of applicant)\",\r\n labelAR: \"المستندات الأخرى ذات الصلة (بحسب مقدم الطلب)\",\r\n },\r\n declarationText: {\r\n labelEN: \"DECLARATION\",\r\n labelAR: \"إقرار\",\r\n },\r\n name: {\r\n labelEN: \"Name\",\r\n labelAR: \"الاسم\",\r\n },\r\n sign_date_form: {\r\n labelEN: \"Date (MM/DD/YYYY)\",\r\n labelAR: \"التاريخ (MM/DD/YYYY)\",\r\n },\r\n signature: {\r\n labelEN: \"Signature\",\r\n labelAR: \"التوقيع\",\r\n },\r\n privacyPolicyCheckboxLinkText: {\r\n labelEN: `I have read and accept the terms of the Department of Culture and Tourism - Abu Dhabi's <strong><a href=${process.env.REACT_APP_LINK_PRIVACY_POLICY_EN_Golden} target=\"_default\" rel=\"no-referrer\" > privacy policy</a></strong>.`,\r\n labelAR: `لقد قرأت وقبلت شروط <strong><a href=${process.env.REACT_APP_LINK_PRIVACY_POLICY_AR_Golden} target=\"_default\" rel=\"no-referrer\" >سياسة الخصوصية</a></strong> لدائرة الثقافة والسياحة - أبوظبي `,\r\n },\r\n terms: {\r\n labelEN:\r\n \"By registering my information, I agree to be contacted by the Department of Culture and Tourism – Abu Dhabi and/or its third party representatives.\",\r\n labelAR:\r\n \"من خلال تسجيل معلوماتي، أوافق على أن يتم الاتصال بي من قبل دائرة الثقافة والسياحة - أبوظبي و/أو ممثلي الطرف الثالث.\",\r\n },\r\n submitText: {\r\n labelEN: \"Submit\",\r\n labelAR: \"إرسال\",\r\n },\r\n requiredFieldText: {\r\n labelEN: \"This field is required\",\r\n labelAR: \"هذا الحقل مطلوب\",\r\n },\r\n successMessage: {\r\n labelEN:\r\n \"Your request is submitted sucessfully. Your referrence number is: \",\r\n labelAR:\r\n \"شكرًا على تقديم طلب الإعتماد الخاص بك. سنتواصل معك قريبًا. رقمك المرجعي هو\",\r\n },\r\n apiErrorMessage: {\r\n labelEN: \"Something went wrong. Please check your files size and try to reduce it or send a file which contains a link for shared files\",\r\n labelAR: \"حدث خطأ.يرجى التحقق من حجم ملفاتك ومحاولة تقليلها، أو إرسال ملف يحتوي على رابط للملفات المشتركة.\",\r\n },\r\n dateErrorMessage: {\r\n labelEN: \"Specified date isn't valid please enter a valid date\",\r\n labelAR: \"التاريخ غير صحيح, من فضلك أدخل تاريخ صحيح\",\r\n },\r\n xssErrorMessage: {\r\n labelEN: \"one or more fields is containing malicious script\",\r\n labelAR: \"يحتوي حقل واحد أو أكثر على نصوص برمجية ضارة\",\r\n },\r\n proceedText: {\r\n labelEN: \"Proceed\",\r\n labelAR: \"تقديم\",\r\n },\r\n contactInfoText: {\r\n labelEN: `<table class=\"address_tbl\">\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\">PO Box 94000, Abu Dhabi UAE</td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">Tel:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0444</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">Fax:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0400</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">E-mail:</td>\r\n <td class=\"mob_t_sty_rgt\"><a href=\"mailto:info@dctabudhabi.ae\">info@dctabudhabi.ae</a></td>\r\n </tr>\r\n </tbody>\r\n </table>`,\r\n labelAR: `<table class=\"address_tbl\">\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\">صندوق بريد 94000, أبوظبي الإمارات العربية المتحدة</td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">هاتف:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0444</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">فاكس:</td>\r\n <td class=\"mob_t_sty_rgt\"><span>+971 2 444 0400</span></td>\r\n </tr>\r\n <tr>\r\n <td class=\"mob_t_sty_lft\">البريد الإلكتروني:</td>\r\n <td class=\"mob_t_sty_rgt\"><a href=\"mailto:info@dctabudhabi.ae\">info@dctabudhabi.ae</a></td>\r\n </tr>\r\n </tbody>\r\n</table>`,\r\n },\r\n contactAddrerssText: {\r\n labelEN: `<span>For any technical issues & support please contact us using below details<br>\r\n Phone No: +97125995106 <br>\r\n Email Address: <a href=\"mailto:esupport@dctabudhabi.ae\">esupport@dctabudhabi.ae</a>\r\n </span>`,\r\n labelAR: `<span>لأية مشاكل تقنية ودعم يرجى الاتصال بنا باستخدام التفاصيل أدناه<br>\r\n رقم الهاتف: +97125995106 <br>\r\n عنوان البريد الإلكتروني: <a href=\"mailto:esupport@dctabudhabi.ae\">esupport@dctabudhabi.ae</a>\r\n </span>`,\r\n },\r\n followUsText: {\r\n labelEN: \"Follow us\",\r\n labelAR: \"تابعنا\",\r\n },\r\n contactText: {\r\n labelEN: \"Contact\",\r\n labelAR: \"الاتصال\",\r\n },\r\n officesText: {\r\n labelEN: \"International Offices\",\r\n labelAR: \"المكاتب الدولية\",\r\n },\r\n privacyPolicyText: {\r\n labelEN: \"Privacy Policy\",\r\n labelAR: \"سياسة الخصوصية\",\r\n },\r\n quickLinksText: {\r\n labelEN: \"Quick Links\",\r\n labelAR: \"روابط سريعة\",\r\n },\r\n golden: {\r\n labelEN: \"Golden\",\r\n labelAR: \"الذهبية\",\r\n },\r\n\r\n creative: {\r\n labelEN: \"Creative\",\r\n labelAR: \"الإبداعية\",\r\n },\r\n termsAndConditionText: {\r\n labelEN: \"Terms & Conditions\",\r\n labelAR: \"الشروط والأحكام\",\r\n },\r\n copyRightText: {\r\n labelEN:\r\n \"Copyright © 2021 Department of Culture and Tourism, all rights reserved.\",\r\n labelAR: \"حقوق الطبع © 2021 وزارة الثقافة والسياحة، وجميع الحقوق محفوظة.\",\r\n },\r\n homePageText: {\r\n labelEN:\r\n \"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\",\r\n labelAR:\r\n \"Lorem Ipsum هو ببساطة نص وهمية من صناعة الطباعة و typesetting.كان لوريم إيبسوم النص الوهمي القياسي في الصناعة منذ القرن التاسع عشر ، عندما أخذت طابعة غير معروفة مطبخًا من النوع وتدافعت عليه لصنع كتاب عينة من النوع.وقد نجا ليس فقط خمسة قرون ، ولكن أيضا قفزة في التنضيد الإلكتروني ، وتبقى دون تغيير أساسا.وقد شاع في 1960s مع الافراج عن أوراق Letraset التي تحتوي على مقاطع لوتريم Ipsum ، ومؤخرا مع برامج النشر المكتبي مثل Aldus PageMaker بما في ذلك إصدارات من لوريم إبسوم.\",\r\n },\r\n instructionNewContentText: {\r\n labelEN: `\r\n The Department of Culture and Tourism Abu Dhabi endorses talented, experienced professionals across diverse creative fields, including: \r\n <ul>\r\n <li>Visual Arts</li>\r\n <li>Publishing</li>\r\n <li>Performing Arts</li>\r\n <li>Design & Crafts</li>\r\n <li>Heritage</li>\r\n <li>Gaming & E-Sports</li>\r\n <li>Media</li>\r\n </ul>\r\n \r\n <strong>Get Started:</strong> <br/>\r\n <strong>1. For UAE Residents (with Emirates ID)</strong> <br/>\r\n If you hold a valid Emirates ID, you can continue the process via the designated platform. \r\n <br>\r\n<strong><a class=\"responsive-button\" \r\n href=${process.env.REACT_APP_TAMM_REDIERCT} target=\"_blank\" rel=\"noopener noreferrer\">\r\n Apply Using Emirates ID\r\n</a></strong>\r\n <br><hr style=\"border:0.5px solid #D0D0D0; margin:20px 0px 20px 0px\">\r\n <strong>2. For International Applicants (without Emirates ID)</strong> <br/>\r\n If you do not have an Emirates ID, you can start your application here.<br/>\r\n \r\n `,\r\n labelAR: `\r\n تعتمد دائرة الثقافة والسياحة – أبوظبي الموهوبين والمحترفين ذوي الخبرة في مجالات إبداعية متنوعة، بما في ذلك: \r\n <ul>\r\n <li>الفنون المرئية</li>\r\n <li>النشر</li>\r\n <li>الفنون المسرحية</li>\r\n <li>التصميم والحرف اليدوية</li>\r\n <li>التراث</li>\r\n <li>الألعاب والرياضات الإلكترونية</li>\r\n <li>الإعلام</li>\r\n </ul>\r\n \r\n <strong>البدء:</strong> <br/>\r\n <strong>1. المقيمون في الإمارات (بهوية إماراتية)</strong> <br/>\r\n إذا كنت تحمل هوية إماراتية سارية، يمكنك متابعة العملية عبر المنصة المخصصة. \r\n <br>\r\n <strong><a class=\"responsive-button\" \r\n href=${process.env.REACT_APP_TAMM_REDIERCT} target=\"_blank\" rel=\"noopener noreferrer\">التقديم باستخدام الهوية الإماراتية</a></strong>\r\n <br><hr style=\"border:0.5px solid #D0D0D0; margin:20px 0px 20px 0px\">\r\n <strong>2. المتقدمون الدوليون (بدون هوية إماراتية)</strong> <br/>\r\n إذا لم يكن لديك هوية إماراتية، يمكنك بدء تقديم طلبك هنا.<br/>\r\n \r\n `,\r\n },\r\n \r\n\r\n copyRightNewText: {\r\n labelEN: \"Privacy Policy | Terms and Condition\",\r\n labelAR: \"سياسة الخصوصية | الشروط والأحكام\",\r\n },\r\n proceedYourApplication: {\r\n labelEN: \"Start Your Application\",\r\n labelAR: \"انتقل إلى التطبيق\",\r\n},\r\ncreativeVisaSubText: {\r\n labelEN: \"Empowering Creatives to Build a Future in the UAE\",\r\n labelAR:\r\n \"تمكين المبدعين لبناء مستقبل أفضل في دولة الإمارات العربية المتحدة \",\r\n},\r\n};\r\n\r\nexport const getLanguageValues = (lang, fieldName) => {\r\n const selector = lang === \"ar\" ? \"labelAR\" : \"labelEN\";\r\n return multiLinguaValues[fieldName][selector];\r\n};\r\n","const formFieldTypes = {\r\n SINGLELINETEXT: \"textbox\",\r\n EMAIL: \"email\",\r\n PHONE: \"number\",\r\n INPUTFILE: \"file\",\r\n DROPDOWN: \"dropdown\",\r\n DATE: \"date\",\r\n CHECKBOX: \"checkbox\",\r\n RADIO: \"radio\",\r\n CAPTCHA: \"captcha\",\r\n SUBMIT: \"submit\",\r\n READONLY: \"readonly\",\r\n};\r\n\r\nexport default formFieldTypes;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const CreativeVisaFormContainer = styled.div`\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n padding: ${pxToRem(64)} ${pxToRem(88)};\r\n background: ${props => props.theme.palette.lightYellow};\r\n }\r\n`;\r\n\r\nexport const CreativeVisaFormStyle = styled.form`\r\n ${desktopMedia} {\r\n background-color: ${props => props.theme.mixins.White()};\r\n padding: ${pxToRem(48)};\r\n width: 60%;\r\n }\r\n`;\r\nexport const ErrorMessageAPIStyle = styled.form`\r\n margin-top: ${pxToRem(20)};\r\n`;\r\n\r\nexport const SuccessMessageStyle = styled.div`\r\n display: flex;\r\n align-items: center;\r\n min-height: ${pxToRem(100)};\r\n`;\r\n\r\nexport const FieldStyle = styled.div`\r\n ${desktopMedia} {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n fieldset {\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0.5rem;\r\n justify-content: flex-end;\r\n ${desktopMedia} {\r\n width: calc(50% - 16px);\r\n }\r\n }\r\n`;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport Loading from \"react-fullscreen-loading\";\r\n\r\nimport InputFile from \"../../atoms/Forms/InputFile\";\r\nimport InputField from \"../../atoms/Forms/TextBox\";\r\nimport SelectBox from \"../../atoms/Forms/SelectBox\";\r\nimport Radio from \"../../atoms/Forms/Radio\";\r\nimport CheckBox from \"../../atoms/Forms/CheckBox\";\r\nimport DatePicker from \"../../atoms/Forms/Date\";\r\nimport Button from \"../../atoms/Forms/Button\";\r\nimport { formData } from \"./formData\";\r\nimport formFieldTypes from \"./constants\";\r\nimport ReadOnlyField from \"../../atoms/ReadOnlyField\";\r\nimport {\r\n CreativeVisaFormContainer,\r\n CreativeVisaFormStyle,\r\n ErrorMessageAPIStyle,\r\n FieldStyle,\r\n SuccessMessageStyle,\r\n} from \"./style\";\r\nimport axios from \"axios\";\r\nimport { postApplicantDetails } from \"../../../Utils/services\";\r\nimport ErrorMessage from \"../../atoms/ErrorMessage\";\r\nimport { getLanguageValues } from \"../../../Utils/GoldenMultiLingualValues\";\r\nimport { pushAnaylyticsData } from \"../../../Utils/helperFunctions\";\r\n\r\nconst CreativeVisaForm = (props) => {\r\n const [uploadedFiles, setUploadedFiles] = useState({});\r\n const [recaptchachecked, setRecaptchachecked] = React.useState(false);\r\n const [formSubmitStatus, setFormSubmitStatus] = React.useState(false);\r\n const [showRecaptchaError, setShowRecaptchaError] = React.useState(false);\r\n const [showLoader, setShowLoader] = useState(false);\r\n const [apiError, setApiError] = useState(false);\r\n const [dateError, setdateError] = useState(false);\r\n const [xssError, setxssError] = useState(false);\r\n\r\n const { register, handleSubmit, watch, control, errors, setValue } =\r\n useForm();\r\n const { dropdownData, lang } = props;\r\n const {\r\n SINGLELINETEXT,\r\n EMAIL,\r\n PHONE,\r\n INPUTFILE,\r\n DROPDOWN,\r\n DATE,\r\n CHECKBOX,\r\n RADIO,\r\n CAPTCHA,\r\n SUBMIT,\r\n READONLY,\r\n } = formFieldTypes;\r\n\r\n const applicantTypeValue = watch(\"applicantTypeId\");\r\n const uaeVisaValue = watch(\"hasUaeVisa\");\r\n const legalIssueValue = watch(\"hasLegalIssue\");\r\n const qualificationValue = watch(\"qualificationId\");\r\n const religionVlaue = watch(\"religionId\");\r\n const visaCategoryValue = watch(\"visaCategoryId\");\r\n const religionValue = watch(\"religionId\");\r\n const dependentSpoonsorValue = watch(\"havedependantsSponsor\");\r\n const existingVisaTypeValue = watch(\"ExistingVisaTypeId\");\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n setValue(\"sign_date_form\", new Date());\r\n }, []);\r\n\r\n const validateDate = (dateString) => {\r\n // First check for the pattern\r\n if (!/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/.test(dateString)) return false;\r\n\r\n // Parse the date parts to integers\r\n var parts = dateString.split(\"/\");\r\n var day = parseInt(parts[1], 10);\r\n var month = parseInt(parts[0], 10);\r\n var year = parseInt(parts[2], 10);\r\n\r\n // Check the ranges of month and year\r\n if (year < 1000 || year > 3000 || month == 0 || month > 12) return false;\r\n\r\n var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n\r\n // Adjust for leap years\r\n if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))\r\n monthLength[1] = 29;\r\n\r\n // Check the range of the day\r\n return day > 0 && day <= monthLength[month - 1];\r\n };\r\n\r\n const ValidatexssExists = (obj) => {\r\n setxssError(false);\r\n let IsxssExists = false;\r\n Object.keys(obj).forEach(function (key, index) {\r\n // key: the name of the object key\r\n // index: the ordinal position of the key within the object\r\n if (\r\n obj[key] &&\r\n obj[key].toString() &&\r\n obj[key].toString().includes(\"<\")\r\n ) {\r\n setxssError(true);\r\n IsxssExists = true;\r\n }\r\n });\r\n return IsxssExists;\r\n };\r\n const onSubmit = (data) => {\r\n if (recaptchachecked) {\r\n const locale = \"en-US\";\r\n if (\r\n validateDate(data.dateOfBirth.toLocaleDateString(locale)) &&\r\n validateDate(data.passportExpiryDate.toLocaleDateString(locale)) &&\r\n validateDate(data.passportIssueDate.toLocaleDateString(locale)) &&\r\n validateDate(data.sign_date_form.toLocaleDateString(locale)) &&\r\n (!data.existingVisaExpiryDate ||\r\n validateDate(data.existingVisaExpiryDate.toLocaleDateString(locale)))\r\n ) {\r\n setdateError(false);\r\n } else {\r\n setdateError(true);\r\n return;\r\n }\r\n\r\n if (ValidatexssExists(data)) {\r\n return;\r\n }\r\n pushAnaylyticsData(\"clicked\", \"Submit Golden Visa\");\r\n setShowLoader(true);\r\n setShowRecaptchaError(false);\r\n\r\n const VisaTypes = getDropdownValues(\"visaTypes\");\r\n const CurrentVisaType = VisaTypes.filter((rows) => {\r\n return rows.label === getLanguageValues(lang, \"golden\"); //getLanguageValues(lang, \"golden\")\r\n });\r\n data.visaTypeId = CurrentVisaType[0].value;\r\n console.log({ ...data, ...uploadedFiles });\r\n const requestObject = { ...data, ...uploadedFiles };\r\n let fileFormData = new FormData();\r\n let applicantFormData = {};\r\n for (const key in requestObject) {\r\n if (\r\n key.includes(\"attachment\") &&\r\n requestObject[key] &&\r\n requestObject[key].length === 1 &&\r\n requestObject[key][0] &&\r\n requestObject[key][0].name\r\n ) {\r\n fileFormData.append(key, requestObject[key][0]);\r\n delete requestObject[key];\r\n } else if (\r\n key.includes(\"attachment\") &&\r\n requestObject[key] &&\r\n requestObject[key].length > 1 &&\r\n requestObject[key][0] &&\r\n requestObject[key][0].name\r\n ) {\r\n for (let index = 0; index < requestObject[key].length; index++) {\r\n const element = requestObject[key][index];\r\n fileFormData.append(index + key, element);\r\n }\r\n delete requestObject[key];\r\n }\r\n }\r\n applicantFormData = { ...applicantFormData, ...requestObject };\r\n let hoursDiff =\r\n applicantFormData.dateOfBirth.getHours() -\r\n applicantFormData.dateOfBirth.getTimezoneOffset() / 60;\r\n\r\n applicantFormData.dateOfBirth.setHours(hoursDiff);\r\n applicantFormData.passportExpiryDate.setHours(hoursDiff);\r\n applicantFormData.passportIssueDate.setHours(hoursDiff);\r\n if (applicantFormData.existingVisaExpiryDate)\r\n applicantFormData.existingVisaExpiryDate.setHours(hoursDiff);\r\n // applicantFormData.sign_date_form.setHours(hoursDiff);\r\n fileFormData.set(\"applicant\", JSON.stringify(applicantFormData));\r\n\r\n axios\r\n .post(postApplicantDetails, fileFormData, {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Ocp-Apim-Subscription-Key\": \"bb43772e423a4ad59e93513598bef5ea\",\r\n },\r\n })\r\n .then((data) => {\r\n setShowLoader(false);\r\n setApiError(false);\r\n if (data.status === 200 && data.data.referenceCode) {\r\n setFormSubmitStatus(data.data.referenceCode);\r\n }\r\n })\r\n .catch((err) => {\r\n setShowLoader(false);\r\n setApiError(true);\r\n });\r\n } else {\r\n setShowRecaptchaError(true);\r\n }\r\n };\r\n\r\n const getDropdownValues = (keyName) => {\r\n let listItems;\r\n if (keyName === \"visaActivities\") {\r\n if (visaCategoryValue) {\r\n const valuesExtracted = dropdownData[keyName].filter((data) => {\r\n return data.visaCategoryId === visaCategoryValue;\r\n });\r\n listItems = valuesExtracted.map((value) => {\r\n return {\r\n label: lang === \"ar\" ? value.nameAr : value.name,\r\n value: value.id,\r\n };\r\n });\r\n } else {\r\n return [];\r\n }\r\n } else if (keyName === \"faiths\") {\r\n if (religionValue) {\r\n const valuesExtracted = dropdownData[keyName].filter((data) => {\r\n return data.religionId === religionValue;\r\n });\r\n if (valuesExtracted && valuesExtracted.length) {\r\n listItems = valuesExtracted.map((value) => {\r\n return {\r\n label: lang === \"ar\" ? value.nameAr : value.name,\r\n value: value.id,\r\n };\r\n });\r\n } else {\r\n return [];\r\n }\r\n } else {\r\n return [];\r\n }\r\n } else {\r\n listItems = dropdownData[keyName].map((value) => {\r\n return {\r\n label: lang === \"ar\" ? value.nameAr : value.name,\r\n value: value.id,\r\n };\r\n });\r\n }\r\n\r\n return listItems;\r\n };\r\n\r\n const handleFileChange = (e) => {\r\n if (e.target && e.target.type === \"file\") {\r\n try {\r\n const allowedExtensions = [\"jpg\", \"jpeg\", \"png\", \"pdf\", \"doc\", \"docx\"];\r\n const { name: fileName, size: fileSize } = e.target.files[0];\r\n const fileExtension = fileName.split(\".\").pop();\r\n if (!allowedExtensions.includes(fileExtension.toLowerCase())) {\r\n alert(\"please upload only pdf, doc and images files\");\r\n e.target.value = null;\r\n return;\r\n }\r\n\r\n if (e.target.files.length) {\r\n const files = e.target.files[0];\r\n const targetName = e.target.name;\r\n if (uploadedFiles[targetName]) {\r\n setUploadedFiles({\r\n ...uploadedFiles,\r\n [targetName]: [...uploadedFiles[targetName], files],\r\n });\r\n } else {\r\n setUploadedFiles({\r\n ...uploadedFiles,\r\n [targetName]: [files],\r\n });\r\n }\r\n }\r\n } catch (err) {}\r\n }\r\n };\r\n\r\n const onFileDelete = (key, name, type) => {\r\n const updatedFiles = uploadedFiles[name].filter(\r\n (file) => file.lastModified !== key\r\n );\r\n setUploadedFiles({\r\n ...uploadedFiles,\r\n [name]: updatedFiles,\r\n });\r\n let element = document.querySelector(`#${type}_${name}`);\r\n element.value = \"\";\r\n };\r\n\r\n const renderFormFields = (fields) => {\r\n // condition to view UAE visa sponsor field\r\n if (\r\n (fields.uaeVisaCondition && !uaeVisaValue) ||\r\n (fields.uaeVisaCondition &&\r\n uaeVisaValue &&\r\n uaeVisaValue !== fields.uaeVisaCondition)\r\n ) {\r\n return \"\";\r\n }\r\n\r\n // condition to view UAE Health Insurance field\r\n // if (\r\n // (fields.HealthInsuranceCondition && !existingVisaTypeValue) ||\r\n // (fields.HealthInsuranceCondition &&\r\n // existingVisaTypeValue &&\r\n // existingVisaTypeValue.toString() !== fields.HealthInsuranceCondition)\r\n // ) {\r\n // return \"\";\r\n // }\r\n\r\n // condition to view legal issue details field\r\n if (\r\n (fields.legalIssueCondition && !legalIssueValue) ||\r\n (fields.legalIssueCondition &&\r\n legalIssueValue &&\r\n legalIssueValue !== fields.legalIssueCondition)\r\n ) {\r\n return \"\";\r\n }\r\n\r\n // checking for faith field value to change required behaviour of other related fields\r\n if (fields.religionCondition && !religionVlaue) {\r\n return \"\";\r\n }\r\n\r\n //checking for visa category value to render visa activity field\r\n if (fields.visaCategoryCondition && !visaCategoryValue) {\r\n return \"\";\r\n }\r\n\r\n switch (fields.fieldType) {\r\n case SINGLELINETEXT:\r\n case EMAIL:\r\n case PHONE:\r\n return (\r\n <InputField\r\n data={fields}\r\n reference={register({ required: fields.isRequired })}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case INPUTFILE:\r\n if (fields.isMultipleUpload) {\r\n return (\r\n <InputFile\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n onChange={handleFileChange}\r\n onFileDelete={onFileDelete}\r\n uploadedFiles={uploadedFiles}\r\n />\r\n );\r\n } else {\r\n return (\r\n <InputFile\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n }\r\n case DATE:\r\n return (\r\n <DatePicker\r\n reference={register({ required: fields.isRequired })}\r\n date={new Date()}\r\n value={new Date()}\r\n formControl={control}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case DROPDOWN:\r\n return (\r\n <SelectBox\r\n reference={register({ required: fields.isRequired })}\r\n formControl={control}\r\n isLinkedToForm={true}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case CHECKBOX:\r\n return (\r\n <CheckBox\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case RADIO:\r\n return (\r\n <Radio\r\n reference={register({ required: fields.isRequired })}\r\n data={fields}\r\n errors={errors}\r\n lang={props.lang}\r\n />\r\n );\r\n case READONLY:\r\n return <ReadOnlyField data={fields} />;\r\n case CAPTCHA:\r\n return (\r\n <>\r\n <ReCAPTCHA\r\n sitekey={fields.captchaKey}\r\n onChange={recaptchaCallback}\r\n />\r\n {showRecaptchaError && <ErrorMessage />}\r\n </>\r\n );\r\n case SUBMIT:\r\n return <Button data={fields} />;\r\n default:\r\n return \"not defined\";\r\n }\r\n };\r\n\r\n const renderSuccessScreen = () => {\r\n return (\r\n <SuccessMessageStyle>\r\n <h2>\r\n {getLanguageValues(lang, \"successMessage\")}\r\n {formSubmitStatus}\r\n </h2>\r\n </SuccessMessageStyle>\r\n );\r\n };\r\n\r\n const recaptchaCallback = (value) => {\r\n //If value is long string then we have sucessfully submited\r\n // google captcha and now we can submit the form\r\n setRecaptchachecked(value.length > 0);\r\n setShowRecaptchaError(!(value.length > 0));\r\n };\r\n\r\n const renderForm = () => {\r\n const formFields = formData(props.lang);\r\n return formFields.map((field) => {\r\n if (field.isFormGroup) {\r\n // condition to view applicant fields\r\n if (\r\n (field.applicantCondition && !applicantTypeValue) ||\r\n (field.applicantCondition &&\r\n applicantTypeValue &&\r\n applicantTypeValue !== field.applicantCondition)\r\n ) {\r\n return \"\";\r\n }\r\n const formGroupDOM = (\r\n <div>\r\n <h3>{field.groupTitle}</h3>\r\n <div\r\n style={{\r\n fontSize: \"small\",\r\n color: \"red\",\r\n }}\r\n dangerouslySetInnerHTML={{ __html: field.groupDisclaimer }}\r\n ></div>\r\n <FieldStyle>\r\n {field.fields.map((fieldData) => {\r\n let newFieldData = fieldData;\r\n // adding dropdown values fetched from API\r\n if (\r\n newFieldData.fieldType === DROPDOWN &&\r\n newFieldData.keyName\r\n ) {\r\n newFieldData = {\r\n ...newFieldData,\r\n listItems: getDropdownValues(newFieldData.keyName),\r\n };\r\n }\r\n //checking for qualification field value to change required behaviour of otherr related fields\r\n if (\r\n newFieldData.parentField == \"qualificationId\" &&\r\n qualificationValue &&\r\n newFieldData.parentValues &&\r\n newFieldData.parentValues.length &&\r\n newFieldData.parentValues\r\n .split(\",\")\r\n .includes(`${qualificationValue}`)\r\n ) {\r\n newFieldData = {\r\n ...newFieldData,\r\n isRequired: true,\r\n };\r\n }\r\n //checking for Existing Visa Type field value to change required behaviour of otherr related fields\r\n // if (\r\n // newFieldData.HealthInsuranceCondition &&\r\n // existingVisaTypeValue &&\r\n // newFieldData.HealthInsuranceCondition ===\r\n // existingVisaTypeValue.toString()\r\n // ) {\r\n // newFieldData = {\r\n // ...newFieldData,\r\n // isRequired: false,\r\n // };\r\n // }\r\n //Dependant passport validation\r\n if (\r\n newFieldData.fieldName === \"attachment_Dependant_passport\" &&\r\n dependentSpoonsorValue &&\r\n dependentSpoonsorValue === \"true\"\r\n ) {\r\n newFieldData = {\r\n ...newFieldData,\r\n isRequired: true,\r\n };\r\n }\r\n\r\n return renderFormFields(newFieldData);\r\n })}\r\n </FieldStyle>\r\n </div>\r\n );\r\n return formGroupDOM;\r\n } else {\r\n return <>{renderFormFields(field)}</>;\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <CreativeVisaFormContainer>\r\n <Loading\r\n loading={showLoader}\r\n background=\"rgb(0,0,0, 0.8)\"\r\n loaderColor=\"#fff\"\r\n />\r\n <CreativeVisaFormStyle onSubmit={handleSubmit(onSubmit)}>\r\n {!formSubmitStatus ? renderForm() : renderSuccessScreen()}\r\n {dateError && (\r\n <ErrorMessageAPIStyle>\r\n {\" \"}\r\n <ErrorMessage\r\n message={getLanguageValues(lang, \"dateErrorMessage\")}\r\n />\r\n </ErrorMessageAPIStyle>\r\n )}\r\n {apiError && (\r\n <ErrorMessageAPIStyle>\r\n {\" \"}\r\n <ErrorMessage\r\n message={getLanguageValues(lang, \"apiErrorMessage\")}\r\n />\r\n </ErrorMessageAPIStyle>\r\n )}\r\n {xssError && (\r\n <ErrorMessageAPIStyle>\r\n {\" \"}\r\n <ErrorMessage\r\n message={getLanguageValues(lang, \"xssErrorMessage\")}\r\n />\r\n </ErrorMessageAPIStyle>\r\n )}\r\n </CreativeVisaFormStyle>\r\n </CreativeVisaFormContainer>\r\n );\r\n};\r\n\r\nexport default CreativeVisaForm;\r\n","import { getLanguageValues } from \"../../../Utils/GoldenMultiLingualValues\";\r\n\r\nexport const formData = (lang) => {\r\n const processedData = [\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"personalInformation\"),\r\n groupDisclaimer: getLanguageValues(lang, \"PersonalInformationDisclaimer\"),\r\n fields: [\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"salutationId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"salutationId\",\r\n keyName: \"salutations\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"firstName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"firstName\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"middleName\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"middleName\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"surName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"surName\",\r\n },\r\n {\r\n fieldType: \"email\",\r\n fieldLabel: getLanguageValues(lang, \"email\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"email\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"genderId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"genderId\",\r\n keyName: \"genders\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"nationalityAndPassport\"),\r\n fields: [\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"dateOfBirth\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"dateOfBirth\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"birthCountryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"birthCountryId\",\r\n keyName: \"countries\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"birthCity\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"birthCity\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"previousNationalityId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"previousNationalityId\",\r\n keyName: \"nationalites\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"nationalityId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"nationalityId\",\r\n keyName: \"nationalites\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"passportTypeId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportTypeId\",\r\n keyName: \"passportTypes\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"passportCodeText\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportCodeId\",\r\n keyName: \"passportCodes\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"passportIssueCountryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportIssueCountryId\",\r\n keyName: \"countries\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"passportNumber\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportNumber\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"passportIssueCity\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportIssueCity\",\r\n },\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"passportIssueDate\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportIssueDate\",\r\n },\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"passportExpiryDate\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"passportExpiryDate\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"occupationAndQualification\"),\r\n fields: [\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"occupation\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"occupation\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"qualificationId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"qualificationId\",\r\n keyName: \"qualifications\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"qualificationCountryId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"qualificationCountryId\",\r\n keyName: \"countries\",\r\n parentField: \"qualificationId\",\r\n parentValues: \"3,4,5,6,7,8,10\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"educationLevelDetails\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"educationLevelDetails\",\r\n parentField: \"qualificationId\",\r\n parentValues: \"3,4,5,6,10\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"visaInformation\"),\r\n fields: [\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"maritalStatusId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"maritalStatusId\",\r\n keyName: \"maritalStatuses\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"motherName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"motherName\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"religionId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"religionId\",\r\n keyName: \"religions\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"faithId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"faithId\",\r\n keyName: \"faiths\",\r\n religionCondition: \"8,9\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeUnifiedNo\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeUnifiedNo\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeIdentityNumber\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeIdentityNumber\",\r\n },\r\n {\r\n fieldType: \"radio\",\r\n fieldLabel: getLanguageValues(lang, \"hasUaeVisa\"),\r\n isRequired: true,\r\n listItems: [\r\n {\r\n value: getLanguageValues(lang, \"yes\"),\r\n key: true,\r\n },\r\n {\r\n value: getLanguageValues(lang, \"no\"),\r\n key: false,\r\n },\r\n ],\r\n fieldName: \"hasUaeVisa\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"sponsorName\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"sponsorName\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n isRequired: true,\r\n listItems: [],\r\n fieldLabel: getLanguageValues(lang, \"visaType\"),\r\n fieldName: \"ExistingVisaTypeId\", //\r\n keyName: \"existingVisaTypes\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"visaExpiringDate\"),\r\n isRequired: true,\r\n showTodayDate: true,\r\n fieldName: \"existingVisaExpiryDate\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"radio\",\r\n fieldLabel: getLanguageValues(lang, \"hasLegalIssue\"),\r\n isRequired: true,\r\n listItems: [\r\n {\r\n value: getLanguageValues(lang, \"yes\"),\r\n key: true,\r\n },\r\n {\r\n value: getLanguageValues(lang, \"no\"),\r\n key: false,\r\n },\r\n ],\r\n fieldName: \"hasLegalIssue\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"legalIssueDetails\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"legalIssueDetails\",\r\n legalIssueCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"radio\",\r\n fieldLabel: getLanguageValues(lang, \"havedependantsSponsor\"),\r\n isRequired: true,\r\n listItems: [\r\n {\r\n value: getLanguageValues(lang, \"yes\"),\r\n key: true,\r\n },\r\n {\r\n value: getLanguageValues(lang, \"no\"),\r\n key: false,\r\n },\r\n ],\r\n fieldName: \"havedependantsSponsor\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"permanentContactInformation\"),\r\n fields: [\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryBuilding\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryBuilding\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryStreet\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryStreet\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryCity\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryCity\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryState\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryState\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryId\",\r\n keyName: \"countries\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryZipCode\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryZipCode\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryMobile\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"homeCountryMobile\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"homeCountryOtherContact\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"homeCountryOtherContact\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"contactInformation\"),\r\n fields: [\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"uaeBuilding\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeBuilding\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"uaeStreet\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeStreet\",\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"uaeCity\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeCity\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"uaeEmirateId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeEmirateId\",\r\n keyName: \"emirates\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaePoBox\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaePoBox\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeResidencePhoneNumber\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeResidencePhoneNumber\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeOtherContact\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeOtherContact\",\r\n },\r\n {\r\n fieldType: \"number\",\r\n fieldLabel: getLanguageValues(lang, \"uaeMobile\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"uaeMobile\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"creativeVisaCategories\"),\r\n fields: [\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"visaCategoryId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"visaCategoryId\",\r\n keyName: \"visaCategories\",\r\n },\r\n {\r\n fieldType: \"dropdown\",\r\n fieldLabel: getLanguageValues(lang, \"visaActivityId\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"visaActivityId\",\r\n keyName: \"visaActivities\",\r\n visaCategoryCondition: \"visaCategoryId\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"supportingDocuments\"),\r\n groupDisclaimer: getLanguageValues(lang, \"supportingDocumentsDisclaimer\"),\r\n\r\n fields: [\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Passport\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Passport\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Colour_photo\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Colour_photo\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Supporting_doc1\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Supporting_doc1\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Supporting_doc2\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Supporting_doc2\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Supporting_doc3\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_Supporting_doc3\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_EvidenceWorkAUH\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"attachment_EvidenceWorkAUH\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(\r\n lang,\r\n \"attachment_Additional_Supporting_Docs\"\r\n ),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"attachment_Additional_Supporting_Docs\",\r\n isMultipleUpload: true,\r\n maxUpload: 10,\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_Uae_Visa\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"attachment_Uae_Visa\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(lang, \"attachment_EmiratesId\"),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"attachment_EmiratesId\",\r\n uaeVisaCondition: \"true\",\r\n },\r\n {\r\n fieldType: \"file\",\r\n fieldLabel: getLanguageValues(\r\n lang,\r\n \"attachment_Copy_UAE_HEALTH_INSURANCE\"\r\n ),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"attachment_Copy_UAE_HEALTH_INSURANCE\",\r\n uaeVisaCondition: \"true\",\r\n // HealthInsuranceCondition: \"2\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: true,\r\n groupTitle: getLanguageValues(lang, \"declarationText\"),\r\n fields: [\r\n {\r\n fieldType: \"readonly\",\r\n content: getLanguageValues(lang, \"declarationContentText\"),\r\n richText: true,\r\n },\r\n {\r\n fieldType: \"textbox\",\r\n fieldLabel: getLanguageValues(lang, \"name\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"name\",\r\n },\r\n {\r\n fieldType: \"date\",\r\n fieldLabel: getLanguageValues(lang, \"sign_date_form\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"sign_date_form\",\r\n showTodayDate: true,\r\n },\r\n {\r\n fieldType: \"checkbox\",\r\n fieldLabel: getLanguageValues(lang, \"signature\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"signature\",\r\n },\r\n {\r\n fieldType: \"checkbox\",\r\n fieldLabel: getLanguageValues(lang, \"terms\"),\r\n isRequired: true,\r\n listItems: [],\r\n fieldName: \"terms\",\r\n },\r\n ],\r\n },\r\n {\r\n isFormGroup: false,\r\n fieldType: \"captcha\",\r\n captchaKey: process.env.REACT_APP_CAPTCHA_KEY,\r\n },\r\n {\r\n isFormGroup: false,\r\n fieldType: \"submit\",\r\n fieldLabel: getLanguageValues(lang, \"submitText\"),\r\n },\r\n ];\r\n return processedData;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport { CreativeVisaPageContainer } from \"./style\";\r\nimport GoldenVisaForm from \"../../molecules/GoldenVisaForm\";\r\nimport axios from \"axios\";\r\nimport { getAllDropdownValues } from \"../../../Utils/services\";\r\n// import { dropdownData } from \"./data\";\r\nimport Loading from \"react-fullscreen-loading\";\r\n\r\nconst CreativeVisaPage = (props) => {\r\n const [dropdownValues, setdropdownValues] = useState({});\r\n const [showLoader, setShowLoader] = useState(true);\r\n\r\n useEffect(() => {\r\n axios\r\n .get(getAllDropdownValues, {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Ocp-Apim-Subscription-Key\": \"bb43772e423a4ad59e93513598bef5ea\",\r\n },\r\n })\r\n .then((data) => {\r\n setdropdownValues(data.data);\r\n setShowLoader(false);\r\n });\r\n }, []);\r\n\r\n return (\r\n <CreativeVisaPageContainer>\r\n <Loading\r\n loading={showLoader}\r\n background=\"rgb(0,0,0, 0.8)\"\r\n loaderColor=\"#fff\"\r\n />\r\n <div>\r\n {/* {Object.keys(dropdownData).length && (\r\n <CreativeVisaForm lang={props.lang} dropdownData={dropdownData} />\r\n )} */}\r\n {Object.keys(dropdownValues).length && (\r\n <GoldenVisaForm lang={props.lang} dropdownData={dropdownValues} />\r\n )}\r\n </div>\r\n </CreativeVisaPageContainer>\r\n );\r\n};\r\n\r\nexport default CreativeVisaPage;\r\n","import styled from \"styled-components\";\r\nimport { pxToRem } from \"../../../Utils/helperFunctions\";\r\nimport { desktopMedia } from \"../../../../styles/themes/constants\";\r\n\r\nexport const AppContainer = styled.div`\r\n font-family: ${props => props.theme.typography.fontFamily.primaryRegular};\r\n`;\r\n\r\nexport const HomeContainer = styled.div`\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n padding: ${pxToRem(0)} ${pxToRem(0)};\r\n background: ${props => props.theme.palette.lightYellow};\r\n }\r\n .text-container {\r\n line-height: 24px;\r\n }\r\n`;\r\n\r\nexport const HomeTextContainer = styled.div`\r\n padding: ${pxToRem(24)} ${pxToRem(24)};\r\n ${desktopMedia} {\r\n padding: ${pxToRem(40)} ${pxToRem(80)} ${pxToRem(60)} ${pxToRem(80)};\r\n background: ${props => props.theme.mixins.White()};\r\n }\r\n`;","import React, { useState } from \"react\";\r\n\r\nimport Button from \"../../atoms/Forms/Button\";\r\nimport Header from \"../../molecules/Header\";\r\nimport HeroBanner from \"../../molecules/HeroBanner\";\r\nimport GoldenVisaPage from \"../GoldenVisaPage\";\r\nimport { AppContainer, HomeContainer, HomeTextContainer } from \"./style\";\r\nimport { HomePageData } from \"./data\";\r\nimport { getLanguageValues } from \"../../../Utils/GoldenMultiLingualValues\";\r\nimport { pushAnaylyticsData } from \"../../../Utils/helperFunctions\";\r\nimport Title from \"../../atoms/Title\";\r\nimport Footer from \"../../molecules/Footer\";\r\nimport ReadOnlyField from \"../../atoms/ReadOnlyField\";\r\nimport CheckBox from \"../../atoms/Forms/CheckBox\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst TITLE = \"Golden Visa app\";\r\n\r\nconst HomePage = (props) => {\r\n const [proceedClicked, setProceedClicked] = useState(false);\r\n const [privacyClicked, setprivacyClicked] = useState(false);\r\n const data = HomePageData(props.lang);\r\n\r\n const onProceedClick = () => {\r\n pushAnaylyticsData(\"clicked\", \"Proceed Button\");\r\n setProceedClicked(true);\r\n };\r\n\r\n const onCheckBoxChange = (event) => {\r\n if (event.target) {\r\n setprivacyClicked(event.target.checked);\r\n }\r\n };\r\n\r\n return (\r\n <AppContainer>\r\n <Helmet>\r\n <title>{TITLE}\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n {!proceedClicked ? (\r\n <HomeContainer>\r\n <HomeTextContainer>\r\n <div className=\"text-container\">\r\n <ReadOnlyField data={data.homePageText} />\r\n {/* {getLanguageValues(props.lang, 'homePageText')} */}\r\n </div>\r\n {/* <CheckBox\r\n data={data.privacyCheckBox}\r\n lang={props.lang}\r\n onChange={onCheckBoxChange}\r\n /> */}\r\n <Button\r\n data={data.proceedButtonData}\r\n onClick={onProceedClick}\r\n />\r\n </HomeTextContainer>\r\n </HomeContainer>\r\n ) : (\r\n <GoldenVisaPage lang={props.lang} />\r\n )}\r\n </div>\r\n <Footer lang={props.lang} />\r\n </AppContainer>\r\n );\r\n};\r\n\r\nexport default HomePage;\r\n","import { getLanguageValues } from \"../../../Utils/GoldenMultiLingualValues\";\r\nimport RichText from \"../../atoms/RichText\";\r\n\r\nexport const HomePageData = (lang) => ({\r\n proceedButtonData: {\r\n isFormGroup: false,\r\n fieldType: \"submit\",\r\n fieldLabel: getLanguageValues(lang, \"proceedYourApplication\"),\r\n },\r\n homePageText: {\r\n isFormGroup: false,\r\n fieldType: \"readonly\",\r\n content: getLanguageValues(lang, \"instructionNewContentText\"),\r\n richText: true,\r\n },\r\n privacyCheckBox: {\r\n fieldType: \"checkbox\",\r\n fieldLabel: (\r\n <RichText\r\n content={getLanguageValues(lang, \"privacyPolicyCheckboxLinkText\")}\r\n />\r\n ),\r\n isRequired: false,\r\n listItems: [],\r\n fieldName: \"privacyPolicyCheckboxLinkText\",\r\n },\r\n});\r\n","import React from \"react\";\r\n\r\nimport \"./App.css\";\r\nimport { BrowserRouter, Route } from \"react-router-dom\";\r\nimport HomePage from \"./global/components/organism/HomePage\";\r\nimport GoldenHomePage from \"./global/components/organism/GoldenHomePage\";\r\n\r\nconst App = (props) => {\r\n return (\r\n <BrowserRouter>\r\n <Route\r\n path=\"/\"\r\n render={(routeProps) => {\r\n const [subdomain] = window.location.hostname.split(\".\");\r\n console.log(\"subdomain: \", subdomain);\r\n if (subdomain === \"endorsementform\")\r\n // //\"endorsementform\")\r\n return <GoldenHomePage lang={props.lang} />;\r\n return <HomePage lang={props.lang} />;\r\n }}\r\n />\r\n </BrowserRouter>\r\n );\r\n};\r\n\r\nexport default App;\r\n","/* Colors */\r\n\r\nconst darkBlue = \"#476A6F\";\r\nconst lightBlue = \"#258EA6\";\r\nconst darkGreen = \"#519E8A\";\r\nconst mediumGreen = \"#7EB09B\";\r\nconst lightGreen = \"#A3C4BC\";\r\nconst yellow = \"#efbd47\";\r\nconst borderColor = \"rgb(118, 118, 118)\";\r\nconst red = \"rgb(194, 0, 47)\";\r\nconst disabledRed = \"rgb(194,0,47, 0.6)\"\r\nconst blueThemeGradient = \"linear-gradient(90deg, #36d7b7, #2b303b)\";\r\nconst lightYellow = '#fdf8ec';\r\nconst greyBlack = '#4c4d4f';\r\nconst darkGrey = '#555658';\r\n\r\nexport const palette = {\r\n darkBlue,\r\n lightBlue,\r\n darkGreen,\r\n mediumGreen,\r\n lightGreen,\r\n yellow,\r\n borderColor,\r\n red,\r\n blueThemeGradient,\r\n lightYellow,\r\n greyBlack,\r\n darkGrey,\r\n disabledRed,\r\n};","export const mixins = (isRtl = false) => ({\r\n right: unit =>\r\n isRtl\r\n ? {\r\n left: unit,\r\n }\r\n : {\r\n right: unit,\r\n },\r\n\r\n left: unit =>\r\n isRtl\r\n ? {\r\n right: unit,\r\n }\r\n : {\r\n left: unit,\r\n },\r\n\r\n positionLR: (leftUnit, rightUnit) =>\r\n isRtl\r\n ? {\r\n left: rightUnit,\r\n right: leftUnit,\r\n }\r\n : {\r\n left: leftUnit,\r\n right: rightUnit,\r\n },\r\n\r\n borderLeft: unit =>\r\n isRtl\r\n ? {\r\n borderRight: unit,\r\n }\r\n : {\r\n borderLeft: unit,\r\n },\r\n borderRight: unit =>\r\n isRtl\r\n ? {\r\n borderLeft: unit,\r\n }\r\n : {\r\n borderRight: unit,\r\n },\r\n\r\n marginRight: unit =>\r\n isRtl\r\n ? {\r\n marginLeft: unit,\r\n }\r\n : {\r\n marginRight: unit,\r\n },\r\n\r\n marginLeft: unit =>\r\n isRtl\r\n ? {\r\n marginRight: unit,\r\n }\r\n : {\r\n marginLeft: unit,\r\n },\r\n\r\n marginLR: (left, right) =>\r\n isRtl\r\n ? {\r\n marginLeft: right,\r\n marginRight: left,\r\n }\r\n : {\r\n marginLeft: left,\r\n marginRight: right,\r\n },\r\n\r\n paddingLeft: unit =>\r\n isRtl\r\n ? {\r\n paddingRight: unit,\r\n }\r\n : {\r\n paddingLeft: unit,\r\n },\r\n paddingRight: unit =>\r\n isRtl\r\n ? {\r\n paddingLeft: unit,\r\n }\r\n : {\r\n paddingRight: unit,\r\n },\r\n\r\n paddingLR: (left, right) =>\r\n isRtl\r\n ? {\r\n paddingLeft: right,\r\n paddingRight: left,\r\n }\r\n : {\r\n paddingLeft: left,\r\n paddingRight: right,\r\n },\r\n\r\n textLeft: () => (isRtl ? \"right\" : \"left\"),\r\n textRight: () => (isRtl ? \"left\" : \"right\"),\r\n\r\n flexDirection: () => (isRtl ? \"row-reverse\" : \"row\"),\r\n rotate180: () => (isRtl ? \"rotate(0)\" : \"rotate(180deg)\"),\r\n rotate0: () => (isRtl ? \"rotate(180deg)\" : \"rotate(0)\"),\r\n translateX: angle => (isRtl ? -angle : angle),\r\n\r\n // Style Guide Colors\r\n // recommended opacity weight is 100, 200 ...to 900\r\n White: (opacityWeight = 1000) => `rgba(255,255,255, ${opacityWeight / 1000})`,\r\n Black: (opacityWeight = 1000) => `rgba(0, 0, 0, ${opacityWeight / 1000})`,\r\n Grey: (opacityWeight = 1000) => `rgba(86, 90, 92, ${opacityWeight / 1000})`,\r\n});\r\n","const shadows = [\r\n \"none\",\r\n \"0px 2px 20px 0px rgba(0, 0, 0, 0.08)\",\r\n \"0 4px 16px 0 rgba(0,0,0,0.08)\",\r\n \"inset 9px 0px 5px -5px rgb(211,211,211)\",\r\n \"0px 2px 20px 0px rgba(0, 0, 0, 0.03)\",\r\n \"0px 2px 4px 0px rgba(0, 0, 0, 0.05)\",\r\n \"0px 2px 4px 0px rgba(0, 0, 0, 0.1)\",\r\n \"0px 8px 28px 0px rgba(15, 28, 24, 0.1)\",\r\n \"0px 4px 15px rgba(0, 0, 0, 0.05)\",\r\n];\r\n\r\nexport default shadows;\r\n","import { mixins } from \"./mixins\";\r\n\r\nconst colorMixins = mixins();\r\n\r\nexport const borders = {\r\n divider: `1px solid ${colorMixins.Black(200)}`,\r\n fieldBorder: \"1px solid rgb(86, 90, 92)\",\r\n dropDownBorder: `1px solid ${colorMixins.Grey(400)}`,\r\n redBorder: \"1px solid rgb(194, 0, 47)\",\r\n};\r\n","const baseFont = \" Arial, sans-serif\";\r\n\r\nexport const fontFamilyEN = {\r\n primaryRegular: [\"Lato-Regular\", baseFont].join(\",\"),\r\n primaryBold: [\"Lato-Bold\", baseFont].join(\",\"),\r\n};\r\n\r\nexport const fontFamilyAR = {\r\n primaryRegular: [\"NotoKufiArabic\", baseFont].join(\",\"),\r\n primaryBold: [\"NotoKufiArabic-Bold\", baseFont].join(\",\"),\r\n};\r\n","/*\r\n This will hold all the theming info for creative visa app\r\n add updates to theme will reflect across website.\r\n*/\r\nimport { palette } from \"./colors\";\r\nimport { breakpoints, arabicLang } from \"./constants\";\r\nimport { mixins } from \"./mixins\";\r\nimport shadows from \"./shadows\";\r\nimport { borders } from \"./borders\";\r\nimport { getFontFamily } from \"./utils\";\r\n\r\nconst theme = selectedLang => {\r\n const isRtl = selectedLang === arabicLang;\r\n const fontFamily = getFontFamily(selectedLang);\r\n\r\n return {\r\n palette: {\r\n ...palette,\r\n },\r\n typography: {\r\n fontFamily: fontFamily,\r\n },\r\n breakpoints: breakpoints,\r\n mixins: {\r\n ...mixins(isRtl),\r\n },\r\n borders,\r\n shadows,\r\n direction: isRtl ? \"rtl\" : \"ltr\",\r\n isDirectionRTL: isRtl,\r\n };\r\n};\r\n\r\nexport default theme;\r\n","import { fontFamilyEN, fontFamilyAR } from \"./font\";\r\nimport { arabicLang } from \"./constants\";\r\n\r\nexport function getFontFamily(selectedLang) {\r\n if (selectedLang === arabicLang) {\r\n return fontFamilyAR;\r\n }\r\n return fontFamilyEN;\r\n}\r\n","import React from \"react\";\r\nimport { ThemeProvider } from \"styled-components\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport App from \"./App\";\r\nimport theme from \"./styles/themes\";\r\n\r\nconst Layout = props => {\r\n if (props.lang === \"ar\" && document.querySelector(\"body\")) {\r\n document.querySelector(\"body\").setAttribute(\"dir\", \"rtl\");\r\n } else {\r\n if (document.querySelector(\"body\")) {\r\n document.querySelector(\"body\").setAttribute(\"dir\", \"ltr\");\r\n }\r\n }\r\n console.log(theme(props.lang));\r\n return (\r\n <div>\r\n <ThemeProvider theme={theme(props.lang)}>\r\n <App lang={props.lang} />\r\n </ThemeProvider>\r\n </div>\r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n lang: state.languageReducer.lang,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(Layout);\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nimport { Provider } from \"react-redux\";\r\n\r\nimport store from \"./redux/store\";\r\nimport \"./index.css\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport \"react-datepicker/dist/react-datepicker-cssmodules.min.css\";\r\nimport Layout from \"./Layout\";\r\nimport axios from \"axios\";\r\n\r\naxios.defaults.headers.common[\"Authorization\"] =\r\n process.env.REACT_APP_AUTH_TOKEN;\r\n\r\nconst GTA_ID = process.env.REACT_APP_GTA_KEY;\r\n\r\n const injectGA = () => {\r\n if (typeof window == 'undefined') {\r\n return;\r\n }\r\n window.dataLayer = window.dataLayer || [];\r\n function gtag() {\r\n window.dataLayer.push(arguments);\r\n }\r\n gtag('js', new Date());\r\n\r\n gtag('config', GTA_ID);\r\n};\r\n\r\nReactDOM.render(\r\n <Provider store={store}>\r\n <React.StrictMode>\r\n <Layout />\r\n {/* Global site tag (gtag.js) - Google Analytics */}\r\n <script\r\n async\r\n src={`https://www.googletagmanager.com/gtag/js?id=${GTA_ID}`}\r\n />\r\n <script>{injectGA()}</script>\r\n </React.StrictMode>\r\n </Provider>,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","/* Const defination */\r\nexport const BASE_FONT_SIZE = 16;\r\n\r\n/* Function */\r\nexport const pxToRem = pixelValue => `${pixelValue / BASE_FONT_SIZE}rem`;\r\n\r\n/*\r\n This method checks for window object and process.browser\r\n Accept params: na\r\n Return: {boolean}\r\n*/\r\n\r\nexport const canUseDOM = !!(\r\n typeof window !== 'undefined' &&\r\n window.document &&\r\n window.document.createElement &&\r\n process.browser\r\n);\r\n\r\nconst checkForDataLayerObj = () => {\r\n window.dataLayer = window.dataLayer || [];\r\n return window.dataLayer;\r\n};\r\n\r\nexport const pushAnaylyticsData = analyticsInfo => {\r\n if (canUseDOM) {\r\n const winObj = checkForDataLayerObj();\r\n if (winObj) {\r\n winObj.push(analyticsInfo);\r\n }\r\n }\r\n};"],"sourceRoot":""}