{"version":3,"file":"static/chunks/app/contact/page-28cf3474f75c5973.js","mappings":"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","sources":["webpack://_N_E/?1c44","webpack://_N_E/./src/components/UI/Buttons/CustomBtn.tsx","webpack://_N_E/./src/components/Forms/ContactForm.tsx","webpack://_N_E/./src/app/contact/Contact.module.css","webpack://_N_E/./src/components/Forms/ContactForm.module.css","webpack://_N_E/./src/components/UI/Buttons/CustomBtn.module.css","webpack://_N_E/./node_modules/react-icons/lib/iconsManifest.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconContext.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconBase.mjs","webpack://_N_E/./node_modules/react-icons/lib/index.mjs"],"sourcesContent":["import(/* webpackMode: \"eager\", webpackExports: [\"__esModule\",\"default\"] */ \"/codebuild/output/src3602063830/src/thelaunchmarket/node_modules/next/dist/client/app-dir/link.js\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src3602063830/src/thelaunchmarket/src/app/contact/Contact.module.css\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src3602063830/src/thelaunchmarket/src/components/Forms/ContactForm.tsx\");\n","// 'use client';\n\n// import React, { forwardRef } from 'react';\n// import { useTheme } from 'next-themes';\n// import { cn } from '@/src/lib/utils/cn';\n// import styles from './CustomBtn.module.css';\n\n// const variants = {\n// primary: styles.primary,\n// secondary: styles.secondary,\n// danger: styles.danger,\n// ghost: styles.ghost\n// } as const;\n\n// const sizes = {\n// sm: styles.small,\n// md: styles.medium,\n// lg: styles.large\n// } as const;\n\n// export interface ButtonProps extends React.ButtonHTMLAttributes {\n// variant?: keyof typeof variants;\n// size?: keyof typeof sizes;\n// isLoading?: boolean;\n// startIcon?: React.ReactNode;\n// endIcon?: React.ReactNode;\n// fullWidth?: boolean;\n// }\n\n// const Button = forwardRef(({\n// className = '',\n// variant = 'primary',\n// size = 'md',\n// isLoading = false,\n// startIcon,\n// endIcon,\n// fullWidth = false,\n// disabled,\n// children,\n// ...props\n// }, ref) => {\n// const { theme } = useTheme();\n// const isDark = theme === 'dark';\n\n// const buttonClasses = cn(\n// styles.button,\n// styles[variant],\n// styles[size],\n// fullWidth && styles.fullWidth,\n// isDark && styles.darkMode,\n// className\n// );\n\n// return (\n// \n// {isLoading ? (\n// \n// \n// \n// \n// ) : (\n// <>\n// {startIcon && (\n// \n// {startIcon}\n// \n// )}\n// {children}\n// {endIcon && (\n// \n// {endIcon}\n// \n// )}\n// \n// )}\n// \n// );\n// });\n\n// Button.displayName = 'Button';\n\n// export default Button;\n\n'use client';\n\nimport React, { forwardRef } from 'react';\nimport styles from './CustomBtn.module.css';\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes {\n children: React.ReactNode;\n variant?: 'primary' | 'secondary' | 'danger' | 'ghost';\n size?: 'sm' | 'md' | 'lg';\n isLoading?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nconst Button = forwardRef(({\n children,\n variant = 'primary',\n size = 'md',\n isLoading = false,\n startIcon,\n endIcon,\n className,\n disabled,\n ...props\n}, ref) => {\n return (\n \n {isLoading ? (\n \n \n \n \n \n Loading...\n \n ) : (\n <>\n {startIcon && (\n \n {startIcon}\n \n )}\n {children}\n {endIcon && (\n \n {endIcon}\n \n )}\n \n )}\n \n );\n});\n\nButton.displayName = 'Button';\n\nexport default Button;","'use client';\n\nimport { useState } from 'react';\nimport Button from '@/src/components/UI/Buttons/CustomBtn';\nimport styles from './ContactForm.module.css';\nimport { BiRocket } from 'react-icons/bi';\n\ninterface FormError {\n message: string;\n status?: number;\n details?: string;\n}\n\ninterface FormData {\n name: string;\n email: string;\n message: string;\n}\n\nexport default function Form() {\n const [text, setText] = useState('');\n const [counter, setCounter] = useState(0);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n const [success, setSuccess] = useState(false);\n\n const handleChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n setText(value);\n setCounter(value.length);\n \n // Reset error state when user starts typing\n if (error) setError(null);\n };\n\n async function handleSubmit(event: React.FormEvent) {\n event.preventDefault();\n setLoading(true);\n setError(null);\n \n const form = event.target as HTMLFormElement;\n const formData = new FormData(form);\n\n const data: FormData = {\n name: formData.get('name') as string,\n email: formData.get('email') as string,\n message: formData.get('message') as string,\n };\n\n // Validate message length\n if (data.message.length < 30) {\n setError('Message must be at least 30 characters long');\n setLoading(false);\n return;\n }\n\n try {\n const response = await fetch('/api/send', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(data),\n });\n\n const result = await response.json();\n\n if (!response.ok) {\n throw new Error(result.message || response.statusText || 'Failed to send message');\n }\n\n setSuccess(true);\n form.reset();\n setText('');\n setCounter(0);\n \n // Delay redirect to show success state\n setTimeout(() => {\n window.location.href = '/thank-you';\n }, 1000);\n } catch (error) {\n const formError = error as FormError;\n console.error('Error submitting the form:', formError);\n setError(formError.message || 'Failed to send message. Please try again.');\n } finally {\n setLoading(false);\n }\n }\n\n // Add test function\n async function testEmailConfig() {\n try {\n console.group('Email Configuration Test');\n console.log('Starting configuration test...');\n \n const response = await fetch('/api/send');\n const data = await response.json();\n \n // DEBUG: Log each part of the configuration separately\n console.log('API Status:', data.status);\n console.log('Node Environment:', data.environment.nodeEnv);\n \n console.group('Email Configuration Details');\n console.table({\n 'Email User Exists': data.environment.emailConfigured.userExists,\n 'Email User Length': data.environment.emailConfigured.userLength,\n 'Email Pass Exists': data.environment.emailConfigured.passExists,\n 'Email Pass Length': data.environment.emailConfigured.passLength\n });\n console.groupEnd();\n\n // DEBUG: Add timestamp of test\n console.log('Test completed at:', new Date().toLocaleString());\n console.groupEnd();\n\n // DEBUG: Show alert with formatted data\n alert(\n 'Email Configuration Test Results:\\n\\n' +\n `Status: ${data.status}\\n` +\n `Environment: ${data.environment.nodeEnv}\\n\\n` +\n 'Email Configuration:\\n' +\n `✓ Email User: ${data.environment.emailConfigured.userExists ? 'Configured' : 'Missing'}\\n` +\n `✓ Email Pass: ${data.environment.emailConfigured.passExists ? 'Configured' : 'Missing'}`\n );\n } catch (error) {\n console.error('Configuration test failed:', error);\n alert('Failed to check email configuration. See console for details.');\n }\n }\n\n return (\n
\n
\n

Contact Form

\n

\n Thank you for exploring The Launch Market! We are excited to hear from you and learn about your project. \n Don't hesitate to drop us a message or schedule a 15-minute chat with us through the scheduling link. \n We look forward to hearing from you!\n

\n

\n \n All fields with an asterisk (*) are required fields\n \n

\n
\n\n {error && (\n
\n {error}\n
\n )}\n\n {success && (\n
\n Message sent successfully! Redirecting...\n
\n )}\n\n
\n
\n Contact Information\n
\n \n

\n Example: John Doe\n

\n
\n
\n \n

\n Example: johndoe@email.com\n

\n
\n
\n\n
\n \n

\n Minimum 30 characters\n

\n

\n \n Characters:{' '}\n \n {counter}/300\n \n \n

\n
\n
\n \n \n
\n );\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contactMain\":\"Contact_contactMain__CKS__\",\"contactContainer\":\"Contact_contactContainer__TobpY\",\"contactTitle\":\"Contact_contactTitle___r2nB\",\"contactList\":\"Contact_contactList__mXBdj\",\"formContainer\":\"Contact_formContainer__co_SU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contactHeader\":\"ContactForm_contactHeader__DwTgZ\",\"contactForm__container\":\"ContactForm_contactForm__container__LB_Rk\",\"contactForm__fieldset\":\"ContactForm_contactForm__fieldset__CXE_3\",\"contactForm__info\":\"ContactForm_contactForm__info__Z1Ay3\",\"contactForm__msg\":\"ContactForm_contactForm__msg__VAlzw\",\"counter\":\"ContactForm_counter__nTo1W\",\"contactForm__smText\":\"ContactForm_contactForm__smText__woa93\",\"required\":\"ContactForm_required__VH0kW\",\"error\":\"ContactForm_error__c0uZZ\",\"success\":\"ContactForm_success__RCV7o\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"CustomBtn_button__LwTZ5\",\"sm\":\"CustomBtn_sm__6tPM2\",\"md\":\"CustomBtn_md___MmJu\",\"lg\":\"CustomBtn_lg__VzO8e\",\"primary\":\"CustomBtn_primary__pz594\",\"secondary\":\"CustomBtn_secondary__7kBKk\",\"danger\":\"CustomBtn_danger__avHL_\",\"ghost\":\"CustomBtn_ghost__39hXu\",\"startIcon\":\"CustomBtn_startIcon__W4X7F\",\"endIcon\":\"CustomBtn_endIcon__mr2Ar\",\"loadingWrapper\":\"CustomBtn_loadingWrapper__3TSjI\",\"spinner\":\"CustomBtn_spinner__1575S\",\"spin\":\"CustomBtn_spin__X08U4\",\"spinnerTrack\":\"CustomBtn_spinnerTrack__ZUS_s\",\"spinnerHead\":\"CustomBtn_spinnerHead__aIVrV\",\"srOnly\":\"CustomBtn_srOnly__W2dXe\"};","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"fa6\",\n \"name\": \"Font Awesome 6\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"lu\",\n \"name\": \"Lucide\",\n \"projectUrl\": \"https://lucide.dev/\",\n \"license\": \"ISC\",\n \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"pi\",\n \"name\": \"Phosphor Icons\",\n \"projectUrl\": \"https://github.com/phosphor-icons/core\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/phosphor-icons/core/blob/main/LICENSE\"\n },\n {\n \"id\": \"lia\",\n \"name\": \"Icons8 Line Awesome\",\n \"projectUrl\": \"https://icons8.com/line-awesome\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/icons8/line-awesome/blob/master/LICENSE.md\"\n }\n]","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext);","var _excluded = [\"attr\", \"size\", \"title\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext.mjs\";\nfunction Tree2Element(tree) {\n return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: i\n }, node.attr), Tree2Element(node.child)));\n}\nexport function GenIcon(data) {\n return props => /*#__PURE__*/React.createElement(IconBase, _extends({\n attr: _objectSpread({}, data.attr)\n }, props), Tree2Element(data.child));\n}\nexport function IconBase(props) {\n var elem = conf => {\n var {\n attr,\n size,\n title\n } = props,\n svgProps = _objectWithoutProperties(props, _excluded);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: _objectSpread(_objectSpread({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && /*#__PURE__*/React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext);\n}","export * from \"./iconsManifest.mjs\";\nexport * from \"./iconBase.mjs\";\nexport * from \"./iconContext.mjs\";"],"names":["Button","forwardRef","ref","children","variant","size","isLoading","startIcon","endIcon","className","disabled","props","button","styles","span","svg","viewBox","aria-hidden","circle","cx","cy","r","stroke","strokeWidth","path","fill","d","displayName","Form","text","setText","useState","counter","setCounter","loading","setLoading","error","setError","success","setSuccess","handleSubmit","event","preventDefault","form","target","formData","FormData","data","name","get","email","message","length","response","fetch","method","headers","body","JSON","stringify","result","json","ok","statusText","reset","setTimeout","window","location","href","console","formError","onSubmit","noValidate","header","h3","p","small","div","role","fieldset","legend","label","htmlFor","input","id","type","required","aria-required","minLength","maxLength","aria-invalid","textarea","rows","cols","onChange","handleChange","value","strong","output","aria-live","BiRocket","DefaultContext","color","undefined","style","attr","React","_excluded","_extends","Object","assign","bind","i","arguments","source","key","prototype","hasOwnProperty","call","apply","ownKeys","e","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_toPropertyKey","obj","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defineProperty","configurable","writable","getOwnPropertyDescriptors","defineProperties","GenIcon","Tree2Element","tree","map","node","tag","child","IconBase","elem","conf","title","svgProps","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","indexOf","sourceSymbolKeys","propertyIsEnumerable","computedSize","height","width","xmlns","IconContext","Consumer"],"sourceRoot":"","ignoreList":[6,7,8,9]}