{"version":3,"sources":["commons/CustomCard/CustomCard.js","static/link_banner.png","static/button_banner.png","static/integration_banner.png","pages/HomePage/HomePage.tsx","pages/WhatsAppLinkPage/MobileMock.tsx","config/dialCodes.js","config/config.js","helpers/clipboard.ts","pages/WhatsAppLinkPage/LinkDialogContent.tsx","commons/EPicker/EPicker.tsx","pages/WhatsAppLinkPage/LinkGenerator.tsx","pages/WhatsAppLinkPage/WhatsAppLinkPage.tsx","types/link.type.ts","helpers/instamojoConfig.ts","pages/WhatsAppBtnPage/WidgetDialogContent.tsx","helpers/url.ts","commons/ColorPicker/ColorPicker.tsx","pages/WhatsAppBtnPage/ButtonGenerator.tsx","helpers/formatAndValidateWidgetForm.ts","pages/WhatsAppBtnPage/WhatsAppBtnPage.tsx","pages/NotFoundPage/NotFoundPage.tsx","pages/InstamojoStoreIntegrationPage/InstamojoStoreIntegrationPage.tsx","commons/Navbar/NavBarDesktop.tsx","commons/Navbar/NavBarDrawer.tsx","commons/Navbar/NavBarMobile.tsx","commons/Navbar/Navbar.tsx","static/footerLogo.png","static/footerbanner.png","static/yt_icon.svg","static/fb_icon.svg","static/ig_icon.svg","commons/Footer/Footer.tsx","App.tsx","themes/index.ts","reportWebVitals.ts","index.tsx"],"names":["useStyles","makeStyles","_ref","breakpoints","spacing","root","margin","borderRadius","transition","boxShadow","position","maxWidth","marginLeft","overflow","background","display","flexDirection","alignItems","paddingBottom","up","paddingTop","media","width","marginRight","marginTop","height","backgroundColor","transform","content","top","left","opacity","padding","cta","textTransform","button","BlogCardDemo","props","heading","body","banner","btnCTA","url","Layered","React","memo","styles","buttonStyles","contentStyles","useBlogTextInfoContentStyles","shadowStyles","useOverShadowStyles","_jsxs","Card","className","cx","children","_jsx","CardMedia","image","CardContent","TextInfoContent","classes","Button","component","RouterLink","to","HomePage","Component","constructor","super","this","state","name","main","render","ctaContainer","overlay","style","zIndex","Grid","container","justify","item","xs","md","lg","direction","Typography","variant","paragraph","color","Box","p","pb","CustomCard","LinkBanner","body2","ButtonBanner","integrationsSection","src","IntegrationBanner","integrationBanner","gutterBottom","size","href","target","hrefBtn","withStyles","theme","createStyles","minHeight","boxSizing","backgroundSize","backgroundPosition","down","marginBottom","maxHeight","mainBanner","concat","palette","primary","MobileMock","arguments","countryCode","screen","windowBar","AccountCircle","personIcon","phoneNumber","previewMsg","msg","msgContainer","windowInputBar","TextField","type","placeholder","textInput","value","Send","defaultProps","border","overflowX","overflowY","bottom","fontSize","paddingLeft","right","dialCodes","URL","process","REACT_APP_LINK_GEN_BACKEND_URL","REACT_APP_NODE_ENV","REACT_APP_GOOGLE_CLIENT_ID","copyTextToClipboard","text","navigator","clipboard","writeText","then","console","log","err","error","textArea","document","createElement","appendChild","focus","select","successful","execCommand","removeChild","fallbackCopyTextToClipboard","LinkDialogContent","copied","downloadQR","canvas","getElementById","pngUrl","toDataURL","replace","downloadLink","download","linkid","click","clickToCopy","link","setState","pt","whatsappimg","rel","textDecoration","align","mb","justifyContent","QRCode","ecLevel","logoImage","logoHeight","logoWidth","onClick","closeDialog","EPicker","anchorEl","handleClick","event","currentTarget","handleClose","emojiHandler","data","setEmoji","fieldName","open","Boolean","id","undefined","Popover","onClose","anchorOrigin","vertical","horizontal","transformOrigin","demopicker","Picker","onEmojiClick","cursor","lineHeight","timer","LinkGenerator","textarea","createRef","country","isSubmitting","errmsg","handleKeyUp","e","window","clearTimeout","setTimeout","handleKeyPress","handleAutoComplete","field","reason","getDialCode","result","find","dialCode","handleCustomMsg","handlePhoneNumber","trim","generateLink","async","formValidation","message","entityType","linkId","slice","prefilledMsg","clientId","assistantId","whatsappBtnSettings","res","axios","post","response","_axiosError$response","axiosError","isNaN","Number","ta","current","_ta$current","_ta$current2","cursorPos","selectionEnd","length","selectionStart","start","substring","end","emoji","typer","addEventListener","mx","py","px","guideContainer","fontWeight","pl","pr","Autocomplete","disableClearable","options","map","option","onChange","renderInput","params","textField","InputProps","fullWidth","startAdornment","InputAdornment","multiline","rows","inputRef","disabled","CircularProgress","Dialog","aria-labelledby","disableBackdropClick","WhatsAppLinkPage","variantType","widgetSessionWindowType","snippetScript","isSrcInstamojo","script","snippetContainer","tabSize","preFormat","formattedUrl","split","t","join","decodeURI","generateExp","regEx","ColorPicker","HexColorPicker","setColor","ButtonGenerator","prefilledMsgTextArea","onscreenMsgTextArea","env","btnWithWidget","btnBackground","ml","mr","brandName","brandSub","brandColor","brandImgUrl","widgetBtnCTA","openWidgetByDefault","openWidgetSessionWindow","always","onscreenMsg","widgetOnMobile","urlPersonalization","personalizedUrls","urlMsg","userMsg","key","toFormat","toCapitalize","prefilledRef","onscreenRef","queryString","history","location","search","searchParams","URLSearchParams","get","store_domain","handleTextInput","handleRadioInput","toggleUrlPersonalization","removeRow","index","filter","i","addRow","temp","handlePersonalizationInput","handlePersonalizedUrlFormatting","checked","generateWidget","s","forEach","match","whatsAppBtnValue","BTN","formatAndValidateForm","String","setEmojiUrl","urlObj","_ta$current3","_ta$current4","_ta$current5","_ta$current6","handleColorInput","config","storeDomain","hour24","componentDidUpdate","prevProps","prevState","CreateWhatsAppButtonAndWidget","sm","Tooltip","placement","title","Info","infoIcon","mt","RadioGroup","row","FormControlLabel","control","Radio","label","Fragment","Hidden","smUp","rightMargin","Switch","switchBase","startIcon","Add","TransitionGroup","Zoom","backgroundCont","Checkbox","k","IconButton","Clear","WidgetDialogContent","multiTextField","colorBtn","paddingRight","withRouter","instance","componentDidMount","_this$instance","_this$instance$curren","getElementsByTagName","onload","componentWillUnmount","dfCont","remove","ref","NotFoundPage","handleNextClick","genWidgetUrl","push","my","endIcon","ArrowForward","ActiveBtn","path","Link","pathname","HREFLink","logo","fontFamily","topRoutes","icon","HomeOutlined","ext","LinkOutlined","ModeCommentOutlined","AttachMoney","WhatsApp","BookOutlined","ToysOutlined","drawerPaper","avatarRoot","link_inactive","link_active","icon_active","icon_inactive","name_active","name_inactive","linkButton","active","inactive","profileWrapper","profileIcon","drawerOpen","onDrawerClose","Drawer","anchor","paper","route","ButtonBase","openRoute","NavBarMobile","onDrawerOpen","Menu","NavBarDrawer","xsDown","NavBarDesktop","platformLinks","resourcesLinks","connectLinks","YTIcon","IGIcon","FBIcon","signupWrapper","signupFormContainer","footerWrapper","footerContainer","footerBanner","socialIcon","FooterBanner","FooterLogo","routeContainer","Router","Navbar","Route","exact","WhatsAppBtnPage","InstamojoStoreIntegrationPage","Footer","defaults","pending","resolved","secondary","warning","success","info","hint","values","xl","shape","typography","h1","letterSpacing","wordSpacing","h2","h3","h4","h5","h6","body1","MuiAutocomplete","inputRoot","MuiInput","disableUnderline","MuiPaper","MuiTooltip","enterTouchDelay","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","createMuiTheme","themes","ReactDOM","ThemeProvider","StrictMode","App"],"mappings":"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","file":"static/js/main.e6f29b12.chunk.js","sourcesContent":["import React from 'react';\nimport cx from 'clsx';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Card from '@material-ui/core/Card';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport TextInfoContent from '@mui-treasury/components/content/textInfo';\nimport { useBlogTextInfoContentStyles } from '@mui-treasury/styles/textInfoContent/blog';\nimport { useOverShadowStyles } from '@mui-treasury/styles/shadow/over';\nimport { Link as RouterLink } from 'react-router-dom';\n\nconst useStyles = makeStyles(({ breakpoints, spacing }) => ({\n root: {\n margin: 'auto',\n borderRadius: spacing(2), // 16px\n transition: '0.3s',\n boxShadow: '0px 0px 40px rgba(34, 35, 58, 0.2)',\n position: 'relative',\n maxWidth: 500,\n marginLeft: 'auto',\n overflow: 'initial',\n background: '#ffffff',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n paddingBottom: spacing(2),\n [breakpoints.up('md')]: {\n flexDirection: 'row',\n paddingTop: spacing(2),\n boxShadow: '0px 14px 80px rgba(34, 35, 58, 0.2)',\n },\n },\n media: {\n width: '88%',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginTop: spacing(-3),\n height: 0,\n paddingBottom: '48%',\n borderRadius: spacing(2),\n backgroundColor: '#fff',\n position: 'relative',\n [breakpoints.up('md')]: {\n width: '100%',\n marginLeft: spacing(-3),\n marginTop: 0,\n transform: 'translateX(-8px)',\n },\n '&:after': {\n content: '\" \"',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n // backgroundImage: 'linear-gradient(147deg, #7b966659 0%, #05921057 54%)',\n borderRadius: spacing(2), // 16\n opacity: 0.5,\n },\n },\n content: {\n padding: 24,\n },\n cta: {\n marginTop: 24,\n textTransform: 'initial',\n },\n button: {\n // backgroundImage: 'linear-gradient(147deg, #ffc100 0%, #059210 74%)',\n backgroundColor: \"#ffc100\",\n boxShadow: '0px 4px 32px #28ad3338'\n }\n}));\n\nexport const BlogCardDemo = (props) =>{\n const {\n heading,\n body,\n banner,\n btnCTA,\n url\n } = props;\n\n const Layered = React.memo(function BlogCard() {\n const styles = useStyles();\n const {\n button: buttonStyles,\n ...contentStyles\n } = useBlogTextInfoContentStyles();\n const shadowStyles = useOverShadowStyles();\n return (\n \n \n \n \n \n \n \n );\n });\n return \n}\n\nexport default BlogCardDemo","export default __webpack_public_path__ + \"static/media/link_banner.3d64946d.png\";","export default __webpack_public_path__ + \"static/media/button_banner.6e707d18.png\";","export default __webpack_public_path__ + \"static/media/integration_banner.6a2f05d6.png\";","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n} from '@material-ui/core';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { ArrowForward, PlayCircleOutline } from '@material-ui/icons';\nimport CustomCard from '../../commons/CustomCard/CustomCard';\n\n\nimport LinkBanner from '../../static/link_banner.png';\nimport ButtonBanner from '../../static/button_banner.png';\n// import Explosion from '../../static/explosion.gif';\nimport MainBanner from '../../static/store.png';\nimport IntegrationBanner from \"../../static/integration_banner.png\";\n\nclass HomePage extends Component {\n constructor(props: Props) {\n super(props);\n this.state = {\n name: 'AiSensy',\n main: '',\n };\n }\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n
\n
\n
\n
\n \n \n {/* Put all content in here */}\n \n \n \n Tools that Drive Users to Whatsapp\n \n \n \n \n Create Unlimited FREE Whatsapp Links and URL Personalised Button for Website\n \n \n {/* \n \n \n \n \n \n */}\n \n \n \n
\n
\n \n \n {/* Put all content in here */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* Put all content in here */}\n \n \n \n \n \n \n Explore our Marketplace Integrations\n \n \n Extend your existing marketing channels to WhatsApp\n \n \n \n \n \n \n \n
\n );\n }\n}\n\ninterface cState {\n main: string;\n name: string;\n}\n\ninterface Props extends WithStyles {\n name: string;\n work: string;\n componentId: number;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n height: '100%',\n width: '100%',\n backgroundColor: 'white',\n minHeight: '100vh',\n },\n ctaContainer: {\n width: '100%',\n position: 'relative',\n boxSizing: 'border-box',\n // backgroundImage: `url('${Explosion}')`,\n backgroundSize: 'contain',\n backgroundPosition: 'center',\n margin: \"0% 0% 0% 0%\",\n padding: '4% 0% 0% 0%',\n // backgroundColor: '#EBF5F3',\n height: '30vh',\n // color: \"white\",\n [theme.breakpoints.down('sm')]: {\n // height: \"60vh\",\n marginTop: \"5%\",\n padding:`15px 15px`\n }\n },\n overlay: {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n background: \"#bbc1b754\",\n zIndex: 0,\n display: \"none\"\n },\n banner: {\n display: \"inline-block\",\n height: 240,\n width: \"100%\",\n background: \"rgb(245, 245, 245)\",\n // borderRadius: \"8px\",\n overflow: \"hidden\",\n // border: \"2px solid #0a474c\",\n marginBottom: 30\n },\n integrationBanner: {\n maxHeight: \"400px\",\n [theme.breakpoints.down('sm')]: {\n maxHeight: \"300px\"\n }\n },\n mainBanner: {\n height: \"200px\"\n },\n hrefBtn: {\n color: `${theme.palette.primary.main} !important`\n },\n integrationsSection: {\n padding: \"6% 0%\"\n }\n // \"signupForm\": {\n // \tborderRadius: 15,\n // \tbackgroundColor: theme.palette.primary.main,\n // \tcolor: \"white\",\n // \tmarginTop: \"10vh\",\n // \theight: \"30vh\"\n // }\n });\n\nexport default withStyles(styles)(HomePage);\n","import React, { Component } from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tTheme, \n\tcreateStyles, \n\tTypography,\n\tTextField,\n\tButton,\n} from '@material-ui/core';\nimport { AccountCircle, Send } from '@material-ui/icons';\n\nclass MobileMock extends Component {\n\tstatic defaultProps = {\n\t\tname: \"AiSensy\",\n\t}\n\tstate = {\n\t\tcountryCode: \"\",\n\t\tname: this.props.name\n\t}\n\tasync componentDidMount(): Promise {\n\t\tconst clientId = \"\"\n\t}\n\trender(): React.ReactElement {\n const { classes } = this.props\n\t\treturn (\n\t\t\t
\n
\n
\n \n \n \n \n \n \n {this.props.countryCode} {this.props.phoneNumber}\n \n \n\n \n
\n {\n !this.props.previewMsg && this.props.msg?\n
\n \n {this.props.msg}\n \n
\n : \"\"\n }\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n )\n }\n}\n\n\ninterface Props extends WithStyles {\n\tname: string,\n previewMsg: boolean,\n msg: string,\n phoneNumber: string,\n countryCode: string\n\t// number: string\n}\n\ninterface cState {\n\tcountryCode: string,\n\tname: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n maxWidth: 280,\n height: 500,\n\t\tbackgroundColor: \"white\",\n\t\tboxSizing: \"border-box\",\n\t\tborderRadius: 8,\n border: \"1px solid rgb(0, 0, 0, 0.2)\",\n marginBottom: 10,\n padding: \"12px 10px 16px 10px\",\n\t},\n \"screen\": {\n width: \"100%\",\n background: \"#ece5dd\",\n height: \"100%\",\n position: \"relative\",\n overflowX: \"hidden\",\n overflowY: \"auto\"\n // borderRadius: 8\n },\n \"windowBar\": {\n height: 45,\n width: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0,\n backgroundColor: \"#f0f1f2\",\n },\n \"windowInputBar\": {\n height: 45,\n width: \"100%\",\n position: \"absolute\",\n bottom: 0,\n left: 0,\n backgroundColor: \"#f0f1f2\",\n },\n \"personIcon\": {\n fontSize: 30,\n color: \"#afafaf\",\n margin: \"0 10px\"\n },\n \"textInput\": {\n backgroundColor: \"white\",\n margin: \"0 8px\",\n borderRadius: \"20px\",\n height: 35,\n paddingTop: 4\n },\n \"msgContainer\": {\n borderRadius: 4,\n padding: 8,\n paddingLeft: \"10px\",\n position: \"absolute\",\n bottom: 50,\n right: 8,\n width: \"70%\",\n backgroundColor: \"#DCF8C6\",\n transition: \"1s\"\n }\n})\n\nexport default withStyles(styles)(MobileMock);","const dialCodes = [\n {\n \"name\": \"Afghanistan\",\n \"dialCode\": \"+93\",\n \"isoCode\": \"AF\"\n },\n {\n \"name\": \"Aland Islands\",\n \"dialCode\": \"+358\",\n \"isoCode\": \"AX\"\n },\n {\n \"name\": \"Albania\",\n \"dialCode\": \"+355\",\n \"isoCode\": \"AL\"\n },\n {\n \"name\": \"Algeria\",\n \"dialCode\": \"+213\",\n \"isoCode\": \"DZ\"\n },\n {\n \"name\": \"AmericanSamoa\",\n \"dialCode\": \"+1684\",\n \"isoCode\": \"AS\"\n },\n {\n \"name\": \"Andorra\",\n \"dialCode\": \"+376\",\n \"isoCode\": \"AD\"\n },\n {\n \"name\": \"Angola\",\n \"dialCode\": \"+244\",\n \"isoCode\": \"AO\"\n },\n {\n \"name\": \"Anguilla\",\n \"dialCode\": \"+1264\",\n \"isoCode\": \"AI\"\n },\n {\n \"name\": \"Antarctica\",\n \"dialCode\": \"+672\",\n \"isoCode\": \"AQ\"\n },\n {\n \"name\": \"Antigua and Barbuda\",\n \"dialCode\": \"+1268\",\n \"isoCode\": \"AG\"\n },\n {\n \"name\": \"Argentina\",\n \"dialCode\": \"+54\",\n \"isoCode\": \"AR\"\n },\n {\n \"name\": \"Armenia\",\n \"dialCode\": \"+374\",\n \"isoCode\": \"AM\"\n },\n {\n \"name\": \"Aruba\",\n \"dialCode\": \"+297\",\n \"isoCode\": \"AW\"\n },\n {\n \"name\": \"Ascension Island\",\n \"dialCode\": \"+247\",\n \"isoCode\": \"AC\"\n },\n {\n \"name\": \"Australia\",\n \"dialCode\": \"+61\",\n \"isoCode\": \"AU\"\n },\n {\n \"name\": \"Austria\",\n \"dialCode\": \"+43\",\n \"isoCode\": \"AT\"\n },\n {\n \"name\": \"Azerbaijan\",\n \"dialCode\": \"+994\",\n \"isoCode\": \"AZ\"\n },\n {\n \"name\": \"Bahamas\",\n \"dialCode\": \"+1242\",\n \"isoCode\": \"BS\"\n },\n {\n \"name\": \"Bahrain\",\n \"dialCode\": \"+973\",\n \"isoCode\": \"BH\"\n },\n {\n \"name\": \"Bangladesh\",\n \"dialCode\": \"+880\",\n \"isoCode\": \"BD\"\n },\n {\n \"name\": \"Barbados\",\n \"dialCode\": \"+1246\",\n \"isoCode\": \"BB\"\n },\n {\n \"name\": \"Belarus\",\n \"dialCode\": \"+375\",\n \"isoCode\": \"BY\"\n },\n {\n \"name\": \"Belgium\",\n \"dialCode\": \"+32\",\n \"isoCode\": \"BE\"\n },\n {\n \"name\": \"Belize\",\n \"dialCode\": \"+501\",\n \"isoCode\": \"BZ\"\n },\n {\n \"name\": \"Benin\",\n \"dialCode\": \"+229\",\n \"isoCode\": \"BJ\"\n },\n {\n \"name\": \"Bermuda\",\n \"dialCode\": \"+1441\",\n \"isoCode\": \"BM\"\n },\n {\n \"name\": \"Bhutan\",\n \"dialCode\": \"+975\",\n \"isoCode\": \"BT\"\n },\n {\n \"name\": \"Bolivia\",\n \"dialCode\": \"+591\",\n \"isoCode\": \"BO\"\n },\n {\n \"name\": \"Bosnia and Herzegovina\",\n \"dialCode\": \"+387\",\n \"isoCode\": \"BA\"\n },\n {\n \"name\": \"Botswana\",\n \"dialCode\": \"+267\",\n \"isoCode\": \"BW\"\n },\n {\n \"name\": \"Brazil\",\n \"dialCode\": \"+55\",\n \"isoCode\": \"BR\"\n },\n {\n \"name\": \"British Indian Ocean Territory\",\n \"dialCode\": \"+246\",\n \"isoCode\": \"IO\"\n },\n {\n \"name\": \"Brunei Darussalam\",\n \"dialCode\": \"+673\",\n \"isoCode\": \"BN\"\n },\n {\n \"name\": \"Bulgaria\",\n \"dialCode\": \"+359\",\n \"isoCode\": \"BG\"\n },\n {\n \"name\": \"Burkina Faso\",\n \"dialCode\": \"+226\",\n \"isoCode\": \"BF\"\n },\n {\n \"name\": \"Burundi\",\n \"dialCode\": \"+257\",\n \"isoCode\": \"BI\"\n },\n {\n \"name\": \"Cambodia\",\n \"dialCode\": \"+855\",\n \"isoCode\": \"KH\"\n },\n {\n \"name\": \"Cameroon\",\n \"dialCode\": \"+237\",\n \"isoCode\": \"CM\"\n },\n {\n \"name\": \"Canada\",\n \"dialCode\": \"+1\",\n \"isoCode\": \"CA\"\n },\n {\n \"name\": \"Cape Verde\",\n \"dialCode\": \"+238\",\n \"isoCode\": \"CV\"\n },\n {\n \"name\": \"Cayman Islands\",\n \"dialCode\": \"+1345\",\n \"isoCode\": \"KY\"\n },\n {\n \"name\": \"Central African Republic\",\n \"dialCode\": \"+236\",\n \"isoCode\": \"CF\"\n },\n {\n \"name\": \"Chad\",\n \"dialCode\": \"+235\",\n \"isoCode\": \"TD\"\n },\n {\n \"name\": \"Chile\",\n \"dialCode\": \"+56\",\n \"isoCode\": \"CL\"\n },\n {\n \"name\": \"China\",\n \"dialCode\": \"+86\",\n \"isoCode\": \"CN\"\n },\n {\n \"name\": \"Christmas Island\",\n \"dialCode\": \"+61\",\n \"isoCode\": \"CX\"\n },\n {\n \"name\": \"Cocos (Keeling) Islands\",\n \"dialCode\": \"+61\",\n \"isoCode\": \"CC\"\n },\n {\n \"name\": \"Colombia\",\n \"dialCode\": \"+57\",\n \"isoCode\": \"CO\"\n },\n {\n \"name\": \"Comoros\",\n \"dialCode\": \"+269\",\n \"isoCode\": \"KM\"\n },\n {\n \"name\": \"Congo\",\n \"dialCode\": \"+242\",\n \"isoCode\": \"CG\"\n },\n {\n \"name\": \"Cook Islands\",\n \"dialCode\": \"+682\",\n \"isoCode\": \"CK\"\n },\n {\n \"name\": \"Costa Rica\",\n \"dialCode\": \"+506\",\n \"isoCode\": \"CR\"\n },\n {\n \"name\": \"Croatia\",\n \"dialCode\": \"+385\",\n \"isoCode\": \"HR\"\n },\n {\n \"name\": \"Cuba\",\n \"dialCode\": \"+53\",\n \"isoCode\": \"CU\"\n },\n {\n \"name\": \"Cyprus\",\n \"dialCode\": \"+357\",\n \"isoCode\": \"CY\"\n },\n {\n \"name\": \"Czech Republic\",\n \"dialCode\": \"+420\",\n \"isoCode\": \"CZ\"\n },\n {\n \"name\": \"Democratic Republic of the Congo\",\n \"dialCode\": \"+243\",\n \"isoCode\": \"CD\"\n },\n {\n \"name\": \"Denmark\",\n \"dialCode\": \"+45\",\n \"isoCode\": \"DK\"\n },\n {\n \"name\": \"Djibouti\",\n \"dialCode\": \"+253\",\n \"isoCode\": \"DJ\"\n },\n {\n \"name\": \"Dominica\",\n \"dialCode\": \"+1767\",\n \"isoCode\": \"DM\"\n },\n {\n \"name\": \"Dominican Republic\",\n \"dialCode\": \"+1849\",\n \"isoCode\": \"DO\"\n },\n {\n \"name\": \"Ecuador\",\n \"dialCode\": \"+593\",\n \"isoCode\": \"EC\"\n },\n {\n \"name\": \"Egypt\",\n \"dialCode\": \"+20\",\n \"isoCode\": \"EG\"\n },\n {\n \"name\": \"El Salvador\",\n \"dialCode\": \"+503\",\n \"isoCode\": \"SV\"\n },\n {\n \"name\": \"Equatorial Guinea\",\n \"dialCode\": \"+240\",\n \"isoCode\": \"GQ\"\n },\n {\n \"name\": \"Eritrea\",\n \"dialCode\": \"+291\",\n \"isoCode\": \"ER\"\n },\n {\n \"name\": \"Estonia\",\n \"dialCode\": \"+372\",\n \"isoCode\": \"EE\"\n },\n {\n \"name\": \"Eswatini\",\n \"dialCode\": \"+268\",\n \"isoCode\": \"SZ\"\n },\n {\n \"name\": \"Ethiopia\",\n \"dialCode\": \"+251\",\n \"isoCode\": \"ET\"\n },\n {\n \"name\": \"Falkland Islands (Malvinas)\",\n \"dialCode\": \"+500\",\n \"isoCode\": \"FK\"\n },\n {\n \"name\": \"Faroe Islands\",\n \"dialCode\": \"+298\",\n \"isoCode\": \"FO\"\n },\n {\n \"name\": \"Fiji\",\n \"dialCode\": \"+679\",\n \"isoCode\": \"FJ\"\n },\n {\n \"name\": \"Finland\",\n \"dialCode\": \"+358\",\n \"isoCode\": \"FI\"\n },\n {\n \"name\": \"France\",\n \"dialCode\": \"+33\",\n \"isoCode\": \"FR\"\n },\n {\n \"name\": \"French Guiana\",\n \"dialCode\": \"+594\",\n \"isoCode\": \"GF\"\n },\n {\n \"name\": \"French Polynesia\",\n \"dialCode\": \"+689\",\n \"isoCode\": \"PF\"\n },\n {\n \"name\": \"Gabon\",\n \"dialCode\": \"+241\",\n \"isoCode\": \"GA\"\n },\n {\n \"name\": \"Gambia\",\n \"dialCode\": \"+220\",\n \"isoCode\": \"GM\"\n },\n {\n \"name\": \"Georgia\",\n \"dialCode\": \"+995\",\n \"isoCode\": \"GE\"\n },\n {\n \"name\": \"Germany\",\n \"dialCode\": \"+49\",\n \"isoCode\": \"DE\"\n },\n {\n \"name\": \"Ghana\",\n \"dialCode\": \"+233\",\n \"isoCode\": \"GH\"\n },\n {\n \"name\": \"Gibraltar\",\n \"dialCode\": \"+350\",\n \"isoCode\": \"GI\"\n },\n {\n \"name\": \"Greece\",\n \"dialCode\": \"+30\",\n \"isoCode\": \"GR\"\n },\n {\n \"name\": \"Greenland\",\n \"dialCode\": \"+299\",\n \"isoCode\": \"GL\"\n },\n {\n \"name\": \"Grenada\",\n \"dialCode\": \"+1473\",\n \"isoCode\": \"GD\"\n },\n {\n \"name\": \"Guadeloupe\",\n \"dialCode\": \"+590\",\n \"isoCode\": \"GP\"\n },\n {\n \"name\": \"Guam\",\n \"dialCode\": \"+1671\",\n \"isoCode\": \"GU\"\n },\n {\n \"name\": \"Guatemala\",\n \"dialCode\": \"+502\",\n \"isoCode\": \"GT\"\n },\n {\n \"name\": \"Guernsey\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"GG\"\n },\n {\n \"name\": \"Guinea\",\n \"dialCode\": \"+224\",\n \"isoCode\": \"GN\"\n },\n {\n \"name\": \"Guinea-Bissau\",\n \"dialCode\": \"+245\",\n \"isoCode\": \"GW\"\n },\n {\n \"name\": \"Guyana\",\n \"dialCode\": \"+592\",\n \"isoCode\": \"GY\"\n },\n {\n \"name\": \"Haiti\",\n \"dialCode\": \"+509\",\n \"isoCode\": \"HT\"\n },\n {\n \"name\": \"Holy See (Vatican City State)\",\n \"dialCode\": \"+379\",\n \"isoCode\": \"VA\"\n },\n {\n \"name\": \"Honduras\",\n \"dialCode\": \"+504\",\n \"isoCode\": \"HN\"\n },\n {\n \"name\": \"Hong Kong\",\n \"dialCode\": \"+852\",\n \"isoCode\": \"HK\"\n },\n {\n \"name\": \"Hungary\",\n \"dialCode\": \"+36\",\n \"isoCode\": \"HU\"\n },\n {\n \"name\": \"Iceland\",\n \"dialCode\": \"+354\",\n \"isoCode\": \"IS\"\n },\n {\n \"name\": \"India\",\n \"dialCode\": \"+91\",\n \"isoCode\": \"IN\"\n },\n {\n \"name\": \"Indonesia\",\n \"dialCode\": \"+62\",\n \"isoCode\": \"ID\"\n },\n {\n \"name\": \"Iran\",\n \"dialCode\": \"+98\",\n \"isoCode\": \"IR\"\n },\n {\n \"name\": \"Iraq\",\n \"dialCode\": \"+964\",\n \"isoCode\": \"IQ\"\n },\n {\n \"name\": \"Ireland\",\n \"dialCode\": \"+353\",\n \"isoCode\": \"IE\"\n },\n {\n \"name\": \"Isle of Man\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"IM\"\n },\n {\n \"name\": \"Israel\",\n \"dialCode\": \"+972\",\n \"isoCode\": \"IL\"\n },\n {\n \"name\": \"Italy\",\n \"dialCode\": \"+39\",\n \"isoCode\": \"IT\"\n },\n {\n \"name\": \"Ivory Coast / Cote d'Ivoire\",\n \"dialCode\": \"+225\",\n \"isoCode\": \"CI\"\n },\n {\n \"name\": \"Jamaica\",\n \"dialCode\": \"+1876\",\n \"isoCode\": \"JM\"\n },\n {\n \"name\": \"Japan\",\n \"dialCode\": \"+81\",\n \"isoCode\": \"JP\"\n },\n {\n \"name\": \"Jersey\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"JE\"\n },\n {\n \"name\": \"Jordan\",\n \"dialCode\": \"+962\",\n \"isoCode\": \"JO\"\n },\n {\n \"name\": \"Kazakhstan\",\n \"dialCode\": \"+77\",\n \"isoCode\": \"KZ\"\n },\n {\n \"name\": \"Kenya\",\n \"dialCode\": \"+254\",\n \"isoCode\": \"KE\"\n },\n {\n \"name\": \"Kiribati\",\n \"dialCode\": \"+686\",\n \"isoCode\": \"KI\"\n },\n {\n \"name\": \"Korea, Democratic People's Republic of Korea\",\n \"dialCode\": \"+850\",\n \"isoCode\": \"KP\"\n },\n {\n \"name\": \"Korea, Republic of South Korea\",\n \"dialCode\": \"+82\",\n \"isoCode\": \"KR\"\n },\n {\n \"name\": \"Kosovo\",\n \"dialCode\": \"+383\",\n \"isoCode\": \"XK\"\n },\n {\n \"name\": \"Kuwait\",\n \"dialCode\": \"+965\",\n \"isoCode\": \"KW\"\n },\n {\n \"name\": \"Kyrgyzstan\",\n \"dialCode\": \"+996\",\n \"isoCode\": \"KG\"\n },\n {\n \"name\": \"Laos\",\n \"dialCode\": \"+856\",\n \"isoCode\": \"LA\"\n },\n {\n \"name\": \"Latvia\",\n \"dialCode\": \"+371\",\n \"isoCode\": \"LV\"\n },\n {\n \"name\": \"Lebanon\",\n \"dialCode\": \"+961\",\n \"isoCode\": \"LB\"\n },\n {\n \"name\": \"Lesotho\",\n \"dialCode\": \"+266\",\n \"isoCode\": \"LS\"\n },\n {\n \"name\": \"Liberia\",\n \"dialCode\": \"+231\",\n \"isoCode\": \"LR\"\n },\n {\n \"name\": \"Libya\",\n \"dialCode\": \"+218\",\n \"isoCode\": \"LY\"\n },\n {\n \"name\": \"Liechtenstein\",\n \"dialCode\": \"+423\",\n \"isoCode\": \"LI\"\n },\n {\n \"name\": \"Lithuania\",\n \"dialCode\": \"+370\",\n \"isoCode\": \"LT\"\n },\n {\n \"name\": \"Luxembourg\",\n \"dialCode\": \"+352\",\n \"isoCode\": \"LU\"\n },\n {\n \"name\": \"Macau\",\n \"dialCode\": \"+853\",\n \"isoCode\": \"MO\"\n },\n {\n \"name\": \"Madagascar\",\n \"dialCode\": \"+261\",\n \"isoCode\": \"MG\"\n },\n {\n \"name\": \"Malawi\",\n \"dialCode\": \"+265\",\n \"isoCode\": \"MW\"\n },\n {\n \"name\": \"Malaysia\",\n \"dialCode\": \"+60\",\n \"isoCode\": \"MY\"\n },\n {\n \"name\": \"Maldives\",\n \"dialCode\": \"+960\",\n \"isoCode\": \"MV\"\n },\n {\n \"name\": \"Mali\",\n \"dialCode\": \"+223\",\n \"isoCode\": \"ML\"\n },\n {\n \"name\": \"Malta\",\n \"dialCode\": \"+356\",\n \"isoCode\": \"MT\"\n },\n {\n \"name\": \"Marshall Islands\",\n \"dialCode\": \"+692\",\n \"isoCode\": \"MH\"\n },\n {\n \"name\": \"Martinique\",\n \"dialCode\": \"+596\",\n \"isoCode\": \"MQ\"\n },\n {\n \"name\": \"Mauritania\",\n \"dialCode\": \"+222\",\n \"isoCode\": \"MR\"\n },\n {\n \"name\": \"Mauritius\",\n \"dialCode\": \"+230\",\n \"isoCode\": \"MU\"\n },\n {\n \"name\": \"Mayotte\",\n \"dialCode\": \"+262\",\n \"isoCode\": \"YT\"\n },\n {\n \"name\": \"Mexico\",\n \"dialCode\": \"+52\",\n \"isoCode\": \"MX\"\n },\n {\n \"name\": \"Micronesia, Federated States of Micronesia\",\n \"dialCode\": \"+691\",\n \"isoCode\": \"FM\"\n },\n {\n \"name\": \"Moldova\",\n \"dialCode\": \"+373\",\n \"isoCode\": \"MD\"\n },\n {\n \"name\": \"Monaco\",\n \"dialCode\": \"+377\",\n \"isoCode\": \"MC\"\n },\n {\n \"name\": \"Mongolia\",\n \"dialCode\": \"+976\",\n \"isoCode\": \"MN\"\n },\n {\n \"name\": \"Montenegro\",\n \"dialCode\": \"+382\",\n \"isoCode\": \"ME\"\n },\n {\n \"name\": \"Montserrat\",\n \"dialCode\": \"+1664\",\n \"isoCode\": \"MS\"\n },\n {\n \"name\": \"Morocco\",\n \"dialCode\": \"+212\",\n \"isoCode\": \"MA\"\n },\n {\n \"name\": \"Mozambique\",\n \"dialCode\": \"+258\",\n \"isoCode\": \"MZ\"\n },\n {\n \"name\": \"Myanmar\",\n \"dialCode\": \"+95\",\n \"isoCode\": \"MM\"\n },\n {\n \"name\": \"Namibia\",\n \"dialCode\": \"+264\",\n \"isoCode\": \"NA\"\n },\n {\n \"name\": \"Nauru\",\n \"dialCode\": \"+674\",\n \"isoCode\": \"NR\"\n },\n {\n \"name\": \"Nepal\",\n \"dialCode\": \"+977\",\n \"isoCode\": \"NP\"\n },\n {\n \"name\": \"Netherlands\",\n \"dialCode\": \"+31\",\n \"isoCode\": \"NL\"\n },\n {\n \"name\": \"Netherlands Antilles\",\n \"dialCode\": \"+599\",\n \"isoCode\": \"AN\"\n },\n {\n \"name\": \"New Caledonia\",\n \"dialCode\": \"+687\",\n \"isoCode\": \"NC\"\n },\n {\n \"name\": \"New Zealand\",\n \"dialCode\": \"+64\",\n \"isoCode\": \"NZ\"\n },\n {\n \"name\": \"Nicaragua\",\n \"dialCode\": \"+505\",\n \"isoCode\": \"NI\"\n },\n {\n \"name\": \"Niger\",\n \"dialCode\": \"+227\",\n \"isoCode\": \"NE\"\n },\n {\n \"name\": \"Nigeria\",\n \"dialCode\": \"+234\",\n \"isoCode\": \"NG\"\n },\n {\n \"name\": \"Niue\",\n \"dialCode\": \"+683\",\n \"isoCode\": \"NU\"\n },\n {\n \"name\": \"Norfolk Island\",\n \"dialCode\": \"+672\",\n \"isoCode\": \"NF\"\n },\n {\n \"name\": \"North Macedonia\",\n \"dialCode\": \"+389\",\n \"isoCode\": \"MK\"\n },\n {\n \"name\": \"Northern Mariana Islands\",\n \"dialCode\": \"+1670\",\n \"isoCode\": \"MP\"\n },\n {\n \"name\": \"Norway\",\n \"dialCode\": \"+47\",\n \"isoCode\": \"NO\"\n },\n {\n \"name\": \"Oman\",\n \"dialCode\": \"+968\",\n \"isoCode\": \"OM\"\n },\n {\n \"name\": \"Pakistan\",\n \"dialCode\": \"+92\",\n \"isoCode\": \"PK\"\n },\n {\n \"name\": \"Palau\",\n \"dialCode\": \"+680\",\n \"isoCode\": \"PW\"\n },\n {\n \"name\": \"Palestine\",\n \"dialCode\": \"+970\",\n \"isoCode\": \"PS\"\n },\n {\n \"name\": \"Panama\",\n \"dialCode\": \"+507\",\n \"isoCode\": \"PA\"\n },\n {\n \"name\": \"Papua New Guinea\",\n \"dialCode\": \"+675\",\n \"isoCode\": \"PG\"\n },\n {\n \"name\": \"Paraguay\",\n \"dialCode\": \"+595\",\n \"isoCode\": \"PY\"\n },\n {\n \"name\": \"Peru\",\n \"dialCode\": \"+51\",\n \"isoCode\": \"PE\"\n },\n {\n \"name\": \"Philippines\",\n \"dialCode\": \"+63\",\n \"isoCode\": \"PH\"\n },\n {\n \"name\": \"Pitcairn\",\n \"dialCode\": \"+872\",\n \"isoCode\": \"PN\"\n },\n {\n \"name\": \"Poland\",\n \"dialCode\": \"+48\",\n \"isoCode\": \"PL\"\n },\n {\n \"name\": \"Portugal\",\n \"dialCode\": \"+351\",\n \"isoCode\": \"PT\"\n },\n {\n \"name\": \"Puerto Rico\",\n \"dialCode\": \"+1939\",\n \"isoCode\": \"PR\"\n },\n {\n \"name\": \"Qatar\",\n \"dialCode\": \"+974\",\n \"isoCode\": \"QA\"\n },\n {\n \"name\": \"Reunion\",\n \"dialCode\": \"+262\",\n \"isoCode\": \"RE\"\n },\n {\n \"name\": \"Romania\",\n \"dialCode\": \"+40\",\n \"isoCode\": \"RO\"\n },\n {\n \"name\": \"Russia\",\n \"dialCode\": \"+7\",\n \"isoCode\": \"RU\"\n },\n {\n \"name\": \"Rwanda\",\n \"dialCode\": \"+250\",\n \"isoCode\": \"RW\"\n },\n {\n \"name\": \"Saint Barthelemy\",\n \"dialCode\": \"+590\",\n \"isoCode\": \"BL\"\n },\n {\n \"name\": \"Saint Helena, Ascension and Tristan Da Cunha\",\n \"dialCode\": \"+290\",\n \"isoCode\": \"SH\"\n },\n {\n \"name\": \"Saint Kitts and Nevis\",\n \"dialCode\": \"+1869\",\n \"isoCode\": \"KN\"\n },\n {\n \"name\": \"Saint Lucia\",\n \"dialCode\": \"+1758\",\n \"isoCode\": \"LC\"\n },\n {\n \"name\": \"Saint Martin\",\n \"dialCode\": \"+590\",\n \"isoCode\": \"MF\"\n },\n {\n \"name\": \"Saint Pierre and Miquelon\",\n \"dialCode\": \"+508\",\n \"isoCode\": \"PM\"\n },\n {\n \"name\": \"Saint Vincent and the Grenadines\",\n \"dialCode\": \"+1784\",\n \"isoCode\": \"VC\"\n },\n {\n \"name\": \"Samoa\",\n \"dialCode\": \"+685\",\n \"isoCode\": \"WS\"\n },\n {\n \"name\": \"San Marino\",\n \"dialCode\": \"+378\",\n \"isoCode\": \"SM\"\n },\n {\n \"name\": \"Sao Tome and Principe\",\n \"dialCode\": \"+239\",\n \"isoCode\": \"ST\"\n },\n {\n \"name\": \"Saudi Arabia\",\n \"dialCode\": \"+966\",\n \"isoCode\": \"SA\"\n },\n {\n \"name\": \"Senegal\",\n \"dialCode\": \"+221\",\n \"isoCode\": \"SN\"\n },\n {\n \"name\": \"Serbia\",\n \"dialCode\": \"+381\",\n \"isoCode\": \"RS\"\n },\n {\n \"name\": \"Seychelles\",\n \"dialCode\": \"+248\",\n \"isoCode\": \"SC\"\n },\n {\n \"name\": \"Sierra Leone\",\n \"dialCode\": \"+232\",\n \"isoCode\": \"SL\"\n },\n {\n \"name\": \"Singapore\",\n \"dialCode\": \"+65\",\n \"isoCode\": \"SG\"\n },\n {\n \"name\": \"Sint Maarten\",\n \"dialCode\": \"+1721\",\n \"isoCode\": \"SX\"\n },\n {\n \"name\": \"Slovakia\",\n \"dialCode\": \"+421\",\n \"isoCode\": \"SK\"\n },\n {\n \"name\": \"Slovenia\",\n \"dialCode\": \"+386\",\n \"isoCode\": \"SI\"\n },\n {\n \"name\": \"Solomon Islands\",\n \"dialCode\": \"+677\",\n \"isoCode\": \"SB\"\n },\n {\n \"name\": \"Somalia\",\n \"dialCode\": \"+252\",\n \"isoCode\": \"SO\"\n },\n {\n \"name\": \"South Africa\",\n \"dialCode\": \"+27\",\n \"isoCode\": \"ZA\"\n },\n {\n \"name\": \"South Georgia and the South Sandwich Islands\",\n \"dialCode\": \"+500\",\n \"isoCode\": \"GS\"\n },\n {\n \"name\": \"South Sudan\",\n \"dialCode\": \"+211\",\n \"isoCode\": \"SS\"\n },\n {\n \"name\": \"Spain\",\n \"dialCode\": \"+34\",\n \"isoCode\": \"ES\"\n },\n {\n \"name\": \"Sri Lanka\",\n \"dialCode\": \"+94\",\n \"isoCode\": \"LK\"\n },\n {\n \"name\": \"Sudan\",\n \"dialCode\": \"+249\",\n \"isoCode\": \"SD\"\n },\n {\n \"name\": \"Suriname\",\n \"dialCode\": \"+597\",\n \"isoCode\": \"SR\"\n },\n {\n \"name\": \"Svalbard and Jan Mayen\",\n \"dialCode\": \"+47\",\n \"isoCode\": \"SJ\"\n },\n {\n \"name\": \"Sweden\",\n \"dialCode\": \"+46\",\n \"isoCode\": \"SE\"\n },\n {\n \"name\": \"Switzerland\",\n \"dialCode\": \"+41\",\n \"isoCode\": \"CH\"\n },\n {\n \"name\": \"Syrian Arab Republic\",\n \"dialCode\": \"+963\",\n \"isoCode\": \"SY\"\n },\n {\n \"name\": \"Taiwan\",\n \"dialCode\": \"+886\",\n \"isoCode\": \"TW\"\n },\n {\n \"name\": \"Tajikistan\",\n \"dialCode\": \"+992\",\n \"isoCode\": \"TJ\"\n },\n {\n \"name\": \"Tanzania, United Republic of Tanzania\",\n \"dialCode\": \"+255\",\n \"isoCode\": \"TZ\"\n },\n {\n \"name\": \"Thailand\",\n \"dialCode\": \"+66\",\n \"isoCode\": \"TH\"\n },\n {\n \"name\": \"Timor-Leste\",\n \"dialCode\": \"+670\",\n \"isoCode\": \"TL\"\n },\n {\n \"name\": \"Togo\",\n \"dialCode\": \"+228\",\n \"isoCode\": \"TG\"\n },\n {\n \"name\": \"Tokelau\",\n \"dialCode\": \"+690\",\n \"isoCode\": \"TK\"\n },\n {\n \"name\": \"Tonga\",\n \"dialCode\": \"+676\",\n \"isoCode\": \"TO\"\n },\n {\n \"name\": \"Trinidad and Tobago\",\n \"dialCode\": \"+1868\",\n \"isoCode\": \"TT\"\n },\n {\n \"name\": \"Tunisia\",\n \"dialCode\": \"+216\",\n \"isoCode\": \"TN\"\n },\n {\n \"name\": \"Turkey\",\n \"dialCode\": \"+90\",\n \"isoCode\": \"TR\"\n },\n {\n \"name\": \"Turkmenistan\",\n \"dialCode\": \"+993\",\n \"isoCode\": \"TM\"\n },\n {\n \"name\": \"Turks and Caicos Islands\",\n \"dialCode\": \"+1649\",\n \"isoCode\": \"TC\"\n },\n {\n \"name\": \"Tuvalu\",\n \"dialCode\": \"+688\",\n \"isoCode\": \"TV\"\n },\n {\n \"name\": \"Uganda\",\n \"dialCode\": \"+256\",\n \"isoCode\": \"UG\"\n },\n {\n \"name\": \"Ukraine\",\n \"dialCode\": \"+380\",\n \"isoCode\": \"UA\"\n },\n {\n \"name\": \"United Arab Emirates\",\n \"dialCode\": \"+971\",\n \"isoCode\": \"AE\"\n },\n {\n \"name\": \"United Kingdom\",\n \"dialCode\": \"+44\",\n \"isoCode\": \"GB\"\n },\n {\n \"name\": \"United States\",\n \"dialCode\": \"+1\",\n \"isoCode\": \"US\"\n },\n {\n \"name\": \"Uruguay\",\n \"dialCode\": \"+598\",\n \"isoCode\": \"UY\"\n },\n {\n \"name\": \"Uzbekistan\",\n \"dialCode\": \"+998\",\n \"isoCode\": \"UZ\"\n },\n {\n \"name\": \"Vanuatu\",\n \"dialCode\": \"+678\",\n \"isoCode\": \"VU\"\n },\n {\n \"name\": \"Venezuela, Bolivarian Republic of Venezuela\",\n \"dialCode\": \"+58\",\n \"isoCode\": \"VE\"\n },\n {\n \"name\": \"Vietnam\",\n \"dialCode\": \"+84\",\n \"isoCode\": \"VN\"\n },\n {\n \"name\": \"Virgin Islands, British\",\n \"dialCode\": \"+1284\",\n \"isoCode\": \"VG\"\n },\n {\n \"name\": \"Virgin Islands, U.S.\",\n \"dialCode\": \"+1340\",\n \"isoCode\": \"VI\"\n },\n {\n \"name\": \"Wallis and Futuna\",\n \"dialCode\": \"+681\",\n \"isoCode\": \"WF\"\n },\n {\n \"name\": \"Yemen\",\n \"dialCode\": \"+967\",\n \"isoCode\": \"YE\"\n },\n {\n \"name\": \"Zambia\",\n \"dialCode\": \"+260\",\n \"isoCode\": \"ZM\"\n },\n {\n \"name\": \"Zimbabwe\",\n \"dialCode\": \"+263\",\n \"isoCode\": \"ZW\"\n }\n]\n\n\nexport default dialCodes","// const URL =\n// process.env.REACT_APP_MODE === 'production'\n// ? 'https://wa.aisensy.com'\n// : 'http://localhost:5000';\nconst URL =\nprocess.env.REACT_APP_LINK_GEN_BACKEND_URL ||\n (process.env.REACT_APP_NODE_ENV === 'production'\n ? 'https://wa.aisensy.com'\n : 'https://wa.aisensy.com');\n\nconst GOOGLE_CLIENT_ID = process.env.REACT_APP_GOOGLE_CLIENT_ID ||\n '882865407668-dl8a107bcb65kl8ttqe8e6j2usu3cm40.apps.googleusercontent.com';\n\nexport { URL, GOOGLE_CLIENT_ID };\n","export const fallbackCopyTextToClipboard = (text: string): void => {\n console.log({text})\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n \n // Avoid scrolling to bottom\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n const successful = document.execCommand('copy');\n console.log({successful})\n const msg = successful ? 'successful' : 'unsuccessful';\n console.log('Fallback: Copying text command was ' + msg);\n } catch (err) {\n console.error('Fallback: Oops, unable to copy', err);\n }\n\n document.body.removeChild(textArea);\n}\n\nexport const copyTextToClipboard = (text: string): void => {\n if (!navigator.clipboard) {\n fallbackCopyTextToClipboard(text);\n return;\n }\n navigator.clipboard.writeText(text).then(function() {\n console.log('Async: Copying to clipboard was successful!');\n }, function(err) {\n console.error('Async: Could not copy text: ', err);\n });\n}","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n} from '@material-ui/core';\n// import QRCode from \"qrcode.react\";\nimport { QRCode } from 'react-qrcode-logo';\nimport { copyTextToClipboard } from '../../helpers/clipboard';\nconst WhatsAppImage =\n 'https://create.wa.link/static/WhatsApp-0e878a0fa68c61b06e781cee2e6bc71f.svg';\nconst AiSensyLogo =\n 'http://aisensy-superadmin.s3-website.ap-south-1.amazonaws.com/favicon.ico';\n\nclass LinkDialogContent extends Component {\n static defaultProps = {\n name: 'AiSensy',\n linkid: 'default value',\n };\n state = {\n countryCode: '',\n name: this.props.name,\n copied: false,\n };\n // async componentDidMount(): Promise {\n // const clientId = '';\n // }\n downloadQR = () => {\n const canvas = document.getElementById(\n 'react-qrcode-logo',\n ) as HTMLCanvasElement;\n if (canvas) {\n const pngUrl = canvas\n .toDataURL('image/png')\n .replace('image/png', 'image/octet-stream');\n const downloadLink = document.createElement('a');\n downloadLink.href = pngUrl;\n downloadLink.download = this.props.linkid + '.png';\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n }\n };\n clickToCopy = () => {\n const link = 'https://wa.aisensy.com/' + this.props.linkid;\n // navigator.clipboard.writeText(link);\n copyTextToClipboard(link);\n // Pop up alert that link has been copied to clipboard\n this.setState({ copied: true });\n };\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n
\n \n Here is your WhatsApp short link\n \n \n Copy and share it on your social media, website, emails or anywhere\n you want to be contacted instantly by your customers.\n \n \n \n \n \n \n \n \n \n wa.aisensy.com/{this.props.linkid}\n \n \n \n \n \n \n \n \n {this.state.copied ? (\n \n Link has been copied to clipboard !!\n \n ) : (\n \n FREE !!- Track links & much more,{' '}\n \n Sign Up\n {' '}\n now\n \n )}\n \n \n {!this.state.copied ? (\n \n Copy URL\n \n ) : (\n \n )}\n \n \n \n Download QR\n \n \n \n {/* \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAccess premium features for FREE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t */}\n
\n );\n }\n}\n\ninterface Props extends WithStyles {\n name: string;\n linkid: string;\n closeDialog: () => void;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100%',\n minHeight: 500,\n backgroundColor: 'white',\n boxSizing: 'border-box',\n marginBottom: 10,\n padding: '20px',\n },\n whatsappimg: {\n height: 50,\n marginRight: 15,\n },\n });\n\nexport default withStyles(styles)(LinkDialogContent);\n","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n Popover,\n} from '@material-ui/core';\n\nimport Picker, { IEmojiData } from 'emoji-picker-react';\n\nclass EPicker extends Component {\n static defaultProps = {\n color: 'AiSensy',\n fieldName: ''\n };\n state = {\n countryCode: '',\n name: this.props.color,\n copied: false,\n anchorEl: null\n };\n handleClick = (event: React.MouseEvent) => {\n this.setState({ anchorEl: event.currentTarget });\n }\n handleClose = () => {\n this.setState({ anchorEl: null });\n }\n emojiHandler = (event: React.MouseEvent, data: IEmojiData) => {\n this.props.setEmoji(event, data, this.props.fieldName );\n }\n // async componentDidMount(): Promise {}\n render(): React.ReactElement {\n const { classes } = this.props;\n const open = Boolean(this.state.anchorEl);\n const id = open ? 'simple-popover' : undefined;\n return (\n
\n
\n 😊\n
\n \n
\n {/* */}\n\t\t\t\t\t\t\n
\n \n
\n );\n }\n}\n\ninterface Props extends WithStyles {\n color: string;\n fieldName: string;\n setEmoji: (event: React.MouseEvent, data: IEmojiData, fieldName: string) => void;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n anchorEl: HTMLDivElement | null\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: 20,\n height: 20,\n borderRadius: \"50%\",\n cursor: \"pointer\",\n // border: `1px solid ${theme.palette.primary.main}`,\n display: 'flex',\n justifyContent: \"center\",\n fontSize: 20,\n lineHeight: 1,\n\t\t\t// background: theme.palette.primary.main,\n boxShadow: \"rgb(0 0 0 / 20%) 0px 0px 0.428571rem 0px\",\n // color: 'white'\n },\n demopicker: {\n // width: 200,\n // height: 200,\n background: \"transparent\",\n overflow: \"hidden\"\n }\n });\n\nexport default withStyles(styles)(EPicker);\n","import React, {Component} from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tTheme, \n\tcreateStyles, \n\tTypography,\n\tTextField,\n\tButton,\n\tInputAdornment,\n\tCircularProgress,\n\tDialog,\n} from '@material-ui/core';\nimport MobileMock from './MobileMock';\nimport { Autocomplete } from '@material-ui/lab';\nimport dialCodes from \"../../config/dialCodes\";\nimport axios, { AxiosError, AxiosResponse } from 'axios';\n \n\nimport { URL } from '../../config/config';\nimport LinkDialogContent from './LinkDialogContent';\nimport { PlayCircleOutline } from '@material-ui/icons';\nimport EPicker from '../../commons/EPicker/EPicker';\nimport { IEmojiData } from 'emoji-picker-react';\n\nlet timer: number;\nconst timeoutVal = 300;\n\nclass LinkGenerator extends Component {\n\tstatic defaultProps = {\n\t\tname: \"AiSensy\"\n\t}\n\tprivate textarea: React.RefObject = React.createRef();\n\tstate = {\n\t\tcountry: \"India\",\n\t\tcountryCode: \"+91\",\n\t\tname: this.props.name,\n\t\tmsg: \"\",\n\t\tpreviewMsg: true,\n\t\tphoneNumber: \"\",\n\t\tisSubmitting: false,\n\t\terrmsg: \"\",\n\t\tlinkid: \"\"\n\t}\n\tasync componentDidMount(): Promise {\n\t\t// const clientId = \"\"\n\t\tconst typer: HTMLElement | null = document.getElementById('typer');\n\t\tif (typer) {\n\t\t\ttyper.addEventListener('keypress', this.handleKeyPress);\n\t\t\t// triggers a check to see if the user is actually done typing\n\t\t\ttyper.addEventListener('keyup', this.handleKeyUp);\n\t\t}\n\t}\n\thandleKeyUp = (e: KeyboardEvent) => {\n\t\twindow.clearTimeout(timer);\n\t\ttimer = window.setTimeout(() => {\n\t\t\tthis.setState({ previewMsg: false })\n\t\t}, timeoutVal);\n\t}\n\thandleKeyPress = (e: KeyboardEvent) => {\n\t\twindow.clearTimeout(timer);\n\t\tthis.setState({ previewMsg: true })\n\t}\n handleAutoComplete = (field: string, value: string, reason: string) => {\n if(reason == 'select-option') {\n this.setState({ country: value, countryCode: this.getDialCode(value) })\n }\n }\n getDialCode = (value: string) => {\n const result = dialCodes.find( e => e.name == value);\n\t\tif (result) {\n\t\t\treturn result.dialCode;\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n }\n\thandleCustomMsg = (e: React.ChangeEvent ) => {\n\t\tthis.setState({msg: e.target.value})\n\t}\n\thandlePhoneNumber = (e: React.ChangeEvent) => {\n\t\tthis.setState({phoneNumber: e.target.value.trim()})\n\t}\n\tgenerateLink = async (): Promise => {\n\t\ttry {\n\t\t\tconst { phoneNumber, msg, countryCode, country } = this.state;\n\t\t\tconst dialCode = dialCodes.find( e => e.name == country );\n\t\t\tconst isPhoneInvalid = this.formValidation();\n\t\t\t// if(isPhoneInvalid) {\n\t\t\t// \tthrow { errmsg: isPhoneInvalid };\n\t\t\t// }\n\t\t\tif(!dialCode) {\n\t\t\t\tthrow { message: \"Dial code doesn't exist\", type: \"ERR104\" }\t\t\t\t\n\t\t\t}\n\t\t\tthis.setState({ isSubmitting: !this.state.isSubmitting });\n\t\t\tconst data = {\n\t\t\t\t// As per as backend validator\n\t\t\t\tentityType: \"LINK\",\n\t\t\t\tlinkId: \"\",\n\t\t\t\tphoneNumber: countryCode.slice(1) + phoneNumber,\n\t\t\t\tprefilledMsg: msg,\n\t\t\t\tclientId: \"\",\n\t\t\t\tassistantId: \"\",\n\t\t\t\twhatsappBtnSettings: null\n\t\t\t}\n\t\t\ttype createResp = {\n\t\t\t\tlinkId: string\n\t\t\t}\n\t\t\t\n\t\t\tconst res = await axios.post(URL + '/create', data);\n\t\t\t// console.log(res);\n\t\t\tthis.setState({ \n\t\t\t\tlinkid: res.data.linkId, \n\t\t\t\tisSubmitting: false,\n\t\t\t\terrmsg: \"\" \n\t\t\t});\n\t\t} catch(err) {\n\t\t\tconsole.log(err)\n\t\t\ttype errResp = {\n\t\t\t\tmessage: string,\n\t\t\t\ttype: string\n\t\t\t};\n\t\t\t// Handle axios error\n\t\t\tif (err && err.response) {\n\t\t\t\tconst axiosError = err as AxiosError;\n\t\t\t\tthis.setState({\n\t\t\t\t\tisSubmitting: false,\n\t\t\t\t\terrmsg: \n\t\t\t\t\t\taxiosError.response?.data.message || \n\t\t\t\t\t\t\t\"Somethig went wrong, Try again !\" \n\t\t\t\t});\n\t\t\t\treturn \n\t\t\t}\n\t\t\t// Handle direct in-function error \n\t\t\tif (err && err.message) {\n\t\t\t\tthis.setState({\n\t\t\t\t\terrmsg: err.message,\n\t\t\t\t\tisSubmitting: false\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Fallback to generic message\n\t\t\tthis.setState({\n\t\t\t\terrmsg: \"Something went wrong, Try again !\",\n\t\t\t\tisSubmitting: false\n\t\t\t});\n\t\t}\n\t}\n\tformValidation = (): string => {\n\t\tconst { phoneNumber } = this.state;\n\t\tif(!phoneNumber) {\n\t\t\treturn \"Phone number can't be empty\";\n\t\t}\n\t\tif(isNaN(Number(phoneNumber))) {\n\t\t\treturn \"Only digits are allowed in phone number\"\n\t\t}\n\t\treturn \"\"\n\t}\n\tcloseDialog = () => {\n\t\tthis.setState({ linkid: \"\", phoneNumber: \"\", msg: \"\" });\n\t}\n\tsetEmoji = (event: React.MouseEvent, data: IEmojiData, fieldName: string) => {\n\t\tconst ta = this.textarea;\n\t\tif (this.textarea.current !== null ) {\n\t\t\t// console.log(ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\tconst cursorPos = ta.current?.selectionEnd || this.state.msg.length;\n\t\t\tconst selectionStart = ta.current?.selectionStart || this.state.msg.length;\n\t\t\tconst start = this.state.msg.substring(0, selectionStart);\n\t\t\tconst end = this.state.msg.substring(selectionStart);\n\t\t\tconst text = start + data.emoji + end;\n\t\t\tthis.setState({ msg: text }, () => {\n\t\t\t\t// ta.current?.focus();\n\t\t\t\tif (ta.current) {\n\t\t\t\t\tta.current.selectionEnd = cursorPos + 2;\n\t\t\t\t\tta.current.selectionStart = cursorPos + 2;\n\t\t\t\t}\n\t\t\t\t// console.log(\"After update\", ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\t});\n\n\t\t} else {\n\t\t\tthis.setState({ msg: this.state.msg + data.emoji});\n\t\t}\n\t}\n\trender(): React.ReactElement {\n\t\tconst { classes } = this.props\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCreate WhatsApp Link\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEnter the Whatsapp Mobile Number and Pre-filled text and generate your Whatsapp Link Instantly \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t */}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tWhatsApp Phone Number\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSelect your country code & Type your WhatsApp phone number\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t option.name)}\n\t\t\t\t\t\t\t\t\t\tonChange={(e, value, reason) => this.handleAutoComplete(\"country\", value, reason)}\n\t\t\t\t\t\t\t\t\t\trenderInput={(params) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t/> \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.countryCode}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCustom Message \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tType your custom message with emojis & WhatsApp text formatting\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.state.errmsg ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{this.state.errmsg}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tMessage Preview \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t)\n\t}\n}\n\ninterface Props extends WithStyles {\n\tname: string,\n\t// number: string\n}\n\ninterface cState {\n\tcountry: string,\n\tcountryCode: string,\n\tname: string,\n\tmsg: string,\n\tpreviewMsg: boolean,\n\tphoneNumber: string,\n\tisSubmitting: boolean,\n\terrmsg: string,\n\tlinkid: string\n}\n\nconst styles = () => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n\t\tbackgroundColor: \"white\",\n\t\tboxSizing: \"border-box\",\n\t\tborderRadius: 8,\n\t\t// padding: \"25px 0px\",\n // border: \"1px solid lightgrey\",\n minHeight: 100\n\t},\n\ttextField: {\n\t\twidth: 120,\n\t\tmarginRight: 10\n\t},\n\tguideContainer: {\n background: \"white\",\n borderRadius: \"8px\",\n\t\t// border: \"1px solid lightgrey\"\n\t\tbackgroundColor: \"rgb(248, 248, 248)\"\n },\n})\n\nexport default withStyles(styles)(LinkGenerator);","import React, {Component} from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tcreateStyles, \n} from '@material-ui/core';\nimport LinkGenerator from './LinkGenerator';\n\nclass WhatsAppLinkPage extends Component {\n\tconstructor(props: Props) {\n\t\tsuper(props)\n\t\tthis.state = {}\n\t}\n\trender(): React.ReactElement {\n\t\tconst { classes } = this.props\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{/* Put all content in here */}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t)\n\t}\n}\n\ninterface Props extends WithStyles {\n\t// name: string,\n\t// number: string\n}\n\ninterface cState {}\n\nconst styles = () => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n\t\tbackgroundColor: \"rgb(254, 254, 254)\",\n\t\tboxSizing: \"border-box\",\n\t},\n})\n\nexport default withStyles(styles)(WhatsAppLinkPage);","export enum entityType {\n LINK = \"LINK\",\n BTN = \"BTN\"\n}\nexport enum variantType {\n btn = \"WhatsAppBtn\",\n btnWithWidget = \"WhatsAppBtnAndChatWidget\"\n}\n\nexport enum widgetSessionWindowType {\n always = \"ALWAYS\",\n hour24 = \"24_HOUR\",\n week1 = \"1_WEEK\"\n}\n\nexport type personalizedUrl = {\n url: string,\n urlMsg: string,\n userMsg: string,\n regEx: string,\n toFormat: boolean,\n toCapitalize: boolean\n}\nexport type whatsAppBtn = {\n variant: string,\n btnBackground: string,\n btnCTA: string,\n mb: string,\n ml: string,\n mr: string,\n borderRadius: string,\n position: string,\n brandName: string,\n brandSub: string,\n brandColor: string,\n brandImgUrl: string,\n widgetBtnCTA: string,\n openWidgetByDefault: string,\n openWidgetSessionWindow: widgetSessionWindowType,\n onscreenMsg: string,\n widgetOnMobile: string,\n urlPersonalization: boolean,\n personalizedUrls: personalizedUrl[]\n}\n\nexport interface ILink {\n entityType: entityType,\n linkId: string,\n phoneNumber: string,\n prefilledMsg: string,\n clientId: string,\n assistantId: string\n whatsappBtnSettings: whatsAppBtn | null,\n}","import React from 'react';\nimport { cState } from \"../pages/WhatsAppBtnPage/ButtonGenerator\";\nimport { variantType, widgetSessionWindowType } from '../types/link.type';\nexport const getInstamojoConfig = (storeDomain: string) => {\n const config: cState = {\n env: 'dev',\n isSubmitting: false,\n errmsg: '',\n linkid: '',\n phoneNumber: '',\n variant: variantType.btnWithWidget,\n btnBackground: '#4dc247',\n btnCTA: 'Chat with us',\n mb: '30',\n ml: '30',\n mr: '30',\n borderRadius: '24',\n prefilledMsg: 'Hi',\n position: 'Bottom-Right',\n brandName: 'AiSensy',\n brandSub: 'online',\n brandColor: '#0A5F54',\n brandImgUrl: 'https://aisensy-project-media-library.s3.ap-south-1.amazonaws.com/IMAGE/606c10aa3ab7b800170522c3/4045404_emoticon.png',\n widgetBtnCTA: 'Start chat',\n openWidgetByDefault: 'true',\n openWidgetSessionWindow: widgetSessionWindowType.hour24,\n onscreenMsg: \"Hi,\\nHow can I help you ?\",\n widgetOnMobile: 'false',\n urlPersonalization: true,\n personalizedUrls: [\n {\n url: `https://${storeDomain}/product/{{product_id}}/{{product_name}}`,\n userMsg: `Hi, I'm interested in {{product_name}}`,\n urlMsg: \"Hey there! \\nWould you like to know about this product?!\",\n key: 0,\n toFormat: true,\n toCapitalize: true,\n prefilledRef: React.createRef(),\n onscreenRef: React.createRef()\n },\n ],\n }\n return config;\n}","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n} from '@material-ui/core';\n// import QRCode from \"qrcode.react\";\n// const WhatsAppImage = \"https://create.wa.link/static/WhatsApp-0e878a0fa68c61b06e781cee2e6bc71f.svg\"\n// const AiSensyLogo = \"http://aisensy-superadmin.s3-website.ap-south-1.amazonaws.com/favicon.ico\";\n\nconst snippetScript = (linkId: string) => {\n return `\n \n\t`;\n};\n\nclass LinkDialogContent extends Component {\n static defaultProps = {\n name: 'AiSensy',\n linkid: 'default value',\n };\n state = {\n countryCode: '',\n name: this.props.name,\n copied: false,\n };\n // async componentDidMount(): Promise {}\n downloadQR = () => {\n const canvas = document.getElementById(\n 'react-qrcode-logo',\n ) as HTMLCanvasElement;\n if (canvas) {\n const pngUrl = canvas\n .toDataURL('image/png')\n .replace('image/png', 'image/octet-stream');\n const downloadLink = document.createElement('a');\n downloadLink.href = pngUrl;\n downloadLink.download = this.props.linkid + '.png';\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n }\n };\n clickToCopy = () => {\n if(this.props.isSrcInstamojo) {\n navigator.clipboard.writeText(this.props.linkid);\n } else {\n const script = snippetScript(this.props.linkid);\n navigator.clipboard.writeText(script);\n }\n // Pop up alert that link has been copied to clipboard\n this.setState({ copied: true });\n };\n render(): React.ReactElement {\n const { classes, isSrcInstamojo } = this.props;\n if (!isSrcInstamojo) {\n return (\n
\n \n Here is your Widget Snippet\n \n \n {\"Copy and paste this snippet within the tag of your webpage.\"}\n \n \n
\n
{snippetScript(this.props.linkid)}
\n
\n
\n {this.state.copied ? (\n \n Snippet has been copied to clipboard !!\n \n ) : (\n \n FREE !!- Track clicks & much more,{' '}\n \n Sign Up\n {' '}\n now\n \n )}\n \n \n {!this.state.copied ? (\n \n Copy Snippet\n \n ) : (\n \n )}\n \n \n {/* \n \n \n \n Access premium features for FREE\n \n \n \n \n \n \n */}\n
\n );\n } else {\n return (\n
\n \n Widget generated successfully!\n \n \n {this.props.linkid}\n \n \n {\"Copy this widget-id -> Click on Configure button on top-right -> Paste widget-id -> Save & done!\"}\n \n {this.state.copied ? \n (\n \n Copied!\n \n ) \n : \"\"\n }\n \n \n {!this.state.copied ? (\n \n Copy Widget Id\n \n ) : (\n \n )}\n \n \n {/* \n \n \n \n Access premium features for FREE\n \n \n \n \n \n \n */}\n
\n );\n \n }\n }\n}\n\ninterface Props extends WithStyles {\n name: string;\n linkid: string;\n closeDialog: () => void;\n isSrcInstamojo: boolean;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100%',\n minHeight: 200,\n backgroundColor: 'white',\n boxSizing: 'border-box',\n marginBottom: 10,\n padding: '20px',\n\n },\n whatsappimg: {\n height: 50,\n marginRight: 15,\n },\n snippetContainer: {\n height: 200,\n width: '100%',\n overflow: 'auto',\n background: 'rgb(245, 245, 245)',\n boxSizing: 'border-box',\n padding: '0px 25px',\n borderRadius: '8px',\n },\n });\n\nexport default withStyles(styles)(LinkDialogContent);\n","export const preFormat = (url: string): string => {\n // Ignore hashed value in url\n let formattedUrl = url.split('#')[0];\n\n // Add trailing /\n if (url.slice(-1) !== '/') {\n formattedUrl += '/';\n }\n // Add trailing / before ?\n const t = formattedUrl.split('?');\n if (t.length == 2) {\n // Replace & with /\n t[1] = t[1].split('&').join('/');\n // Replace ? with / if there isn't / before ?\n if (t[0].slice(-1) !== '/') {\n formattedUrl = t[0] + '/' + t[1];\n } else {\n formattedUrl = t[0] + t[1];\n }\n }\n formattedUrl = decodeURI(formattedUrl);\n return formattedUrl;\n};\n\nexport const generateExp = (url: string): string => {\n // format url\n const formattedUrl = preFormat(url);\n let regEx = '';\n regEx = '^';\n regEx += formattedUrl\n .replace(/\\{\\{([a-z_]+)\\}\\}/g, 'AISENSY')\n .replace(/[-[\\]{}()*+?.\\/,\\\\^$|#\\s/\\\\]/g, '\\\\$&')\n .replace(/AISENSY/g, '([^\\\\/]+)');\n regEx += '$';\n return regEx;\n};\n\nexport const extractParams = (url: string): string[] => {\n // Only allowed param names a-z with _\n return url.match(/\\{\\{([a-z_]+)\\}\\}/g) || [];\n};\n\nexport const extractParamsValue = (url: string, pattern: string): string[] => {\n // pre format url first\n const formattedUrl = preFormat(url);\n // match formatted url against regex\n const matched = formattedUrl.match(new RegExp(pattern));\n // except first element rest will be values matched\n // order of extracted values and extracted param will be same\n if (matched) {\n return matched.slice(1);\n } else {\n return [];\n }\n};\n\nexport const validateUrl = (url: string): boolean => {\n // Check for http or https in begining\n return !!url.match(/^(http|https):\\/\\/*/);\n};\n\n// const sampleUrl = \"http://aisensy.com/products/{{product_name}}/{{site}}\"\n// const url = \"http://aisensy.com/products/hand-cleaner/alcohol\";\n\n// const formattedUrl = preFormat(url);\n// console.log({ formattedUrl });\n// const params = extractParams(formattedUrl);\n// console.log(\"params: \", params);\n","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n Button,\n Popover,\n} from '@material-ui/core';\nimport { HexColorPicker } from 'react-colorful';\n\nclass ColorPicker extends Component {\n static defaultProps = {\n color: 'AiSensy',\n };\n state = {\n countryCode: '',\n name: this.props.color,\n copied: false,\n anchorEl: null\n };\n handleClick = (event: React.MouseEvent) => {\n this.setState({ anchorEl: event.currentTarget });\n }\n handleClose = () => {\n this.setState({ anchorEl: null });\n }\n // async componentDidMount(): Promise {}\n render(): React.ReactElement {\n const { classes } = this.props;\n const open = Boolean(this.state.anchorEl);\n const id = open ? 'simple-popover' : undefined;\n return (\n
\n
\n
\n \n
\n \n
\n \n
\n );\n }\n}\n\ninterface Props extends WithStyles {\n color: string;\n setColor: (value: string) => void;\n // number: string\n}\n\ninterface cState {\n countryCode: string;\n name: string;\n copied: boolean;\n anchorEl: HTMLDivElement | null\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: 25,\n height: 25,\n borderRadius: \"50%\",\n cursor: \"pointer\"\n },\n demopicker: {\n width: 200,\n height: 200,\n background: \"transparent\",\n overflow: \"hidden\"\n }\n });\n\nexport default withStyles(styles)(ColorPicker);\n","import React, { Component } from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport { withRouter } from 'react-router';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n Typography,\n TextField,\n Button,\n RadioGroup,\n FormControlLabel,\n Radio,\n Switch,\n IconButton,\n Zoom,\n Tooltip,\n CircularProgress,\n Dialog,\n Checkbox,\n InputAdornment,\n Hidden,\n} from '@material-ui/core';\nimport 'emoji-mart/css/emoji-mart.css';\nimport { Add, Clear, Info, PlayCircleOutline } from '@material-ui/icons';\nimport axios, { AxiosError } from 'axios';\n\nimport { URL } from '../../config/config';\nimport { getInstamojoConfig } from '../../helpers/instamojoConfig';\nimport { variantType, widgetSessionWindowType } from '../../types/link.type';\nimport WidgetDialogContent from './WidgetDialogContent';\nimport { formatAndValidateForm } from '../../helpers/formatAndValidateWidgetForm';\nimport { extractParams } from '../../helpers/url';\nimport ColorPicker from \"../../commons/ColorPicker/ColorPicker\";\nimport { IEmojiData } from 'emoji-picker-react';\nimport EPicker from '../../commons/EPicker/EPicker';\nimport { RouteComponentProps, RouterProps } from 'react-router-dom';\n\nclass ButtonGenerator extends Component {\n static defaultProps = {\n // name: 'AiSensy',\n };\n private prefilledMsgTextArea: React.RefObject = React.createRef();\n private onscreenMsgTextArea: React.RefObject = React.createRef();\n\n state = {\n env: 'dev',\n isSubmitting: false,\n errmsg: '',\n linkid: '',\n phoneNumber: '',\n variant: variantType.btnWithWidget,\n btnBackground: '#4dc247',\n btnCTA: 'Chat with us',\n mb: '30',\n ml: '30',\n mr: '30',\n borderRadius: '24',\n prefilledMsg: 'Hi',\n position: 'Bottom-Right',\n brandName: 'AiSensy',\n brandSub: 'online',\n brandColor: '#0A5F54',\n brandImgUrl: '',\n widgetBtnCTA: 'Start chat',\n openWidgetByDefault: 'true',\n openWidgetSessionWindow: widgetSessionWindowType.always,\n onscreenMsg: \"Hi,\\nHow can I help you ?\",\n widgetOnMobile: 'true',\n urlPersonalization: false,\n personalizedUrls: [\n {\n url: '',\n urlMsg: '',\n userMsg: '',\n key: 0,\n toFormat: true,\n toCapitalize: true,\n prefilledRef: React.createRef(),\n onscreenRef: React.createRef()\n },\n ],\n };\n async componentDidMount(): Promise {\n // Get query params from here\n const queryString: string = this.props.history.location.search;\n const searchParams = new URLSearchParams(queryString);\n const src = searchParams.get(\"src\");\n const store_domain = searchParams.get(\"store_domain\");\n if (src === \"instamojo\" && store_domain) {\n const config = getInstamojoConfig(store_domain);\n this.setState({ ...config });\n }\n }\n isSrcInstamojo = () => {\n const queryString: string = this.props.history.location.search;\n const searchParams = new URLSearchParams(queryString);\n const src = searchParams.get(\"src\");\n const store_domain = searchParams.get(\"store_domain\");\n if (src === \"instamojo\" && store_domain) {\n return true;\n }\n return false;\n }\n handleTextInput = (e: React.ChangeEvent) => {\n const key = e.target.name;\n this.setState({ ...this.state, [key]: e.target.value });\n };\n handleRadioInput = (e: React.ChangeEvent) => {\n const key = e.target.name;\n this.setState({ ...this.state, [key]: e.target.value });\n };\n toggleUrlPersonalization = () => {\n this.setState({ urlPersonalization: !this.state.urlPersonalization });\n };\n removeRow = (index: number) => {\n this.setState({\n personalizedUrls: this.state.personalizedUrls.filter(\n (e, i) => i != index,\n ),\n });\n };\n addRow = () => {\n const { personalizedUrls } = this.state;\n const temp = {\n url: '',\n urlMsg: '',\n userMsg: '',\n toFormat: true,\n toCapitalize: true,\n // increment and add key for transition group\n key: personalizedUrls[0]['key'] + 1,\n prefilledRef: React.createRef(),\n onscreenRef: React.createRef()\n };\n this.setState({ personalizedUrls: [temp, ...this.state.personalizedUrls] });\n };\n handlePersonalizationInput = (\n e: React.ChangeEvent,\n index: number,\n ) => {\n // console.log(e, i)\n const temp = [...this.state.personalizedUrls];\n temp[index] = { ...temp[index], [e.target.name]: e.target.value };\n this.setState({ personalizedUrls: temp });\n };\n handlePersonalizedUrlFormatting = (\n e: React.ChangeEvent,\n index: number,\n ) => {\n const temp = [...this.state.personalizedUrls];\n temp[index] = { ...temp[index], [e.target.name]: e.target.checked };\n this.setState({ personalizedUrls: temp });\n };\n componentDidUpdate(prevProps: Props, prevState: cState) {\n // console.log(prevState, prevProps);\n // Update widget preview\n if (prevState != this.state) {\n if(typeof window.CreateWhatsAppButtonAndWidget === \"function\") {\n window.CreateWhatsAppButtonAndWidget({ ...this.state });\n }\n }\n }\n generateWidget = async (): Promise => {\n try {\n this.setState({ isSubmitting: !this.state.isSubmitting });\n const data = formatAndValidateForm(this.state);\n type createResp = {\n linkId: string;\n };\n const res = await axios.post(URL + '/create', data);\n this.setState({\n linkid: res.data.linkId,\n isSubmitting: false,\n errmsg: '',\n });\n } catch (err) {\n console.log(err);\n type errResp = {\n message: string;\n type: string;\n };\n // Handle axios error\n if (err && err.response) {\n const axiosError = err as AxiosError;\n this.setState({\n isSubmitting: false,\n errmsg:\n axiosError.response?.data.message ||\n 'Something went wrong, Try again !',\n });\n return;\n }\n // Handle direct in-function error\n if (err && err.message) {\n this.setState({\n errmsg: err.message,\n isSubmitting: false,\n });\n return;\n }\n // Fallback to generic message\n this.setState({\n errmsg: 'Something went wrong, Try again !',\n isSubmitting: false,\n });\n }\n };\n closeDialog = () => {\n this.setState({ linkid: '' });\n };\n setColor = (value: string, name: string) => {\n this.setState({ ...this.state, [name]: value });\n }\n setEmoji = (event: React.MouseEvent, data: IEmojiData, fieldName: string) => {\n const ta = fieldName === \"prefilledMsg\" ? this.prefilledMsgTextArea : this.onscreenMsgTextArea;\n const t = fieldName as keyof cState; \n\t\t\n if (ta.current !== null ) {\n\t\t\t// console.log(ta.current?.selectionEnd, ta.current?.selectionStart);\n const msg = String(this.state[t]);\n\t\t\tconst cursorPos = ta.current?.selectionEnd || msg.length;\n\t\t\tconst selectionStart = ta.current?.selectionStart || msg.length;\n\t\t\tconst start = msg.substring(0, selectionStart);\n\t\t\tconst end = msg.substring(selectionStart);\n\t\t\tconst text = start + data.emoji + end;\n\t\t\tthis.setState({...this.state, [fieldName]: text }, () => {\n\t\t\t\t// ta.current?.focus();\n\t\t\t\tif (ta.current) {\n\t\t\t\t\tta.current.selectionEnd = cursorPos + 2;\n\t\t\t\t\tta.current.selectionStart = cursorPos + 2;\n\t\t\t\t}\n\t\t\t\t// console.log(\"After update\", ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\t});\n\n\t\t} else {\n this.setState({...this.state, [fieldName]: this.state[t] + data.emoji });\n }\n\t}\n setEmojiUrl = (event: React.MouseEvent, data: IEmojiData, fieldName: string) => {\n\t\t// this.setState({ msg: this.state.msg + data.emoji});\n const t = fieldName.split(\"-\")[0] as keyof personalizedUrl;\n const index = Number(fieldName.split(\"-\")[1]); \n const temp = [...this.state.personalizedUrls];\n const urlObj = temp[index];\n const ta = t === \"userMsg\" ? urlObj.prefilledRef : urlObj.onscreenRef;\n \n if (ta.current !== null ) {\n\t\t\t// console.log(ta.current?.selectionEnd, ta.current?.selectionStart);\n const msg = String(urlObj[t]);\n\t\t\tconst cursorPos = ta.current?.selectionEnd || msg.length;\n\t\t\tconst selectionStart = ta.current?.selectionStart || msg.length;\n\t\t\tconst start = msg.substring(0, selectionStart);\n\t\t\tconst end = msg.substring(selectionStart);\n\t\t\tconst text = start + data.emoji + end;\n temp[index] = { ...temp[index], [t]: text };\n this.setState({ personalizedUrls: temp }, () => {\n\t\t\t\t// ta.current?.focus();\n\t\t\t\tif (ta.current) {\n\t\t\t\t\tta.current.selectionEnd = cursorPos + 2;\n\t\t\t\t\tta.current.selectionStart = cursorPos + 2;\n\t\t\t\t}\n\t\t\t\tconsole.log(\"After update\", ta.current?.selectionEnd, ta.current?.selectionStart);\n\t\t\t});\n\n\t\t} else {\n temp[index] = { ...temp[index], [t]: temp[index][t] + data.emoji };\n this.setState({ personalizedUrls: temp });\n }\n\n }\n handleColorInput = (e: React.ChangeEvent) => {\n const key = e.target.name;\n let value = e.target.value.trim();\n value = value[0] !== '#' ? '#' + value : value;\n // if (key === \"btnBackground\") {\n // value = value === '#' ? \"#4dc247\" : value; \n // } else {\n // value = value === '#' ? \"#0A5F54\" : value; \n // }\n this.setState({ ...this.state, [key]: value });\n };\n // openColorPicker = (id: string) => {\n // this.setState({});\n // }\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n
\n \n \n Create WhatsApp Button\n \n {\n !this.isSrcInstamojo() ?\n \n Install the button on your website via simple JavaScript code. (Click on Generate Snippet to get the installation code for your website) \n
\n Embed the generated script in footer of your webpage(recommended).\n
\n :\n \n Customize the widget for your store.\n
\n Copy the generated widget-id to install the widget on your store.\n
\n }\n \n Check live preview of your WhatsApp Button at Bottom-Right of this page\n \n {/* \n \n \n \n
*/}\n \n \n \n \n {/* \n \n\t\t\t\t\t\t\t\tVariant\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{`You can personalize the user message based on your website's URL`}\n\t\t\t\t\t\t\t\n \n \n \n }\n label=\"WhatsApp Button\"\n />\n }\n label=\"WhatsApp Butoton & Widget\"\n />\n \n */}\n \n \n \n \n Chat Button\n \n \n {`You can personalize the user message based on your website's URL`}\n \n \n \n \n \n WhatsApp Phone Number\n \n \n \n \n \n \n \n \n Button Background\n \n \n \n \n {/* */}\n \n this.setColor(value, 'btnBackground')} \n />\n \n ),\n }}\n />\n \n \n \n CTA Text\n \n \n \n \n \n \n \n \n Margin Bottom(px)\n \n \n \n \n \n \n \n \n Margin Left(px)\n \n \n \n \n \n \n \n \n Margin Right(px)\n \n \n \n \n \n \n \n \n Border Radius(px)\n \n \n \n \n \n \n \n \n Default Pre-filled Message\n \n \n \n \n \n \n \n \n \n You can use defaults - {`{{page_url}} & {{page_title}}`}\n \n \n \n \n \n Position\n \n \n \n \n \n }\n label={\n Bottom-Right\n }\n />\n }\n label={Bottom-Left}\n />\n \n \n \n \n {this.state.variant != 'WhatsAppBtn' ? (\n \n \n \n \n \n Chat Widget\n \n \n {`You can personalize the user message based on your website's URL`}\n \n \n\n \n \n \n BrandName\n \n \n \n \n \n \n \n \n Brand Subtitle\n \n \n \n \n\n \n \n \n \n Brand Color\n \n \n \n \n \n this.setColor(value, 'brandColor')} \n />\n \n ),\n }}\n />\n \n \n \n Brand Image Url\n \n \n \n \n \n \n \n \n Widget CTA Text\n \n \n \n \n \n \n \n \n Default On-screen Message\n \n \n \n \n \n \n \n \n \n You can use defaults - {`{{page_url}} & {{page_title}}`}\n \n \n \n \n \n \n \n \n Open widget on Mobile screen\n \n \n \n \n \n }\n label={Yes}\n />\n }\n label={No}\n />\n \n \n \n \n Open widget by default\n \n \n \n \n \n }\n label={Yes}\n />\n }\n label={No}\n />\n \n \n {\n this.state.openWidgetByDefault == \"true\" ?\n \n \n Re-open widget by default \n \n \n \n \n \n }\n label={Always}\n />\n }\n label={After 24 hour}\n />\n {/* }\n label={After 1 Week}\n /> */}\n \n \n : \"\"\n }\n \n \n \n ) : (\n ''\n )}\n \n \n \n \n URL Personalization{' '}\n \n \n \n {`You can personalize the user message based on your website's URL`}\n \n \n \n {this.state.urlPersonalization ? (\n \n \n }\n onClick={this.addRow}\n color=\"primary\"\n variant=\"outlined\"\n size=\"small\"\n >\n ADD URL\n \n \n \n ) : (\n ''\n )}\n\n {this.state.urlPersonalization ? (\n \n {this.state.personalizedUrls.map((e, i) => {\n return (\n \n
\n \n \n \n \n Source Url\n \n \n \n \n \n this.handlePersonalizationInput(t, i)\n }\n />\n \n \n Parameters -{' '}\n {'{{page_url}}, {{page_title}},'}{' '}\n {extractParams(e.url).map((e) => e + ', ')}\n \n \n \n \n \n Pre-filled Message\n \n \n \n \n \n \n \n this.handlePersonalizationInput(t, i)\n }\n inputRef={e.prefilledRef}\n />\n \n {this.state.variant != 'WhatsAppBtn' ? (\n \n \n On-screen Message\n \n \n \n \n \n \n \n this.handlePersonalizationInput(t, i)\n }\n inputRef={e.onscreenRef}\n />\n \n ) : (\n ''\n )}\n \n \n \n \n \n \n Format parameters values\n \n \n \n \n \n \n \n this.handlePersonalizedUrlFormatting(\n k,\n i,\n )\n }\n name=\"toFormat\"\n color=\"secondary\"\n />\n }\n label=\"Remove - & _\"\n />\n \n this.handlePersonalizedUrlFormatting(\n k,\n i,\n )\n }\n name=\"toCapitalize\"\n color=\"secondary\"\n />\n }\n label=\"Capitilize first letter\"\n />\n \n \n \n \n this.removeRow(i)}\n disabled={\n this.state.personalizedUrls.length == 1\n }\n >\n \n \n \n \n
\n
\n );\n })}\n
\n ) : (\n
\n \n Enable URL personalization feature\n \n
\n )}\n
\n
\n \n \n \n \n {this.state.errmsg}\n \n \n \n \n {this.state.isSubmitting ? (\n \n ) : (\n \n {this.isSrcInstamojo() ? \"Generate Widget\" : \"Generate Snippet\"}\n \n )}\n \n \n \n \n \n \n \n
\n );\n }\n}\n\ninterface Props extends WithStyles, RouteComponentProps{\n // name: string;\n // number: string\n}\n\ntype personalizedUrl = {\n url: string;\n urlMsg: string;\n userMsg: string;\n toFormat: boolean;\n toCapitalize: boolean;\n key: number;\n prefilledRef: React.RefObject;\n onscreenRef: React.RefObject;\n};\n\nexport interface cState {\n env: string;\n isSubmitting: boolean;\n errmsg: string;\n // Form fields\n linkid: string;\n phoneNumber: string;\n variant: variantType;\n btnBackground: string;\n btnCTA: string;\n mb: string;\n ml: string;\n mr: string;\n borderRadius: string;\n prefilledMsg: string;\n position: string;\n brandName: string;\n brandSub: string;\n brandColor: string;\n brandImgUrl: string;\n widgetBtnCTA: string;\n openWidgetByDefault: string;\n openWidgetSessionWindow: widgetSessionWindowType;\n onscreenMsg: string;\n widgetOnMobile: string;\n // Url personalization specific results\n urlPersonalization: boolean;\n personalizedUrls: personalizedUrl[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100% !important',\n backgroundColor: 'white',\n boxSizing: 'border-box',\n borderRadius: 8,\n padding: '25px 0px',\n transition: '1s',\n // border: \"1px solid lightgrey\",\n minHeight: 100,\n '& ul': {\n padding: 0,\n margin: 0,\n 'list-style-type': 'none',\n width: '100%',\n },\n },\n textField: {\n width: 120,\n marginRight: 10,\n },\n multiTextField: {\n width: '70%',\n },\n switchBase: {\n color: 'lightgrey',\n },\n backgroundCont: {\n // background: \"rgb(247, 247, 247)\",\n border: '1px solid rgb(240, 240, 240)',\n width: '100%',\n borderRadius: '8px',\n boxSizing: 'border-box',\n padding: '20px 20px',\n marginTop: '20px',\n },\n infoIcon: {\n fontSize: '18px',\n color: 'grey',\n marginLeft: '5px',\n },\n colorBtn: {\n borderRadius: \"50%\",\n height: 30,\n width: 30\n },\n guideContainer: {\n background: \"white\",\n borderRadius: \"8px\",\n // border: \"1px solid lightgrey\"\n backgroundColor: \"rgb(248, 248, 248)\"\n },\n \"rightMargin\": {\n [theme.breakpoints.down('sm')]: {\n paddingRight: 16\n }\n }\n });\n\nexport default withStyles(styles)(withRouter(ButtonGenerator));\n","import { cState } from \"../pages/WhatsAppBtnPage/ButtonGenerator\";\nimport { entityType, ILink, whatsAppBtn, variantType } from \"../types/link.type\";\nimport { generateExp, validateUrl } from \"./url\";\n\nexport const formatAndValidateForm = (state: cState):ILink => {\n const s:cState = { ...state };\n if (!s.phoneNumber || s.phoneNumber.length < 5) {\n throw { message: \"Use valid phone number\", type: \"ERR104\" };\n }\n if (!s.onscreenMsg) {\n throw { message: \"On screen message is required field\", type: \"ERR104\" }\n }\n if (!s.brandName || !s.brandSub) {\n throw { message: \"Brand name & subtitle are required fields\", type: \"ERR104\" };\n }\n if (!s.brandImgUrl) {\n throw { message: \"Provide your brand image url\", type: \"ERR104\" };\n }\n if (s.brandColor.length !== 7) {\n s.brandColor = \"#0A5F54\";\n }\n if (s.btnBackground.length !== 7) {\n s.btnBackground = \"#4dc247\";\n }\n if (!s.urlPersonalization) {\n s.personalizedUrls = [];\n } else {\n // Validate empty fields in personalized urls\n s.personalizedUrls.forEach( e => {\n if (!e.url || !e.urlMsg || !e.userMsg) {\n throw { message: \"Personalized-url fields can't be empty\", type: \"ERR104\" }\n }\n })\n s.personalizedUrls.forEach( e => {\n if (!validateUrl(e.url)) {\n throw { message: \"Url must start with https or http\", type: \"ERR104\" }\n }\n })\n\n // Add regex\n\n // To care about\n // leading * - will match till immediate /\n // allowed variable names - defined chars (a-z, _)\n // allow url with only http or https\n // do not allow /, &, ? in param values - match to anything not allowed\n // ignore # hashed url part \n // only considered ? query params after \n // option for to consider query params or not while matching\n // if ?query speciafically mentioned in url then only consider that part\n // provide to values {{page_url}} {{page_title}} globally available\n // {{page_url}} to be with query params - no, use specific urls for that \n // limit max num of allowed personalized urls\n // sample url\n // display extracted params in url boxes\n // url should always end with / - append if not (on backend also)\n // trim inputs\n // handle %20 in query params\n // display url with decodedURI() in inputs and other places\n // handle url after decodeURI() on backend also then apply format for removing - or _\n \n // Every url will be bounded by http & /\n // Only one param b/w / & / if no const value between them\n // Convert & in /\n\n // exmaple regex - /^((http|https)://)aisensy.com\\/products\\/*\\//\n // example regex - replace {{param}} with *^(/|&) \n\n\n // http://aisensy.com/products/hair-{{product-name}}-his/\n // http://aisensy.com/products/hair-{{product-name}}/\n // http://aisensy.com/products/{{product-name}}/\n // http://aisensy.com/products/{{product-name}}/{{fields}}/\n // http://aisensy.com/products/?utm_name={{campaign-name}}\n // http://aisensy.com/products/?utm_name={{campaign-name}}&utm_source={{}}\n // http://aisensy.com/products/?{{everything-in-query-params}}\n // http://aisensy.com/products?utm_name={{campaign-name}}\n // http://aisensy.com/{{doesn't matter what comes after this}} - not allowed\n // {{match to anything}} - not allowed\n // http://aisensy.{{country_domain}}/products\n // http://aisensy.com/products/\n // http://{{domain_name}}/products\n // https://{{domain_name}}/products\n }\n\n const whatsAppBtnValue: whatsAppBtn = {\n\t\tvariant: variantType.btnWithWidget,\n btnBackground: s.btnBackground,\n btnCTA: s.btnCTA,\n mb: s.mb || \"0\",\n ml: s.ml || \"0\",\n mr: s.mr || \"0\",\n borderRadius: s.borderRadius || \"0\",\n position: s.position,\n brandName: s.brandName,\n brandSub: s.brandSub,\n brandColor: s.brandColor,\n brandImgUrl: s.brandImgUrl,\n widgetBtnCTA: s.widgetBtnCTA || \"\",\n openWidgetByDefault: s.openWidgetByDefault,\n openWidgetSessionWindow: s.openWidgetSessionWindow,\n onscreenMsg: s.onscreenMsg,\n widgetOnMobile: s.widgetOnMobile,\n\t\turlPersonalization: s.urlPersonalization,\n\t\tpersonalizedUrls: s.personalizedUrls.map(e => {\n return { \n url: e.url, \n urlMsg: e.urlMsg, \n userMsg: e.userMsg,\n toFormat: e.toFormat, \n toCapitalize: e.toCapitalize,\n regEx: generateExp(e.url),\n }\n })\n }\n return {\n entityType: entityType.BTN,\n linkId: \"\",\n phoneNumber: s.phoneNumber,\n prefilledMsg: s.prefilledMsg,\n clientId: \"\",\n assistantId: \"\",\n whatsappBtnSettings: whatsAppBtnValue,\n }\n}","import React, { Component } from 'react';\nimport {\n withStyles,\n Box,\n Grid,\n WithStyles,\n Theme,\n createStyles,\n} from '@material-ui/core';\nimport ButtonGenerator from './ButtonGenerator';\n\nclass WhatsAppLinkPage extends Component {\n private instance = React.createRef();\n state = { name: 'New Nam' };\n componentDidMount(): void {\n console.log(\"Mounting new instance\");\n console.log(this.state.name);\n if (this.instance != null) {\n // Download script\n const s = document.createElement('script');\n s.src = 'https://d3mkw6s8thqya7.cloudfront.net/widget-plugin.js';\n // s.src = 'http://192.168.0.106:8000/test_jsPlugin.js'\n s.type = 'text/javascript';\n s.async = true;\n s.id = 'df-script';\n // Download fonts\n const url =\n 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = url;\n document.getElementsByTagName('head')[0].appendChild(link);\n\n const options = {\n env: '',\n linkid: '',\n phoneNumber: '',\n variant: 'WhatsAppBtnAndChatWidget',\n btnBackground: '',\n btnCTA: 'Chat with us',\n mb: '',\n ml: '',\n mr: '',\n borderRadius: '',\n prefilledMsg: '',\n position: '',\n brandName: '',\n brandSub: '',\n brandColor: '',\n brandImgUrl: '',\n widgetBtnCTA: '',\n openWidgetByDefault: 'false',\n openWidgetSessionWindow: 'ALWAYS',\n onscreenMsg: '',\n widgetOnMobile: 'true',\n };\n s.onload = function () {\n window.CreateWhatsAppButtonAndWidget(options);\n };\n this.instance?.current?.appendChild(s);\n }\n }\n componentWillUnmount() {\n console.log(\"Unmounting WhatsAppBtnPage\");\n const dfCont = document.getElementById(\"df-btn-cont\");\n if (dfCont && dfCont !== null) {\n dfCont.remove();\n }\n }\n render(): React.ReactElement {\n const { classes } = this.props;\n return (\n
\n \n \n {/* Put all content in here */}\n \n \n \n
\n );\n }\n}\n\ninterface Props extends WithStyles {\n // name: string,\n // number: string\n}\n\ninterface cState {\n name: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n width: '100% !important',\n backgroundColor: 'rgb(254, 254, 254)',\n boxSizing: 'border-box',\n transition: '1s',\n // paddingBottom: \"50px\",\n },\n });\n\nexport default withStyles(styles)(WhatsAppLinkPage);\n","import React, {Component} from 'react';\n\nclass NotFoundPage extends Component {\n\trender(): React.ReactElement {\n\t\treturn (\n\t\t\t
\n\t\t\t\t404 Page\n\t\t\t
\n\t\t)\n\t}\n}\n\nexport default NotFoundPage;","import React, { Component } from 'react';\nimport { \n\twithStyles, \n\tBox, \n\tGrid, \n\tWithStyles, \n\tTheme, \n\tcreateStyles, \n\tTypography,\n\tTextField,\n\tButton,\n} from '@material-ui/core';\nimport { AccountCircle, ArrowForward, Send } from '@material-ui/icons';\nimport {RouteComponentProps} from \"react-router\";\n\nclass MobileMock extends Component {\n\tstatic defaultProps = {\n\t}\n\tstate = {\n storeDomain: \"\",\n\t\terr: \"\"\n\t}\n\thandleTextInput = (e: React.ChangeEvent) => {\n\t\tthis.setState({ storeDomain: e.target.value });\n\t}\n\thandleNextClick = () => {\n\t\tconsole.log(\"Clicked on next\");\n\t\tif (this.state.storeDomain) {\n\t\t\tconst genWidgetUrl = `/generate-whatsapp-button?src=instamojo&store_domain=${this.state.storeDomain}`;\n\t\t\tthis.props.history.push(genWidgetUrl);\n\t\t} else {\n\t\t\tthis.setState({err: \"Provide valid domain\"});\n\t\t}\n\t}\n\trender(): React.ReactElement {\n const { classes } = this.props;\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tInstamojo Store Domain\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEnter your {\"store's\"} domain. If You have configured custom domain for your store then use that.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.state.err ? \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.state.err}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t: \"\"\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvariant=\"contained\"\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tstyle={{color: \"white\"}}\n\t\t\t\t\t\t\tonClick={this.handleNextClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tNext\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n
\n )\n }\n}\n\n\ninterface Props extends WithStyles, RouteComponentProps {\n\n}\n\ninterface cState {\n\tstoreDomain: string,\n\terr: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n height: 500,\n\t\tbackgroundColor: \"white\",\n\t\tboxSizing: \"border-box\",\n marginBottom: 10,\n padding: \"12px 10px 16px 10px\",\n\t\t[theme.breakpoints.down('sm')]: {\n\t\t\theight: 300\n\t\t}\n\t}\n})\n\nexport default withStyles(styles)(MobileMock);","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n\tHidden,\n\tIconButton,\n Link as HREFLink\n} from '@material-ui/core';\nimport { Menu } from '@material-ui/icons';\nimport React from 'react';\nimport { Link, withRouter, RouteComponentProps } from \"react-router-dom\";\nconst logo = \"https://wa-tools-plugin.s3.ap-south-1.amazonaws.com/full_logo.png\"\n\nconst NavbarDesktop = (props: Props): React.ReactElement => {\n\tconst { classes } = props;\n const path = props.location.pathname;\n\treturn (\n \n \n \n \n \n \n \n \t\n \n \n \t\n \n \n \n \n\t\t\t\n \t\n \n \n \t\n \n \n\t)\n}\nconst ActiveBtn = (props: { path: string }): React.ReactElement => {\n switch (props.path) {\n case \"/generate-whatsapp-link\":\n return (\n \t\n );\n case \"/generate-whatsapp-button\":\n return (\n \t\n );\n default: \n return (\n \n );\n }\n\n}\ninterface Props extends WithStyles, RouteComponentProps{\n\t// name: string,\n\t// number: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: 60,\n\t\twidth: \"100vw\",\n\t\tposition: \"sticky\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tbackgroundColor: \"#EBF5F3\",\n\t\t// backgroundColor: \"#ffffff\",\n\t\tboxShadow: \"rgb(0 0 0 /10%) 0px 0px 0.428571rem 0px\",\n\t\t// backgroundColor: theme.palette.primary.main,\n\t\t// paddingLeft: theme.spacing(2),\n\t\tboxSizing: \"border-box\",\n\t\tzIndex: 100,\n\t\t// color: \"white\"\n\t\t// boxShadow: \"0px 0px 2px 2px lightgrey\"\n \n\t},\n\t\"logo\": {\n\t\theight: 50,\n\t\tmarginRight: 50,\n [theme.breakpoints.down('md')]: {\n\t\t\tmarginRight: 20,\n\t\t\t// width: 60,\n height: 40,\n\t\t\tmarginLeft: 10\n\t\t}\n\t},\n \"rightMargin\": {\n [theme.breakpoints.down('sm')]: {\n\t\t\tmarginRight: 10\n\t\t}\n }\n})\n\nexport default withStyles(styles)(withRouter(NavbarDesktop));","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n Drawer,\n Box,\n ButtonBase\n} from '@material-ui/core';\nimport { ToysOutlined, BookOutlined, ForumOutlined, HomeOutlined, LinkOutlined, ModeCommentOutlined, WhatsApp, AttachMoney } from '@material-ui/icons';\nimport React from 'react';\nimport { Link, RouteComponentProps, withRouter } from \"react-router-dom\";\n\nconst logo = \"https://wa-tools-plugin.s3.ap-south-1.amazonaws.com/full_logo.png\"\n\nconst topRoutes = [\n {\n name: \"Home\",\n to: \"/\",\n icon: ,\n ext: false\n },\n {\n name: \"WhatsApp Link\",\n to: \"/generate-whatsapp-link\",\n icon: ,\n ext: false\n },\n {\n name: \"WhatsApp Button\",\n to: \"/generate-whatsapp-button\",\n icon: ,\n ext: false\n },\n {\n name: \"Pricing\",\n to: \"https://m.aisensy.com/pricing/\",\n icon: ,\n ext: true\n },\n {\n name: \"Platform\",\n to: \"https://aisensy.com\",\n icon: ,\n ext: true\n },\n {\n name: \"Resources\",\n to: \"https://help.aisensy.com\",\n icon: ,\n ext: true\n },\n {\n name: \"Integrations\",\n to: \"https://aisensy.com/integrations\",\n icon: ,\n ext: true\n },\n]\n\n\nconst NavbarDrawer = (props: Props): React.ReactElement => {\n\tconst { classes, drawerOpen, onDrawerClose, location } = props;\n const openRoute = (route: typeof topRoutes[0]) => {\n if (!route.ext) {\n props.history.push(route.to);\n } else {\n window.open(route.to, \"_blank\");\n }\n onDrawerClose();\n };\n\treturn (\n \n \n \n \n \n \n \n \n \n \t\n \n \n \n #1 Whatsapp Marketing, CRM & Chatbot Platform\n \n \n {topRoutes.map((route, index) => {\n let className = \"inactive\";\n if (location.pathname === route.to) {\n className = \"active\";\n }\n\n return (\n openRoute(route)}\n >\n \n \n \n {route.icon}\n \n \n \n \n {route.name}\n \n \n \n \n )\n })}\n \n \n \t\t\n\t)\n}\n\ninterface Props extends WithStyles, RouteComponentProps {\n\t// name: string,\n\t// number: string\n drawerOpen: boolean,\n onDrawerClose: () => void\n}\n\nconst styles = (theme: Theme) => createStyles({\n \"logo\": {\n\t\theight: 30,\n\t\tmarginRight: 10,\n\t},\n container: {\n width: \"100%\",\n height: \"100%\",\n overflowY: \"auto\",\n boxSizing: \"border-box\",\n overflowX: \"hidden\",\n // minWidth: \"300px\",\n // flexGrow: 1,\n },\n drawerPaper: {\n width: \"calc(100vw - 70px)\",\n height: \"100%\",\n position: \"relative\",\n overflow: \"hidden\",\n zIndex: 5000,\n },\n avatarRoot: {\n backgroundColor: \"rgb(245,245,245)\",\n color: theme.palette.primary.main,\n margin: \"0px 10px\",\n },\n link_inactive: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"35px\",\n width: \"35px\",\n margin: \"auto\",\n borderRadius: \"50%\",\n cursor: \"pointer\",\n transition: \"0.5s\",\n },\n link_active: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"35px\",\n width: \"35px\",\n margin: \"auto\",\n borderRadius: \"50%\",\n backgroundColor: \"white\",\n color: \"white\",\n cursor: \"pointer\",\n transition: \"0.5s\",\n },\n // profile_active: {\n\n // },\n // profile_inactive: {\n\n // }\n icon_active: {\n color: theme.palette.primary.main,\n },\n icon_inactive: {\n color: \"rgb(20,20,20)\",\n },\n name_active: {\n color: theme.palette.primary.main,\n },\n name_inactive: {\n color: \"rgb(20,20,20)\",\n },\n linkButton: {\n margin: \"3px 0em\",\n width: \"100%\",\n borderRadius: \"5px\",\n padding: \"10px\",\n },\n active: {\n backgroundColor: \"#EBF5F3\",\n },\n inactive: {\n backgroundColor: \"transparent\",\n },\n fullWidth: {\n width: \"100%\",\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n profileWrapper: {\n position: \"absolute\",\n left: 0,\n bottom: 0,\n width: \"100%\",\n backgroundColor: \"white\",\n paddingTop: theme.spacing(2) * 1.5,\n paddingBottom: theme.spacing(2) * 1.5,\n },\n profileIcon: {\n backgroundColor: theme.palette.primary.main,\n borderRadius: \"50%\",\n color: \"white\",\n width: \"40px\",\n height: \"40px\",\n margin: \"0px 10px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n})\n\nexport default withStyles(styles)(withRouter(NavbarDrawer));","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n\tHidden,\n\tIconButton,\n} from '@material-ui/core';\nimport { Menu } from '@material-ui/icons';\nimport React, { Component } from 'react';\nimport { Link, RouteComponentProps, withRouter } from \"react-router-dom\";\nimport NavBarDrawer from './NavBarDrawer';\nconst logo = \"https://wa-tools-plugin.s3.ap-south-1.amazonaws.com/full_logo.png\"\n\nclass NavBarMobile extends Component {\n static defaultProps = {\n // name: 'AiSensy',\n };\n state = {\n drawerOpen: false\n };\n onDrawerOpen = () => {\n this.setState({ drawerOpen: true });\n };\n onDrawerClose = () => {\n this.setState({ drawerOpen: false });\n };\n render(): React.ReactElement {\n const { classes } = this.props;\n const path = this.props.location.pathname;\n return (\n \n \n \n \n \n \n \n \n \n \n \n {/* \n \t\n */}\n \n \t\n \n \n \n )\n }\n \n\n\n}\n\nconst ActiveBtn = (props: { path: string }): React.ReactElement => {\n switch (props.path) {\n case \"/generate-whatsapp-link\":\n return (\n \t\n );\n case \"/generate-whatsapp-button\":\n return (\n \t\n );\n default: \n return (\n \n );\n }\n\n}\n\ninterface Props extends WithStyles, RouteComponentProps{\n\t// name: string,\n\t// number: string\n}\n\ninterface cState {\n drawerOpen: boolean\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: 60,\n\t\twidth: \"100vw\",\n\t\tposition: \"sticky\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\t// backgroundColor: \"#EBF5F3\",\n\t\tbackgroundColor: \"#ffffff\",\n\t\tboxShadow: \"rgb(0 0 0 /10%) 0px 0px 0.428571rem 0px\",\n\t\t// backgroundColor: theme.palette.primary.main,\n\t\t// paddingLeft: theme.spacing(2),\n\t\tboxSizing: \"border-box\",\n\t\tzIndex: 100,\n\t\t// color: \"white\"\n\t\t// boxShadow: \"0px 0px 2px 2px lightgrey\"\n\t},\n\t\"logo\": {\n\t\theight: 50,\n\t\tmarginRight: 50,\n\t\t[theme.breakpoints.down('md')]: {\n\t\t\tmarginRight: 20,\n\t\t\t// width: 90,\n\t\t\tmarginLeft: 10,\n height: 34\n\t\t}\n\t}\n})\n\nexport default withStyles(styles)(withRouter(NavBarMobile));","import { \n\tcreateStyles, \n\tGrid, \n\tTheme, \n\tTypography, \n\twithStyles, \n\tWithStyles,\n\tButton, \n\tHidden,\n\tIconButton,\n} from '@material-ui/core';\nimport { Menu } from '@material-ui/icons';\nimport React from 'react';\nimport { Link } from \"react-router-dom\";\nimport NavBarDesktop from './NavBarDesktop';\nimport NavBarMobile from './NavBarMobile';\nconst logo = \"https://2es93q3aicyy3w1qrv1vk3o2-wpengine.netdna-ssl.com/wp-content/uploads/2021/02/Untitled.png\"\n\nconst Navbar = (props: Props): React.ReactElement => {\n\tconst { classes } = props\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{/* Put all content in here */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t)\n}\n\ninterface Props extends WithStyles {\n\t// name: string,\n\t// number: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: 60,\n\t\twidth: \"100vw\",\n\t\tposition: \"sticky\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\t// backgroundColor: \"#EBF5F3\",\n\t\tbackgroundColor: \"#ffffff\",\n\t\tboxShadow: \"rgb(0 0 0 /10%) 0px 0px 0.428571rem 0px\",\n\t\t// backgroundColor: theme.palette.primary.main,\n\t\t// paddingLeft: theme.spacing(2),\n\t\tboxSizing: \"border-box\",\n\t\tzIndex: 100,\n\t\t// color: \"white\"\n\t\t// boxShadow: \"0px 0px 2px 2px lightgrey\"\n\t},\n\t\"logo\": {\n\t\theight: 50,\n\t\tmarginRight: 50,\n\t\t[theme.breakpoints.down('md')]: {\n\t\t\tmarginRight: 20,\n\t\t\twidth: 60,\n\t\t\tmarginLeft: 10\n\t\t}\n\t}\n})\n\nexport default withStyles(styles)(Navbar);","export default __webpack_public_path__ + \"static/media/footerLogo.2388ade1.png\";","export default __webpack_public_path__ + \"static/media/footerbanner.420298ed.png\";","export default __webpack_public_path__ + \"static/media/yt_icon.1776a109.svg\";","export default __webpack_public_path__ + \"static/media/fb_icon.34e6139d.svg\";","export default __webpack_public_path__ + \"static/media/ig_icon.b2465d99.svg\";","import { createStyles, Grid, Theme, withStyles, WithStyles, Typography, Button, Box } from '@material-ui/core';\nimport React from 'react';\nimport FooterLogo from '../../static/footerLogo.png';\nimport FooterBanner from '../../static/footerbanner.png';\nimport YTIcon from \"../../static/yt_icon.svg\";\nimport FBIcon from \"../../static/fb_icon.svg\";\nimport IGIcon from \"../../static/ig_icon.svg\";\n\n\n\nconst platformLinks = [\n {\n title: \"Features\",\n url: \"https://m.aisensy.com/features\"\n },\n {\n title: \"Use Cases\",\n url: \"https://m.aisensy.com/use-cases\"\n },\n {\n title: \"Pricing\",\n url: \"https://m.aisensy.com/pricing\"\n },\n {\n title: \"Blog\",\n url: \"https://m.aisensy.com/blog\"\n },\n {\n title: \"Contact Us\",\n url: \"https://m.aisensy.com/contact-us\"\n },\n {\n title: \"Request A Demo\",\n url: \"https://m.aisensy.com/demo\"\n },\n]\n\nconst resourcesLinks = [\n {\n title: \"Learning Hub\",\n url: \"https://help.aisensy.com/\"\n },\n {\n title: \"WhatsApp Business API\",\n url: \"https://help.aisensy.com/en/collections/3008963-whatsapp-business-api\"\n },\n {\n title: \"Experience Notifications\",\n url: \"https://m.aisensy.com/integrations/experience-whatsapp-notifications\"\n },\n {\n title: \"Create WhatsApp Link\",\n url: \"https://create.aisensy.com/generate-whatsapp-link\"\n },\n {\n title: \"WhatsApp Button\",\n url: \"https://create.aisensy.com/generate-whatsapp-button\"\n },\n {\n title: \"Learn Chatbot Development\",\n url: \"https://help.aisensy.com/en/collections/3014791-dialogflow-chatbot-tutorial\"\n },\n]\nconst connectLinks = [\n {\n icon: YTIcon,\n url: \"https://www.youtube.com/channel/UC8AtOu094QP5jBklnWoJMoA\"\n },\n {\n icon: IGIcon,\n url: \"https://www.instagram.com/aisensy_official/\"\n },\n {\n icon: FBIcon,\n url: \"https://www.facebook.com/groups/197843048482606\"\n },\n]\nconst Footer = (props: Props): React.ReactElement => {\n\tconst { classes } = props\n\treturn (\n\t\t
\n \n \n {/* All content goes in here */}\n \n \n \n Get Started with AiSensy Platform\n \n \n Broadcast & Automate Messages, Enable Multi-Human Live Chat Support, Install A.I. Chatbots & more \n \n \n \n \n \n \n \n \n \n \n \n {/* All content goes in here */}\n \n \n {/* AiSensy, copyright, T&C, Privacy Policy */}\n \n \n \n \n #1 Whatsapp Marketing, CRM & Chatbot Platform\n \n \n \n \n {/* About Us - About AiSensy, About Triny, Features */}\n \n Platform\n \n {\n platformLinks.map(p => {\n return (\n \n \n {p.title}\n \n \n )\n })\n }\n \n \n {/* Get in touch - Book a demo, Connect on social media channels, Questions or Feedbacks */}\n \n Resources\n \n {\n resourcesLinks.map(p => {\n return (\n \n \n {p.title}\n \n \n )\n })\n }\n \n \n {/* Get in touch - Book a demo, Connect on social media channels, Questions or Feedbacks */}\n \n Connect \n \n \n {\n connectLinks.map((p, index) => {\n return (\n \n \n \n )\n })\n }\n \n \n \n \n \n \n\t\t
\n\t)\n}\n\ninterface Props extends WithStyles {\n\t// name: string,\n\t// number: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\twidth: \"100%\",\n paddingBottom: \"2%\",\n [theme.breakpoints.down('sm')]: {\n paddingBottom: \"10%\",\n },\n \"& a\": {\n textDecoration: \"none\",\n color: \"black\"\n },\n \"& a:hover\": {\n textDecoration: \"none\"\n }\n\t},\n signupWrapper: {\n // backgroundColor: \"rgb(245, 245, 245)\",\n marginBottom: \"4%\",\n [theme.breakpoints.down('sm')]: {\n boxSizing: \"border-box\",\n padding: \"0px 15px\",\n marginTop: \"12%\"\n }\n },\n signupFormContainer: {\n minHeight: 350,\n width: \"100%\",\n },\n footerWrapper: {\n backgroundColor: \"white\",\n minHeight: 350,\n [theme.breakpoints.down('sm')]: {\n boxSizing: \"border-box\",\n padding: \"0px 15px\"\n }\n },\n footerContainer: {\n boxSizing: \"border-box\",\n width: \"100%\",\n padding: \"40px 0px\",\n // color: \"white\"\n },\n logo: {\n height: \"60px\",\n marginBottom: \"0px\",\n },\n footerBanner: {\n // width: \"100%\"\n maxHeight: \"400px\",\n [theme.breakpoints.down('sm')]: {\n maxHeight: \"300px\"\n }\n },\n socialIcon: {\n width: 20,\n maxHeight: 20\n },\n hrefBtn: {\n color: `${theme.palette.primary.main} !important`\n }\n})\n\nexport default withStyles(styles)(Footer);","import React from 'react';\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\n\nimport HomePage from './pages/HomePage/HomePage';\nimport WhatsAppLinkPage from './pages/WhatsAppLinkPage/WhatsAppLinkPage';\nimport WhatsAppBtnPage from './pages/WhatsAppBtnPage/WhatsAppBtnPage';\nimport NotFoundPage from './pages/NotFoundPage/NotFoundPage';\nimport InstamojoStoreIntegrationPage from './pages/InstamojoStoreIntegrationPage/InstamojoStoreIntegrationPage';\nimport Navbar from './commons/Navbar/Navbar';\nimport { Theme, createStyles, WithStyles, withStyles } from '@material-ui/core';\nimport Footer from './commons/Footer/Footer';\n// import \"./types/material-ui-color.d.ts\";\n\ntype whatsAppButtonOptions = {\n env: string,\n linkid: string,\n phoneNumber: string,\n variant: string,\n btnBackground: string,\n btnCTA: string,\n mb: string,\n ml: string,\n mr: string,\n borderRadius: string,\n prefilledMsg: string,\n position: string,\n brandName: string,\n brandSub: string,\n brandColor: string,\n brandImgUrl: string,\n widgetBtnCTA: string,\n openWidgetByDefault: string,\n onscreenMsg: string,\n widgetOnMobile: string\n}\n\ndeclare global {\n interface Window {\n CreateWhatsAppButtonAndWidget(options: whatsAppButtonOptions): void;\n }\n}\n\nconst App = (props: Props): React.ReactElement => {\n const { classes } = props;\n return (\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n )\n}\n\ninterface Props extends WithStyles {\n\t// name: string,\n\t// number: string\n}\n\nconst styles = (theme: Theme) => createStyles({\n\t\"root\": {\n\t\theight: \"100vh\",\n\t\twidth: \"100vw !important\",\n\t\tbackgroundColor: \"white\",\n \t\tboxSizing: \"border-box\",\n overflowX: \"hidden\",\n overflowY: \"auto\"\n // paddingTop: theme.spacing(1)\n\t},\n \"routeContainer\": {\n // height: \"100vh\",\n width: \"100% !important\"\n }\n})\n\nexport default withStyles(styles)(App);","import { ThemeOptions } from \"@material-ui/core\";\n// import { AutocompleteClassKey } from \"@material-ui/lab/Autocomplete\";\nimport type {} from \"@material-ui/lab/themeAugmentation\";\n// import * as createPalette from '@material-ui/core/styles/createPalette';\n// import * as createPalette from \"\"\ndeclare module '@material-ui/core/styles/createPalette' {\n interface PaletteOptions { \n pending?: PaletteColorOptions;\n resolved?: PaletteColorOptions;\n backdrop?: PaletteColorOptions;\n }\n interface Palette { \n pending: PaletteColor;\n resolved: PaletteColor;\n backdrop: PaletteColor;\n }\n}\n\n// declare module '@material-ui/core/styles/overrides' {\n// interface ComponentNameToClassKey {\n// MuiAutocomplete: AutocompleteClassKey\n// }\n// }\n\nconst pending = \"#e65100\";\nconst resolved = \"#388e3c\";\nconst primary = \"#4dc247\";\nconst secondary = \"#fec000\";\nconst warning = \"#FFC260\";\nconst success = \"#4caf50\";\nconst error = \"#f44336\";\nconst info = \"#9013FE\";\n// const backdrop = \"#f6f7ff\";\n// const lightenRate = 7.5;\n// const darkenRate = 15;\n// const queryText = \"#e0e0e0\";\n\nconst defaults: ThemeOptions = {\n palette: {\n pending: {\n main: pending,\n },\n resolved: {\n main: resolved,\n },\n\n primary: {\n main: primary,\n },\n secondary: {\n main: secondary,\n },\n warning: {\n main: warning,\n },\n success: {\n main: success,\n },\n error: {\n main: error,\n },\n info: {\n main: info,\n },\n text: {\n primary: \"#4A4A4A\",\n secondary: \"#6E6E6E\",\n hint: \"#B9B9B9\",\n },\n // background: {\n // default: \"#F6F7FF\",\n // light: \"#F3F5FF\",\n // },\n // backdrop: {\n // default: \"#f6f7ff\",\n // },\n },\n breakpoints: {\n values: {\n xs: 0,\n sm: 767,\n md: 959, // 1348\n lg: 1599, //1902\n xl: 1920,\n },\n },\n // shadows: [\"none\"],\n shape: {\n borderRadius: 6,\n },\n typography: {\n h1: {\n fontFamily: \"Poppins\",\n fontSize: 32,\n fontWeight: 700,\n letterSpacing: 1,\n wordSpacing: 2,\n \"@media (max-width:600px)\": {\n fontSize: 24,\n fontWeight: 700,\n wordSpacing: 2,\n letterSpacing: 1\n },\n },\n h2: {\n fontFamily: \"Poppins\",\n fontSize: 25,\n fontWeight: 700,\n letterSpacing: 1,\n wordSpacing: 2,\n \"@media (max-width:600px)\": {\n fontSize: 20,\n fontWeight: 700,\n wordSpacing: 2,\n letterSpacing: 1\n },\n },\n h3: {\n fontFamily: \"Poppins\",\n fontSize: 20,\n \"@media (max-width:600px)\": {\n fontSize: 18,\n },\n },\n h4: {\n fontFamily: \"Poppins\",\n fontSize: 16,\n },\n h5: {\n fontFamily: \"Poppins\",\n fontSize: 14,\n fontWeight: 400,\n },\n h6: {\n // fontFamily: \"Poppins\",\n fontSize: 12,\n fontWeight: 400,\n },\n body1: {\n fontFamily: \"Roboto\",\n fontSize: 14,\n },\n body2: {\n fontFamily: \"Roboto\",\n fontSize: 12,\n },\n },\n \"overrides\": {\n \"MuiTextField\": {\n root:{\n backgroundColor: \"rgb(240,240,240)\",\n borderRadius: \"8px\",\n boxSizing: \"border-box\",\n fontSize: \"15px\",\n fontWeight: 500,\n padding: \"6px 15px\"\n },\n },\n \"MuiOutlinedInput\": {\n root: {\n \"& $notchedOutline\": {\n border: \"none\"\n },\n \"&:hover $notchedOutline\": {\n border: \"none\"\n },\n \"&$focused $notchedOutline\": {\n border: \"none\"\n },\n \"&&& $input\": {\n padding: \"12px\"\n },\n \"&&& $input:first-child\": {\n padding: \"12px\"\n }\n },\n multiline: {\n padding: 0\n }\n },\n MuiAutocomplete: {\n inputRoot: {\n '&[class*=\"MuiOutlinedInput-root\"].MuiAutocomplete-input': {\n padding: 12,\n },\n '&&[class*=\"MuiOutlinedInput-root\"]': {\n padding: 0,\n },\n }\n },\n \"MuiButton\": {\n \"root\": {\n textTransform: \"none\"\n },\n \"contained\": {\n boxShadow: \"none\"\n },\n \"containedPrimary\": {\n \"&:hover\": {\n boxShadow: \"none\"\n }\n }\n },\n \"MuiGrid\": {\n container: {\n }\n },\n // \"MuiTimelineItem\": {\n // // \"missingOppositeContent\": {\n // // \"&:before\": {\n // // flex: 0,\n // // padding: 0,\n // // }\n // // }\n // },\n // \"MuiTimelineDot\": {\n // root: {\n // boxShadow: \"none\"\n // }\n // },\n // MuiTimelineConnector: {\n // root: {\n // backgroundColor: primary\n // }\n // }\n },\n props: {\n MuiInput: {\n disableUnderline: true\n },\n MuiPaper: {\n // elevation: 0\n },\n MuiTooltip: {\n enterTouchDelay: 0\n }\n }\n};\n\nexport default defaults;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler): void => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ThemeProvider, createMuiTheme } from '@material-ui/core/styles';\nimport './index.css';\nimport App from './App';\nimport themes from './themes/index';\nimport reportWebVitals from './reportWebVitals';\n\n\nconst theme = createMuiTheme(themes);\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}