{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js", "ssg:https://framer.com/m/framer/useAutoMotionValue.js@^0.3.0", "ssg:https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/534oB9Tn5cZB6VZbkWLJ/Video.js", "ssg:https://framerusercontent.com/modules/vkHAj2Yk0mTnbM6ZdN5c/PlLMu0V3HsBupvdXeFrH/FormSpark.js", "ssg:https://framerusercontent.com/modules/8jXkPG8MRv1nf5FZgk27/E00YWTshwfwfYWs6d3Te/qj8SLeZwS.js"],
  "sourcesContent": ["import { MotionValue } from \"framer\"; // Basic MotionValue check\nexport const isMotionValue = v => v instanceof MotionValue;\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"isMotionValue\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./isMotionValue.map", "import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map", "import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useRef, useEffect, useMemo, useCallback, memo } from \"react\";\nimport { ControlType, addPropertyControls, useIsInCurrentNavigationTarget } from \"framer\";\nimport { useOnEnter, useOnExit, defaultEvents, useIsOnCanvas, useIsBrowserSafari, useOnChange, useRadius, borderRadiusControl } from \"https://framer.com/m/framer/default-utils.js@^0.45.0\";\nimport { useAutoMotionValue } from \"https://framer.com/m/framer/useAutoMotionValue.js@^0.3.0\";\nvar ObjectFitType;\n(function (ObjectFitType) {\n  ObjectFitType[\"Fill\"] = \"fill\";\n  ObjectFitType[\"Contain\"] = \"contain\";\n  ObjectFitType[\"Cover\"] = \"cover\";\n  ObjectFitType[\"None\"] = \"none\";\n  ObjectFitType[\"ScaleDown\"] = \"scale-down\";\n})(ObjectFitType || (ObjectFitType = {}));\nvar SrcType;\n(function (SrcType) {\n  SrcType[\"Video\"] = \"Upload\";\n  SrcType[\"Url\"] = \"URL\";\n})(SrcType || (SrcType = {})); // Reduce renders\nfunction getProps(props) {\n  const {\n    width,\n    height,\n    topLeft,\n    topRight,\n    bottomRight,\n    bottomLeft,\n    id,\n    children,\n    ...rest\n  } = props;\n  return rest;\n} /**\n  * VIDEO\n  *\n  * @framerIntrinsicWidth 200\n  * @framerIntrinsicHeight 112\n  *\n  * @framerSupportedLayoutWidth fixed\n  * @framerSupportedLayoutHeight any-prefer-fixed\n  */\nexport function Video(props) {\n  const newProps = getProps(props);\n  return /*#__PURE__*/_jsx(VideoMemo, {\n    ...newProps\n  });\n}\nconst VideoMemo = /*#__PURE__*/memo(function VideoInner(props) {\n  const {\n    srcType,\n    srcFile,\n    srcUrl,\n    playing,\n    canvasPlay,\n    muted,\n    playsinline,\n    controls,\n    progress,\n    objectFit,\n    backgroundColor,\n    radius,\n    topLeft,\n    topRight,\n    bottomRight,\n    bottomLeft,\n    isMixed,\n    onSeeked,\n    onPause,\n    onPlay,\n    onEnd,\n    onClick,\n    onMouseEnter,\n    onMouseLeave,\n    onMouseDown,\n    onMouseUp,\n    poster,\n    restartOnEnter,\n    posterEnabled,\n    startTime: startTimeProp,\n    volume,\n    loop\n  } = props;\n  const isInCurrentNavigationTarget = useIsInCurrentNavigationTarget();\n  const videoRef = useRef();\n  const isSafari = useIsBrowserSafari();\n  const requestingPlay = useRef(false);\n  const wasPausedOnLeave = useRef(null);\n  const wasEndedOnLeave = useRef(null);\n  const isOnCanvas = useIsOnCanvas();\n  const borderRadius = useRadius(props); // Video elements behave oddly at 100% duration\n  const startTime = startTimeProp === 100 ? 99.9 : startTimeProp;\n  const shouldPlay = !isOnCanvas || canvasPlay;\n  const autoPlay = useMemo(() => playing, []);\n  const isMuted = useMemo(() => isOnCanvas ? true : muted, [isOnCanvas, muted]);\n  const setProgress = useCallback(rawProgress => {\n    if (!videoRef.current) return;\n    const newProgress = (rawProgress === 1 ? .999 : rawProgress) * videoRef.current.duration;\n    const isAlreadySet = Math.abs(videoRef.current.currentTime - newProgress) < .1;\n    if (videoRef.current.duration > 0 && !isAlreadySet) {\n      videoRef.current.currentTime = newProgress;\n    }\n  }, []);\n  const play = useCallback(() => {\n    const isPlaying = videoRef.current.currentTime > 0 && videoRef.current.onplaying && !videoRef.current.paused && !videoRef.current.ended && videoRef.current.readyState > videoRef.current.HAVE_CURRENT_DATA;\n    if (!isPlaying && videoRef.current && !requestingPlay.current && isInCurrentNavigationTarget) {\n      requestingPlay.current = true;\n      videoRef.current.play().catch(e => {}) // It's likely fine, swallow error\n      .finally(() => requestingPlay.current = false);\n    }\n  }, []);\n  const pause = useCallback(() => {\n    if (!videoRef.current || requestingPlay.current) return;\n    videoRef.current.pause();\n  }, []); // Pause/play via props\n  useEffect(() => {\n    if (playing && shouldPlay) play();else pause();\n  }, [playing, canvasPlay]); // Change progress via prop\n  useEffect(() => {\n    setProgress(startTime * .01);\n  }, [startTimeProp, srcFile, srcUrl]);\n  const videoProgress = useAutoMotionValue(progress, {\n    transform: value => value * .01,\n    onChange: newValue => {\n      setProgress(newValue);\n    }\n  }); // Allow scrubbing with MotionValue\n  useOnChange(videoProgress, val => {\n    if (isOnCanvas) return;\n    setProgress(val);\n  }); // (Prototyping) Checking if we need to play on navigation enter\n  useOnEnter(() => {\n    if (wasPausedOnLeave.current === null) return;\n    if (videoRef.current) {\n      // if (restartOnEnter) setProgress(0)\n      if (!wasEndedOnLeave && loop || !wasPausedOnLeave.current) play();\n    }\n  }); // (Prototyping) Pausing & saving playing state on navigation exit\n  useOnExit(() => {\n    if (videoRef.current) {\n      wasEndedOnLeave.current = videoRef.current.ended;\n      wasPausedOnLeave.current = videoRef.current.paused;\n      pause();\n    }\n  });\n  const src = useMemo(() => {\n    if (srcType === SrcType.Url) return srcUrl;\n    if (srcType === SrcType.Video) return srcFile;\n  }, [srcType, srcFile, srcUrl]); // Autoplay via JS to work in Safari\n  useEffect(() => {\n    if (isSafari && videoRef.current && autoPlay) {\n      setTimeout(() => play(), 50);\n    }\n  }, []); // Volume Control\n  useEffect(() => {\n    if (videoRef.current && !muted) videoRef.current.volume = volume / 100;\n  }, [volume]); // When video is ready, set start-time, then autoplay if needed\n  const handleReady = () => {\n    if (videoRef.current && videoRef.current.currentTime < .3) setProgress(startTime * .01);\n    if (shouldPlay && videoRef.current && autoPlay) play();\n  };\n  return /*#__PURE__*/_jsx(\"video\", {\n    onClick,\n    onMouseEnter,\n    onMouseLeave,\n    onMouseDown,\n    onMouseUp,\n    src: src,\n    loop: loop,\n    ref: videoRef,\n    onSeeked: e => {\n      return onSeeked === null || onSeeked === void 0 ? void 0 : onSeeked(e);\n    },\n    onPause: e => {\n      return onPause === null || onPause === void 0 ? void 0 : onPause(e);\n    },\n    onPlay: e => {\n      return onPlay === null || onPlay === void 0 ? void 0 : onPlay(e);\n    },\n    onEnded: e => {\n      return onEnd === null || onEnd === void 0 ? void 0 : onEnd(e);\n    },\n    autoPlay: autoPlay && shouldPlay,\n    poster: posterEnabled ? poster : undefined,\n    onLoadedData: handleReady,\n    controls: controls,\n    muted: isMuted,\n    playsInline: playsinline,\n    style: {\n      width: \"100%\",\n      height: \"100%\",\n      borderRadius,\n      display: \"block\",\n      objectFit: objectFit,\n      backgroundColor: backgroundColor,\n      objectPosition: \"50% 50%\"\n    }\n  });\n});\nVideo.displayName = \"Video\";\nVideo.defaultProps = {\n  srcType: SrcType.Url,\n  srcUrl: \"https://assets.mixkit.co/videos/preview/mixkit-ice-cream-glass-of-red-soda-5094-small.mp4\",\n  srcFile: \"\",\n  posterEnabled: false,\n  controls: false,\n  autoPlay: true,\n  canvasPlay: false,\n  loop: true,\n  muted: true,\n  playsinline: true,\n  restartOnEnter: false,\n  objectFit: ObjectFitType.Cover,\n  backgroundColor: \"rgba(0,0,0,0)\",\n  radius: 0,\n  volume: 25,\n  startTime: 0\n};\naddPropertyControls(Video, {\n  srcType: {\n    type: ControlType.Enum,\n    displaySegmentedControl: true,\n    title: \"Source\",\n    options: [SrcType.Url, SrcType.Video]\n  },\n  srcUrl: {\n    type: ControlType.String,\n    title: \" \",\n    placeholder: \"../example.mp4\",\n    hidden(props) {\n      return props.srcType === SrcType.Video;\n    },\n    description: \"Hosted video file URL. For Youtube, use the Youtube component.\"\n  },\n  srcFile: {\n    type: ControlType.File,\n    title: \" \",\n    allowedFileTypes: [\"mp4\"],\n    hidden(props) {\n      return props.srcType === SrcType.Url;\n    }\n  },\n  playing: {\n    type: ControlType.Boolean,\n    title: \"Playing\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  posterEnabled: {\n    type: ControlType.Boolean,\n    title: \"Poster\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  poster: {\n    type: ControlType.Image,\n    title: \" \",\n    hidden: ({\n      posterEnabled\n    }) => !posterEnabled\n  },\n  backgroundColor: {\n    type: ControlType.Color,\n    title: \"Background\"\n  },\n  ...borderRadiusControl,\n  startTime: {\n    title: \"Start Time\",\n    type: ControlType.Number,\n    min: 0,\n    max: 100,\n    step: .1,\n    unit: \"%\"\n  },\n  loop: {\n    type: ControlType.Boolean,\n    title: \"Loop\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  objectFit: {\n    type: ControlType.Enum,\n    title: \"Fit\",\n    options: [ObjectFitType.Cover, ObjectFitType.Fill, ObjectFitType.Contain, ObjectFitType.ScaleDown, ObjectFitType.None]\n  },\n  canvasPlay: {\n    type: ControlType.Boolean,\n    title: \"On Canvas\",\n    enabledTitle: \"Play\",\n    disabledTitle: \"Pause\",\n    hidden(props) {\n      return props.autoPlay === false;\n    }\n  },\n  // restartOnEnter: {\n  //     type: ControlType.Boolean,\n  //     title: \"On ReEnter\",\n  //     enabledTitle: \"Restart\",\n  //     disabledTitle: \"Resume\",\n  // },\n  controls: {\n    type: ControlType.Boolean,\n    title: \"Controls\",\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\"\n  },\n  muted: {\n    type: ControlType.Boolean,\n    title: \"Muted\",\n    enabledTitle: \"Yes\",\n    disabledTitle: \"No\"\n  },\n  volume: {\n    type: ControlType.Number,\n    max: 100,\n    min: 0,\n    unit: \"%\",\n    hidden: ({\n      muted\n    }) => muted\n  },\n  onEnd: {\n    type: ControlType.EventHandler\n  },\n  onSeeked: {\n    type: ControlType.EventHandler\n  },\n  onPause: {\n    type: ControlType.EventHandler\n  },\n  onPlay: {\n    type: ControlType.EventHandler\n  },\n  ...defaultEvents\n});\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Video\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Video\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutHeight\": \"any-prefer-fixed\",\n        \"framerIntrinsicHeight\": \"112\",\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerIntrinsicWidth\": \"200\"\n      }\n    },\n    \"VideoProps\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Video.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  nameField: 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 === null || name === void 0 ? void 0 : name.value);\n  const [emailValue, setEmail] = useState(email === null || email === void 0 ? void 0 : email.value);\n  const [messageValue, setMessage] = useState(message === null || message === void 0 ? void 0 : 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 gridTemplateRows = 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 gridTemplateColumns = useMemo(() => {\n    const cols = [];\n    if ((withName && !withEmail || withEmail && !withName) && !withMessage && layout === \"horizontal\") {\n      return \"1fr max-content\";\n    }\n    return \"1fr\";\n  }, [withName, withEmail, withMessage, layout]);\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,\n        gridTemplateColumns,\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  nameField: {\n    value: undefined,\n    placeholder: \"Name\"\n  },\n  email: {\n    value: undefined,\n    placeholder: \"Email\"\n  },\n  message: {\n    value: undefined,\n    placeholder: \"Message\"\n  },\n  inputs: {\n    fill: \"#EBEBEB\",\n    color: \"#000\",\n    placeholderColor: \"rgba(0, 0, 0, 0.5)\",\n    error: \"#EE4444\"\n  },\n  layout: {\n    fill: \"#EBEBEB\",\n    color: \"#000\",\n    placeholderColor: \"rgba(0, 0, 0, 0.5)\",\n    error: \"#EE4444\"\n  },\n  button: {\n    label: \"Sign Up\",\n    fontWeight: 600,\n    fill: \"#000\",\n    color: \"#FFF\"\n  }\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    defaultValue: true\n  },\n  nameField: {\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        defaultValue: \"\"\n      }\n    },\n    hidden: props => !props.withName\n  },\n  withEmail: {\n    title: \"Email\",\n    type: ControlType.Boolean,\n    enabledTitle: \"Show\",\n    disabledTitle: \"Hide\",\n    defaultValue: true\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    defaultValue: true\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        \"framerIntrinsicHeight\": \"290\",\n        \"framerSupportedLayoutHeight\": \"fixed\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerIntrinsicWidth\": \"550\",\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./FormSpark.map", "// Generated by Framer (0e4faa7)\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { addFonts, addPropertyControls, ControlType, cx, Link, RichText, useActiveVariantCallback, useVariantState, withCSS } from \"framer\";\nimport { LayoutGroup, motion } from \"framer-motion\";\nimport * as React from \"react\";\nconst enabledGestures = {\n  sTzn2FvGK: {\n    hover: true\n  }\n};\nconst cycleOrder = [\"sTzn2FvGK\"];\nconst variantClassNames = {\n  sTzn2FvGK: \"framer-v-jc81vx\"\n};\nfunction addPropertyOverrides(overrides, ...variants) {\n  const nextOverrides = {};\n  variants === null || variants === void 0 ? void 0 : variants.forEach(variant => variant && Object.assign(nextOverrides, overrides[variant]));\n  return nextOverrides;\n}\nconst humanReadableVariantMap = {};\nconst transitions = {\n  default: {\n    damping: 60,\n    delay: 0,\n    duration: .3,\n    ease: [.44, 0, .56, 1],\n    mass: 1,\n    stiffness: 500,\n    type: \"spring\"\n  }\n};\nconst Component = /*#__PURE__*/React.forwardRef(function ({\n  id,\n  style,\n  className,\n  width,\n  height,\n  layoutId,\n  variant: outerVariant = \"sTzn2FvGK\",\n  title: oM8w9IK3Z = \"Contact us\",\n  tap: inIAP8dr4,\n  ...restProps\n}, ref) {\n  const outerVariantId = humanReadableVariantMap[outerVariant];\n  const variant = outerVariantId || outerVariant;\n  const {\n    baseVariant,\n    classNames,\n    gestureVariant,\n    setGestureState,\n    setVariant,\n    transition,\n    variants\n  } = useVariantState({\n    cycleOrder,\n    defaultVariant: \"sTzn2FvGK\",\n    enabledGestures,\n    transitions,\n    variant,\n    variantClassNames\n  });\n  const layoutDependency = variants.join(\"-\") + restProps.layoutDependency;\n  const {\n    activeVariantCallback,\n    delay\n  } = useActiveVariantCallback(baseVariant);\n  const onTap1kfju55 = activeVariantCallback(async (...args) => {\n    if (inIAP8dr4) {\n      const res = await inIAP8dr4(...args);\n      if (res === false) return false;\n    }\n    setVariant(\"sTzn2FvGK\");\n  });\n  const defaultLayoutId = React.useId();\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    id: layoutId !== null && layoutId !== void 0 ? layoutId : defaultLayoutId,\n    children: /*#__PURE__*/_jsx(motion.div, {\n      initial: variant,\n      animate: variants,\n      onHoverStart: () => setGestureState({\n        isHovered: true\n      }),\n      onHoverEnd: () => setGestureState({\n        isHovered: false\n      }),\n      onTapStart: () => setGestureState({\n        isPressed: true\n      }),\n      onTap: () => setGestureState({\n        isPressed: false\n      }),\n      onTapCancel: () => setGestureState({\n        isPressed: false\n      }),\n      className: cx(\"framer-HeLaV\", classNames),\n      style: {\n        display: \"contents\"\n      },\n      children: /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"XEZBzaLb8\"\n        },\n        openInNewTab: false,\n        children: /*#__PURE__*/_jsx(motion.a, {\n          ...restProps,\n          className: `${cx(\"framer-jc81vx\", className)} framer-3uvf0n`,\n          \"data-border\": true,\n          \"data-framer-name\": \"Main\",\n          \"data-highlight\": true,\n          layoutDependency: layoutDependency,\n          layoutId: \"sTzn2FvGK\",\n          onTap: onTap1kfju55,\n          ref: ref,\n          style: {\n            \"--border-bottom-width\": \"1px\",\n            \"--border-color\": \"rgba(255, 255, 255, 0)\",\n            \"--border-left-width\": \"1px\",\n            \"--border-right-width\": \"1px\",\n            \"--border-style\": \"solid\",\n            \"--border-top-width\": \"1px\",\n            background: \"linear-gradient(135deg, #3424ff 0%, hsl(242, 100%, 54%) 100%)\",\n            borderBottomLeftRadius: 24,\n            borderBottomRightRadius: 24,\n            borderTopLeftRadius: 24,\n            borderTopRightRadius: 24,\n            ...style\n          },\n          transition: transition,\n          variants: {\n            \"sTzn2FvGK-hover\": {\n              \"--border-color\": \"rgba(255, 255, 255, 0.2)\"\n            }\n          },\n          ...addPropertyOverrides({\n            \"sTzn2FvGK-hover\": {\n              \"data-framer-name\": undefined\n            }\n          }, baseVariant, gestureVariant),\n          children: /*#__PURE__*/_jsx(RichText, {\n            __fromCanvasComponent: true,\n            children: /*#__PURE__*/_jsx(React.Fragment, {\n              children: /*#__PURE__*/_jsx(motion.p, {\n                style: {\n                  \"--font-selector\": \"R0Y7SW50ZXItNjAw\",\n                  \"--framer-font-weight\": \"600\",\n                  \"--framer-text-alignment\": \"center\",\n                  \"--framer-text-color\": \"var(--extracted-r6o4lv)\",\n                  \"--framer-text-transform\": \"uppercase\"\n                },\n                children: \"Contact us\"\n              })\n            }),\n            className: \"framer-113avdd\",\n            fonts: [\"GF;Inter-600\"],\n            layoutDependency: layoutDependency,\n            layoutId: \"X2JzA_Ulc\",\n            style: {\n              \"--extracted-r6o4lv\": \"rgb(255, 255, 255)\",\n              \"--framer-link-text-color\": \"rgb(0, 153, 255)\",\n              \"--framer-link-text-decoration\": \"underline\",\n              \"--framer-paragraph-spacing\": \"0px\",\n              opacity: 1\n            },\n            text: oM8w9IK3Z,\n            transition: transition,\n            variants: {\n              \"sTzn2FvGK-hover\": {\n                opacity: .6\n              }\n            },\n            verticalAlignment: \"top\",\n            withExternalLayout: true\n          })\n        })\n      })\n    })\n  });\n});\nconst css = ['.framer-HeLaV [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }', \"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\", \".framer-HeLaV * { box-sizing: border-box; }\", \".framer-HeLaV .framer-3uvf0n { display: block; }\", \".framer-HeLaV .framer-jc81vx { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: wrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 10px 10px 10px 10px; position: relative; text-decoration: none; width: 220px; }\", \".framer-HeLaV .framer-113avdd { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\", \".framer-HeLaV .framer-v-jc81vx .framer-jc81vx { cursor: pointer; }\", \"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-HeLaV .framer-jc81vx { gap: 0px; } .framer-HeLaV .framer-jc81vx > * { margin: 0px; margin-left: calc(16px / 2); margin-right: calc(16px / 2); } .framer-HeLaV .framer-jc81vx > :first-child { margin-left: 0px; } .framer-HeLaV .framer-jc81vx > :last-child { margin-right: 0px; } }\", \".framer-HeLaV.framer-v-jc81vx.hover .framer-jc81vx { gap: 20px; }\", \"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-HeLaV.framer-v-jc81vx.hover .framer-jc81vx { gap: 0px; } .framer-HeLaV.framer-v-jc81vx.hover .framer-jc81vx > * { margin: 0px; margin-left: calc(20px / 2); margin-right: calc(20px / 2); } .framer-HeLaV.framer-v-jc81vx.hover .framer-jc81vx > :first-child { margin-left: 0px; } .framer-HeLaV.framer-v-jc81vx.hover .framer-jc81vx > :last-child { margin-right: 0px; } }\"]; /**\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         * This is a generated Framer component.\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         * @framerIntrinsicHeight 39\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         * @framerIntrinsicWidth 220\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"eViLFMHsY\":{\"layout\":[\"fixed\",\"auto\"]}}}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         * @framerVariables {\"oM8w9IK3Z\":\"title\",\"inIAP8dr4\":\"tap\"}\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         */\nconst Framerqj8SLeZwS = withCSS(Component, css, \"framer-HeLaV\");\nexport default Framerqj8SLeZwS;\nFramerqj8SLeZwS.displayName = \"Button\";\nFramerqj8SLeZwS.defaultProps = {\n  height: 39,\n  width: 220\n};\naddPropertyControls(Framerqj8SLeZwS, {\n  oM8w9IK3Z: {\n    defaultValue: \"Contact us\",\n    displayTextArea: false,\n    title: \"Title\",\n    type: ControlType.String\n  },\n  inIAP8dr4: {\n    title: \"Tap\",\n    type: ControlType.EventHandler\n  }\n});\naddFonts(Framerqj8SLeZwS, [{\n  family: \"Inter\",\n  moduleAsset: {\n    localModuleIdentifier: \"local-module:canvasComponent/qj8SLeZwS:default\",\n    url: \"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYMZhrib2Bg-4.ttf\"\n  },\n  style: \"normal\",\n  url: \"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYMZhrib2Bg-4.ttf\",\n  weight: \"600\"\n}]);\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Props\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Framerqj8SLeZwS\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\",\n        \"framerIntrinsicWidth\": \"220\",\n        \"framerCanvasComponentVariantDetails\": \"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"eViLFMHsY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\n        \"framerIntrinsicHeight\": \"39\",\n        \"framerVariables\": \"{\\\"oM8w9IK3Z\\\":\\\"title\\\",\\\"inIAP8dr4\\\":\\\"tap\\\"}\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./qj8SLeZwS.map"],
  "mappings": "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",
  "names": ["isMotionValue", "v", "MotionValue", "useAutoMotionValue", "inputValue", "options", "optionsRef", "pe", "animation", "didInitialMount", "isOnCanvas", "RenderTarget", "onChangeDeps", "onChange", "te", "transformer", "value", "ref", "value1", "useConstant", "isMotionValue", "motionValue", "ue", "ref1", "newValue", "ref2", "animate2", "ObjectFitType", "SrcType", "getProps", "props", "width", "height", "topLeft", "topRight", "bottomRight", "bottomLeft", "id", "children", "rest", "Video", "newProps", "p", "VideoMemo", "X", "srcType", "srcFile", "srcUrl", "playing", "canvasPlay", "muted", "playsinline", "controls", "progress", "objectFit", "backgroundColor", "radius", "isMixed", "onSeeked", "onPause", "onPlay", "onEnd", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "poster", "restartOnEnter", "posterEnabled", "startTimeProp", "volume", "loop", "isInCurrentNavigationTarget", "useIsInCurrentNavigationTarget", "videoRef", "pe", "isSafari", "useIsBrowserSafari", "requestingPlay", "wasPausedOnLeave", "wasEndedOnLeave", "isOnCanvas", "useIsOnCanvas", "borderRadius", "useRadius", "startTime", "shouldPlay", "autoPlay", "se", "isMuted", "setProgress", "te", "rawProgress", "newProgress", "isAlreadySet", "play", "e", "pause", "ue", "videoProgress", "useAutoMotionValue", "value", "newValue", "useOnChange", "val", "useOnEnter", "useOnExit", "src", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents", "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", "gridTemplateRows", "rows", "gridTemplateColumns", "cols", "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", "enabledGestures", "cycleOrder", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "humanReadableVariantMap", "transitions", "Component", "Y", "id", "style", "className", "width", "height", "layoutId", "outerVariant", "oM8w9IK3Z", "inIAP8dr4", "restProps", "ref", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "transition", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap1kfju55", "args", "defaultLayoutId", "ae", "p", "LayoutGroup", "motion", "cx", "Link", "RichText", "x", "css", "Framerqj8SLeZwS", "withCSS", "qj8SLeZwS_default", "addPropertyControls", "ControlType", "addFonts"]
}
