# TinyMCE Wrapper Library

Uma biblioteca wrapper para facilitar a integração do TinyMCE em seus projetos.

## 📦 Instalação

### Via NPM
```bash
npm install @seu-usuario/tinymce-wrapper
```

### Via Yarn
```bash
yarn add @seu-usuario/tinymce-wrapper
```

### Via PNPM
```bash
pnpm add @seu-usuario/tinymce-wrapper
```

## 🌐 Uso via CDN

Você pode usar esta biblioteca diretamente via CDN sem precisar instalar:

### Unpkg
```html
<script src="https://unpkg.com/@weriqui/tinymce-wrapper@latest/dist/tinymce.min.js"></script>
```

### jsDelivr
```html
<script src="https://cdn.jsdelivr.net/npm/@weriqui/tinymce-wrapper@latest/dist/tinymce.min.js"></script>
```

### Exemplo completo com CDN
```html
<!DOCTYPE html>
<html>
<head>
    <title>TinyMCE via CDN</title>
</head>
<body>
    <textarea id="editor"></textarea>
    
    <script src="https://cdn.jsdelivr.net/npm/@weriqui/tinymce-wrapper@latest/dist/tinymce.min.js"></script>
    <script>
        // Configure o TinyMCE - Nenhuma licença necessária!
        tinymce.init({
            selector: '#editor',
            base_url: 'https://cdn.jsdelivr.net/npm/@weriqui/tinymce-wrapper@latest/dist',
            suffix: '.min',
            plugins: 'code autoresize link lists',
            toolbar: 'undo redo | bold italic | alignleft aligncenter alignright | code',
            height: 500
            // license_key não é necessário - já está pré-configurado!
        });
    </script>
</body>
</html>
```

**Importante:** Esta biblioteca já vem com a licença GPL pré-configurada. Você **não precisa** adicionar `license_key` na configuração.

## 🚀 Uso

### Import ES6
```javascript
import { initTinyMCE, getEditor, removeEditor } from '@weriqui/tinymce-wrapper';

// Inicializar com configuração padrão
initTinyMCE({
  selector: '#mytextarea',
  height: 500
});

// Obter instância do editor
const editor = getEditor('mytextarea');

// Remover editor
removeEditor('mytextarea');
```

### CommonJS (require)
```javascript
const TinyMCE = require('@weriqui/tinymce-wrapper');

TinyMCE.initTinyMCE({
  selector: '#mytextarea',
  height: 500
});
```

### Uso direto do TinyMCE
```javascript
import { tinymce } from '@weriqui/tinymce-wrapper';

tinymce.init({
  selector: '#mytextarea',
  plugins: ['advlist', 'autolink', 'lists', 'link'],
  toolbar: 'undo redo | bold italic'
});
```

## 📚 API

### `initTinyMCE(config)`
Inicializa o TinyMCE com configuração personalizada.

**Parâmetros:**
- `config` (Object): Objeto de configuração do TinyMCE

**Retorna:** Promise que resolve quando o editor é inicializado

### `getEditor(id)`
Obtém uma instância do editor pelo ID.

**Parâmetros:**
- `id` (String): ID do editor

**Retorna:** Instância do editor TinyMCE

### `removeEditor(id)`
Remove uma instância do editor.

**Parâmetros:**
- `id` (String): ID do editor a ser removido

## 📄 Licença

MIT

## 🔗 Links Úteis

- [Documentação do TinyMCE](https://www.tiny.cloud/docs/)
- [GitHub Repository](https://github.com/Weriqui/weriqui-tinymce)
- [NPM Package](https://www.npmjs.com/package/@weriqui/tinymce-wrapper)

## 🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.
