Editor

1.1.0

El Editor es un patrón de interfaz que permite a los usuarios crear o modificar contenido textual. Su objetivo es ofrecer una experiencia clara, eficiente y flexible para tareas que requieren edición o carga de gran cantidad de contenido textual o entradas de texto enriquecido.

import React from "react";
import dynamic from "next/dynamic";

const Editor = dynamic(() => import("@nimbus-ds/editor"), { ssr: false });

const Example: React.FC = () => {
  return <Editor />;
};

export default Editor = dynamic(() => import("@nimbus-ds/editor"), { ssr;

Refer to the Lexical API documentation to understand how to implement the <Editor> component.

Instalá el componente via terminal.

npm install @nimbus-ds/editor

Editor

Usar el Editor cuando necesites:

  • Crear o editar contenido estructurado (productos, descripciones, configuraciones).
  • Gestionar bloques editables.
  • Ofrecer una experiencia de edición modular (por secciones o pasos).

No se recomienda usar el Editor en los siguientes casos:

  • Flujos muy simples que requieren solo un campo (usar input).
  • Ediciones rápidas directamente desde listas o paneles (usar edición inline).
  • Enfoque automático en el campo principal: reduce el tiempo para comenzar a escribir.
  • Navegación fluida con teclado: todos los controles deben ser accesibles con Tab/Enter.
  • Feedback inmediato: validaciones en tiempo real, loading y toasts al guardar.
  • Persistencia de contexto: conservar estado de edicion o carga entre sesiones o navegación.
  • Evitar confirmaciones innecesarias: mostrar feedback inline o toast, no usar modals.
  • Soporte completo para navegación con teclado (Tab, Shift+Tab, Enter).
  • Uso de roles ARIA para bloques editables.
  • Etiquetas claras y visibles (label for, aria-label).
  • Mensajes de error accesibles para lectores de pantalla.
  • Áreas táctiles adecuadas en dispositivos mobiles (mínimo 44x44px).
  • No depender del color como único indicador de estado.

El Editor puede incluir:

  1. Tool bar con funciones,
  2. Funciones (agregar link, formato de lista, tipografia bold, etc)
  3. Campo editable (textarea)
  4. Validaciones (toast)
  5. Help text
  6. Modal
  • Textarea
  • Card
  • Toast
  • Tooltip
  • Modal
  • Icon

Do

  • Usar placeholder y ejemplos de carga de contenido concretos.
  • Proveer feedback inmediato tras guardar.
  • Mostar limites de caracteres si el caso amerita.
  • Permitir la carga y edición de links sobre el contenido cargado.

Don't

  • No esconder validaciones o errores.
  • No resetear carga de contenido sin advertencia.
  • No usar múltiples niveles de confirmación sin necesidad.

Additional props are passed to the <Editor> element. See div docs for a list of props accepted by the <Editor> element.

Editor

NameTypeDefaultDescription

modules

'bold'
'clearFormating'
'divider'
'header'
'history'
'italic'
'link'
'orderedList'
'unorderedList'
'video'

placeholder

string

value

string

parser

'html'
'json'

theme

object

onChange

object

helpIcon

React.FC<IconProps>

Icon supporting the help text message.

helpText

string

Help text displaying optional hints or validation messages under the field.

appearance

'danger'
'none'
'success'
'warning'

'none'

Appearance of the field and help text elements.

translations

object