-
{label}
- {required &&
{t("common.required")}}
+
+
+
+ {label}
+
+ {required && (
+ {t("common.required")}
+ )}
+
+ {/* Punto “unsaved” */}
+ {fieldState.isDirty && (
+
{t("common.modified")}
+ )}
)}
-
+ {/* Prefix clicable (si tiene onClick) */}
+ {hasPrefix && (
+
+ )}
+ {/* Icono decorativo */}
{hasIcon && (
- {icon} {/* El tamaño viene indicado en el icono */}
+ {icon}
)}
+
+
+
+ {/* Suffix clicable */}
+ {hasSuffix && (
+
+ )}
+
+ {/* Spinner de validación */}
+ {showValidatingSpinner && isValidating && (
+
+
+
+ )}
+
+ {/* Check de válido */}
+ {showSuccessWhenValid && valid && !isValidating && !invalid && (
+
+
+
+ )}
+
+ {/* Botón clear */}
+ {clearable && !disabled && (field.value ?? "") !== "" && (
+
+ )}
-
- {description || "\u00A0"}
-
-
+
+
+ {description || "\u00A0"}
+
+
+ {showCounter && typeof maxLength === "number" && (
+
+ {valueLength} / {maxLength}
+
+ )}
+
+
+
)}
/>
diff --git a/packages/rdx-ui/src/locales/en.json b/packages/rdx-ui/src/locales/en.json
index 71953281..369f0711 100644
--- a/packages/rdx-ui/src/locales/en.json
+++ b/packages/rdx-ui/src/locales/en.json
@@ -2,7 +2,8 @@
"common": {
"actions": "Actions",
"invalid_date": "Invalid date",
- "required": "required",
+ "required": "•",
+ "modified": "modified",
"search": "Search"
},
"components": {
diff --git a/packages/rdx-ui/src/locales/es.json b/packages/rdx-ui/src/locales/es.json
index 3e3b687b..c7a02b5d 100644
--- a/packages/rdx-ui/src/locales/es.json
+++ b/packages/rdx-ui/src/locales/es.json
@@ -2,7 +2,8 @@
"common": {
"actions": "Actions",
"invalid_date": "Fecha incorrecta o no válida",
- "required": "obligatorio",
+ "required": "•",
+ "modified": "modificado",
"search": "Buscar"
},
"components": {