{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/eWdi9QpN1qqQb4SWq4Z6/LXBgo8yxaQle0mk5wmLF/BaseForm.js"],
  "sourcesContent": ["/*\nMIT License\nCopyright \u00A9 Joel Whitaker\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nThe Software is provided \"as is\", without warranty of any kind, express or\nimplied, including but not limited to the warranties of merchantability,\nfitness for a particular purpose and noninfringement. In no event shall the\nauthors or copyright holders be liable for any claim, damages or other\nliability, whether in an action of contract, tort or otherwise, arising from,\nout of or in connection with the Software or the use or other dealings in the\nSoftware.\n*/import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useCallback, useState } from \"react\";\nimport { addPropertyControls, ControlType, withCSS, useRouter, inferInitialRouteFromPath } from \"framer\";\nimport { motion, useAnimationControls } from \"framer-motion\";\nvar FieldType;\n(function (FieldType) {\n  FieldType[\"Text\"] = \"text\";\n  FieldType[\"Number\"] = \"number\";\n  FieldType[\"Email\"] = \"email\";\n  FieldType[\"Url\"] = \"url\";\n  FieldType[\"Tel\"] = \"tel\";\n  FieldType[\"TextArea\"] = \"textarea\";\n  FieldType[\"Select\"] = \"select\";\n  FieldType[\"Checkbox\"] = \"checkbox\";\n  FieldType[\"Radio\"] = \"radio\";\n  FieldType[\"Time\"] = \"time\";\n  FieldType[\"Week\"] = \"week\";\n  FieldType[\"Month\"] = \"month\";\n  FieldType[\"Date\"] = \"date\";\n  FieldType[\"DateTimeLocal\"] = \"datetime-local\";\n  FieldType[\"Password\"] = \"password\";\n  FieldType[\"Hidden\"] = \"hidden\";\n})(FieldType || (FieldType = {}));\nfunction isExternalURL(url) {\n  try {\n    return !!new URL(url);\n  } catch {}\n  try {\n    return !!new URL(`https://${url}`);\n  } catch {}\n  return false;\n}\nfunction hasMinMaxStep(type) {\n  return [FieldType.Time, FieldType.Week, FieldType.Number, FieldType.Date, FieldType.DateTimeLocal].includes(type);\n} /**\n  * Increment the number whenever shipping a new version to customers.\n  * This will ensure that multiple versions of this component can exist\n  * in the same project without css rules overlapping. Only use valid css class characters.\n  */\nconst VERSION = \"v1\"; /**\n                      * BASEFORM\n                      * By Joel Whitaker (Alphi.dev)\n                      * Based on INPUT by Benjamin den Boer\n                      *\n                      * @framerDisableUnlink\n                      *\n                      * @framerIntrinsicWidth 300\n                      * @framerIntrinsicHeight 40\n                      *\n                      * @framerSupportedLayoutWidth fixed\n                      * @framerSupportedLayoutHeight any\n                      */\nconst BaseForm = withCSS(function BaseForm({\n  url,\n  method,\n  contentType,\n  redirectAs,\n  link,\n  inputs,\n  button,\n  styles,\n  extraHeaders,\n  extraFields,\n  style,\n  onSubmit\n}) {\n  const [isError, setError] = useState(false);\n  const [isLoading, setLoading] = useState(false);\n  const [getFocus, setFocus] = useState(null);\n  const {\n    paddingPerSide: labelPaddingPerSide,\n    paddingTop: labelPaddingTop,\n    paddingRight: labelPaddingRight,\n    paddingBottom: labelPaddingBottom,\n    paddingLeft: labelPaddingLeft,\n    padding: labelPadding,\n    borderRadius: labelBorderRadius,\n    borderObject: labelBorderObject,\n    shadowObject: labelShadowObject\n  } = styles.label;\n  const {\n    paddingPerSide: inputPaddingPerSide,\n    paddingTop: inputPaddingTop,\n    paddingRight: inputPaddingRight,\n    paddingBottom: inputPaddingBottom,\n    paddingLeft: inputPaddingLeft,\n    padding: inputPadding,\n    borderRadius: inputBorderRadius,\n    borderObject: inputBorderObject,\n    focusObject: inputFocusObject,\n    shadowObject: inputShadowObject\n  } = styles.input;\n  const {\n    paddingPerSide: buttonPaddingPerSide,\n    paddingTop: buttonPaddingTop,\n    paddingRight: buttonPaddingRight,\n    paddingBottom: buttonPaddingBottom,\n    paddingLeft: buttonPaddingLeft,\n    padding: buttonPadding,\n    borderRadius: buttonBorderRadius,\n    borderObject: buttonBorderObject,\n    shadowObject: buttonShadowObject\n  } = styles.button;\n  const labelPaddingValue = labelPaddingPerSide ? `${labelPaddingTop}px ${labelPaddingRight}px ${labelPaddingBottom}px ${labelPaddingLeft}px` : `${labelPadding}px ${labelPadding}px ${labelPadding}px ${labelPadding}px`;\n  const inputPaddingValue = inputPaddingPerSide ? `${inputPaddingTop}px ${inputPaddingRight}px ${inputPaddingBottom}px ${inputPaddingLeft}px` : `${inputPadding}px ${inputPadding}px ${inputPadding}px ${inputPadding}px`;\n  const buttonPaddingValue = buttonPaddingPerSide ? `${buttonPaddingTop}px ${buttonPaddingRight}px ${buttonPaddingBottom}px ${buttonPaddingLeft}px` : `${buttonPadding}px ${buttonPadding}px ${buttonPadding}px ${buttonPadding}px`;\n  const router = useRouter();\n  const onSuccess = () => {\n    /* Reset */setLoading(false);\n    setFocus(null);\n    if (redirectAs === \"link\" && link && !isError) {\n      const [path, hash] = link.split(\"#\");\n      const {\n        routeId,\n        pathVariables\n      } = inferInitialRouteFromPath(router.routes, path);\n      if (routeId) {\n        router.navigate(routeId, hash, pathVariables);\n      }\n      if (isExternalURL(link)) {\n        setError(true);\n        formControls.start(\"error\");\n        return false;\n      }\n    }\n    return;\n  };\n  const handleChange = useCallback(event => {\n    setError(false);\n  }, []);\n  const handleFocus = useCallback((event, input) => {\n    setFocus(input.name);\n  }, []);\n  const handleBlur = useCallback(event => {\n    setFocus(null);\n    setError(false);\n  }, []);\n  const handleSubmit = useCallback(event => {\n    event.preventDefault(); // Prevent submitting while submitting\n    if (isLoading) return;\n    setLoading(true);\n    setError(false);\n    const headers = new Headers();\n    if (extraHeaders) {\n      for (const [key, value] of Object.entries(extraHeaders)) {\n        headers.append(key, value);\n      }\n    }\n    const formData = new FormData(event.target);\n    let requestOptions = {\n      method: method,\n      headers: headers\n    };\n    if (method === \"get\") {\n      // Add form fields to URL for GET requests\n      const urlSearchParams = new URLSearchParams();\n      for (const [name, value1] of formData) {\n        urlSearchParams.append(name, value1.toString());\n      }\n      const queryString = urlSearchParams.toString();\n      url += queryString ? `?${queryString}` : \"\";\n    } else {\n      headers.append(\"Content-Type\", contentType);\n      if (contentType === \"application/json\") {\n        headers.append(\"accept\", \"application/json\");\n      }\n      if (contentType === \"application/x-www-form-urlencoded\") {\n        const urlSearchParams1 = new URLSearchParams();\n        for (const [name1, value2] of formData) {\n          urlSearchParams1.append(name1, value2.toString());\n        }\n        if (extraFields) {\n          for (const [key1, value3] of Object.entries(extraFields)) {\n            urlSearchParams1.append(key1, value3.toString());\n          }\n        }\n        requestOptions[\"body\"] = urlSearchParams1.toString();\n      } else if (contentType === \"application/json\") {\n        const bodyObject = {};\n        for (const [name2, value4] of formData) {\n          bodyObject[name2] = value4;\n        }\n        if (extraFields) {\n          for (const [key2, value5] of Object.entries(extraFields)) {\n            bodyObject[key2] = value5;\n          }\n        }\n        requestOptions[\"body\"] = JSON.stringify(bodyObject);\n      }\n    }\n    fetch(url, requestOptions).then(response => {\n      const statusCode = response.status;\n      const contentType = response.headers.get(\"content-type\");\n      if (contentType && contentType.includes(\"application/json\")) {\n        return response.json().then(data => ({\n          statusCode,\n          data\n        }));\n      } else if (contentType && contentType.includes(\"text/plain\")) {\n        return response.text().then(data => ({\n          statusCode,\n          data\n        }));\n      } else {\n        throw new Error(\"Unsupported response type\");\n      }\n    }).then(({\n      statusCode,\n      data\n    }) => {\n      if (statusCode >= 200 && statusCode < 300) {\n        // Reset state\n        setLoading(false);\n        event.target.reset(); // Handle success\n        onSuccess();\n        if (redirectAs === \"overlay\") onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit();\n      } else {\n        // Handle errors\n        let errorMessage = \"An error occurred submitting the form\";\n        throw new Error(errorMessage);\n      }\n    }).catch(error => {\n      console.error(error);\n      setError(true);\n      setLoading(false);\n      formControls.start(\"error\");\n    });\n  }, [onSubmit, isLoading]); // Animation\n  const formControls = useAnimationControls(); // Label Box Shadow Styles\n  const labelShadowStyles = styles.label.shadowObject ? `${labelShadowObject.shadowX}px ${labelShadowObject.shadowY}px ${labelShadowObject.shadowBlur}px ${labelShadowObject.shadowColor}` : null;\n  const labelBorderStyles = styles.label.borderObject ? `inset 0 0 0 ${labelBorderObject.borderWidth}px ${labelBorderObject.borderColor}` : null; // Input Box Shadow Styles\n  const inputFocusStylesFrom = styles.input.focusObject ? `inset 0 0 0 ${inputFocusObject.focusWidthFrom}px ${inputFocusObject.focusColor}` : null;\n  const inputFocusStylesTo = styles.input.focusObject ? `inset 0 0 0 ${inputFocusObject.focusWidthTo}px ${inputFocusObject.focusColor}` : null;\n  const inputShadowStyles = styles.input.shadowObject ? `${inputShadowObject.shadowX}px ${inputShadowObject.shadowY}px ${inputShadowObject.shadowBlur}px ${inputShadowObject.shadowColor}` : null;\n  const inputBorderStyles = styles.input.borderObject ? `inset 0 0 0 ${inputBorderObject.borderWidth}px ${inputBorderObject.borderColor}` : null; // Button Box Shadow Styles\n  const buttonShadowStyles = styles.button.shadowObject ? `${buttonShadowObject.shadowX}px ${buttonShadowObject.shadowY}px ${buttonShadowObject.shadowBlur}px ${buttonShadowObject.shadowColor}` : null;\n  const buttonBorderStyles = styles.button.borderObject ? `inset 0 0 0 ${buttonBorderObject.borderWidth}px ${buttonBorderObject.borderColor}` : null; // Shake or wiggle as error\n  const formVariants = {\n    default: {\n      x: 0\n    },\n    error: {\n      x: [0, -4, 4, 0],\n      transition: {\n        duration: .2\n      }\n    }\n  };\n  const inputVariants = {\n    default: {\n      boxShadow: dynamicBoxShadow(inputFocusStylesFrom, inputShadowStyles, inputBorderStyles)\n    },\n    focused: {\n      boxShadow: dynamicBoxShadow(inputFocusStylesTo, inputShadowStyles, inputBorderStyles)\n    }\n  };\n  const label = input => {\n    if (!input.label) {\n      return null;\n    }\n    return /*#__PURE__*/_jsxs(\"label\", {\n      htmlFor: input.name,\n      style: {\n        marginBottom: \"0.375rem\",\n        alignSelf: \"flex-start\",\n        padding: labelPaddingValue,\n        borderRadius: labelBorderRadius,\n        fontSize: 16,\n        ...styles.label.font,\n        background: styles.label.fill,\n        color: styles.label.color,\n        boxShadow: dynamicBoxShadow(labelShadowStyles, labelBorderStyles)\n      },\n      children: [input.label, requiredFlag(input.required)]\n    });\n  };\n  const getInputSpan = input => {\n    return input.gridColumn > styles.form.columns ? styles.form.columns : input.gridColumn;\n  };\n  const getButtonSpan = () => {\n    const totalSpan = inputs.reduce((sum, input) => sum + Number(input.gridColumn), 0);\n    const shouldBeInline = totalSpan === styles.form.columns - 1;\n    return shouldBeInline ? 1 : styles.form.columns;\n  };\n  const baseInput = input => {\n    return /*#__PURE__*/_jsxs(\"div\", {\n      style: {\n        display: \"flex\",\n        flexDirection: \"column\",\n        gridColumn: `span ${getInputSpan(input)}`\n      },\n      children: [label(input), /*#__PURE__*/_jsx(motion.input, {\n        name: input.name,\n        type: input.type,\n        defaultValue: input.value,\n        placeholder: input.placeholder,\n        className: `${VERSION} framer-custom-input`,\n        onChange: handleChange,\n        onFocus: event => handleFocus(event, input),\n        onBlur: handleBlur,\n        autoComplete: \"off\",\n        autoCapitalize: \"off\",\n        autoCorrect: \"off\",\n        spellCheck: \"false\",\n        required: input.required,\n        style: {\n          ...defaultStyle,\n          padding: inputPaddingValue,\n          borderRadius: inputBorderRadius,\n          fontSize: 16,\n          ...styles.input.font,\n          background: styles.input.fill,\n          color: styles.input.color,\n          boxShadow: dynamicBoxShadow(inputFocusStylesFrom, inputShadowStyles, inputBorderStyles)\n        },\n        variants: inputVariants,\n        initial: false,\n        animate: getFocus === input.name ? \"focused\" : \"default\",\n        transition: {\n          duration: .3\n        },\n        min: input.min,\n        max: input.max,\n        step: input.step\n      })]\n    });\n  };\n  const textareaInput = input => {\n    return /*#__PURE__*/_jsxs(\"div\", {\n      style: {\n        display: \"flex\",\n        flexDirection: \"column\",\n        gridColumn: `span ${getInputSpan(input)}`\n      },\n      children: [label(input), /*#__PURE__*/_jsx(motion.textarea, {\n        name: input.name,\n        defaultValue: input.value,\n        placeholder: input.placeholder,\n        className: `${VERSION} framer-custom-input`,\n        onChange: handleChange,\n        onFocus: event => handleFocus(event, input),\n        onBlur: handleBlur,\n        autoComplete: \"off\",\n        autoCapitalize: \"off\",\n        autoCorrect: \"off\",\n        spellCheck: \"false\",\n        required: input.required,\n        style: {\n          ...defaultStyle,\n          padding: inputPaddingValue,\n          borderRadius: inputBorderRadius,\n          fontSize: 16,\n          ...styles.input.font,\n          background: styles.input.fill,\n          color: styles.input.color,\n          boxShadow: dynamicBoxShadow(inputFocusStylesFrom, inputShadowStyles, inputBorderStyles)\n        },\n        variants: inputVariants,\n        initial: false,\n        animate: getFocus === input.name ? \"focused\" : \"default\",\n        transition: {\n          duration: .3\n        }\n      })]\n    });\n  };\n  const optionsHMTL = options => {\n    return options.map(option => {\n      return /*#__PURE__*/_jsx(\"option\", {\n        value: option.value,\n        children: option.text\n      });\n    });\n  };\n  const selectInput = input => {\n    let options = [];\n    if (input.placeholder) {\n      options.push({\n        text: input.placeholder,\n        value: \"\"\n      });\n    }\n    options = options.concat(input.options);\n    return /*#__PURE__*/_jsxs(\"div\", {\n      style: {\n        display: \"flex\",\n        flexDirection: \"column\",\n        gridColumn: `span ${getInputSpan(input)}`\n      },\n      children: [label(input), /*#__PURE__*/_jsxs(\"div\", {\n        style: {\n          position: \"relative\",\n          display: \"inline-block\"\n        },\n        children: [/*#__PURE__*/_jsx(\"div\", {\n          style: {\n            ...selectChevron,\n            borderColor: `${styles.input.color} transparent transparent transparent`\n          }\n        }), /*#__PURE__*/_jsx(motion.select, {\n          name: input.name,\n          placeholder: input.placeholder,\n          className: `${VERSION} framer-custom-input`,\n          onChange: handleChange,\n          onFocus: event => handleFocus(event, input),\n          onBlur: handleBlur,\n          autoComplete: \"off\",\n          autoCapitalize: \"off\",\n          autoCorrect: \"off\",\n          spellCheck: \"false\",\n          required: input.required,\n          style: {\n            ...defaultStyle,\n            padding: inputPaddingValue,\n            borderRadius: inputBorderRadius,\n            fontSize: 16,\n            ...styles.input.font,\n            background: styles.input.fill,\n            color: styles.input.color,\n            boxShadow: dynamicBoxShadow(inputFocusStylesFrom, inputShadowStyles, inputBorderStyles)\n          },\n          variants: inputVariants,\n          initial: false,\n          animate: getFocus === input.name ? \"focused\" : \"default\",\n          transition: {\n            duration: .3\n          },\n          disabled: isLoading,\n          children: optionsHMTL(options)\n        })]\n      })]\n    });\n  };\n  function checkboxInput(input) {\n    return /*#__PURE__*/_jsx(\"div\", {\n      style: {\n        gridColumn: `span ${getInputSpan(input)}`\n      },\n      children: /*#__PURE__*/_jsxs(\"label\", {\n        style: {\n          display: \"flex\",\n          alignItems: \"center\",\n          fontSize: 16,\n          ...styles.label.font,\n          background: styles.label.fill,\n          color: styles.label.color\n        },\n        children: [/*#__PURE__*/_jsx(motion.input, {\n          name: input.name,\n          type: \"checkbox\",\n          value: input.value || \"on\",\n          required: input.required,\n          style: {\n            margin: \"0px 8px 0px 4px\"\n          }\n        }), input.label]\n      })\n    });\n  }\n  function radioInput(input) {\n    return /*#__PURE__*/_jsx(\"div\", {\n      style: {\n        gridColumn: `span ${getInputSpan(input)}`\n      },\n      children: /*#__PURE__*/_jsxs(\"label\", {\n        style: {\n          display: \"flex\",\n          alignItems: \"center\",\n          fontSize: 16,\n          ...styles.label.font,\n          background: styles.label.fill,\n          color: styles.label.color\n        },\n        children: [/*#__PURE__*/_jsx(motion.input, {\n          name: input.name,\n          type: \"radio\",\n          value: input.value || \"on\",\n          required: input.required,\n          style: {\n            margin: \"0px 8px 0px 4px\"\n          }\n        }), input.label]\n      })\n    });\n  }\n  const inputsHTML = inputs.map(input => {\n    let inputElement = null;\n    if (input.type === FieldType.Select) {\n      inputElement = selectInput(input);\n    } else if (input.type === FieldType.TextArea) {\n      inputElement = textareaInput(input);\n    } else if (input.type === FieldType.Checkbox) {\n      inputElement = checkboxInput(input);\n    } else if (input.type === FieldType.Radio) {\n      inputElement = radioInput(input);\n    } else {\n      inputElement = baseInput(input);\n    }\n    return inputElement;\n  });\n  return /*#__PURE__*/_jsx(motion.div, {\n    style: {\n      ...style,\n      ...containerStyles,\n      \"--framer-custom-placeholder-color\": styles.input.placeholderColor\n    },\n    variants: formVariants,\n    animate: formControls,\n    children: /*#__PURE__*/_jsxs(\"form\", {\n      style: {\n        width: \"100%\",\n        display: \"grid\",\n        gridTemplateColumns: styles.form.columns > 1 && getButtonSpan() === 1 ? \"1fr auto\" : `repeat(${styles.form.columns}, 1fr)`,\n        gap: `${styles.form.rowGap}px ${styles.form.columnGap}px`,\n        background: styles.form.fill\n      },\n      onSubmit: handleSubmit,\n      method: \"POST\",\n      children: [inputsHTML, /*#__PURE__*/_jsxs(\"div\", {\n        style: {\n          display: \"flex\",\n          gridColumn: `span ${getButtonSpan()}`\n        },\n        children: [!button.shouldAppear && isLoading && /*#__PURE__*/_jsx(Spinner, {\n          shouldAppear: button.shouldAppear,\n          paddingPerSide: buttonPaddingPerSide,\n          paddingTop: buttonPaddingTop,\n          paddingRight: buttonPaddingRight,\n          padding: buttonPadding,\n          color: styles.input.color\n        }), button.shouldAppear && /*#__PURE__*/_jsx(\"div\", {\n          style: {\n            width: \"100%\",\n            display: \"flex\",\n            flexDirection: \"column\"\n          },\n          children: /*#__PURE__*/_jsxs(\"div\", {\n            style: {\n              height: \"100%\",\n              display: \"flex\",\n              position: \"relative\",\n              alignSelf: styles.button.align\n            },\n            children: [/*#__PURE__*/_jsx(motion.input, {\n              type: \"submit\",\n              value: button.label,\n              style: {\n                ...defaultStyle,\n                width: \"100%\",\n                height: \"100%\",\n                cursor: \"pointer\",\n                padding: buttonPaddingValue,\n                borderRadius: buttonBorderRadius,\n                fontWeight: styles.button.fontWeight,\n                fontSize: 16,\n                ...styles.button.font,\n                background: styles.button.fill,\n                color: styles.button.color,\n                zIndex: 1,\n                boxShadow: dynamicBoxShadow(buttonShadowStyles, buttonBorderStyles)\n              }\n            }), isLoading && /*#__PURE__*/_jsx(\"div\", {\n              style: {\n                borderRadius: buttonBorderRadius,\n                position: \"absolute\",\n                display: \"flex\",\n                justifyContent: \"center\",\n                alignItems: \"center\",\n                width: \"100%\",\n                height: \"100%\",\n                inset: 0,\n                zIndex: 2,\n                color: styles.button.color,\n                background: styles.button.fill,\n                boxShadow: dynamicBoxShadow(buttonShadowStyles, buttonBorderStyles)\n              },\n              children: /*#__PURE__*/_jsx(Spinner, {\n                color: styles.button.color\n              })\n            })]\n          })\n        })]\n      })]\n    })\n  });\n}, [`.${VERSION}.framer-custom-input::placeholder { color: var(--framer-custom-placeholder-color) !important; }`]);\nconst Spinner = props => {\n  const noButtonStyles = !props.shouldAppear ? {\n    position: \"absolute\",\n    top: `calc(50% - 8px)`,\n    right: props.inputPaddingPerSide ? props.inputPaddingRight : props.inputPadding\n  } : {};\n  return /*#__PURE__*/_jsx(motion.div, {\n    style: {\n      height: 16,\n      width: 16,\n      ...noButtonStyles\n    },\n    initial: {\n      rotate: 0\n    },\n    animate: {\n      rotate: 360\n    },\n    transition: {\n      duration: 1,\n      repeat: Infinity\n    },\n    children: /*#__PURE__*/_jsx(motion.div, {\n      initial: {\n        scale: 0\n      },\n      animate: {\n        scale: 1\n      },\n      children: /*#__PURE__*/_jsxs(\"svg\", {\n        xmlns: \"http://www.w3.org/2000/svg\",\n        width: \"16\",\n        height: \"16\",\n        style: {\n          fill: \"currentColor\",\n          color: props.color\n        },\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};\nconst basePropertyControls = {\n  url: {\n    title: \"Url\",\n    type: ControlType.String\n  },\n  method: {\n    type: ControlType.Enum,\n    defaultValue: \"post\",\n    options: [\"get\", \"post\", \"put\", \"patch\", \"delete\"],\n    optionTitles: [\"Get\", \"Post\", \"Put\", \"Patch\", \"Delete\"]\n  },\n  contentType: {\n    type: ControlType.Enum,\n    defaultValue: \"application/json\",\n    options: [\"application/json\", \"application/x-www-form-urlencoded\"],\n    optionTitles: [\"json\", \"x-www-form-urlencoded\"],\n    hidden: props => props.method === \"get\"\n  },\n  inputs: {\n    title: \"Inputs\",\n    type: ControlType.Array,\n    control: {\n      type: ControlType.Object,\n      controls: {\n        label: {\n          title: \"Label\",\n          type: ControlType.String\n        },\n        name: {\n          title: \"Name\",\n          type: ControlType.String\n        },\n        placeholder: {\n          title: \"Placeholder\",\n          type: ControlType.String,\n          hidden: props => props.type === \"checkbox\"\n        },\n        type: {\n          type: ControlType.Enum,\n          options: Object.values(FieldType),\n          optionTitles: Object.keys(FieldType)\n        },\n        options: {\n          type: ControlType.Array,\n          title: \"Options\",\n          control: {\n            type: ControlType.Object,\n            title: \"Option\",\n            controls: {\n              text: {\n                type: ControlType.String,\n                title: \"Text\"\n              },\n              value: {\n                type: ControlType.String,\n                title: \"Value\"\n              }\n            }\n          },\n          hidden: props => props.type !== \"select\"\n        },\n        min: {\n          type: ControlType.String,\n          hidden: props => !hasMinMaxStep(props.type)\n        },\n        max: {\n          type: ControlType.String,\n          hidden: props => !hasMinMaxStep(props.type)\n        },\n        step: {\n          type: ControlType.Number,\n          hidden: props => !hasMinMaxStep(props.type)\n        },\n        value: {\n          type: ControlType.String\n        },\n        required: {\n          type: ControlType.Boolean\n        },\n        gridColumn: {\n          title: \"Grid Col\",\n          type: ControlType.Enum,\n          defaultValue: 1,\n          displaySegmentedControl: true,\n          segmentedControlDirection: \"horizontal\",\n          options: [\"1\", \"2\", \"3\"],\n          optionTitles: [\"1\", \"2\", \"3\"]\n        }\n      }\n    }\n  },\n  button: {\n    title: \"Button\",\n    type: ControlType.Object,\n    controls: {\n      shouldAppear: {\n        title: \"Show\",\n        type: ControlType.Boolean,\n        defaultValue: true\n      },\n      label: {\n        title: \"Label\",\n        type: ControlType.String,\n        defaultValue: \"Submit\"\n      }\n    }\n  },\n  redirectAs: {\n    title: \"Success\",\n    type: ControlType.Enum,\n    options: [\"link\", \"overlay\"],\n    optionTitles: [\"Open Link\", \"Show Overlay\"],\n    defaultValue: \"link\"\n  },\n  link: {\n    title: \"Redirect\",\n    type: ControlType.Link,\n    hidden: props => props.redirectAs === \"overlay\"\n  },\n  onSubmit: {\n    title: \"Submit\",\n    type: ControlType.EventHandler,\n    hidden: props => props.redirectAs === \"link\"\n  },\n  styles: {\n    type: ControlType.Object,\n    controls: {\n      form: {\n        type: ControlType.Object,\n        controls: {\n          fill: {\n            title: \"Fill\",\n            type: ControlType.Color,\n            defaultValue: \"#fff\"\n          },\n          columns: {\n            title: \"Columns\",\n            type: ControlType.Enum,\n            options: [\"1\", \"2\", \"3\"],\n            displaySegmentedControl: true\n          },\n          rowGap: {\n            title: \"Row gap\",\n            type: ControlType.Number,\n            displayStepper: true,\n            min: 0,\n            defaultValue: 8\n          },\n          columnGap: {\n            title: \"Col Gap\",\n            type: ControlType.Number,\n            displayStepper: true,\n            min: 0,\n            defaultValue: 8\n          }\n        }\n      },\n      label: {\n        type: ControlType.Object,\n        controls: {\n          font: {\n            type: ControlType.Font,\n            title: \"Font\",\n            controls: \"extended\"\n          },\n          fill: {\n            title: \"Fill\",\n            type: ControlType.Color,\n            defaultValue: \"transparent\"\n          },\n          color: {\n            title: \"Text\",\n            type: ControlType.Color,\n            defaultValue: \"#000\"\n          },\n          padding: {\n            title: \"Padding\",\n            type: ControlType.FusedNumber,\n            toggleKey: \"paddingPerSide\",\n            toggleTitles: [\"Padding\", \"Padding per side\"],\n            defaultValue: 0,\n            valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n            valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n            min: 0\n          },\n          borderRadius: {\n            title: \"Radius\",\n            type: ControlType.Number,\n            displayStepper: true,\n            min: 0,\n            defaultValue: 8\n          },\n          borderObject: {\n            type: ControlType.Object,\n            title: \"Border\",\n            optional: true,\n            controls: {\n              borderWidth: {\n                title: \"Width\",\n                type: ControlType.Number,\n                displayStepper: true,\n                defaultValue: 1\n              },\n              borderColor: {\n                title: \"Color\",\n                type: ControlType.Color,\n                defaultValue: \"rgba(200,200,200,0.5)\"\n              }\n            }\n          },\n          shadowObject: {\n            type: ControlType.Object,\n            title: \"Shadow\",\n            optional: true,\n            controls: {\n              shadowColor: {\n                title: \"Color\",\n                type: ControlType.Color,\n                defaultValue: \"rgba(0,0,0,0.25)\"\n              },\n              shadowX: {\n                title: \"Shadow X\",\n                type: ControlType.Number,\n                min: -100,\n                max: 100,\n                defaultValue: 0\n              },\n              shadowY: {\n                title: \"Shadow Y\",\n                type: ControlType.Number,\n                min: -100,\n                max: 100,\n                defaultValue: 2\n              },\n              shadowBlur: {\n                title: \"Shadow B\",\n                type: ControlType.Number,\n                min: 0,\n                max: 100,\n                defaultValue: 4\n              }\n            }\n          }\n        }\n      },\n      input: {\n        type: ControlType.Object,\n        controls: {\n          font: {\n            type: ControlType.Font,\n            title: \"Font\",\n            controls: \"extended\"\n          },\n          placeholderColor: {\n            title: \"Placeholder\",\n            type: ControlType.Color,\n            defaultValue: \"rgba(0, 0, 0, 0.3)\"\n          },\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          padding: {\n            title: \"Padding\",\n            type: ControlType.FusedNumber,\n            toggleKey: \"paddingPerSide\",\n            toggleTitles: [\"Padding\", \"Padding per side\"],\n            defaultValue: 12,\n            valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n            valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n            min: 0\n          },\n          borderRadius: {\n            title: \"Radius\",\n            type: ControlType.Number,\n            displayStepper: true,\n            min: 0,\n            defaultValue: 8\n          },\n          focusObject: {\n            type: ControlType.Object,\n            title: \"Focus\",\n            optional: true,\n            controls: {\n              focusWidthFrom: {\n                title: \"From\",\n                type: ControlType.Number,\n                displayStepper: true,\n                defaultValue: 0\n              },\n              focusWidthTo: {\n                title: \"To\",\n                type: ControlType.Number,\n                displayStepper: true,\n                defaultValue: 2\n              },\n              focusColor: {\n                title: \"Color\",\n                type: ControlType.Color,\n                defaultValue: \"#09F\"\n              }\n            }\n          },\n          borderObject: {\n            type: ControlType.Object,\n            title: \"Border\",\n            optional: true,\n            controls: {\n              borderWidth: {\n                title: \"Width\",\n                type: ControlType.Number,\n                displayStepper: true,\n                defaultValue: 1\n              },\n              borderColor: {\n                title: \"Color\",\n                type: ControlType.Color,\n                defaultValue: \"rgba(200,200,200,0.5)\"\n              }\n            }\n          },\n          shadowObject: {\n            type: ControlType.Object,\n            title: \"Shadow\",\n            optional: true,\n            controls: {\n              shadowColor: {\n                title: \"Color\",\n                type: ControlType.Color,\n                defaultValue: \"rgba(0,0,0,0.25)\"\n              },\n              shadowX: {\n                title: \"Shadow X\",\n                type: ControlType.Number,\n                min: -100,\n                max: 100,\n                defaultValue: 0\n              },\n              shadowY: {\n                title: \"Shadow Y\",\n                type: ControlType.Number,\n                min: -100,\n                max: 100,\n                defaultValue: 2\n              },\n              shadowBlur: {\n                title: \"Shadow B\",\n                type: ControlType.Number,\n                min: 0,\n                max: 100,\n                defaultValue: 4\n              }\n            }\n          }\n        }\n      },\n      button: {\n        type: ControlType.Object,\n        controls: {\n          font: {\n            type: ControlType.Font,\n            title: \"Font\",\n            controls: \"extended\"\n          },\n          fill: {\n            title: \"Fill\",\n            type: ControlType.Color,\n            defaultValue: \"#333\"\n          },\n          color: {\n            title: \"Text\",\n            type: ControlType.Color,\n            defaultValue: \"#FFF\"\n          },\n          align: {\n            title: \"Align\",\n            type: ControlType.Enum,\n            segmentedControlDirection: \"vertical\",\n            options: [\"flex-start\", \"center\", \"flex-end\", \"stretch\"],\n            optionTitles: [\"Start\", \"Center\", \"End\", \"Stretch\"],\n            defaultValue: \"stretch\"\n          },\n          padding: {\n            title: \"Padding\",\n            type: ControlType.FusedNumber,\n            toggleKey: \"paddingPerSide\",\n            toggleTitles: [\"Padding\", \"Padding per side\"],\n            defaultValue: 15,\n            valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n            valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n            min: 0\n          },\n          borderRadius: {\n            title: \"Radius\",\n            type: ControlType.Number,\n            displayStepper: true,\n            min: 0,\n            defaultValue: 8\n          },\n          borderObject: {\n            type: ControlType.Object,\n            title: \"Border\",\n            optional: true,\n            controls: {\n              borderWidth: {\n                title: \"Width\",\n                type: ControlType.Number,\n                displayStepper: true,\n                defaultValue: 1\n              },\n              borderColor: {\n                title: \"Color\",\n                type: ControlType.Color,\n                defaultValue: \"rgba(200,200,200,0.5)\"\n              }\n            }\n          },\n          shadowObject: {\n            type: ControlType.Object,\n            title: \"Shadow\",\n            optional: true,\n            controls: {\n              shadowColor: {\n                title: \"Color\",\n                type: ControlType.Color,\n                defaultValue: \"rgba(0,0,0,0.25)\"\n              },\n              shadowX: {\n                title: \"Shadow X\",\n                type: ControlType.Number,\n                min: -100,\n                max: 100,\n                defaultValue: 0\n              },\n              shadowY: {\n                title: \"Shadow Y\",\n                type: ControlType.Number,\n                min: -100,\n                max: 100,\n                defaultValue: 2\n              },\n              shadowBlur: {\n                title: \"Shadow B\",\n                type: ControlType.Number,\n                min: 0,\n                max: 100,\n                defaultValue: 4\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n};\naddPropertyControls(BaseForm, basePropertyControls);\nconst defaultStyle = {\n  WebkitAppearance: \"none\",\n  width: \"100%\",\n  height: \"auto\",\n  outline: \"none\",\n  border: \"none\"\n};\nconst containerStyles = {\n  position: \"relative\",\n  width: \"100%\",\n  height: \"100%\",\n  display: \"flex\",\n  justifyContent: \"center\",\n  alignItems: \"center\"\n};\nconst selectChevron = {\n  position: \"absolute\",\n  top: \"50%\",\n  right: \"12px\",\n  transform: \"translateY(-50%)\",\n  width: \"0\",\n  height: \"0\",\n  borderStyle: \"solid\",\n  borderWidth: \"5px 5px 0 5px\",\n  pointerEvents: \"none\"\n};\nfunction dynamicBoxShadow(...shadows) {\n  const output = [];\n  shadows.forEach(shadow => shadow && output.push(shadow));\n  return output.join(\", \");\n}\nfunction requiredFlag(isRequired) {\n  if (isRequired) {\n    return /*#__PURE__*/_jsx(\"span\", {\n      children: \"*\"\n    });\n  }\n  return null;\n}\nBaseForm.defaultProps = {\n  url: \"\",\n  styles: {\n    form: {\n      columns: 1,\n      rowGap: 8,\n      columnGap: 8\n    },\n    label: {\n      color: \"#000\"\n    },\n    input: {\n      borderObject: {\n        borderColor: \"#ccc\"\n      }\n    },\n    button: {}\n  },\n  inputs: [{\n    name: \"name\",\n    label: \"Name\",\n    placeholder: \"Jane\",\n    type: FieldType.Text,\n    required: false\n  }, {\n    name: \"email\",\n    label: \"Email\",\n    placeholder: \"jane@example.com\",\n    type: FieldType.Email,\n    required: false\n  }, {\n    name: \"service\",\n    label: \"Service\",\n    placeholder: \"- select -\",\n    type: FieldType.Select,\n    required: false,\n    options: []\n  }, {\n    name: \"message\",\n    label: \"Message\",\n    placeholder: \"\",\n    type: FieldType.TextArea,\n    required: false\n  }, {\n    name: \"terms\",\n    label: \"I accept the terms & conditions\",\n    type: FieldType.Checkbox,\n    required: false\n  }]\n};\nexport default BaseForm;\nexport { basePropertyControls };\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"BaseForm\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerIntrinsicHeight\": \"40\",\n        \"framerIntrinsicWidth\": \"300\",\n        \"framerContractVersion\": \"1\",\n        \"framerDisableUnlink\": \"*\",\n        \"framerSupportedLayoutHeight\": \"any\",\n        \"framerSupportedLayoutWidth\": \"fixed\"\n      }\n    },\n    \"basePropertyControls\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./BaseForm.map"],
  "mappings": "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",
  "names": ["FieldType", "isExternalURL", "url", "hasMinMaxStep", "type", "VERSION", "BaseForm", "withCSS", "method", "contentType", "redirectAs", "link", "inputs", "button", "styles", "extraHeaders", "extraFields", "style", "onSubmit", "isError", "setError", "ye", "isLoading", "setLoading", "getFocus", "setFocus", "labelPaddingPerSide", "labelPaddingTop", "labelPaddingRight", "labelPaddingBottom", "labelPaddingLeft", "labelPadding", "labelBorderRadius", "labelBorderObject", "labelShadowObject", "inputPaddingPerSide", "inputPaddingTop", "inputPaddingRight", "inputPaddingBottom", "inputPaddingLeft", "inputPadding", "inputBorderRadius", "inputBorderObject", "inputFocusObject", "inputShadowObject", "buttonPaddingPerSide", "buttonPaddingTop", "buttonPaddingRight", "buttonPaddingBottom", "buttonPaddingLeft", "buttonPadding", "buttonBorderRadius", "buttonBorderObject", "buttonShadowObject", "labelPaddingValue", "inputPaddingValue", "buttonPaddingValue", "router", "useRouter", "onSuccess", "path", "hash", "routeId", "pathVariables", "inferInitialRouteFromPath", "formControls", "handleChange", "te", "event", "handleFocus", "input", "handleBlur", "handleSubmit", "headers", "key", "value", "formData", "requestOptions", "urlSearchParams", "name", "value1", "queryString", "urlSearchParams1", "name1", "value2", "key1", "value3", "bodyObject", "name2", "value4", "key2", "value5", "response", "statusCode", "data", "errorMessage", "error", "useAnimationControls", "labelShadowStyles", "labelBorderStyles", "inputFocusStylesFrom", "inputFocusStylesTo", "inputShadowStyles", "inputBorderStyles", "buttonShadowStyles", "buttonBorderStyles", "formVariants", "inputVariants", "dynamicBoxShadow", "label", "u", "requiredFlag", "getInputSpan", "getButtonSpan", "sum", "baseInput", "p", "motion", "defaultStyle", "textareaInput", "optionsHMTL", "options", "option", "selectInput", "selectChevron", "checkboxInput", "radioInput", "inputsHTML", "inputElement", "containerStyles", "Spinner", "props", "noButtonStyles", "basePropertyControls", "ControlType", "addPropertyControls", "shadows", "output", "shadow", "isRequired", "BaseForm_default"]
}
