Pular para o conteúdo principal

@astradevio/modelarium-editor

npm types

🌟 Modelarium Editor — Visão Geral

Modelarium Editor é um construtor de formulários moderno e extensível com funcionalidade arrastar e soltar, escrito em TypeScript pela AstraDEV. Oferece uma experiência intuitiva (arrastar-e-soltar e clique-para-adicionar), uma API TypeScript limpa, temas personalizáveis, e importação/exportação JSON para armazenar e reutilizar formulários.

Aviso Esta é uma versão MVP em estágio alfa destinada para avaliação. Use com cautela em produção.

Contribuições são bem-vindas: por favor, abra issues em https://github.com/astradevio/modelarium-editor-dist/issues.


Principais Funcionalidades

  • 🎯 Interface Arrastar e Soltar — Construa formulários visualmente arrastando elementos para o canvas.
  • 📋 Formulários Baseados em Schema (Importar/Exportar) — Salve, versione e reutilize formulários via JSON para integração com backend.
  • 🧩 Sistema de Plugins Extensível — Adicione elementos customizados e estenda funcionalidades sem tocar no núcleo.
  • ⚡ API TypeScript Completa — Tipagem forte, IntelliSense e autocompletar.
  • 🔌 Agnóstico de Framework — Funciona com React, Vue, Angular ou JavaScript Vanilla.
  • ⚙️ Propriedades Configuráveis — Regras de validação, campos obrigatórios, min/max, atributos customizados.
  • 🔄 Conversão Bidirecional — Importe formulários existentes, edite visualmente e exporte de volta para JSON/HTML.
  • 📚 Documentação — Docs TypeScript inline, guias de uso e exemplos (em desenvolvimento).

Instalação

Instale via npm:

npm install @astradevio/modelarium-editor

Ou com seu gerenciador preferido:

# pnpm
pnpm add @astradevio/modelarium-editor

# yarn
yarn add @astradevio/modelarium-editor

# bun
bun add @astradevio/modelarium-editor

Requisitos: Node 18+ e TypeScript 5+ (recomendado).


Início Rápido

ESM

import ModelariumEditor from '@astradevio/modelarium-editor';
import '@astradevio/modelarium-editor/style.css';

const editor = new ModelariumEditor({
// ...opções
});

Tipos TypeScript (opcional)

import type { ModelariumEditorOptions } from '@astradevio/modelarium-editor';

CommonJS

const ModelariumEditor = require('@astradevio/modelarium-editor').default;
require('@astradevio/modelarium-editor/style.css');

const editor = new ModelariumEditor({ /* ... */ });

CDN (jsDelivr / unpkg)

Use a build UMD diretamente no navegador.

jsDelivr

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@astradevio/modelarium-editor@latest/dist/style.css" />
<script src="https://cdn.jsdelivr.net/npm/@astradevio/modelarium-editor@latest/dist/modelarium-editor.umd.min.js"></script>
<script>
const editor = new window.ModelariumEditor({ /* opções */ });
</script>

unpkg

<link rel="stylesheet" href="https://unpkg.com/@astradevio/modelarium-editor@latest/dist/style.css" />
<script src="https://unpkg.com/@astradevio/modelarium-editor@latest/dist/modelarium-editor.umd.min.js"></script>
<script>
const editor = new window.ModelariumEditor({ /* opções */ });
</script>

O style.css distribuído não é minificado para facilitar a personalização.


Estilização CSS

O Modelarium Editor vem com um arquivo CSS altamente otimizado (style.css) que fornece estilização abrangente para todos os componentes do editor.

Variáveis CSS

Todas as variáveis CSS estão organizadas no início do arquivo para fácil personalização. Todos os estilos usam o prefixo modelarium- para evitar conflitos com seus estilos existentes:

/* Variáveis principais para tematização fácil */
--modelarium-primary-color: #007bff;
--modelarium-background-color: #ffffff;
--modelarium-text-color: #333333;
--modelarium-border-color: #e0e0e0;
/* ... e muitas outras */

Sistema de Temas

O CSS inclui um sistema automático de temas que se adapta às preferências do sistema do usuário:

  • Modo Claro: Ativado por padrão ou quando prefers-color-scheme: light
  • Modo Escuro: Ativado automaticamente quando prefers-color-scheme: dark

Você pode personalizar temas modificando as variáveis CSS dentro das respectivas media queries.


Exemplos

Exemplos prontos para uso estão disponíveis no diretório public/examples/:

Exemplos Disponíveis

  1. js.html - Exemplo de Uso UMD/Global

    • Demonstra carregamento do Modelarium Editor via tags <script>
    • Mostra padrão de uso de variável global
    • Perfeito para páginas web tradicionais ou integração via CDN
  2. module.html - Exemplo de Uso ES Module

    • Demonstra importações modernas de ES module
    • Mostra como usar com type="module"
    • Ideal para aplicações web modernas

API Pública

Classe ModelariumEditor

A classe principal para criar e gerenciar o editor visual.

Construtor

new ModelariumEditor( string | HTMLElement, ?options: ModelariumEditorOptions)

Principais Opções de Inicialização

export interface ModelariumEditorOptions {
debug?: boolean; // debug: true ou false
toolbox?: string; // tipo de toolbox, padrão vai para form
toolboxJSON?: string; // JSON do toolbox
modelariumJSON?: string; // JSON do modelarium
}

Uso Básico

import ModelariumEditor from '@astradevio/modelarium-editor';

const editor = new ModelariumEditor('editor-container', {
theme: 'auto',
debug: true
});

Documentação Completa

Para documentação completa da API, incluindo todos os métodos, eventos e opções avançadas de configuração, visite:

📚 docs.astradev.io/modelarium

A documentação completa inclui:

  • Referência completa de métodos
  • Documentação do sistema de eventos
  • Opções avançadas de configuração
  • Exemplos de integração
  • Melhores práticas e tutoriais

Issues


Distribuições


📄 Licença

Este pacote de distribuição está disponível sob a Licença MIT.
Licenciamento proprietário — incluindo acesso ao código-fonte e serviços profissionais — está disponível mediante solicitação.


🏢 Sobre a AstraDEV

AstraDEV (Astra Empreendedorismo Sistemas e Treinamentos Ltda.) é uma empresa de tecnologia focada em soluções de software, treinamentos e inovação para acelerar o desenvolvimento de produtos digitais.

📝 Este README também está disponível em English.