diff --git a/.changeset/rare-birds-tickle.md b/.changeset/rare-birds-tickle.md new file mode 100644 index 0000000000..84d1c1bc5a --- /dev/null +++ b/.changeset/rare-birds-tickle.md @@ -0,0 +1,5 @@ +--- +"@formbricks/react": minor +--- + +Add Input Types: Checkbox, Email, Number, Password, Phone, Radio, Search, Url | Add validations: accepted, email, url diff --git a/packages/react/src/components/FormbricksSchema.tsx b/packages/react/src/components/FormbricksSchema.tsx index 181e5ae191..c8d5ccb921 100644 --- a/packages/react/src/components/FormbricksSchema.tsx +++ b/packages/react/src/components/FormbricksSchema.tsx @@ -1,6 +1,6 @@ import React from "react"; +import { Text, Textarea } from ".."; import { Form } from "./Form"; -import { Text, Textarea } from "./Inputs"; interface OnSubmitProps { data: any; diff --git a/packages/react/src/components/Inputs.tsx b/packages/react/src/components/Inputs.tsx deleted file mode 100644 index 760e166d09..0000000000 --- a/packages/react/src/components/Inputs.tsx +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./inputs/Button"; -export * from "./inputs/Checkbox"; -export * from "./inputs/Radio"; -export * from "./inputs/Submit"; -export * from "./inputs/Text"; -export * from "./inputs/Textarea"; diff --git a/packages/react/src/components/inputs/Button.tsx b/packages/react/src/components/inputs/Button.tsx index b46cf428bf..6537485d04 100644 --- a/packages/react/src/components/inputs/Button.tsx +++ b/packages/react/src/components/inputs/Button.tsx @@ -1,4 +1,4 @@ -import React, { useMemo } from "react"; +import { useMemo } from "react"; import { getElementId } from "../../lib/element"; import { useEffectUpdateSchema } from "../../lib/schema"; import { SVGComponent, UniversalInputProps } from "../../types"; diff --git a/packages/react/src/components/inputs/Checkbox.tsx b/packages/react/src/components/inputs/Checkbox.tsx index e93415b2f3..196e9a9e85 100644 --- a/packages/react/src/components/inputs/Checkbox.tsx +++ b/packages/react/src/components/inputs/Checkbox.tsx @@ -1,10 +1,10 @@ import clsx from "clsx"; -import React, { useMemo } from "react"; +import { useMemo } from "react"; import { useFormContext } from "react-hook-form"; import { getElementId } from "../../lib/element"; import { normalizeOptions } from "../../lib/options"; import { useEffectUpdateSchema } from "../../lib/schema"; -import { getValidationRules } from "../../lib/validation"; +import { getValidationRules, validate } from "../../lib/validation"; import { NameRequired, OptionsArray, OptionsObjectArray, UniversalInputProps } from "../../types"; import { Fieldset } from "../shared/Fieldset"; import { Help } from "../shared/Help"; @@ -48,6 +48,7 @@ export function Checkbox(props: FormbricksProps) { id={elemId} {...register(props.name, { required: { value: "required" in validationRules, message: "This field is required" }, + validate: validate(validationRules), })} />