{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/vkHAj2Yk0mTnbM6ZdN5c/4UnjD2uryrvJOIucL801/FormSpark.js", "ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framer.com/m/framer/utils.js@^0.9.0"],
  "sourcesContent": ["import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n  position: \"relative\",\n  width: \"100%\",\n  height: \"100%\",\n  display: \"flex\",\n  justifyContent: \"center\",\n  alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n  ...containerStyles,\n  borderRadius: 6,\n  background: \"rgba(136, 85, 255, 0.3)\",\n  color: \"#85F\",\n  border: \"1px dashed #85F\",\n  flexDirection: \"column\"\n};\nexport const defaultEvents = {\n  onClick: {\n    type: ControlType.EventHandler\n  },\n  onMouseEnter: {\n    type: ControlType.EventHandler\n  },\n  onMouseLeave: {\n    type: ControlType.EventHandler\n  }\n};\nexport const fontSizeOptions = {\n  type: ControlType.Number,\n  title: \"Font Size\",\n  min: 2,\n  max: 200,\n  step: 1,\n  displayStepper: true\n};\nexport const fontControls = {\n  font: {\n    type: ControlType.Boolean,\n    title: \"Font\",\n    defaultValue: false,\n    disabledTitle: \"Default\",\n    enabledTitle: \"Custom\"\n  },\n  fontFamily: {\n    type: ControlType.String,\n    title: \"Family\",\n    placeholder: \"Inter\",\n    hidden: ({\n      font\n    }) => !font\n  },\n  fontWeight: {\n    type: ControlType.Enum,\n    title: \"Weight\",\n    options: [100, 200, 300, 400, 500, 600, 700, 800, 900],\n    optionTitles: [\"Thin\", \"Extra-light\", \"Light\", \"Regular\", \"Medium\", \"Semi-bold\", \"Bold\", \"Extra-bold\", \"Black\"],\n    hidden: ({\n      font\n    }) => !font\n  }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n  af: \"Afrikaans\",\n  sq: \"Albanian\",\n  an: \"Aragonese\",\n  ar: \"Arabic (Standard)\",\n  \"ar-dz\": \"Arabic (Algeria)\",\n  \"ar-bh\": \"Arabic (Bahrain)\",\n  \"ar-eg\": \"Arabic (Egypt)\",\n  \"ar-iq\": \"Arabic (Iraq)\",\n  \"ar-jo\": \"Arabic (Jordan)\",\n  \"ar-kw\": \"Arabic (Kuwait)\",\n  \"ar-lb\": \"Arabic (Lebanon)\",\n  \"ar-ly\": \"Arabic (Libya)\",\n  \"ar-ma\": \"Arabic (Morocco)\",\n  \"ar-om\": \"Arabic (Oman)\",\n  \"ar-qa\": \"Arabic (Qatar)\",\n  \"ar-sa\": \"Arabic (Saudi Arabia)\",\n  \"ar-sy\": \"Arabic (Syria)\",\n  \"ar-tn\": \"Arabic (Tunisia)\",\n  \"ar-ae\": \"Arabic (U.A.E.)\",\n  \"ar-ye\": \"Arabic (Yemen)\",\n  hy: \"Armenian\",\n  as: \"Assamese\",\n  ast: \"Asturian\",\n  az: \"Azerbaijani\",\n  eu: \"Basque\",\n  bg: \"Bulgarian\",\n  be: \"Belarusian\",\n  bn: \"Bengali\",\n  bs: \"Bosnian\",\n  br: \"Breton\",\n  my: \"Burmese\",\n  ca: \"Catalan\",\n  ch: \"Chamorro\",\n  ce: \"Chechen\",\n  zh: \"Chinese\",\n  \"zh-hk\": \"Chinese (Hong Kong)\",\n  \"zh-cn\": \"Chinese (PRC)\",\n  \"zh-sg\": \"Chinese (Singapore)\",\n  \"zh-tw\": \"Chinese (Taiwan)\",\n  cv: \"Chuvash\",\n  co: \"Corsican\",\n  cr: \"Cree\",\n  hr: \"Croatian\",\n  cs: \"Czech\",\n  da: \"Danish\",\n  nl: \"Dutch (Standard)\",\n  \"nl-be\": \"Dutch (Belgian)\",\n  en: \"English\",\n  \"en-au\": \"English (Australia)\",\n  \"en-bz\": \"English (Belize)\",\n  \"en-ca\": \"English (Canada)\",\n  \"en-ie\": \"English (Ireland)\",\n  \"en-jm\": \"English (Jamaica)\",\n  \"en-nz\": \"English (New Zealand)\",\n  \"en-ph\": \"English (Philippines)\",\n  \"en-za\": \"English (South Africa)\",\n  \"en-tt\": \"English (Trinidad & Tobago)\",\n  \"en-gb\": \"English (United Kingdom)\",\n  \"en-us\": \"English (United States)\",\n  \"en-zw\": \"English (Zimbabwe)\",\n  eo: \"Esperanto\",\n  et: \"Estonian\",\n  fo: \"Faeroese\",\n  fa: \"Farsi\",\n  fj: \"Fijian\",\n  fi: \"Finnish\",\n  fr: \"French (Standard)\",\n  \"fr-be\": \"French (Belgium)\",\n  \"fr-ca\": \"French (Canada)\",\n  \"fr-fr\": \"French (France)\",\n  \"fr-lu\": \"French (Luxembourg)\",\n  \"fr-mc\": \"French (Monaco)\",\n  \"fr-ch\": \"French (Switzerland)\",\n  fy: \"Frisian\",\n  fur: \"Friulian\",\n  gd: \"Gaelic (Scots)\",\n  \"gd-ie\": \"Gaelic (Irish)\",\n  gl: \"Galacian\",\n  ka: \"Georgian\",\n  de: \"German (Standard)\",\n  \"de-at\": \"German (Austria)\",\n  \"de-de\": \"German (Germany)\",\n  \"de-li\": \"German (Liechtenstein)\",\n  \"de-lu\": \"German (Luxembourg)\",\n  \"de-ch\": \"German (Switzerland)\",\n  el: \"Greek\",\n  gu: \"Gujurati\",\n  ht: \"Haitian\",\n  he: \"Hebrew\",\n  hi: \"Hindi\",\n  hu: \"Hungarian\",\n  is: \"Icelandic\",\n  id: \"Indonesian\",\n  iu: \"Inuktitut\",\n  ga: \"Irish\",\n  it: \"Italian (Standard)\",\n  \"it-ch\": \"Italian (Switzerland)\",\n  ja: \"Japanese\",\n  kn: \"Kannada\",\n  ks: \"Kashmiri\",\n  kk: \"Kazakh\",\n  km: \"Khmer\",\n  ky: \"Kirghiz\",\n  tlh: \"Klingon\",\n  ko: \"Korean\",\n  \"ko-kp\": \"Korean (North Korea)\",\n  \"ko-kr\": \"Korean (South Korea)\",\n  la: \"Latin\",\n  lv: \"Latvian\",\n  lt: \"Lithuanian\",\n  lb: \"Luxembourgish\",\n  mk: \"FYRO Macedonian\",\n  ms: \"Malay\",\n  ml: \"Malayalam\",\n  mt: \"Maltese\",\n  mi: \"Maori\",\n  mr: \"Marathi\",\n  mo: \"Moldavian\",\n  nv: \"Navajo\",\n  ng: \"Ndonga\",\n  ne: \"Nepali\",\n  no: \"Norwegian\",\n  nb: \"Norwegian (Bokmal)\",\n  nn: \"Norwegian (Nynorsk)\",\n  oc: \"Occitan\",\n  or: \"Oriya\",\n  om: \"Oromo\",\n  \"fa-ir\": \"Persian/Iran\",\n  pl: \"Polish\",\n  pt: \"Portuguese\",\n  \"pt-br\": \"Portuguese (Brazil)\",\n  pa: \"Punjabi\",\n  \"pa-in\": \"Punjabi (India)\",\n  \"pa-pk\": \"Punjabi (Pakistan)\",\n  qu: \"Quechua\",\n  rm: \"Rhaeto-Romanic\",\n  ro: \"Romanian\",\n  \"ro-mo\": \"Romanian (Moldavia)\",\n  ru: \"Russian\",\n  \"ru-mo\": \"Russian (Moldavia)\",\n  sz: \"Sami (Lappish)\",\n  sg: \"Sango\",\n  sa: \"Sanskrit\",\n  sc: \"Sardinian\",\n  sd: \"Sindhi\",\n  si: \"Singhalese\",\n  sr: \"Serbian\",\n  sk: \"Slovak\",\n  sl: \"Slovenian\",\n  so: \"Somani\",\n  sb: \"Sorbian\",\n  es: \"Spanish\",\n  \"es-ar\": \"Spanish (Argentina)\",\n  \"es-bo\": \"Spanish (Bolivia)\",\n  \"es-cl\": \"Spanish (Chile)\",\n  \"es-co\": \"Spanish (Colombia)\",\n  \"es-cr\": \"Spanish (Costa Rica)\",\n  \"es-do\": \"Spanish (Dominican Republic)\",\n  \"es-ec\": \"Spanish (Ecuador)\",\n  \"es-sv\": \"Spanish (El Salvador)\",\n  \"es-gt\": \"Spanish (Guatemala)\",\n  \"es-hn\": \"Spanish (Honduras)\",\n  \"es-mx\": \"Spanish (Mexico)\",\n  \"es-ni\": \"Spanish (Nicaragua)\",\n  \"es-pa\": \"Spanish (Panama)\",\n  \"es-py\": \"Spanish (Paraguay)\",\n  \"es-pe\": \"Spanish (Peru)\",\n  \"es-pr\": \"Spanish (Puerto Rico)\",\n  \"es-es\": \"Spanish (Spain)\",\n  \"es-uy\": \"Spanish (Uruguay)\",\n  \"es-ve\": \"Spanish (Venezuela)\",\n  sx: \"Sutu\",\n  sw: \"Swahili\",\n  sv: \"Swedish\",\n  \"sv-fi\": \"Swedish (Finland)\",\n  \"sv-sv\": \"Swedish (Sweden)\",\n  ta: \"Tamil\",\n  tt: \"Tatar\",\n  te: \"Teluga\",\n  th: \"Thai\",\n  tig: \"Tigre\",\n  ts: \"Tsonga\",\n  tn: \"Tswana\",\n  tr: \"Turkish\",\n  tk: \"Turkmen\",\n  uk: \"Ukrainian\",\n  hsb: \"Upper Sorbian\",\n  ur: \"Urdu\",\n  ve: \"Venda\",\n  vi: \"Vietnamese\",\n  vo: \"Volapuk\",\n  wa: \"Walloon\",\n  cy: \"Welsh\",\n  xh: \"Xhosa\",\n  ji: \"Yiddish\",\n  zu: \"Zulu\"\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"fontSizeOptions\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fontControls\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"localeOptions\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"fontStack\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"emptyStateStyle\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"containerStyles\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"defaultEvents\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./constants.map", "// @ts-ignore\nimport { fontStore } from \"framer\";\nimport { useEffect } from \"react\";\nimport { fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nconst fontWeights = {\n  100: \"Thin\",\n  200: \"Extra-light\",\n  300: \"Light\",\n  400: \"Regular\",\n  500: \"Medium\",\n  600: \"Semi-bold\",\n  700: \"Bold\",\n  800: \"Extra-bold\",\n  900: \"Black\"\n};\nexport function useFontControls(props) {\n  const {\n    fontFamily = \"Inter\",\n    fontSize = 16,\n    fontWeight = 400,\n    font = false\n  } = props;\n  const fontWeightName = fontWeights[fontWeight];\n  const customFontStack = `\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;\n  const fontFamilyStyle = fontFamily ? {\n    fontSize,\n    fontWeight,\n    fontFamily: customFontStack\n  } : {\n    fontSize,\n    fontWeight\n  };\n  const fetchCustomFonts = async () => {\n    await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`, `CUSTOM;${fontFamily} ${fontWeightName}`, `GF;${fontFamily}-${fontWeightName.toLowerCase()}`]).catch(e => console.error(e));\n  };\n  useEffect(() => {\n    if (font) fetchCustomFonts();\n  }, [font, fontFamily, fontWeight]);\n  return fontFamilyStyle;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useFontControls\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./useFontControls.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n  const {\n    borderRadius,\n    isMixedBorderRadius,\n    topLeftRadius,\n    topRightRadius,\n    bottomRightRadius,\n    bottomLeftRadius\n  } = props;\n  const radiusValue = useMemo(() => isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`, [borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius]);\n  return radiusValue;\n}\nexport const borderRadiusControl = {\n  borderRadius: {\n    title: \"Radius\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"isMixedBorderRadius\",\n    toggleTitles: [\"Radius\", \"Radius per corner\"],\n    valueKeys: [\"topLeftRadius\", \"topRightRadius\", \"bottomRightRadius\", \"bottomLeftRadius\"],\n    valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"],\n    min: 0\n  }\n};\nexport function usePadding(props) {\n  const {\n    padding,\n    paddingPerSide,\n    paddingTop,\n    paddingRight,\n    paddingBottom,\n    paddingLeft\n  } = props;\n  const paddingValue = useMemo(() => paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding, [padding, paddingPerSide, paddingTop, paddingRight, paddingBottom, paddingLeft]);\n  return paddingValue;\n}\nexport const paddingControl = {\n  padding: {\n    type: ControlType.FusedNumber,\n    toggleKey: \"paddingPerSide\",\n    toggleTitles: [\"Padding\", \"Padding per side\"],\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0,\n    title: \"Padding\"\n  }\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"borderRadiusControl\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useRadius\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RadiusProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"PaddingProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"usePadding\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"paddingControl\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    }\n  }\n};\n//# sourceMappingURL=./propUtils.map", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addPropertyControls, ControlType, RenderTarget, withCSS } from \"framer\";\nimport { motion } from \"framer-motion\";\nimport { containerStyles, usePadding, useRadius, paddingControl, borderRadiusControl, fontControls, useFontControls } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\nimport { useCallback, useMemo, useState } from \"react\";\nconst emailRegex = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nconst validateEmail = email => {\n  return emailRegex.test(String(email).toLowerCase());\n}; /**\n   * FORMSPARK\n   *\n   * @framerIntrinsicWidth 550\n   * @framerIntrinsicHeight 290\n   *\n   * @framerSupportedLayoutWidth fixed\n   * @framerSupportedLayoutHeight fixed\n   */\nconst FormSpark = withCSS(function FormSpark({\n  formId,\n  withName,\n  name,\n  withEmail,\n  email,\n  withMessage,\n  message,\n  layout,\n  inputs,\n  button,\n  style,\n  gap,\n  onSubmit,\n  ...props\n}) {\n  const [nameValue, setName] = useState(name.value);\n  const [emailValue, setEmail] = useState(email.value);\n  const [messageValue, setMessage] = useState(message.value);\n  const [isNameError, setNameError] = useState(false);\n  const [isEmailError, setEmailError] = useState(false);\n  const [isMessageError, setMessageError] = useState(false);\n  const [isLoading, setLoading] = useState(false);\n  const [isSuccess, setSuccess] = useState(false);\n  const isCanvas = useMemo(() => {\n    return RenderTarget.current() === RenderTarget.canvas;\n  }, []);\n  const gridTemplate = useMemo(() => {\n    const rows = [];\n    if (withName || withMessage) {\n      rows.push(\"max-content\");\n    }\n    if (withMessage) {\n      rows.push(\"1fr\");\n    }\n    return [...rows, \"max-content\"].join(\" \");\n  }, [withName, withEmail, withMessage]);\n  const {\n    fontFamily,\n    fontSize,\n    fontWeight\n  } = useFontControls(props);\n  const borderRadius = useRadius(props);\n  const paddingValue = usePadding(props);\n  const validateForm = useCallback(() => {\n    let error = false;\n    setNameError(false);\n    setEmailError(false);\n    setMessageError(false);\n    if (withName && !nameValue) {\n      setNameError(true);\n      error = true;\n    }\n    if (withEmail && (!emailValue || !validateEmail(emailValue))) {\n      setEmailError(true);\n      error = true;\n    }\n    if (withMessage && !messageValue) {\n      setMessageError(true);\n      error = true;\n    }\n    return error;\n  }, [validateEmail, withName, withEmail, withMessage, nameValue, emailValue, messageValue]);\n  const handleSubmit = useCallback(event => {\n    setLoading(true);\n    event.preventDefault();\n    if (validateForm()) {\n      setLoading(false);\n    } else {\n      const data = new FormData(event.target);\n      const entries = Object.fromEntries(data.entries());\n      fetch(`https://submit-form.com/${formId}`, {\n        method: \"POST\",\n        headers: {\n          \"Content-Type\": \"application/json\",\n          Accept: \"application/json\"\n        },\n        body: JSON.stringify(entries)\n      }).then(() => {\n        setSuccess(true);\n        onSubmit();\n      }).catch(() => setLoading(false));\n    }\n  }, [formId, onSubmit, validateForm]);\n  const handleNameChange = useCallback(event => {\n    setNameError(false);\n    setName(event.target.value);\n  }, []);\n  const handleEmailChange = useCallback(event => {\n    setEmailError(false);\n    setEmail(event.target.value);\n  }, []);\n  const handleMessageChange = useCallback(event => {\n    setMessageError(false);\n    setMessage(event.target.value);\n  }, []);\n  return /*#__PURE__*/_jsx(motion.div, {\n    style: {\n      ...style,\n      ...containerStyles,\n      flexDirection: \"column\",\n      \"--framer-formspark-placeholder-color\": inputs.placeholderColor\n    },\n    children: isSuccess ? /*#__PURE__*/_jsx(motion.div, {\n      style: {\n        height: \"60px\",\n        width: \"60px\",\n        background: button.fill,\n        color: button.color,\n        borderRadius: \"50%\",\n        display: \"flex\",\n        justifyContent: \"center\",\n        alignItems: \"center\"\n      },\n      initial: {\n        scale: 0\n      },\n      animate: {\n        scale: 1\n      },\n      transition: {\n        duration: 0.3\n      },\n      children: /*#__PURE__*/_jsx(\"svg\", {\n        xmlns: \"http://www.w3.org/2000/svg\",\n        width: \"28\",\n        height: \"28\",\n        children: /*#__PURE__*/_jsx(\"path\", {\n          d: \"M 2 14 L 10 22 L 26 6\",\n          fill: \"transparent\",\n          strokeWidth: \"4\",\n          stroke: \"currentColor\",\n          strokeLinecap: \"round\"\n        })\n      })\n    }) : /*#__PURE__*/_jsxs(\"form\", {\n      style: {\n        display: \"grid\",\n        gridTemplateRows: gridTemplate,\n        gap,\n        width: \"100%\",\n        height: \"100%\"\n      },\n      onSubmit: handleSubmit,\n      method: \"POST\",\n      children: [(withName || withEmail) && /*#__PURE__*/_jsxs(\"div\", {\n        style: {\n          width: \"100%\",\n          display: \"grid\",\n          gridAutoFlow: layout === \"horizontal\" ? \"column\" : \"row\",\n          gap\n        },\n        children: [withName && /*#__PURE__*/_jsx(\"input\", {\n          className: \"framer-formspark-input\",\n          type: \"text\",\n          name: \"name\",\n          placeholder: name.placeholder,\n          value: isCanvas ? name.value : nameValue,\n          onChange: handleNameChange,\n          style: {\n            ...defaultStyle,\n            padding: paddingValue,\n            borderRadius,\n            fontFamily,\n            fontWeight,\n            fontSize,\n            background: inputs.fill,\n            color: inputs.color,\n            boxShadow: `inset 0 0 0 1px ${isNameError ? inputs.error : \"transparent\"}`\n          }\n        }), withEmail && /*#__PURE__*/_jsx(\"input\", {\n          className: \"framer-formspark-input\",\n          type: \"email\",\n          name: \"email\",\n          placeholder: email.placeholder,\n          value: isCanvas ? email.value : emailValue,\n          onChange: handleEmailChange,\n          style: {\n            ...defaultStyle,\n            padding: paddingValue,\n            borderRadius,\n            fontFamily,\n            fontWeight,\n            fontSize,\n            background: inputs.fill,\n            color: inputs.color,\n            boxShadow: `inset 0 0 0 1px ${isEmailError ? inputs.error : \"transparent\"}`\n          }\n        })]\n      }), withMessage && /*#__PURE__*/_jsx(\"textarea\", {\n        className: \"framer-formspark-input\",\n        placeholder: message.placeholder,\n        name: \"message\",\n        value: isCanvas ? message.value : messageValue,\n        onChange: handleMessageChange,\n        style: {\n          ...defaultStyle,\n          minHeight: 0,\n          padding: paddingValue,\n          resize: \"vertical\",\n          borderRadius,\n          background: inputs.fill,\n          fontFamily,\n          fontWeight,\n          fontSize,\n          color: inputs.color,\n          boxShadow: `inset 0 0 0 1px ${isMessageError ? inputs.error : \"transparent\"}`\n        }\n      }), /*#__PURE__*/_jsxs(\"div\", {\n        children: [/*#__PURE__*/_jsx(motion.input, {\n          type: \"submit\",\n          value: button.label,\n          style: {\n            ...defaultStyle,\n            borderRadius,\n            padding: paddingValue,\n            fontFamily,\n            fontWeight: button.fontWeight,\n            fontSize,\n            background: button.fill,\n            cursor: \"pointer\",\n            color: button.color,\n            zIndex: 1\n          },\n          transition: {\n            type: \"ease\",\n            duration: 0.3\n          },\n          whileHover: {\n            opacity: 0.8\n          }\n        }), isLoading && /*#__PURE__*/_jsx(\"div\", {\n          style: {\n            borderRadius,\n            position: \"absolute\",\n            display: \"flex\",\n            justifyContent: \"center\",\n            alignItems: \"center\",\n            width: \"100%\",\n            height: \"100%\",\n            left: 0,\n            top: 0,\n            zIndex: 2,\n            color: button.color,\n            background: button.fill\n          },\n          children: /*#__PURE__*/_jsx(motion.div, {\n            style: {\n              height: 16,\n              width: 16\n            },\n            initial: {\n              rotate: 0\n            },\n            animate: {\n              rotate: 360\n            },\n            transition: {\n              duration: 2,\n              repeat: Infinity\n            },\n            children: /*#__PURE__*/_jsxs(\"svg\", {\n              xmlns: \"http://www.w3.org/2000/svg\",\n              width: \"16\",\n              height: \"16\",\n              children: [/*#__PURE__*/_jsx(\"path\", {\n                d: \"M 8 0 C 3.582 0 0 3.582 0 8 C 0 12.419 3.582 16 8 16 C 12.418 16 16 12.419 16 8 C 15.999 3.582 12.418 0 8 0 Z M 8 14 C 4.687 14 2 11.314 2 8 C 2 4.687 4.687 2 8 2 C 11.314 2 14 4.687 14 8 C 14 11.314 11.314 14 8 14 Z\",\n                fill: \"currentColor\",\n                opacity: \"0.2\"\n              }), /*#__PURE__*/_jsx(\"path\", {\n                d: \"M 8 0 C 12.418 0 15.999 3.582 16 8 C 16 8 16 9 15 9 C 14 9 14 8 14 8 C 14 4.687 11.314 2 8 2 C 4.687 2 2 4.687 2 8 C 2 8 2 9 1 9 C 0 9 0 8 0 8 C 0 3.582 3.582 0 8 0 Z\",\n                fill: \"currentColor\"\n              })]\n            })\n          })\n        })]\n      })]\n    })\n  });\n}, [\".framer-formspark-input::placeholder { color: var(--framer-formspark-placeholder-color) !important; }\"]);\nFormSpark.defaultProps = {\n  fontSize: 16,\n  fontFamily: \"Inter\",\n  fontWeight: 400,\n  padding: 15,\n  paddingTop: 15,\n  paddingBottom: 15,\n  paddingLeft: 15,\n  paddingRight: 15,\n  borderRadius: 8,\n  topLeftRadius: 8,\n  topRightRadius: 8,\n  bottomRightRadius: 8,\n  bottomLeftRadius: 8,\n  gap: 15\n};\naddPropertyControls(FormSpark, {\n  formId: {\n    title: \"ID\",\n    placeholder: \"7PbPpGN3\",\n    type: ControlType.String,\n    description: \"Create a [FormSpark](https://formspark.io/) account, add a new form and copy its ID. [Learn more\u2026](https://www.framer.com/sites/integrations/formspark/)\"\n  },\n  withName: {\n    title: \"Name\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  name: {\n    title: \" \",\n    type: ControlType.Object,\n    controls: {\n      placeholder: {\n        title: \"Placeholder\",\n        type: ControlType.String,\n        defaultValue: \"Name\"\n      },\n      value: {\n        title: \"Value\",\n        type: ControlType.String\n      }\n    },\n    hidden: props => !props.withName\n  },\n  withEmail: {\n    title: \"Email\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  email: {\n    title: \" \",\n    type: ControlType.Object,\n    controls: {\n      placeholder: {\n        title: \"Placeholder\",\n        type: ControlType.String,\n        defaultValue: \"Email\"\n      },\n      value: {\n        title: \"Value\",\n        type: ControlType.String\n      }\n    },\n    hidden: props => !props.withEmail\n  },\n  withMessage: {\n    title: \"Message\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  message: {\n    title: \" \",\n    type: ControlType.Object,\n    controls: {\n      placeholder: {\n        title: \"Placeholder\",\n        type: ControlType.String,\n        defaultValue: \"Message\"\n      },\n      value: {\n        title: \"Value\",\n        type: ControlType.String\n      }\n    },\n    hidden: props => !props.withMessage\n  },\n  layout: {\n    title: \"Layout\",\n    type: ControlType.Enum,\n    options: [\"horizontal\", \"vertical\"],\n    displaySegmentedControl: true,\n    defaultValue: \"horizontal\"\n  },\n  inputs: {\n    title: \"Inputs\",\n    type: ControlType.Object,\n    controls: {\n      fill: {\n        title: \"Fill\",\n        type: ControlType.Color,\n        defaultValue: \"#EBEBEB\"\n      },\n      color: {\n        title: \"Text\",\n        type: ControlType.Color,\n        defaultValue: \"#000\"\n      },\n      placeholderColor: {\n        title: \"Placeholder\",\n        type: ControlType.Color,\n        defaultValue: \"rgba(0, 0, 0, 0.5)\"\n      },\n      error: {\n        title: \"Error\",\n        type: ControlType.Color,\n        defaultValue: \"#EE4444\"\n      }\n    }\n  },\n  button: {\n    title: \"Button\",\n    type: ControlType.Object,\n    controls: {\n      label: {\n        title: \"Label\",\n        type: ControlType.String,\n        defaultValue: \"Sign Up\"\n      },\n      fontWeight: {\n        ...fontControls.fontWeight,\n        defaultValue: 600\n      },\n      fill: {\n        title: \"Fill\",\n        type: ControlType.Color,\n        defaultValue: \"#000\"\n      },\n      color: {\n        title: \"Text\",\n        type: ControlType.Color,\n        defaultValue: \"#FFF\"\n      }\n    }\n  },\n  ...fontControls,\n  fontSize: {\n    title: \"Font Size\",\n    type: ControlType.Number,\n    displayStepper: true,\n    defaultValue: 16\n  },\n  ...paddingControl,\n  ...borderRadiusControl,\n  gap: {\n    title: \"Gap\",\n    type: ControlType.Number,\n    displayStepper: true,\n    min: 0\n  },\n  onSubmit: {\n    type: ControlType.EventHandler\n  }\n});\nconst defaultStyle = {\n  WebkitAppearance: \"none\",\n  display: \"inline-block\",\n  width: \"100%\",\n  lineHeight: \"1.4em\",\n  outline: \"none\",\n  border: \"none\"\n};\nexport default FormSpark;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"FormSpark\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutHeight\": \"fixed\",\n        \"framerIntrinsicWidth\": \"550\",\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicHeight\": \"290\",\n        \"framerSupportedLayoutWidth\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./FormSpark.map", "import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map", "export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map"],
  "mappings": "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",
  "names": ["fontStack", "containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "fontWeights", "useFontControls", "props", "fontFamily", "fontSize", "fontWeight", "font", "fontWeightName", "customFontStack", "fontStack", "fontFamilyStyle", "fetchCustomFonts", "fontStore", "e", "ue", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "usePadding", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingControl", "emailRegex", "validateEmail", "email", "FormSpark", "withCSS", "formId", "withName", "name", "withEmail", "withMessage", "message", "layout", "inputs", "button", "style", "gap", "onSubmit", "props", "nameValue", "setName", "ye", "emailValue", "setEmail", "messageValue", "setMessage", "isNameError", "setNameError", "isEmailError", "setEmailError", "isMessageError", "setMessageError", "isLoading", "setLoading", "isSuccess", "setSuccess", "isCanvas", "se", "RenderTarget", "gridTemplate", "rows", "fontFamily", "fontSize", "fontWeight", "useFontControls", "borderRadius", "useRadius", "paddingValue", "usePadding", "validateForm", "te", "error", "handleSubmit", "event", "data", "entries", "handleNameChange", "handleEmailChange", "handleMessageChange", "p", "motion", "containerStyles", "u", "defaultStyle", "addPropertyControls", "ControlType", "fontControls", "paddingControl", "borderRadiusControl", "FormSpark_default", "createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "centerContent", "defaultContainerStyles", "centerContent"]
}
