handleChange(e.target.value)}
onBlur={handleBlur}
placeholder={question.extras.placeHolder}
disabled={disabled || isMuted}
- className={[
- "h-[54px] w-full rounded-[16px] border border-[#D0D5DD] bg-white px-4.5 text-[15px] font-medium text-[#181818] outline-none transition-all placeholder:text-[#98A2B3] hover:border-[#98A2B3] focus:border-[#6F6F6F] focus:ring-1 focus:ring-[#6F6F6F] disabled:bg-[#F5F2F1] disabled:text-[#7C7472]",
- isMuted
- ? "opacity-50 cursor-not-allowed bg-[#F5F5F5] border-[#E2E8F0]"
- : "",
- ]
- .filter(Boolean)
- .join(" ")}
+ className={cn(
+ isMuted && "opacity-50 cursor-not-allowed bg-[#F5F5F5] border-[#E2E8F0]",
+ )}
/>
{isMarjaQuestion ? (
diff --git a/src/components/Componentes/question-textarea.tsx b/src/components/Componentes/question-textarea.tsx
index 3302e36..6f3e83d 100644
--- a/src/components/Componentes/question-textarea.tsx
+++ b/src/components/Componentes/question-textarea.tsx
@@ -2,7 +2,9 @@
import { useEffect, useRef, useState } from "react";
import type { QuestionField } from "@/lib/schema-adapter";
+import { cn } from "@/lib/utils";
import { useI18n } from "@/translations/provider";
+import { Textarea } from "@/components/ui/textarea";
import { useQuestionAnswers } from "./question-answer-storage";
import QuestionTitle from "./question-title";
@@ -56,20 +58,21 @@ export function QuestionTextarea({
-
{description ? (
diff --git a/src/components/ui/index.ts b/src/components/ui/index.ts
new file mode 100644
index 0000000..01cd4ed
--- /dev/null
+++ b/src/components/ui/index.ts
@@ -0,0 +1,2 @@
+export * from "./input";
+export * from "./textarea";
diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx
new file mode 100644
index 0000000..e263305
--- /dev/null
+++ b/src/components/ui/input.tsx
@@ -0,0 +1,37 @@
+import * as React from "react";
+import { cn } from "@/lib/utils";
+
+export interface InputProps extends React.ComponentProps<"input"> {
+ hasError?: boolean;
+}
+
+const Input = React.forwardRef(
+ ({ className, type = "text", hasError, ...props }, ref) => {
+ return (
+
+ );
+ },
+);
+
+Input.displayName = "Input";
+
+export { Input };
diff --git a/src/components/ui/textarea.tsx b/src/components/ui/textarea.tsx
new file mode 100644
index 0000000..9833482
--- /dev/null
+++ b/src/components/ui/textarea.tsx
@@ -0,0 +1,36 @@
+import * as React from "react";
+import { cn } from "@/lib/utils";
+
+export interface TextareaProps extends React.ComponentProps<"textarea"> {
+ hasError?: boolean;
+}
+
+const Textarea = React.forwardRef(
+ ({ className, hasError, ...props }, ref) => {
+ return (
+
+ );
+ },
+);
+
+Textarea.displayName = "Textarea";
+
+export { Textarea };