{"version":3,"sources":["model/RequestModel.ts","constants.ts","components/Input/Input.tsx","components/Select/Select.tsx","components/Attachments/MultiFileUploader.tsx","components/Attachments/Attachments.tsx","components/Recaptcha/Recaptcha.tsx","components/Checkbox/Checkbox.tsx","components/Telephone/Telephone.tsx","components/Radio/Radio.tsx","containers/Wizard/Pages/Signature.tsx","services/recaptcha.ts","services/formService.ts","components/Loader/Loader.tsx","localeContext.ts","containers/Wizard/Wizard.tsx","components/CornerCardLogo/CornerCardLogo.tsx","App.tsx","index.tsx","containers/Wizard/Wizard.module.css","containers/Wizard/Pages/Slides.module.css","components/Select/Select.module.css","components/Attachments/Attachments.module.css","components/Telephone/Telephone.module.css","components/Radio/Radio.module.css","components/Input/Input.module.css","components/Recaptcha/Recaptcha.module.css","components/Checkbox/Checkbox.module.css","components/CornerCardLogo/CornerCardLogo.module.css","components/Attachments/UploadIcon.svg","components/Loader/Loader.module.css","components/error-icon.svg"],"names":["DEFAULT_REQUEST_MODEL","attachments","LanguageCodeMap","en","fr","it","de","EMAIL_REGEX","countries","label","value","currencies","Input","type","disabled","hidden","optional","name","max","min","placeholder","ariaDescription","className","validate","undefined","onBlur","_","maxLength","requiredValidation","useCallback","_allValues","validatorRef","useRef","allValues","validations","push","reduce","message","fn","current","input","meta","classnames","styles","htmlFor","touched","error","aria-describedby","onChange","event","document","querySelectorAll","target","forEach","element","setCustomValidity","onInvalid","tempValue","parseFloat","isNaN","valueNumber","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","replace","id","AriaDescription","Select","options","FullWidth","isClearable","isDisabled","menu","provided","zIndex","display","alignItems","justifyContent","flexWrap","width","ERROR","IMAGE_FILE_EXTENSION","MultiFileUploaderComponent","inputElement","state","filenames","props","files","fileErrors","hasExtension","fileName","pattern","fileExtensions","join","RegExp","test","onDropFile","currentTarget","allFilePromises","i","length","file","fileError","size","maxFileSize","readFile","setState","singleFile","Promise","all","then","newFilesData","dataURLs","slice","newFileData","dataURL","onUploadClick","resolve","reader","FileReader","onload","result","readAsDataURL","renderErrors","map","index","errorClass","key","style","errorStyle","fileSizeError","fileTypeError","renderIcon","withIcon","src","UploadIcon","alt","renderLabel","withLabel","labelClass","labelStyles","renderPreview","enterAnimation","leaveAnimation","renderPreviewPictures","isImage","filename","sanitizeBlobName","blobName","split","onClick","removeFile","wordBreak","triggerFileUpload","click","onInputRef","prevProps","prevState","this","removeIndex","findIndex","e","filteredFilenames","filter","filteredFiles","fileContainerStyle","buttonType","buttonClassName","buttonStyles","buttonText","ref","multiple","accept","withPreview","React","Component","defaultProps","fileExtension","defaultFiles","MultiFileUploader","DEFAULT_SUPPORTED_EXTENSIONS","AttachmentsInput","supportedExtensions","Attachments","ForceVisible","Recaptcha","token","image","imageRef","tokenRef","forceUpdate","useReducer","reloadCaptcha","axios","get","window","location","origin","headers","r","data","Image","Token","useEffect","marginLeft","marginBottom","xmlns","height","fill","viewBox","d","fillRule","autoComplete","parseAsUpperCased","val","toUpperCase","Checkbox","forceUppercase","parse","checked","required","Telephone","intl","useIntl","includes","defaultCountry","NoPadding","international","Radio","popoverBool","popoverIznosMirovine","Popover","Content","InfoIznosMirovine","OverlayTrigger","trigger","placement","overlay","Button","variant","FixTextAlignment","AriaDescriptionSpecial","Signature","isInvalidField","getElementsByClassName","formState","useFormState","resetPensionValue","cifraValidator","oib","a","substring","digit","parseInt","kontrolni","substr","isOibValid","iznosValidator","valuta2Validator","valuta3Validator","drzava2Validator","drzava3Validator","emailValidator","attachmentsValidate","popoverDatumRodjenja","InfoDatumRodjenja","Wrapper","Title","Statement","textAlign","textDecoration","href","values","marginTop","iban","code","match","HR","digital","checksum","toString","fragment","offset","mod97","letter","charCodeAt","txtHrMirovina","txtInoMirovina","flexFlow","paddingLeft","scrollIntoView","behavior","protect","_action","submitFormData","languageCode","formData","getSuccessHeaderMessage","getSuccessMessage","getErrorHeaderMessage","getErrorMessage","unformatIntlNumber","locale","group","decimal","reversedVal","extra","toBase64","reject","onerror","signature","rest","dayOfBirth","monthOfBirth","iznos1NaN","toFixed","iznos2NaN","iznos3NaN","txtIBAN","txtIme","txtPrezime","txtOIB","txtEmail","txtMobitel","txtValuta1","txtValuta2","txtValuta3","txtIznos1","txtIznos2","txtIznos3","toISOString","reverse","txtDrzava1","txtDrzava2","txtDrzava3","txtDrzavaKod1","txtDrzavaKod2","txtDrzavaKod3","endpointUrl","attachmentsList","fileBytes","splitData","base64File","extension","status","getElementById","post","SignatureImage","ImageData","FileType","console","additional","response","errors","errorCode","Loader","loader","localeContext","createContext","initialState","currentPage","Wizard","useState","useContext","pages","useMemo","nextSlide","scrollTo","Math","previousSlide","CurrentPage","onSubmit","closeModal","reload","Body","initialValues","Object","keys","handleSubmit","submitting","Form","numPages","onNext","onPrevious","ModalWrapper","tabIndex","role","ErrorIcon","marginRight","paddingBottom","data-dismiss","aria-label","aria-hidden","CornerCardLogo","Logo","color","fontFamily","ContactUs","App","locales","DEFAULT_LANGUAGE","hash","navigator","language","LocalizedWrapper","setLocale","messages","setMessages","onHashChange","_event","rawLocale","addEventListener","removeEventListener","Provider","ReactDOM","render","StrictMode","bootstrap","module","exports"],"mappings":"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","file":"static/js/main.cdead9b8.chunk.js","sourcesContent":["export interface ISignatureModel {\r\n imageData?: ImageData,\r\n data: string,\r\n xMin: number,\r\n xMax: number,\r\n yMin: number,\r\n yMax: number,\r\n page: number,\r\n}\r\n\r\nexport interface IRequestModel {\r\n 'txtOwnerNationality': string\r\n 'txtValuta1': string\r\n 'txtValuta2': string\r\n 'txtValuta3': string\r\n 'txtIznos1': string\r\n 'txtIznos2': string\r\n 'txtIznos3': string\r\n 'txtFormLanguage': string\r\n 'txtDatumRodjenja': string\r\n 'txtData': string\r\n 'txtOwnerBirthDate': string\r\n 'captcha-answer': string\r\n 'captcha-token'?: string\r\n 'txtDan'?: string\r\n 'txtMjesec'?: string\r\n 'txtGodina'?: string\r\n 'txtHrMirovina'?: string\r\n 'txtInoMirovina'?: string\r\n 'txtIme'?: string\r\n 'txtOIB'?: string\r\n 'txtIBAN'?: string\r\n 'txtMobitel'?: string\r\n 'txtEmail'?: string\r\n 'txtPrezime'?: string\r\n 'chkOdgovornost'?: boolean\r\n 'txtDrzava1'?: string\r\n 'txtDrzava2'?: string\r\n 'txtDrzava3'?: string\r\n 'txtDrzavaKod1'?: string\r\n 'txtDrzavaKod2'?: string\r\n 'txtDrzavaKod3'?: string\r\n}\r\n\r\nexport type FormModel =\r\n & Omit\r\n & { 'txtDatumRodjenja': Date | null }\r\n & { 'txtData': Date | null }\r\n & { 'txtOwnerBirthDate': Date | null }\r\n & { 'txtDan' : string | null }\r\n & { 'txtMjesec' : string | null}\r\n & { 'txtGodina' : string | null }\r\n & { attachments: File[], }\r\n\r\nexport const DEFAULT_REQUEST_MODEL: FormModel = {\r\n 'txtOwnerNationality': '',\r\n 'txtFormLanguage':'',\r\n 'txtValuta1':'',\r\n 'txtValuta2':'',\r\n 'txtValuta3':'',\r\n 'txtIznos1':'',\r\n 'txtIznos2':'',\r\n 'txtIznos3':'',\r\n 'txtDatumRodjenja':null,\r\n 'txtData':null,\r\n 'txtOwnerBirthDate':null,\r\n 'captcha-answer':'',\r\n 'txtHrMirovina':'',\r\n 'txtInoMirovina': '',\r\n 'txtDan': '',\r\n 'txtGodina': '',\r\n 'txtMjesec': '',\r\n 'chkOdgovornost': false,\r\n attachments: [],\r\n}\r\n","import {IntlShape} from \"react-intl\";\r\nimport {ISelectOption} from \"./components/Select/Select\";\r\nimport {useMemo} from \"react\";\r\n\r\nexport const LanguageCodeMap = {\r\n en: 'E',\r\n fr: 'F',\r\n it: 'G',\r\n de: 'I',\r\n}\r\n\r\n// eslint-disable-next-line no-useless-escape\r\nexport const EMAIL_REGEX = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n\r\nexport const useAllCurrencyOptions = (intl: IntlShape) => useMemo((): ISelectOption[] => [\r\n intl.formatMessage({ defaultMessage: 'AED UAE dirham' }),\r\n intl.formatMessage({ defaultMessage: 'AFN afgan' }),\r\n intl.formatMessage({ defaultMessage: 'ALL lek' }),\r\n intl.formatMessage({ defaultMessage: 'AMD armenski dram' }),\r\n intl.formatMessage({ defaultMessage: 'ANG nizozemskoantilski gulden' }),\r\n intl.formatMessage({ defaultMessage: 'AOA kvanza' }),\r\n intl.formatMessage({ defaultMessage: 'ARS argentinski pezo ' }),\r\n intl.formatMessage({ defaultMessage: 'AUD australski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'AWG arupski florin' }),\r\n intl.formatMessage({ defaultMessage: 'AZN azerbajdžanski manat ' }),\r\n intl.formatMessage({ defaultMessage: 'BAM konvertibilna marka' }),\r\n intl.formatMessage({ defaultMessage: 'BBD barbadoski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'BDT taka ' }),\r\n intl.formatMessage({ defaultMessage: 'BGN bugarski lev' }),\r\n intl.formatMessage({ defaultMessage: 'BHD bahreinski dinar' }),\r\n intl.formatMessage({ defaultMessage: 'BIF burundski franak' }),\r\n intl.formatMessage({ defaultMessage: 'BMD bermudski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'BND brunejski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'BOB bolivijano' }),\r\n intl.formatMessage({ defaultMessage: 'BRL brazilski real' }),\r\n intl.formatMessage({ defaultMessage: 'BSD bahamski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'BTN ngultrum' }),\r\n intl.formatMessage({ defaultMessage: 'BWP pula ' }),\r\n intl.formatMessage({ defaultMessage: 'BYN bjeloruski rubalj ' }),\r\n intl.formatMessage({ defaultMessage: 'BZD belizeanski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'CAD kanadski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'CDF kongoanski franak' }),\r\n intl.formatMessage({ defaultMessage: 'CHF švicarski franak' }),\r\n intl.formatMessage({ defaultMessage: 'CLP čileanski pezo' }),\r\n intl.formatMessage({ defaultMessage: 'CNY juan renminbi' }),\r\n intl.formatMessage({ defaultMessage: 'COP kolumbijski pezo' }),\r\n intl.formatMessage({ defaultMessage: 'CRC kostarikanski kolon' }),\r\n intl.formatMessage({ defaultMessage: 'CUP kubanski pezo' }),\r\n intl.formatMessage({ defaultMessage: 'CVE zelenortski eskudo' }),\r\n intl.formatMessage({ defaultMessage: 'CZK češka kruna' }),\r\n intl.formatMessage({ defaultMessage: 'DJF džibutski franak' }),\r\n intl.formatMessage({ defaultMessage: 'DKK danska kruna' }),\r\n intl.formatMessage({ defaultMessage: 'DOP dominikanski pezo' }),\r\n intl.formatMessage({ defaultMessage: 'DZD alžirski dinar' }),\r\n intl.formatMessage({ defaultMessage: 'EGP egipatska funta' }),\r\n intl.formatMessage({ defaultMessage: 'ETB etiopski bir' }),\r\n intl.formatMessage({ defaultMessage: 'EUR euro' }),\r\n intl.formatMessage({ defaultMessage: 'FJD fidžijski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'FKP falklandska funta 3' }),\r\n intl.formatMessage({ defaultMessage: 'GBP funta sterlinga' }),\r\n intl.formatMessage({ defaultMessage: 'GEL lari' }),\r\n intl.formatMessage({ defaultMessage: 'GHS ganski cedi ' }),\r\n intl.formatMessage({ defaultMessage: 'GIP gibraltarska funta 1' }),\r\n intl.formatMessage({ defaultMessage: 'GMD dalasi' }),\r\n intl.formatMessage({ defaultMessage: 'GNF gvinejski franak' }),\r\n intl.formatMessage({ defaultMessage: 'GTQ kvecal' }),\r\n intl.formatMessage({ defaultMessage: 'GYD gvajanski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'HKD hongkonški dolar' }),\r\n intl.formatMessage({ defaultMessage: 'HNL lempira' }),\r\n intl.formatMessage({ defaultMessage: 'HRK hrvatska kuna' }),\r\n intl.formatMessage({ defaultMessage: 'HTG gourd' }),\r\n intl.formatMessage({ defaultMessage: 'HUF forinta' }),\r\n intl.formatMessage({ defaultMessage: 'IDR rupija' }),\r\n intl.formatMessage({ defaultMessage: 'ILS novi izraelski šekel' }),\r\n intl.formatMessage({ defaultMessage: 'INR indijska rupija' }),\r\n intl.formatMessage({ defaultMessage: 'IQD irački dinar' }),\r\n intl.formatMessage({ defaultMessage: 'IRR iranski rijal 2' }),\r\n intl.formatMessage({ defaultMessage: 'ISK islandska kruna' }),\r\n intl.formatMessage({ defaultMessage: 'JMD jamajčanski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'JOD jordanski dinar' }),\r\n intl.formatMessage({ defaultMessage: 'JPY jen' }),\r\n intl.formatMessage({ defaultMessage: 'KES kenijski šiling' }),\r\n intl.formatMessage({ defaultMessage: 'KGS som' }),\r\n intl.formatMessage({ defaultMessage: 'KHR rijal' }),\r\n intl.formatMessage({ defaultMessage: 'KMF komorski franak' }),\r\n intl.formatMessage({ defaultMessage: 'KRW von' }),\r\n intl.formatMessage({ defaultMessage: 'KWD kuvajtski dinar' }),\r\n intl.formatMessage({ defaultMessage: 'KYD kajmanski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'KZT tenge' }),\r\n intl.formatMessage({ defaultMessage: 'LAK lao kip' }),\r\n intl.formatMessage({ defaultMessage: 'LBP libanonska funta' }),\r\n intl.formatMessage({ defaultMessage: 'LKR šrilanska rupija' }),\r\n intl.formatMessage({ defaultMessage: 'LRD liberijski dolar 4' }),\r\n intl.formatMessage({ defaultMessage: 'LSL loti' }),\r\n intl.formatMessage({ defaultMessage: 'LYD libijski dinar' }),\r\n intl.formatMessage({ defaultMessage: 'MAD marokanski dirham' }),\r\n intl.formatMessage({ defaultMessage: 'MDL moldavski lej' }),\r\n intl.formatMessage({ defaultMessage: 'MGA malgaški arijari ' }),\r\n intl.formatMessage({ defaultMessage: 'MKD sjeverno makedonski denar' }),\r\n intl.formatMessage({ defaultMessage: 'MMK kjat' }),\r\n intl.formatMessage({ defaultMessage: 'MNT tugrik' }),\r\n intl.formatMessage({ defaultMessage: 'MOP pataka' }),\r\n intl.formatMessage({ defaultMessage: 'MRU ouguja' }),\r\n intl.formatMessage({ defaultMessage: 'MUR mauricijska rupija' }),\r\n intl.formatMessage({ defaultMessage: 'MVR rufija ' }),\r\n intl.formatMessage({ defaultMessage: 'MWK malavi kvača' }),\r\n intl.formatMessage({ defaultMessage: 'MXN meksički pezo' }),\r\n intl.formatMessage({ defaultMessage: 'MYR malezijski ringit ' }),\r\n intl.formatMessage({ defaultMessage: 'MZN mozambijski metikal ' }),\r\n intl.formatMessage({ defaultMessage: 'NAD namibijski dolar ' }),\r\n intl.formatMessage({ defaultMessage: 'NGN naira' }),\r\n intl.formatMessage({ defaultMessage: 'NIO kordoba oro' }),\r\n intl.formatMessage({ defaultMessage: 'NOK norveška kruna' }),\r\n intl.formatMessage({ defaultMessage: 'NPR nepalska rupija' }),\r\n intl.formatMessage({ defaultMessage: 'NZD novozelandski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'OMR omanski rijal' }),\r\n intl.formatMessage({ defaultMessage: 'PAB balboa' }),\r\n intl.formatMessage({ defaultMessage: 'PEN sol' }),\r\n intl.formatMessage({ defaultMessage: 'PGK kina' }),\r\n intl.formatMessage({ defaultMessage: 'PHP filipinski pezo' }),\r\n intl.formatMessage({ defaultMessage: 'PKR pakistanska rupija' }),\r\n intl.formatMessage({ defaultMessage: 'PLN zloti' }),\r\n intl.formatMessage({ defaultMessage: 'PYG gvarani' }),\r\n intl.formatMessage({ defaultMessage: 'QAR katarski rijal' }),\r\n intl.formatMessage({ defaultMessage: 'RON rumunjski leu ' }),\r\n intl.formatMessage({ defaultMessage: 'RSD srpski dinar' }),\r\n intl.formatMessage({ defaultMessage: 'RUB ruski rubalj' }),\r\n intl.formatMessage({ defaultMessage: 'RWF ruandski franak' }),\r\n intl.formatMessage({ defaultMessage: 'SAR saudijski rijal' }),\r\n intl.formatMessage({ defaultMessage: 'SBD solomonskootočni dolar' }),\r\n intl.formatMessage({ defaultMessage: 'SCR sejšelska rupija' }),\r\n intl.formatMessage({ defaultMessage: 'SDG sudanska funta 5 ' }),\r\n intl.formatMessage({ defaultMessage: 'SEK švedska kruna' }),\r\n intl.formatMessage({ defaultMessage: 'SGD singapurski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'SLL leone ' }),\r\n intl.formatMessage({ defaultMessage: 'SOS somalijski šiling' }),\r\n intl.formatMessage({ defaultMessage: 'SRD surinamski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'STN dobra' }),\r\n intl.formatMessage({ defaultMessage: 'SVC salvadorski kolon' }),\r\n intl.formatMessage({ defaultMessage: 'SZL lilangeni' }),\r\n intl.formatMessage({ defaultMessage: 'THB baht' }),\r\n intl.formatMessage({ defaultMessage: 'TND tuniski dinar' }),\r\n intl.formatMessage({ defaultMessage: \"TOP pa/'anga\" }),\r\n intl.formatMessage({ defaultMessage: 'TRY turska lira ' }),\r\n intl.formatMessage({ defaultMessage: 'TTD trinidadtobaški dolar' }),\r\n intl.formatMessage({ defaultMessage: 'TWD novotajvanski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'TZS tanzanijski šiling' }),\r\n intl.formatMessage({ defaultMessage: 'UAH hrivnja' }),\r\n intl.formatMessage({ defaultMessage: 'UGX ugandski šiling' }),\r\n intl.formatMessage({ defaultMessage: 'USD američki dolar' }),\r\n intl.formatMessage({ defaultMessage: 'UYU urugvajski pezo' }),\r\n intl.formatMessage({ defaultMessage: 'UZS uzbekistanski sum' }),\r\n intl.formatMessage({ defaultMessage: 'VES bolivarski soberano' }),\r\n intl.formatMessage({ defaultMessage: 'VND dong' }),\r\n intl.formatMessage({ defaultMessage: 'VUV vatu' }),\r\n intl.formatMessage({ defaultMessage: 'WST tala' }),\r\n intl.formatMessage({ defaultMessage: 'XAF CFA franak BEAC' }),\r\n intl.formatMessage({ defaultMessage: 'XCD istočnokaripski dolar' }),\r\n intl.formatMessage({ defaultMessage: 'XOF CFA franak BCEAO' }),\r\n intl.formatMessage({ defaultMessage: 'XPF CFP franak' }),\r\n intl.formatMessage({ defaultMessage: 'YER jemenski rijal' }),\r\n intl.formatMessage({ defaultMessage: 'ZAR rand' }),\r\n intl.formatMessage({ defaultMessage: 'ZMW zambijska kvača' }) \r\n].map((currency) => ({ value: currency, label: currency })), [intl])\r\nexport const countries = [\r\n { label: 'Australija', value: 'AU' },\r\n { label: 'Austrija', value: 'AT' },\r\n { label: 'Bosna i Hercegovina', value: 'BA' },\r\n { label: 'Belgija', value: 'BE' },\r\n { label: 'Bugarska', value: 'BG' },\r\n { label: 'Cipar', value: 'CY' },\r\n { label: 'Crna Gora', value: 'MN' },\r\n { label: 'Češka', value: 'CZ' },\r\n { label: 'Kanada', value: 'CA' },\r\n { label: 'Njemačka', value: 'DE' },\r\n { label: 'Danska', value: 'DK' },\r\n { label: 'Estonija', value: 'EE' },\r\n { label: 'Finska', value: 'FI' },\r\n { label: 'Francuska', value: 'FR' },\r\n { label: 'Grčka', value: 'EL' },\r\n { label: 'Irska', value: 'IE' },\r\n { label: 'Island', value: 'IS' },\r\n { label: 'Italija', value: 'IT' },\r\n { label: 'Južna Koreja', value: 'KR' },\r\n { label: 'Latvija', value: 'LV' },\r\n { label: 'Lihteštajn', value: 'LI' },\r\n { label: 'Litva', value: 'LT' },\r\n { label: 'Luksemburg', value: 'LU' },\r\n { label: 'Mađarska', value: 'HU' },\r\n { label: 'Malta', value: 'MT' },\r\n { label: 'Nizozemska', value: 'NL' },\r\n { label: 'Norveška', value: 'NO' },\r\n { label: 'Poljska', value: 'PL' },\r\n { label: 'Portugal', value: 'PT' },\r\n { label: 'Rumunjska', value: 'RO' },\r\n { label: 'Sjeverna Makedonija', value: 'MK' },\r\n { label: 'Slovačka', value: 'SK' },\r\n { label: 'Slovenija', value: 'SI' },\r\n { label: 'Srbija', value: 'RS' },\r\n { label: 'Španjolska', value: 'ES' },\r\n { label: 'Švedska', value: 'SE' },\r\n { label: 'Švicarska', value: 'CH' },\r\n { label: 'Turska', value: 'TR' },\r\n { label: 'Ujedinjeno Kraljevstvo ', value: 'GB' },\r\n { label: 'Kosovo', value: 'XK' },\r\n]\r\n\r\nexport const currencies = [\r\n { label: 'euro', value: 'EUR' },\r\n { label: 'australski dolar', value: 'AUD' },\r\n { label: 'kanadski dolar', value: 'CAD' },\r\n { label: 'švicarski franak', value: 'CHF' },\r\n { label: 'češka kruna', value: 'CZK' },\r\n { label: 'danska kruna', value: 'DKK' },\r\n { label: 'britanska funta', value: 'GBP' },\r\n { label: 'mađarska forinta', value: 'HUF' },\r\n { label: 'poljski zlot', value: 'PLN' },\r\n { label: 'norveška kruna', value: 'NOK' },\r\n { label: 'švedska kruna', value: 'SEK' },\r\n { label: 'konvertibilna marka', value: 'BAM' },\r\n { label: 'srpski dinar', value: 'RSD' },\r\n { label: 'sjeverno makedonski denar', value: 'MKD' },\r\n { label: 'turska lira ', value: 'TRY' },\r\n { label: 'korejski won', value: 'KRW' },\r\n { label: 'bugarski lev', value: 'BGN' },\r\n { label: 'islandska kruna', value: 'ISK' },\r\n { label: 'rumunjski leu ', value: 'RON' }\r\n]\r\n\r\nexport const useAllCountriesOptions = (intl: IntlShape) => useMemo((): ISelectOption[] => [\r\n intl.formatMessage({ defaultMessage: 'Afghanistan' }),\r\n intl.formatMessage({ defaultMessage: 'Åland' }),\r\n intl.formatMessage({ defaultMessage: 'Albania' }),\r\n intl.formatMessage({ defaultMessage: 'Algeria' }),\r\n intl.formatMessage({ defaultMessage: 'American' }),\r\n intl.formatMessage({ defaultMessage: 'Andorra' }),\r\n intl.formatMessage({ defaultMessage: 'Angola' }),\r\n intl.formatMessage({ defaultMessage: 'Anguilla' }),\r\n intl.formatMessage({ defaultMessage: 'Antarctica' }),\r\n intl.formatMessage({ defaultMessage: 'Antigua' }),\r\n intl.formatMessage({ defaultMessage: 'Argentina' }),\r\n intl.formatMessage({ defaultMessage: 'Armenia' }),\r\n intl.formatMessage({ defaultMessage: 'Aruba' }),\r\n intl.formatMessage({ defaultMessage: 'Australia' }),\r\n intl.formatMessage({ defaultMessage: 'Austria' }),\r\n intl.formatMessage({ defaultMessage: 'Azerbaijan' }),\r\n intl.formatMessage({ defaultMessage: 'Bahamas' }),\r\n intl.formatMessage({ defaultMessage: 'Bahrain' }),\r\n intl.formatMessage({ defaultMessage: 'Bangladesh' }),\r\n intl.formatMessage({ defaultMessage: 'Barbados' }),\r\n intl.formatMessage({ defaultMessage: 'Belarus' }),\r\n intl.formatMessage({ defaultMessage: 'Belgium' }),\r\n intl.formatMessage({ defaultMessage: 'Belize' }),\r\n intl.formatMessage({ defaultMessage: 'Benin' }),\r\n intl.formatMessage({ defaultMessage: 'Bermuda' }),\r\n intl.formatMessage({ defaultMessage: 'Bhutan' }),\r\n intl.formatMessage({ defaultMessage: 'Bolivia, Plurinational State of' }),\r\n intl.formatMessage({ defaultMessage: 'Bonaire, Sint Eustatius and Saba' }),\r\n intl.formatMessage({ defaultMessage: 'Bosnia and Herzegovina' }),\r\n intl.formatMessage({ defaultMessage: 'Botswana' }),\r\n intl.formatMessage({ defaultMessage: 'Bouvet Island' }),\r\n intl.formatMessage({ defaultMessage: 'Brazil' }),\r\n intl.formatMessage({ defaultMessage: 'British Indian Ocean Territory' }),\r\n intl.formatMessage({ defaultMessage: 'Brunei Darussalam' }),\r\n intl.formatMessage({ defaultMessage: 'Bulgaria' }),\r\n intl.formatMessage({ defaultMessage: 'Burkina Faso' }),\r\n intl.formatMessage({ defaultMessage: 'Burundi' }),\r\n intl.formatMessage({ defaultMessage: 'Cambodia' }),\r\n intl.formatMessage({ defaultMessage: 'Cameroon' }),\r\n intl.formatMessage({ defaultMessage: 'Canada' }),\r\n intl.formatMessage({ defaultMessage: 'Cape Verde' }),\r\n intl.formatMessage({ defaultMessage: 'Cayman Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Central African Republic' }),\r\n intl.formatMessage({ defaultMessage: 'Chad' }),\r\n intl.formatMessage({ defaultMessage: 'Chile' }),\r\n intl.formatMessage({ defaultMessage: 'China' }),\r\n intl.formatMessage({ defaultMessage: 'Christmas Island' }),\r\n intl.formatMessage({ defaultMessage: 'Cocos (Keeling) Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Colombia' }),\r\n intl.formatMessage({ defaultMessage: 'Comoros' }),\r\n intl.formatMessage({ defaultMessage: 'Congo' }),\r\n intl.formatMessage({ defaultMessage: 'Congo, the Democratic Republic of the' }),\r\n intl.formatMessage({ defaultMessage: 'Cook Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Costa Rica' }),\r\n intl.formatMessage({ defaultMessage: 'Côte d\\'Ivoire' }),\r\n intl.formatMessage({ defaultMessage: 'Croatia' }),\r\n intl.formatMessage({ defaultMessage: 'Cuba' }),\r\n intl.formatMessage({ defaultMessage: 'Curaçao' }),\r\n intl.formatMessage({ defaultMessage: 'Cyprus' }),\r\n intl.formatMessage({ defaultMessage: 'Czech Republic' }),\r\n intl.formatMessage({ defaultMessage: 'Denmark' }),\r\n intl.formatMessage({ defaultMessage: 'Djibouti' }),\r\n intl.formatMessage({ defaultMessage: 'Dominica' }),\r\n intl.formatMessage({ defaultMessage: 'Dominican Republic' }),\r\n intl.formatMessage({ defaultMessage: 'Ecuador' }),\r\n intl.formatMessage({ defaultMessage: 'Egypt' }),\r\n intl.formatMessage({ defaultMessage: 'El Salvador' }),\r\n intl.formatMessage({ defaultMessage: 'Equatorial Guinea' }),\r\n intl.formatMessage({ defaultMessage: 'Eritrea' }),\r\n intl.formatMessage({ defaultMessage: 'Estonia' }),\r\n intl.formatMessage({ defaultMessage: 'Ethiopia' }),\r\n intl.formatMessage({ defaultMessage: 'Falkland Islands (Malvinas)' }),\r\n intl.formatMessage({ defaultMessage: 'Faroe Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Fiji' }),\r\n intl.formatMessage({ defaultMessage: 'Finland' }),\r\n intl.formatMessage({ defaultMessage: 'France' }),\r\n intl.formatMessage({ defaultMessage: 'French Guiana' }),\r\n intl.formatMessage({ defaultMessage: 'French Polynesia' }),\r\n intl.formatMessage({ defaultMessage: 'French Southern Territories' }),\r\n intl.formatMessage({ defaultMessage: 'Gabon' }),\r\n intl.formatMessage({ defaultMessage: 'Gambia' }),\r\n intl.formatMessage({ defaultMessage: 'Georgia' }),\r\n intl.formatMessage({ defaultMessage: 'Germany' }),\r\n intl.formatMessage({ defaultMessage: 'Ghana' }),\r\n intl.formatMessage({ defaultMessage: 'Gibraltar' }),\r\n intl.formatMessage({ defaultMessage: 'Greece' }),\r\n intl.formatMessage({ defaultMessage: 'Greenland' }),\r\n intl.formatMessage({ defaultMessage: 'Grenada' }),\r\n intl.formatMessage({ defaultMessage: 'Guadeloupe' }),\r\n intl.formatMessage({ defaultMessage: 'Guam' }),\r\n intl.formatMessage({ defaultMessage: 'Guatemala' }),\r\n intl.formatMessage({ defaultMessage: 'Guernsey' }),\r\n intl.formatMessage({ defaultMessage: 'Guinea' }),\r\n intl.formatMessage({ defaultMessage: 'Guinea-Bissau' }),\r\n intl.formatMessage({ defaultMessage: 'Guyana' }),\r\n intl.formatMessage({ defaultMessage: 'Haiti' }),\r\n intl.formatMessage({ defaultMessage: 'Heard Island and McDonald Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Holy See (Vatican City State)' }),\r\n intl.formatMessage({ defaultMessage: 'Honduras' }),\r\n intl.formatMessage({ defaultMessage: 'Hong Kong' }),\r\n intl.formatMessage({ defaultMessage: 'Hungary' }),\r\n intl.formatMessage({ defaultMessage: 'Iceland' }),\r\n intl.formatMessage({ defaultMessage: 'India' }),\r\n intl.formatMessage({ defaultMessage: 'Indonesia' }),\r\n intl.formatMessage({ defaultMessage: 'Iran, Islamic Republic of' }),\r\n intl.formatMessage({ defaultMessage: 'Iraq' }),\r\n intl.formatMessage({ defaultMessage: 'Ireland,' }),\r\n intl.formatMessage({ defaultMessage: 'Isle of Man' }),\r\n intl.formatMessage({ defaultMessage: 'Israel' }),\r\n intl.formatMessage({ defaultMessage: 'Italy' }),\r\n intl.formatMessage({ defaultMessage: 'Jamaica' }),\r\n intl.formatMessage({ defaultMessage: 'Japan' }),\r\n intl.formatMessage({ defaultMessage: 'Jersey' }),\r\n intl.formatMessage({ defaultMessage: 'Jordan' }),\r\n intl.formatMessage({ defaultMessage: 'Kazakhstan' }),\r\n intl.formatMessage({ defaultMessage: 'Kenya' }),\r\n intl.formatMessage({ defaultMessage: 'Kiribati' }),\r\n intl.formatMessage({ defaultMessage: 'Korea, Democratic People\\'s Republic of' }),\r\n intl.formatMessage({ defaultMessage: 'Korea, Republic of' }),\r\n intl.formatMessage({ defaultMessage: 'Kuwait' }),\r\n intl.formatMessage({ defaultMessage: 'Kyrgyzstan' }),\r\n intl.formatMessage({ defaultMessage: 'Lao People\\'s Democratic Republic' }),\r\n intl.formatMessage({ defaultMessage: 'Latvia' }),\r\n intl.formatMessage({ defaultMessage: 'Lebanon' }),\r\n intl.formatMessage({ defaultMessage: 'Lesotho' }),\r\n intl.formatMessage({ defaultMessage: 'Liberia' }),\r\n intl.formatMessage({ defaultMessage: 'Libya' }),\r\n intl.formatMessage({ defaultMessage: 'Liechtenstein' }),\r\n intl.formatMessage({ defaultMessage: 'Lithuania' }),\r\n intl.formatMessage({ defaultMessage: 'Luxembourg' }),\r\n intl.formatMessage({ defaultMessage: 'Macao' }),\r\n intl.formatMessage({ defaultMessage: 'Macedonia, the Former Yugoslav Republic of' }),\r\n intl.formatMessage({ defaultMessage: 'Madagascar' }),\r\n intl.formatMessage({ defaultMessage: 'Malawi' }),\r\n intl.formatMessage({ defaultMessage: 'Malaysia' }),\r\n intl.formatMessage({ defaultMessage: 'Maldives' }),\r\n intl.formatMessage({ defaultMessage: 'Mali' }),\r\n intl.formatMessage({ defaultMessage: 'Malta' }),\r\n intl.formatMessage({ defaultMessage: 'Marshall Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Martinique' }),\r\n intl.formatMessage({ defaultMessage: 'Mauritania' }),\r\n intl.formatMessage({ defaultMessage: 'Mauritius' }),\r\n intl.formatMessage({ defaultMessage: 'Mayotte' }),\r\n intl.formatMessage({ defaultMessage: 'Mexico' }),\r\n intl.formatMessage({ defaultMessage: 'Micronesia, Federated States of' }),\r\n intl.formatMessage({ defaultMessage: 'Moldova, Republic of' }),\r\n intl.formatMessage({ defaultMessage: 'Monaco' }),\r\n intl.formatMessage({ defaultMessage: 'Mongolia' }),\r\n intl.formatMessage({ defaultMessage: 'Montenegro' }),\r\n intl.formatMessage({ defaultMessage: 'Montserrat' }),\r\n intl.formatMessage({ defaultMessage: 'Morocco' }),\r\n intl.formatMessage({ defaultMessage: 'Mozambique' }),\r\n intl.formatMessage({ defaultMessage: 'Myanmar' }),\r\n intl.formatMessage({ defaultMessage: 'Namibia' }),\r\n intl.formatMessage({ defaultMessage: 'Nauru' }),\r\n intl.formatMessage({ defaultMessage: 'Nepal' }),\r\n intl.formatMessage({ defaultMessage: 'Netherlands' }),\r\n intl.formatMessage({ defaultMessage: 'New Caledonia' }),\r\n intl.formatMessage({ defaultMessage: 'New Zealand' }),\r\n intl.formatMessage({ defaultMessage: 'Nicaragua' }),\r\n intl.formatMessage({ defaultMessage: 'Niger' }),\r\n intl.formatMessage({ defaultMessage: 'Nigeria' }),\r\n intl.formatMessage({ defaultMessage: 'Niue' }),\r\n intl.formatMessage({ defaultMessage: 'Norfolk Island' }),\r\n intl.formatMessage({ defaultMessage: 'Northern Mariana Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Norway' }),\r\n intl.formatMessage({ defaultMessage: 'Oman' }),\r\n intl.formatMessage({ defaultMessage: 'Pakistan' }),\r\n intl.formatMessage({ defaultMessage: 'Palau' }),\r\n intl.formatMessage({ defaultMessage: 'Palestine' }),\r\n intl.formatMessage({ defaultMessage: 'Panama' }),\r\n intl.formatMessage({ defaultMessage: 'Papua New Guinea' }),\r\n intl.formatMessage({ defaultMessage: 'Paraguay' }),\r\n intl.formatMessage({ defaultMessage: 'Peru' }),\r\n intl.formatMessage({ defaultMessage: 'Philippines' }),\r\n intl.formatMessage({ defaultMessage: 'Pitcairn' }),\r\n intl.formatMessage({ defaultMessage: 'Poland' }),\r\n intl.formatMessage({ defaultMessage: 'Portugal' }),\r\n intl.formatMessage({ defaultMessage: 'Puerto Rico' }),\r\n intl.formatMessage({ defaultMessage: 'Qatar' }),\r\n intl.formatMessage({ defaultMessage: 'Réunion' }),\r\n intl.formatMessage({ defaultMessage: 'Romania' }),\r\n intl.formatMessage({ defaultMessage: 'Russian Federation' }),\r\n intl.formatMessage({ defaultMessage: 'Rwanda' }),\r\n intl.formatMessage({ defaultMessage: 'Saint Barthélemy' }),\r\n intl.formatMessage({ defaultMessage: 'Saint Helena, Ascension and Tristan da Cunha' }),\r\n intl.formatMessage({ defaultMessage: 'Saint Kitts and Nevis' }),\r\n intl.formatMessage({ defaultMessage: 'Saint Lucia' }),\r\n intl.formatMessage({ defaultMessage: 'Saint Martin (French part)' }),\r\n intl.formatMessage({ defaultMessage: 'Saint Pierre and Miquelon' }),\r\n intl.formatMessage({ defaultMessage: 'Saint Vincent and the Grenadines' }),\r\n intl.formatMessage({ defaultMessage: 'Samoa' }),\r\n intl.formatMessage({ defaultMessage: 'San Marino' }),\r\n intl.formatMessage({ defaultMessage: 'Sao Tome and Principe' }),\r\n intl.formatMessage({ defaultMessage: 'Saudi Arabia' }),\r\n intl.formatMessage({ defaultMessage: 'Senegal' }),\r\n intl.formatMessage({ defaultMessage: 'Serbia' }),\r\n intl.formatMessage({ defaultMessage: 'Seychelles' }),\r\n intl.formatMessage({ defaultMessage: 'Sierra Leone' }),\r\n intl.formatMessage({ defaultMessage: 'Singapore' }),\r\n intl.formatMessage({ defaultMessage: 'Sint Maarten (Dutch part)' }),\r\n intl.formatMessage({ defaultMessage: 'Slovakia' }),\r\n intl.formatMessage({ defaultMessage: 'Slovenia' }),\r\n intl.formatMessage({ defaultMessage: 'Solomon Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Somalia' }),\r\n intl.formatMessage({ defaultMessage: 'South Africa' }),\r\n intl.formatMessage({ defaultMessage: 'South Georgia and the South Sandwich Islands' }),\r\n intl.formatMessage({ defaultMessage: 'South Sudan' }),\r\n intl.formatMessage({ defaultMessage: 'Spain' }),\r\n intl.formatMessage({ defaultMessage: 'Sri Lanka' }),\r\n intl.formatMessage({ defaultMessage: 'Sudan' }),\r\n intl.formatMessage({ defaultMessage: 'Suriname' }),\r\n intl.formatMessage({ defaultMessage: 'Svalbard and Jan Mayen' }),\r\n intl.formatMessage({ defaultMessage: 'Swaziland' }),\r\n intl.formatMessage({ defaultMessage: 'Sweden' }),\r\n intl.formatMessage({ defaultMessage: 'Switzerland' }),\r\n intl.formatMessage({ defaultMessage: 'Syrian Arab Republic' }),\r\n intl.formatMessage({ defaultMessage: 'Taiwan, Province of China' }),\r\n intl.formatMessage({ defaultMessage: 'Tajikistan' }),\r\n intl.formatMessage({ defaultMessage: 'Tanzania, United Republic of' }),\r\n intl.formatMessage({ defaultMessage: 'Thailand' }),\r\n intl.formatMessage({ defaultMessage: 'Timor-Leste' }),\r\n intl.formatMessage({ defaultMessage: 'Togo' }),\r\n intl.formatMessage({ defaultMessage: 'Tokelau' }),\r\n intl.formatMessage({ defaultMessage: 'Tonga' }),\r\n intl.formatMessage({ defaultMessage: 'Trinidad and Tobago' }),\r\n intl.formatMessage({ defaultMessage: 'Tunisia' }),\r\n intl.formatMessage({ defaultMessage: 'Turkey' }),\r\n intl.formatMessage({ defaultMessage: 'Turkmenistan' }),\r\n intl.formatMessage({ defaultMessage: 'Turks and Caicos Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Tuvalu' }),\r\n intl.formatMessage({ defaultMessage: 'Uganda' }),\r\n intl.formatMessage({ defaultMessage: 'Ukraine' }),\r\n intl.formatMessage({ defaultMessage: 'United Arab Emirates' }),\r\n intl.formatMessage({ defaultMessage: 'United Kingdom' }),\r\n intl.formatMessage({ defaultMessage: 'United States' }),\r\n intl.formatMessage({ defaultMessage: 'United States Minor Outlying Islands' }),\r\n intl.formatMessage({ defaultMessage: 'Uruguay' }),\r\n intl.formatMessage({ defaultMessage: 'Uzbekistan' }),\r\n intl.formatMessage({ defaultMessage: 'Vanuatu' }),\r\n intl.formatMessage({ defaultMessage: 'Venezuela, Bolivarian Republic of' }),\r\n intl.formatMessage({ defaultMessage: 'Viet Nam' }),\r\n intl.formatMessage({ defaultMessage: 'Virgin Islands, British' }),\r\n intl.formatMessage({ defaultMessage: 'Virgin Islands, U.S.' }),\r\n intl.formatMessage({ defaultMessage: 'Wallis and Futuna' }),\r\n intl.formatMessage({ defaultMessage: 'Western Sahara' }),\r\n intl.formatMessage({ defaultMessage: 'Yemen' }),\r\n intl.formatMessage({ defaultMessage: 'Zambia' }),\r\n intl.formatMessage({ defaultMessage: 'Zimbabwe' }),\r\n].map((country) => ({ value: country, label: country })), [intl])\r\n","import classnames from 'classnames'\r\nimport { FieldValidator } from 'final-form'\r\nimport React, { useCallback, useRef } from 'react'\r\nimport { Field } from 'react-final-form'\r\nimport { useIntl } from 'react-intl'\r\nimport { defaultProps } from 'react-select/src/Select'\r\n\r\nimport styles from './Input.module.css'\r\n\r\ninterface IInputProps {\r\n label?: string\r\n className?: string\r\n name: string\r\n placeholder?: string\r\n optional?: boolean\r\n ariaDescription?: string\r\n type?: 'date' | 'text' | 'number'\r\n disabled?: boolean,\r\n hidden?: boolean,\r\n maxLength?: number,\r\n max?: number,\r\n min?: number,\r\n dependantValue?: any,\r\n validate?: FieldValidator\r\n onBlur?: (event: React.FocusEvent | undefined) => void\r\n}\r\n\r\nexport const Input: React.FC = ({\r\n type = 'text',\r\n disabled = false,\r\n hidden = false,\r\n optional = false,\r\n name,\r\n label,\r\n max,\r\n min,\r\n placeholder,\r\n ariaDescription,\r\n className = '',\r\n validate = undefined,\r\n onBlur = _ => {},\r\n maxLength,\r\n}) => {\r\n\r\n const requiredValidation = useCallback((value: string, _allValues: any) => {\r\n if (!optional && (value == null || value === '')) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [ optional])\r\n\r\n const validatorRef = useRef>((value: string, allValues: any) => {\r\n const validations: Array> = []\r\n\r\n if (!optional) {\r\n validations.push(requiredValidation)\r\n }\r\n if (validate != null) {\r\n validations.push(validate)\r\n }\r\n\r\n return validations.reduce((message: string | undefined, fn) => (\r\n message == null\r\n ? fn(value, allValues)\r\n : message\r\n ), undefined)\r\n })\r\n\r\n return (\r\n \r\n {({ input, meta }) => (\r\n
\r\n { label && !hidden && }\r\n
\r\n )}\r\n \r\n )\r\n}","import classnames from 'classnames'\r\nimport { FieldValidator } from 'final-form'\r\nimport React, { useCallback, useRef } from 'react'\r\nimport { Field } from 'react-final-form'\r\nimport { useIntl } from 'react-intl'\r\nimport ReactSelect from 'react-select'\r\n\r\nimport styles from './Select.module.css'\r\n\r\nexport interface ISelectOption {\r\n value: string\r\n label: string\r\n name?: string\r\n}\r\n\r\ninterface ISelectProps {\r\n label?: string\r\n className?: string\r\n name: string\r\n placeholder?: string\r\n optional?: boolean\r\n ariaDescription?: string\r\n disabled?: boolean\r\n validate?: FieldValidator\r\n options: ISelectOption[],\r\n hidden?: boolean,\r\n}\r\n\r\nexport const Select: React.FC = ({\r\n disabled = false,\r\n optional = false,\r\n name,\r\n label,\r\n placeholder,\r\n ariaDescription,\r\n className = '',\r\n validate = undefined,\r\n options,\r\n hidden = false,\r\n}) => {\r\n const requiredValidation = useCallback((value: string, _allValues: any) => {\r\n if (!optional && (value == null || value === '')) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [optional])\r\n\r\n const validatorRef = useRef>((value: string, allValues: any) => {\r\n const validations: Array> = []\r\n\r\n if (!optional) {\r\n validations.push(requiredValidation)\r\n }\r\n if (validate != null) {\r\n validations.push(validate)\r\n }\r\n\r\n return validations.reduce((message: string | undefined, fn) => (\r\n message == null\r\n ? fn(value, allValues)\r\n : message\r\n ), undefined)\r\n })\r\n\r\n return (\r\n \r\n {({ input, meta }) => (\r\n \r\n )}\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport FlipMove from 'react-flip-move';\r\n\r\nimport UploadIcon from './UploadIcon.svg';\r\nimport './MultiFileUploader.css';\r\n\r\nconst styles = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n flexWrap: 'wrap',\r\n width: '100%'\r\n};\r\n\r\nconst ERROR = {\r\n NOT_SUPPORTED_EXTENSION: 'NOT_SUPPORTED_EXTENSION',\r\n FILESIZE_TOO_LARGE: 'FILESIZE_TOO_LARGE'\r\n}\r\n\r\nconst IMAGE_FILE_EXTENSION = /\\.(:?png|gif|bmp|jpg|jpeg)(:?\\?*)?$/i\r\n\r\ninterface IMultiFileUploaderProps {\r\n style: React.CSSProperties,\r\n fileContainerStyle: React.CSSProperties,\r\n className: string,\r\n onChange: (files: File[], filenames: string[]) => void\r\n buttonClassName: string,\r\n buttonStyles: React.CSSProperties,\r\n buttonType: 'button' | 'submit' | 'reset',\r\n withPreview: boolean,\r\n accept: string,\r\n name: string,\r\n withIcon: boolean,\r\n buttonText: string,\r\n withLabel: boolean,\r\n label: string,\r\n labelStyles: React.CSSProperties,\r\n labelClass: string,\r\n fileExtensions: string[],\r\n maxFileSize: number,\r\n fileSizeError: string,\r\n fileTypeError: string,\r\n errorClass: string,\r\n errorStyle: React.CSSProperties,\r\n singleFile: boolean,\r\n filenames: string[],\r\n}\r\n\r\ninterface IMultiFileUploaderState {\r\n filenames: string[]\r\n files: File[]\r\n fileErrors: { type: string, name: string }[]\r\n}\r\n\r\nclass MultiFileUploaderComponent extends React.Component {\r\n static defaultProps = {\r\n className: '',\r\n fileContainerStyle: {},\r\n buttonClassName: '',\r\n buttonStyles: {},\r\n withPreview: false,\r\n accept: 'image/*',\r\n name: '',\r\n withIcon: true,\r\n buttonText: 'Choose images',\r\n buttonType: 'button',\r\n withLabel: true,\r\n label: 'Max file size: 5mb, accepted: jpg|gif|png',\r\n labelStyles: {},\r\n labelClass: '',\r\n fileExtension: ['.jpg', '.jpeg', '.gif', '.png'],\r\n maxFileSize: 5242880,\r\n fileSizeError: ' file size is too big',\r\n fileTypeError: ' is not a supported file extension',\r\n errorClass: '',\r\n style: {},\r\n errorStyle: {},\r\n singleFile: false,\r\n onChange: () => {},\r\n defaultFiles: []\r\n }\r\n\r\n private inputElement: HTMLInputElement | null = null;\r\n\r\n public state: IMultiFileUploaderState = {\r\n filenames: [...this.props.filenames ?? []],\r\n files: [],\r\n fileErrors: []\r\n }\r\n\r\n public componentDidUpdate(prevProps: IMultiFileUploaderProps, prevState: IMultiFileUploaderState) {\r\n if(prevProps.filenames !== this.props.filenames){\r\n this.setState({filenames: prevProps.filenames}, () => {\r\n if(prevState.files !== this.state.files){\r\n this.props.onChange(this.state.files, this.state.filenames);\r\n }\r\n });\r\n } else {\r\n if(prevState.files !== this.state.files){\r\n this.props.onChange(this.state.files, this.state.filenames);\r\n }\r\n }\r\n }\r\n\r\n private hasExtension = (fileName: string) => {\r\n const pattern = '(' + this.props.fileExtensions.join('|').replace(/\\./g, '\\\\.') + ')$';\r\n return new RegExp(pattern, 'i').test(fileName);\r\n }\r\n\r\n private onDropFile = (event: React.SyntheticEvent) => {\r\n const files = event.currentTarget.files ?? [];\r\n const allFilePromises = [];\r\n const fileErrors: { type: string, name: string }[] = [];\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n let fileError = {\r\n name: file.name,\r\n type: '',\r\n };\r\n\r\n if (!this.hasExtension(file.name)) {\r\n fileError = {\r\n ...fileError,\r\n type: ERROR.NOT_SUPPORTED_EXTENSION,\r\n }\r\n fileErrors.push(fileError);\r\n continue;\r\n }\r\n\r\n if(file.size > this.props.maxFileSize) {\r\n fileError = {\r\n ...fileError,\r\n type: ERROR.FILESIZE_TOO_LARGE\r\n }\r\n fileErrors.push(fileError);\r\n continue;\r\n }\r\n\r\n allFilePromises.push(this.readFile(file));\r\n }\r\n\r\n this.setState({\r\n fileErrors\r\n });\r\n\r\n const { singleFile } = this.props;\r\n\r\n Promise.all(allFilePromises).then((newFilesData) => {\r\n const dataURLs = singleFile?[]:this.state.filenames.slice();\r\n const files = singleFile?[]:this.state.files.slice();\r\n\r\n newFilesData.forEach(newFileData => {\r\n dataURLs.push(newFileData.dataURL);\r\n files.push(newFileData.file);\r\n });\r\n\r\n this.setState({filenames: dataURLs, files: files});\r\n });\r\n }\r\n\r\n private onUploadClick = (event: any) => {\r\n event.target.value = null;\r\n }\r\n\r\n private readFile = (file: File) =>\r\n new Promise<{ file: File, dataURL: string }>((resolve) => {\r\n const reader = new FileReader()\r\n\r\n reader.onload = (event) => {\r\n let dataURL = event.target!.result as string\r\n dataURL = dataURL.replace(';base64', `;name=${file.name};base64`)\r\n resolve({ file, dataURL })\r\n }\r\n\r\n reader.readAsDataURL(file)\r\n })\r\n\r\n private removeFile(filename: string) {\r\n const removeIndex = this.state.filenames.findIndex(e => e === filename);\r\n const filteredFilenames = this.state.filenames.filter((_, index) => index !== removeIndex);\r\n const filteredFiles = this.state.files.filter((_, index) => index !== removeIndex);\r\n\r\n this.setState({filenames: filteredFilenames, files: filteredFiles}, () => {\r\n this.props.onChange(this.state.files, this.state.filenames);\r\n });\r\n }\r\n\r\n private renderErrors = () => {\r\n const { fileErrors } = this.state;\r\n return fileErrors.map((fileError, index) => {\r\n return (\r\n
\r\n * {fileError.name} {fileError.type === ERROR.FILESIZE_TOO_LARGE ? this.props.fileSizeError: this.props.fileTypeError}\r\n
\r\n );\r\n });\r\n }\r\n\r\n private renderIcon = () =>\r\n this.props.withIcon\r\n ? \r\n : null\r\n\r\n private renderLabel = () =>\r\n this.props.withLabel\r\n ?

{this.props.label}

\r\n : null\r\n\r\n private renderPreview = () =>\r\n
\r\n \r\n { this.renderPreviewPictures() }\r\n \r\n
\r\n\r\n private isImage = (filename: string) =>\r\n IMAGE_FILE_EXTENSION.test(this.sanitizeBlobName(filename))\r\n\r\n private sanitizeBlobName = (blobName: string) =>\r\n blobName.split(';name=')[1].split(';')[0]\r\n\r\n private renderPreviewPictures = () => {\r\n return this.state.filenames.map((filename, index) => {\r\n return (\r\n
\r\n
this.removeFile(filename)}>X
\r\n { /* FIXME: preview .PDF or whatnot for non-image files */ }\r\n { this.isImage(filename)\r\n ? preview\r\n :
{this.sanitizeBlobName(filename)}
}\r\n
\r\n );\r\n });\r\n }\r\n\r\n private triggerFileUpload = () => {\r\n this.inputElement?.click();\r\n }\r\n\r\n private onInputRef = (input: HTMLInputElement | null) => {\r\n this.inputElement = input\r\n }\r\n\r\n public render() {\r\n return (\r\n
\r\n
\r\n {this.renderIcon()}\r\n {this.renderLabel()}\r\n
\r\n {this.renderErrors()}\r\n
\r\n \r\n {this.props.buttonText}\r\n \r\n \r\n { this.props.withPreview ? this.renderPreview() : null }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport const MultiFileUploader = MultiFileUploaderComponent as React.ComponentClass>\r\n\r\n","import classnames from 'classnames'\r\nimport { FieldValidator } from 'final-form'\r\nimport React, {useCallback, useRef} from 'react'\r\nimport { Field } from 'react-final-form'\r\nimport { useIntl } from 'react-intl'\r\n\r\nimport { MultiFileUploader } from './MultiFileUploader'\r\n\r\nimport styles from './Attachments.module.css'\r\n\r\ninterface IAttachmentsInput {\r\n name: string\r\n onChange: (files: File[], pictures: string[]) => void\r\n value: HTMLImageElement[]\r\n supportedExtensions?: string[],\r\n}\r\n\r\nconst DEFAULT_SUPPORTED_EXTENSIONS = [\r\n '.jpg',\r\n '.jpeg',\r\n '.png',\r\n '.gif',\r\n //'.zip',\r\n '.pdf',\r\n]\r\n\r\nconst AttachmentsInput: React.FC = ({\r\n onChange,\r\n name,\r\n value,\r\n supportedExtensions = DEFAULT_SUPPORTED_EXTENSIONS,\r\n}) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\ninterface IAttachmentsProps {\r\n label?: string\r\n className?: string\r\n name: string\r\n placeholder?: string\r\n optional?: boolean\r\n ariaDescription?: string\r\n disabled?: boolean,\r\n dependantValue?: any,\r\n validate?: FieldValidator,\r\n}\r\n\r\nexport const Attachments: React.FC = ({\r\n name,\r\n label,\r\n ariaDescription,\r\n className = '',\r\n validate = undefined,\r\n optional= false,\r\n}) => {\r\n const requiredValidation = useCallback((value: HTMLImageElement[], _allValues: any) => {\r\n if (!optional && (value == null || value.length === 0)) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [optional])\r\n\r\n const validatorRef = useRef>((value: HTMLImageElement[], allValues: any) => {\r\n const validations: Array> = []\r\n\r\n if (!optional) {\r\n validations.push(requiredValidation)\r\n }\r\n if (validate != null) {\r\n validations.push(validate)\r\n }\r\n\r\n return validations.reduce((message: string | undefined, fn) => (\r\n message == null\r\n ? fn(value, allValues)\r\n : message\r\n ), undefined)\r\n })\r\n\r\n return (\r\n \r\n {({ input, meta }) => (\r\n
\r\n { label && }\r\n \r\n { meta.touched && meta.error &&
{meta.error} 'Prilozi'
}\r\n { ariaDescription && (\r\n \r\n { ariaDescription }\r\n \r\n ) }\r\n
\r\n )}\r\n \r\n )\r\n}\r\n","import styles from './Recaptcha.module.css'\r\n\r\nimport classnames from 'classnames'\r\nimport {FieldValidator} from 'final-form'\r\nimport React, {useCallback, useImperativeHandle, useRef} from 'react'\r\nimport {Field} from 'react-final-form'\r\nimport {useIntl} from 'react-intl'\r\nimport axios from \"axios\";\r\nimport { off } from 'process'\r\n\r\ninterface IRecaptchaProps {\r\n token?: string\r\n image?: string\r\n label?: string\r\n className?: string\r\n name: string\r\n placeholder?: string\r\n optional?: boolean\r\n ariaDescription?: string\r\n type?: 'date' | 'text' | 'number'\r\n disabled?: boolean,\r\n hidden?: boolean,\r\n maxLength?: number,\r\n dependantValue?: any,\r\n validate?: FieldValidator\r\n onBlur?: (event: React.FocusEvent | undefined) => void,\r\n}\r\n\r\nexport const Recaptcha: React.FC = ({\r\n token,\r\n image,\r\n type = 'text',\r\n disabled = false,\r\n hidden = false,\r\n optional = false,\r\n name,\r\n label,\r\n placeholder,\r\n ariaDescription,\r\n className = '',\r\n validate = undefined,\r\n onBlur = _ => {},\r\n maxLength\r\n }) => {\r\n const imageRef = useRef(image);\r\n const tokenRef = useRef(token);\r\n const forceUpdate = React.useReducer(() => ({}), {})[1] as () => void;\r\n\r\n const requiredValidation = useCallback((value: string, _allValues: any) => {\r\n _allValues[\"captcha-token\"] = tokenRef.current;\r\n if (!optional && (value == null || value === '')) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [optional])\r\n\r\n const validatorRef = useRef>((value: string, allValues: any) => {\r\n const validations: Array> = []\r\n\r\n if (!optional) {\r\n validations.push(requiredValidation)\r\n }\r\n if (validate != null) {\r\n validations.push(validate)\r\n }\r\n\r\n return validations.reduce((message: string | undefined, fn) => (\r\n message == null\r\n ? fn(value, allValues)\r\n : message\r\n ), undefined)\r\n })\r\n\r\n function reloadCaptcha() {\r\n axios.get(\r\n //\"http://localhost:5000/v/1/integrator/captcha\",\r\n //\"https://e-usluge-test.mirovinsko.hr/v/1/integrator/captcha\",\r\n window.location.origin + \"/v/1/integrator/captcha\",\r\n //\"https://e-usluge-test.mirovinsko.hr/v/1/integrator/captcha\",\r\n {headers: {'content-type': 'application/json'}},\r\n ).then(r => {\r\n imageRef.current = \"data:image/png;base64,\" + r?.data.Image;\r\n tokenRef.current = r?.data.Token;\r\n forceUpdate();\r\n });\r\n }\r\n\r\n React.useEffect(( ) => {\r\n reloadCaptcha();\r\n }, []);\r\n\r\n return (\r\n \r\n {({input, meta}) => (\r\n
\r\n {label && !hidden && }\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )}\r\n \r\n )\r\n}\r\n","import classnames from 'classnames'\r\nimport React, {ChangeEvent, useCallback, useRef} from 'react'\r\nimport { Field } from 'react-final-form'\r\nimport { useIntl } from 'react-intl'\r\n\r\nimport styles from './Checkbox.module.css'\r\nimport {FieldValidator} from \"final-form\";\r\n\r\ninterface ICheckboxProps {\r\n label?: string | React.ComponentElement,\r\n name: string\r\n placeholder?: string\r\n optional?: boolean\r\n forceUppercase?: boolean\r\n ariaDescription?: string\r\n type?: 'date' | 'text' | 'number',\r\n disabled?: boolean,\r\n validate?: FieldValidator\r\n}\r\n\r\nconst parseAsUpperCased = (val: string) => val.toUpperCase()\r\n\r\nexport const Checkbox: React.FC = ({\r\n name,\r\n label,\r\n placeholder,\r\n optional,\r\n forceUppercase,\r\n ariaDescription,\r\n validate = undefined,\r\n}) => {\r\n const requiredValidation = useCallback((value: string) => {\r\n if (!optional && (value == null || value === '')) {\r\n return 'Required field'\r\n }\r\n\r\n return undefined\r\n }, [optional])\r\n\r\n const validatorRef = useRef>((value: string, allValues: any) => {\r\n const validations: Array> = []\r\n\r\n if (!optional) {\r\n validations.push(requiredValidation)\r\n }\r\n if (validate != null) {\r\n validations.push(validate)\r\n }\r\n\r\n return validations.reduce((message: string | undefined, fn) => (\r\n message == null\r\n ? fn(value, allValues)\r\n : message\r\n ), undefined)\r\n })\r\n\r\n return (\r\n \r\n {({ input, meta }) => (\r\n
\r\n {\r\n (event.target as HTMLInputElement).setCustomValidity(\"\");\r\n input.onChange(event);\r\n }}\r\n onInvalid={event => (event.target as HTMLSelectElement).setCustomValidity('Obavezno polje.')}\r\n />\r\n { label && }\r\n { ariaDescription && (\r\n \r\n { ariaDescription }\r\n \r\n ) }\r\n
\r\n )}\r\n \r\n )\r\n}\r\n\r\n","import classnames from 'classnames'\r\nimport { FieldValidator } from 'final-form'\r\nimport React, { useCallback, useRef } from 'react'\r\nimport { Field } from 'react-final-form'\r\nimport { useIntl } from 'react-intl'\r\n\r\nimport 'react-phone-number-input/style.css'\r\nimport PhoneInput from 'react-phone-number-input'\r\nimport styles from './Telephone.module.css'\r\n\r\ninterface ITelephoneProps {\r\n label?: string\r\n className?: string\r\n name: string\r\n placeholder?: string\r\n optional?: boolean\r\n ariaDescription?: string\r\n type?: 'date' | 'text' | 'number'\r\n disabled?: boolean,\r\n dependantValue?: any,\r\n validate?: FieldValidator,\r\n}\r\n\r\nexport const Telephone: React.FC = ({\r\n type = 'text',\r\n disabled = false,\r\n optional = false,\r\n name,\r\n label,\r\n placeholder,\r\n ariaDescription,\r\n className = '',\r\n validate = undefined,\r\n}) => {\r\n const intl = useIntl()\r\n\r\n const requiredValidation = useCallback((value: string, _allValues: any) => {\r\n if (!optional && ([undefined, null, '', '+'].includes(value))) {\r\n return 'Required field'\r\n } else {\r\n return undefined\r\n }\r\n }, [intl, optional])\r\n\r\n const validatorRef = useRef>((value: string, allValues: any) => {\r\n const validations: Array> = []\r\n\r\n if (!optional) {\r\n validations.push(requiredValidation)\r\n }\r\n if (validate != null) {\r\n validations.push(validate)\r\n }\r\n\r\n return validations.reduce((message: string | undefined, fn) => (\r\n message == null\r\n ? fn(value, allValues)\r\n : message\r\n ), undefined)\r\n })\r\n\r\n return (\r\n \r\n {({ input, meta }) => (\r\n
\r\n { label && }\r\n \r\n { meta.touched && meta.error &&
{meta.error}
}\r\n { ariaDescription && (\r\n \r\n { ariaDescription }\r\n \r\n ) }\r\n
\r\n )}\r\n \r\n )\r\n}\r\n","import classnames from 'classnames'\r\nimport React, {useCallback, useRef} from 'react'\r\nimport { Field } from 'react-final-form'\r\nimport { useIntl } from 'react-intl'\r\n\r\nimport styles from './Radio.module.css'\r\nimport {FieldValidator} from \"final-form\";\r\nimport { Popover, OverlayTrigger, Button } from 'react-bootstrap';\r\n\r\ninterface IRadioProps {\r\n label: string\r\n name: string\r\n value: string\r\n optional?: boolean\r\n ariaDescription?: string\r\n disabled? : boolean,\r\n validate?: FieldValidator,\r\n popoverBool?: boolean\r\n}\r\n\r\nexport const Radio: React.FC = ({\r\n name,\r\n label,\r\n value,\r\n optional,\r\n popoverBool = false,\r\n ariaDescription,\r\n disabled = false,\r\n validate = undefined,\r\n\r\n}) => {\r\n const popoverIznosMirovine = (\r\n \r\n \r\n {Molimo upisati iznos mirovine u formatu \"XXXX.YY\".
Za upis decimalnog broja koristiti točku, a ne zarez. (ukoliko je iznos mirovine 2100 kuna i 54 lipe, upisati 2100.54)
} {
}\r\n
\r\n
\r\n );\r\n\r\n const InfoIznosMirovine = () => (\r\n \r\n \r\n \r\n );\r\n\r\n const requiredValidation = useCallback((value: string, _allValues: any) => {\r\n\r\n if (!optional && (value == null || value === '')) {\r\n return 'Required field'\r\n } else {\r\n return undefined\r\n }\r\n }, [optional])\r\n\r\n const validatorRef = useRef>((value: string, allValues: any) => {\r\n const validations: Array> = []\r\n\r\n if (!optional) {\r\n validations.push(requiredValidation)\r\n }\r\n if (validate != null) {\r\n validations.push(validate)\r\n }\r\n\r\n return validations.reduce((message: string | undefined, fn) => (\r\n message == null\r\n ? fn(value, allValues)\r\n : message\r\n ), undefined)\r\n })\r\n\r\n return (\r\n \r\n {({ input, meta }) => (\r\n
\r\n {\r\n document.querySelectorAll('input[name=' + event.target.name + ']')\r\n ?.forEach(element => (element as HTMLInputElement).setCustomValidity(\"\"));\r\n input.onChange(event);\r\n }}\r\n onInvalid={event => (event.target as HTMLSelectElement).setCustomValidity('Molimo odabrati jednu od opcija.')}\r\n className='custom-control-input'\r\n required={optional ? '' : 'required' as any}\r\n aria-describedby={ariaDescription}\r\n disabled={disabled}\r\n />\r\n \r\n { label }\r\n \r\n {popoverBool && }\r\n { meta.touched && meta.error &&
{meta.error}
}\r\n { ariaDescription && (\r\n \r\n { ariaDescription }\r\n \r\n ) }\r\n
\r\n )}\r\n \r\n )\r\n}","import React, { useCallback } from 'react'\r\n\r\nimport { Input } from '../../../components/Input'\r\n\r\nimport styles from './Slides.module.css'\r\nimport { IButtonsProps } from './Buttons'\r\nimport {Select} from \"../../../components/Select\";\r\nimport { Attachments } from '../../../components/Attachments'\r\nimport {countries, currencies, EMAIL_REGEX, useAllCurrencyOptions} from \"../../../constants\";\r\nimport {Recaptcha} from \"../../../components/Recaptcha\";\r\nimport { Checkbox } from '../../../components/Checkbox'\r\nimport { useFormState } from 'react-final-form'\r\nimport { Telephone } from \"../../../components/Telephone\";\r\nimport { Popover, OverlayTrigger, Button } from 'react-bootstrap';\r\nimport { Radio } from '../../../components/Radio'\r\n\r\nexport const Signature: React.FC = (props) => {\r\n let isInvalidField = document.getElementsByClassName('is-invalid')\r\n\r\n function checkIfInvalid () {\r\n if (isInvalidField.length > 0) {\r\n document.getElementsByClassName('is-invalid')[0].scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }\r\n\r\n const formState = useFormState()\r\n\r\n const isOibValid = (oib:string): boolean => {\r\n if (!/^[0-9]{11}$/.test(oib))\r\n return false;\r\n\r\n let a = 10;\r\n for(const digit of oib.substring(0, 10)) {\r\n a += parseInt(digit);\r\n a %= 10;\r\n if (a === 0)\r\n a = 10;\r\n a *= 2;\r\n a %= 11;\r\n }\r\n\r\n let kontrolni = 11 - a;\r\n if (kontrolni === 10)\r\n kontrolni = 0;\r\n\r\n return kontrolni === parseInt(oib.substr(10, 1));\r\n }\r\n\r\n const resetPensionValue = useCallback((value: string | null, _allValues: any) => {\r\n if (value === \"nePrimamInoMirovinu\") {\r\n _allValues['txtIznos1'] = \"\"\r\n _allValues['txtValuta1'] = \"\"\r\n _allValues['txtDrzava1'] = \"\"\r\n _allValues['txtIznos2'] = \"\"\r\n _allValues['txtValuta2'] = \"\"\r\n _allValues['txtDrzava2'] = \"\"\r\n _allValues['txtIznos3'] = \"\"\r\n _allValues['txtValuta3'] = \"\"\r\n _allValues['txtDrzava3'] = \"\"\r\n _allValues['txtIBAN'] = null\r\n }\r\n if(value === \"primamInoMirovinu\"){\r\n _allValues['txtDrzava1'] = null\r\n _allValues['txtDrzava2'] = null\r\n _allValues['txtDrzava3'] = null\r\n _allValues['txtIBAN'] = null\r\n }\r\n }, [])\r\n\r\n const cifraValidator = useCallback((value: string | null, _allValues: any) => {\r\n if (value == null) {\r\n return 'Obavezno polje'\r\n } else if (!isOibValid(value)) {\r\n return 'Molimo upišite točan OIB (11 znamenki)!'\r\n } else {\r\n return undefined\r\n }\r\n }, [])\r\n\r\n const iznosValidator = useCallback((value: string | null) => {\r\n if (value != null && parseFloat(value) <= 0) {\r\n return 'Molimo upišite broj veći od nule'\r\n } else {\r\n return undefined\r\n }\r\n }, [])\r\n\r\n const valuta2Validator = useCallback((value: string | null, _allValues: any) => {\r\n if (_allValues['txtIznos2'] != null && _allValues['txtIznos2'] !== '' && !value) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [])\r\n\r\n const valuta3Validator = useCallback((value: string | null, _allValues: any) => {\r\n if (_allValues['txtIznos3'] != null && _allValues['txtIznos3'] !== ''&& !value) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [])\r\n\r\n const drzava2Validator = useCallback((value: string | null, _allValues: any) => {\r\n if (_allValues['txtIznos2'] != null && _allValues['txtIznos2'] !== '' && !value) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [])\r\n\r\n const drzava3Validator = useCallback((value: string | null, _allValues: any) => {\r\n if (_allValues['txtIznos3'] != null && _allValues['txtIznos3'] !== ''&& !value) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [])\r\n\r\n const emailValidator = useCallback((value: string) => {\r\n if (!(value?.length > 0)) {\r\n return undefined\r\n }\r\n if (EMAIL_REGEX.test(value)) {\r\n return undefined\r\n } else {\r\n return 'Neispravna e-mail adresa'\r\n }\r\n }, [])\r\n\r\n const attachmentsValidate = useCallback((value: HTMLImageElement[] | null, _allValues: any) => {\r\n if ((_allValues['txtHrMirovina'] === 'nePrimamHrMirovinu' || _allValues['txtInoMirovina'] === 'primamInoMirovinu') && (value == null || value.length === 0)) {\r\n return 'Obavezno polje'\r\n } else {\r\n return undefined\r\n }\r\n }, [])\r\n\r\n function validateIban(input: string) {\r\n const codeLengths = {\r\n HR: 21,\r\n };\r\n const iban = input.toUpperCase().replace(/[^A-Z0-9]/g, \"\");\r\n const code = iban.match(/^([A-Z]{2})(\\d{2})([A-Z\\d]+)$/);\r\n if (!code || iban.length !== (codeLengths as any)[code[1]]) {\r\n return 'Uneseni IBAN nije ispravan.';\r\n }\r\n const digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g, (letter: string) => {\r\n return (letter.charCodeAt(0) - 55).toString();\r\n });\r\n if(mod97(digits) === 1){\r\n return undefined\r\n } else {\r\n return 'Uneseni IBAN nije ispravan.'\r\n }\r\n }\r\n\r\n function mod97(digital: number | string) {\r\n digital = digital.toString();\r\n let checksum: number | string = digital.slice(0, 2);\r\n let fragment = \"\";\r\n for (let offset = 2; offset < digital.length; offset += 7) {\r\n fragment = checksum + digital.substring(offset, offset + 7);\r\n checksum = parseInt(fragment, 10) % 97;\r\n }\r\n return checksum;\r\n }\r\n\r\n const popoverDatumRodjenja = (\r\n \r\n \r\n {Molimo upisati dan, mjesec i godinu rođenja u ispravna polja bez točke.} {
}\r\n
\r\n
\r\n );\r\n\r\n const InfoDatumRodjenja = () => (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n

\r\n {'Obrazac za dostavu podatka o visini inozemne mirovine'}\r\n

\r\n\r\n
\r\n {'* Obavezan podatak'}\r\n
\r\n
\r\n \r\n Troškovi života\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n {formState.values['txtHrMirovina'] &&\r\n <>\r\n \r\n\r\n \r\n\r\n
\r\n {'Datum rođenja:'}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n {formState.values['txtHrMirovina'] === 'nePrimamHrMirovinu' && }\r\n\r\n \r\n\r\n \r\n
\r\n\r\n {formState.values['txtHrMirovina'] === 'primamHrMirovinu' &&
\r\n \r\n\r\n
\r\n\r\n \r\n
}\r\n\r\n {(formState.values.txtHrMirovina === \"nePrimamHrMirovinu\" || formState.values.txtInoMirovina === \"primamInoMirovinu\") &&\r\n
\r\n
\r\n \r\n \r\n
\r\n {formState.values.txtHrMirovina !== 'primamHrMirovinu' &&
\r\n \r\n
}\r\n
\r\n
\r\n \r\n \r\n
\r\n {formState.values.txtHrMirovina !== 'primamHrMirovinu' &&
\r\n \r\n
}\r\n
\r\n
\r\n \r\n \r\n
\r\n {formState.values.txtHrMirovina !== 'primamHrMirovinu' &&
\r\n \r\n
}\r\n
\r\n
}\r\n\r\n \r\n\r\n \r\n\r\n {}\r\n \r\n {'Predaj zahtjev'}\r\n \r\n }\r\n\r\n { /* TODO: move these guys to a modal */ }\r\n
\r\n )\r\n}\r\n","/* TODO: FIXME: uncomment this when we figure out which recaptcha we will use\r\ninterface IWindowWithGrecaptcha {\r\n grecaptcha: {\r\n ready(callback: () => void): Promise,\r\n execute(siteKey: string, action: { action: string }): Promise,\r\n }\r\n}\r\n\r\nexport const protect = async (action: string) => {\r\n const grecaptcha = (window as unknown as IWindowWithGrecaptcha).grecaptcha\r\n let token: string\r\n await grecaptcha.ready(async () => {\r\n token = await grecaptcha.execute(process.env.RECAPTCHA_SITE_KEY, { action })\r\n })\r\n return token!\r\n}\r\n */\r\n\r\nexport const protect = async (_action: string) => {\r\n return 'dummy_recaptcha_token'\r\n}\r\n","import axios from 'axios'\r\nimport { ISelectOption } from '../components/Select/Select'\r\nimport { FormModel, IRequestModel, ISignatureModel } from '../model/RequestModel'\r\n\r\nimport {protect} from \"./recaptcha\";\r\n\r\nexport const submitFormData = async (languageCode: string, formData: FormModel & { signature: ISignatureModel }) => {\r\n function getSuccessHeaderMessage() {\r\n return 'Uspjeh';\r\n }\r\n\r\n function getSuccessMessage() {\r\n return 'Obrazac uspješno predan.';\r\n }\r\n\r\n function getErrorHeaderMessage() {\r\n return 'Greška';\r\n }\r\n\r\n function getErrorMessage(extra: string = \"\") {\r\n return 'Nije moguće predati obrazac.' + \" \" + extra;\r\n }\r\n\r\n function unformatIntlNumber (val: any, locale: any) {\r\n let group = new Intl.NumberFormat(locale).format(1111)?.replace(/1/g, '');\r\n let decimal = new Intl.NumberFormat(locale).format(1.1)?.replace(/1/g, '');\r\n let reversedVal = val?.replace(new RegExp('\\\\' + group, 'g'), '');\r\n reversedVal = reversedVal?.replace(new RegExp('\\\\' + decimal, 'g'), '.');\r\n reversedVal = parseFloat(reversedVal);\r\n return reversedVal;\r\n }\r\n\r\n const toBase64 = (file:File) => new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n\r\n try {\r\n const { signature, attachments, ...rest } = formData\r\n\r\n let hasPension = rest['txtHrMirovina'] === 'primamHrMirovinu';\r\n let dayOfBirth = rest['txtDan']?.length == 1 ? \"0\" + rest['txtDan'] : rest['txtDan'];\r\n let monthOfBirth = rest['txtMjesec']?.length == 1 ? \"0\" + rest['txtMjesec'] : rest['txtMjesec'];\r\n let iznos1NaN = unformatIntlNumber(rest['txtIznos1'], 'de-DE').toFixed(2) === \"NaN\"\r\n let iznos2NaN = unformatIntlNumber(rest['txtIznos2'], 'de-DE').toFixed(2) === \"NaN\"\r\n let iznos3NaN = unformatIntlNumber(rest['txtIznos3'], 'de-DE').toFixed(2) === \"NaN\"\r\n\r\n // TODO: hack me baby\r\n const data: any = rest['txtHrMirovina'] === 'nePrimamHrMirovinu' ? {\r\n \"captcha-answer\": rest['captcha-answer'],\r\n \"captcha-token\": rest['captcha-token'],\r\n txtIBAN: rest['txtIBAN'],\r\n txtIme: rest['txtIme'],\r\n txtPrezime: rest['txtPrezime'],\r\n txtOIB: rest['txtOIB'],\r\n txtEmail: rest['txtEmail'],\r\n txtInoMirovina: '',\r\n txtMobitel: rest['txtMobitel'],\r\n txtValuta1: (rest.txtValuta1 as unknown as ISelectOption)?.value ?? \"\",\r\n txtValuta2: (rest.txtValuta2 as unknown as ISelectOption)?.value ?? \"\",\r\n txtValuta3: (rest.txtValuta3 as unknown as ISelectOption)?.value ?? \"\",\r\n txtIznos1: !iznos1NaN ? unformatIntlNumber(rest['txtIznos1'], 'de-DE').toFixed(2).replace('.', ',') ?? \"\" : \"\",\r\n txtIznos2: !iznos2NaN ? unformatIntlNumber(rest['txtIznos2'], 'de-DE').toFixed(2).replace('.', ',') ?? \"\" : \"\",\r\n txtIznos3: !iznos3NaN ? unformatIntlNumber(rest['txtIznos3'], 'de-DE').toFixed(2).replace('.', ',') ?? \"\" : \"\",\r\n 'txtFormLanguage': languageCode,\r\n 'txtData': rest['txtData']!?.toISOString().split('T')[0].split('-').reverse().join('.'),\r\n 'txtDatumRodjenja': [dayOfBirth?.replace(\".\",\"\")?.replace(\",\",\"\"), monthOfBirth?.replace(\".\",\"\")?.replace(\",\",\"\"), rest['txtGodina']?.replace(\".\",\"\")?.replace(\",\",\"\") + '.'].join('.'),\r\n 'txtOwnerBirthDate': rest['txtOwnerBirthDate']!?.toISOString().split('T')[0].split('-').reverse().join('.'),\r\n 'txtMjesec': undefined,\r\n 'txtDan': undefined,\r\n 'txtGodina': undefined,\r\n 'chkOdgovornost': undefined,\r\n txtDrzava1: (rest.txtDrzava1 as unknown as ISelectOption)?.label ?? null,\r\n txtDrzava2: (rest.txtDrzava2 as unknown as ISelectOption)?.label ?? null,\r\n txtDrzava3: (rest.txtDrzava3 as unknown as ISelectOption)?.label ?? null,\r\n txtDrzavaKod1: (rest.txtDrzava1 as unknown as ISelectOption)?.value ?? null,\r\n txtDrzavaKod2: (rest.txtDrzava2 as unknown as ISelectOption)?.value ?? null,\r\n txtDrzavaKod3: (rest.txtDrzava3 as unknown as ISelectOption)?.value ?? null,\r\n } : {\r\n \"captcha-answer\": rest['captcha-answer'],\r\n \"captcha-token\": rest['captcha-token'],\r\n txtIme: rest['txtIme'],\r\n txtPrezime: rest['txtPrezime'],\r\n txtOIB: rest['txtOIB'],\r\n txtEmail: rest['txtEmail'],\r\n txtInoMirovina: rest['txtInoMirovina'],\r\n txtMobitel: rest['txtMobitel'],\r\n txtValuta1: (rest.txtValuta1 as unknown as ISelectOption)?.value ?? \"\",\r\n txtValuta2: (rest.txtValuta2 as unknown as ISelectOption)?.value ?? \"\",\r\n txtValuta3: (rest.txtValuta3 as unknown as ISelectOption)?.value ?? \"\",\r\n txtIznos1: !iznos1NaN ? unformatIntlNumber(rest['txtIznos1'], 'de-DE').toFixed(2) ?? \"\" : \"\",\r\n txtIznos2: !iznos2NaN ? unformatIntlNumber(rest['txtIznos2'], 'de-DE').toFixed(2) ?? \"\" : \"\",\r\n txtIznos3: !iznos3NaN ? unformatIntlNumber(rest['txtIznos3'], 'de-DE').toFixed(2) ?? \"\" : \"\",\r\n 'txtFormLanguage': languageCode,\r\n 'txtData': rest['txtData']!?.toISOString().split('T')[0].split('-').reverse().join('.'),\r\n 'txtDatumRodjenja': [dayOfBirth?.replace(\".\",\"\")?.replace(\",\",\"\"), monthOfBirth?.replace(\".\",\"\")?.replace(\",\",\"\"), rest['txtGodina']?.replace(\".\",\"\")?.replace(\",\",\"\") + '.'].join('.'),\r\n 'txtOwnerBirthDate': rest['txtOwnerBirthDate']!?.toISOString().split('T')[0].split('-').reverse().join('.'),\r\n 'txtMjesec': undefined,\r\n 'txtDan': undefined,\r\n 'txtGodina': undefined,\r\n 'chkOdgovornost': undefined\r\n }\r\n\r\n //let sifraObrasca = rest['txtHrMirovina'] === 'nePrimamHrMirovinu' ? 'TŽ3960' : 'TŽ'\r\n let endpointUrl = rest['txtHrMirovina'] === 'nePrimamHrMirovinu'\r\n ? window.location.origin + '/v/1/integrator/hzmo/troskovi_zivota/external'\r\n : window.location.origin + '/v/1/integrator/hzmo/troskovi_zivota'\r\n\r\n let attachmentsList = [];\r\n for (let i = 0; i < attachments.length; i++) {\r\n let fileBytes = await toBase64(attachments[i]);\r\n let splitData = (fileBytes)?.split(\";base64,\");\r\n if (splitData?.length === 2) {\r\n let base64File = splitData[1];\r\n let extension = splitData[0]?.match(/^.+:.+\\/(.+)/)?.[1];\r\n attachmentsList.push({\"File\": base64File, \"FileName\": attachments[i].name, \"FileType\": extension});\r\n }\r\n }\r\n\r\n if(data['txtOIB'] === '' || !data['txtOIB']){\r\n return {\r\n status: getErrorHeaderMessage(),\r\n message: getErrorMessage('Molimo upišite sve potrebne podatke'),\r\n type: \"error\"\r\n }\r\n }\r\n\r\n if(data['txtDatumRodjenja'] === '' || !rest['txtOIB']){\r\n return {\r\n status: getErrorHeaderMessage(),\r\n message: getErrorMessage('Molimo upišite sve potrebne podatke'),\r\n type: \"error\"\r\n }\r\n }\r\n\r\n const token = await protect('submit')\r\n //Refresh captcha\r\n document.getElementById(\"refresh-captcha-id\")?.click();\r\n\r\n await axios.post(\r\n endpointUrl,\r\n {formData: {...data}, SignatureImage: {ImageData: signature?.data, FileType: \"PNG\"}, Attachments: attachmentsList},\r\n {headers: {'content-type': 'application/json'}},\r\n );\r\n return {\r\n status: getSuccessHeaderMessage(),\r\n message: getSuccessMessage(),\r\n type: \"success\"\r\n }\r\n\r\n } catch (error) {\r\n formData['captcha-answer'] = \"\";\r\n console.error(error)\r\n let additional = \"\";\r\n if(error?.response?.data?.errors?.[0]?.errorCode === 50000) {\r\n additional = \"Kontrolni kod je pogrešan!\";\r\n }\r\n\r\n if(error?.response?.data?.errors?.[0]?.errorCode === 50001) {\r\n additional = \"Nije moguće kontaktirati pozadinski servis. Molimo pokušajte kasnije.\";\r\n }\r\n return {\r\n status: getErrorHeaderMessage(),\r\n message: getErrorMessage(additional),\r\n type: \"error\"\r\n }\r\n }\r\n}\r\n","import React from 'react'\r\n\r\nimport styles from './Loader.module.css'\r\n\r\nexport const Loader: React.FC = () => (\r\n
Loading...
\r\n)\r\n","import { createContext } from 'react';\r\n\r\nexport type SupportedLanguage = 'en' | 'it' | 'fr' | 'de'\r\n\r\nexport const localeContext = createContext('en')\r\n","import classnames from 'classnames'\r\nimport React, { useCallback, useContext, useMemo, useState } from 'react'\r\nimport { Form } from 'react-final-form'\r\nimport { DEFAULT_REQUEST_MODEL, IRequestModel } from '../../model/RequestModel'\r\nimport { LanguageCodeMap } from '../../constants'\r\nimport { Signature } from './Pages/Signature'\r\nimport styles from './Wizard.module.css'\r\nimport { submitFormData } from '../../services/formService'\r\nimport { Loader } from '../../components/Loader'\r\nimport { localeContext } from '../../localeContext'\r\nimport ErrorIcon from '../../components/error-icon.svg'\r\n\r\ninterface IWizardProps {\r\n languageCode?: string,\r\n}\r\n\r\ninterface IWizardState {\r\n currentPage: number,\r\n status: string | null,\r\n message: string | null,\r\n}\r\n\r\nconst initialState: IWizardState = {\r\n currentPage: 0,\r\n status: null,\r\n message: null,\r\n}\r\n\r\nexport const Wizard: React.FC = () => {\r\n const [state, setState] = useState(initialState)\r\n\r\n const locale = useContext(localeContext)\r\n\r\n const pages = useMemo(() => [\r\n Signature,\r\n ], [])\r\n\r\n const nextSlide = useCallback(\r\n () => {\r\n window.scrollTo(0, 0);\r\n setState({ ...state, currentPage: Math.min(state.currentPage + 1, pages.length) })\r\n },\r\n [state, pages]\r\n )\r\n\r\n const previousSlide = useCallback(\r\n () => {\r\n window.scrollTo(0, 0);\r\n setState({ ...state, currentPage: Math.max(state.currentPage - 1, 0) })\r\n },\r\n [state]\r\n )\r\n\r\n const CurrentPage = pages[state.currentPage]\r\n\r\n const onSubmit = useCallback(async (values) => {\r\n if (state.currentPage === pages.length - 1) {\r\n\r\n const result = await submitFormData(LanguageCodeMap[locale], values)\r\n\r\n setState({ ...state, ...result })\r\n\r\n return result\r\n } else {\r\n nextSlide()\r\n }\r\n }, [state, pages.length, nextSlide, locale])\r\n\r\n // Take care of dependant validation\r\n const extraValidation = (values: IRequestModel) => {\r\n const errors: Partial<{ [N in keyof IRequestModel]: string }> = {}\r\n if (Object.keys(errors).length > 0) {\r\n return errors\r\n }\r\n\r\n return undefined\r\n }\r\n\r\n const closeModal = useCallback(\r\n () => {\r\n\r\n if ((state as any)?.[\"type\"] === \"success\") {\r\n window.location.reload();\r\n }\r\n\r\n setState({ ...state, status: null, message: null }\r\n )\r\n },\r\n [state]\r\n )\r\n\r\n return (\r\n
\r\n
\r\n \r\n {({ handleSubmit, submitting }) => {\r\n return (\r\n
\r\n \r\n\r\n { submitting && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n { state.status != null && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n state.status === \"Greška\" && \r\n }\r\n {state.status}\r\n
\r\n \r\n
\r\n
\r\n

{state.message}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n )\r\n }}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\n\r\nimport styles from './CornerCardLogo.module.css'\r\nimport classnames from \"classnames\";\r\n\r\nexport const CornerCardLogo: React.FC<{}> = () => (\r\n\r\n \r\n)\r\n","import React from 'react';\r\nimport './App.css';\r\n\r\nimport { Wizard } from './containers/Wizard';\r\nimport {CornerCardLogo} from \"./components/CornerCardLogo\";\r\n\r\nconst App: React.FC = () => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","import React, { useCallback, useEffect, useState } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { IntlProvider, } from 'react-intl'\r\nimport 'bootstrap/dist/css/bootstrap.css'\r\n\r\nimport './index.css';\r\nimport App from './App';\r\nimport { SupportedLanguage, localeContext } from './localeContext';\r\n\r\nimport en from './lang/en.json'\r\nimport it from './lang/it.json'\r\nimport fr from './lang/fr.json'\r\nimport de from './lang/de.json'\r\n\r\n\r\nconst locales = { en, it, fr, de }\r\n\r\nconst getLanguageFromNavigator: () => SupportedLanguage = () => navigator.language.split('-')[0] as SupportedLanguage\r\nconst getLanguageFromHash: () => SupportedLanguage = () => window.location.hash.replace('#', '') as SupportedLanguage\r\n\r\nconst DEFAULT_LANGUAGE = getLanguageFromHash() || getLanguageFromNavigator() || 'en'\r\n\r\nconst LocalizedWrapper: React.FC = () => {\r\n const [locale, setLocale] = useState(DEFAULT_LANGUAGE)\r\n const [messages, setMessages] = useState(locales[locale])\r\n\r\n useEffect(() => {\r\n setMessages(locales[locale])\r\n }, [locale, setMessages])\r\n\r\n const onHashChange = useCallback((_event: HashChangeEvent) => {\r\n const rawLocale = window.location.hash.replace('#', '')\r\n if (['it', 'de', 'fr'].includes(rawLocale)) {\r\n setLocale(rawLocale as any)\r\n } else {\r\n setLocale('en')\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n window.addEventListener('hashchange', onHashChange, false)\r\n\r\n return () => window.removeEventListener('hashchange', onHashChange)\r\n }, [onHashChange])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n// TODO: move to app so locale can be dynamically changed\r\nconst bootstrap = async () => {\r\n ReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n )\r\n}\r\n\r\nbootstrap()\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Wizard\":\"Wizard_Wizard__3Az69\",\"Body\":\"Wizard_Body__la6v4\",\"Title\":\"Wizard_Title__1sbzw\",\"Progress\":\"Wizard_Progress__26SEa\",\"Buttons\":\"Wizard_Buttons__1m35u\",\"Form\":\"Wizard_Form__HEDVB\",\"ModalWrapper\":\"Wizard_ModalWrapper__1I-rV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Wrapper\":\"Slides_Wrapper__1lsHF\",\"Statement\":\"Slides_Statement__1XDD4\",\"StatementBold\":\"Slides_StatementBold__MAuqP\",\"Justify\":\"Slides_Justify__sTNir\",\"Left\":\"Slides_Left__PFiWu\",\"RadioWithInput\":\"Slides_RadioWithInput__3ahE3\",\"Home\":\"Slides_Home__3-nrA\",\"TopMargin\":\"Slides_TopMargin__2tdxi\",\"LeftPadding\":\"Slides_LeftPadding__mm3gP\",\"LegalModal\":\"Slides_LegalModal__2qw7Z\",\"Scrollable\":\"Slides_Scrollable__13ynP\",\"AlignRight\":\"Slides_AlignRight__1UVQm\",\"InlineButtonFix\":\"Slides_InlineButtonFix__2_Wdr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Select\":\"Select_Select__2izju\",\"AriaDescription\":\"Select_AriaDescription__32LsK\",\"FullWidth\":\"Select_FullWidth__1ckOY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Attachments\":\"Attachments_Attachments__2D2U_\",\"AriaDescription\":\"Attachments_AriaDescription__2Vo85\",\"ForceVisible\":\"Attachments_ForceVisible__Csl8n\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Telephone\":\"Telephone_Telephone__y_FQF\",\"AriaDescription\":\"Telephone_AriaDescription__3fd99\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FixTextAlignment\":\"Radio_FixTextAlignment__2OYjn\",\"AriaDescriptionSpecial\":\"Radio_AriaDescriptionSpecial__1IgxL\",\"Radio\":\"Radio_Radio__2-T4F\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Input\":\"Input_Input__1sRA0\",\"AriaDescription\":\"Input_AriaDescription__2lZLw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Recaptcha\":\"Recaptcha_Recaptcha__kyEUn\",\"Input\":\"Recaptcha_Input__F8cY_\",\"AriaDescription\":\"Recaptcha_AriaDescription__PNb-6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Checkbox\":\"Checkbox_Checkbox__2AJUt\",\"AriaDescription\":\"Checkbox_AriaDescription__3dDp2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Logo\":\"CornerCardLogo_Logo__1NkH1\",\"ContactUs\":\"CornerCardLogo_ContactUs__3yg39\"};","module.exports = __webpack_public_path__ + \"static/media/UploadIcon.1cedb6e9.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"Loader_loader__VYjHB\",\"load8\":\"Loader_load8__rqgEo\"};","module.exports = __webpack_public_path__ + \"static/media/error-icon.eee8b1e9.svg\";"],"sourceRoot":""}