PHPackages                             thelia/tiptap-module - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. thelia/tiptap-module

ActiveThelia-module[Templating &amp; Views](/categories/templating)

thelia/tiptap-module
====================

TipTap WYSIWYG editor module for Thelia 3 back-office Twig (modern replacement for legacy Tinymce module).

0.2.1(1mo ago)1851LGPL-3.0+JavaScriptCI passing

Since May 26Pushed 1mo agoCompare

[ Source](https://github.com/thelia-modules/Tiptap)[ Packagist](https://packagist.org/packages/thelia/tiptap-module)[ RSS](/packages/thelia-tiptap-module/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (2)Versions (4)Used By (1)

Tiptap — WYSIWYG for Thelia 3
=============================

[](#tiptap--wysiwyg-for-thelia-3)

[TipTap 3](https://tiptap.dev/) WYSIWYG editor for the Thelia 3 back-office Twig template. Replaces the legacy [Tinymce](https://github.com/thelia-modules/Tinymce) module — MIT editor core, ~436 KB bundle, no iframe, toolbar matching the legacy feature set.

Install
-------

[](#install)

```
composer require thelia/tiptap-module
php Thelia module:refresh
php Thelia module:activate Tiptap
```

The compiled bundle ships in `Resources/dist/`. `postActivation` mirrors it into `public/tiptap/` (or a symlink, depending on `Document::CONFIG_DELIVERY_MODE`).

If both Tinymce and Tiptap are active, Tiptap detects `window.tinymce` and stays inactive. Deactivate the legacy module first.

How it works
------------

[](#how-it-works)

Listens to the `wysiwyg.js` back-office hook (already emitted by ~18 BO Twig templates: `hook/edit`, `category/edit`, `product/edit`, `folder/edit`, `content/edit`, `brand/edit`, `coupon/edit`, `sale/edit`, `attribute/update`, `feature/update`, `template/update`, `tax-rule/update`, `order-status/update`, …). The hook injects:

```

{ ... }

```

The bundle then scans the DOM for matching textareas and upgrades them progressively (one per `setTimeout(0)` slot) so the page stays fluid even with several rich-text fields. Focus / mousedown / touchstart fast-tracks the targeted textarea to the front of the queue.

Default selectors
-----------------

[](#default-selectors)

```
textarea.wysiwyg
textarea[data-controller~="tiptap-editor"]
textarea[name$="[description]"]
textarea[name$="[chapo]"]
textarea[name$="[postscriptum]"]
textarea[name$="[conclusion]"]

```

Excluded: SEO meta fields (`meta_description`, `meta_keywords`) and textareas inside `.theliablocks-editor`, `.ace_editor`, `.CodeMirror`, `.monaco-editor`, `.mce-tinymce`, `[data-no-tiptap]`, the Symfony web debug toolbar.

To opt **out** a specific textarea, add `data-no-tiptap`. To opt **in** outside the defaults, add `class="wysiwyg"`.

Toolbar
-------

[](#toolbar)

Undo / Redo · Bold / Italic / Underline / Strike · Heading H1–H6 dropdown · Align (L/C/R/Justify) · Bullet &amp; ordered lists · Indent / Outdent · Link / Unlink / Image · Text color / Highlight · Horizontal rule / Blockquote / Table (3×3 + row/column ops) · Inline code · Source HTML toggle · Special character grid · Fullscreen · Print · Preview.

Bootstrap 5 markup with Bootstrap Icons — same look as the rest of the BO Twig templates.

Configuration
-------------

[](#configuration)

A configuration page is available at **Modules → TipTap → Configure** (`/admin/module/Tiptap`). It exposes a per-field matrix that toggles the editor for the **Summary** (`chapo`) and **Conclusion** (`postscriptum`) fields of each catalogue entity (product, content, folder, brand, category), a free-text list of extra CSS selectors, the editor height, and a live sample editor. The detailed description field is always editable.

Settings live in the `config` table under the `tiptap.` prefix and are seeded on activation:

KeyDefaultDescription`tiptap.toolbar_items`full toolbarComma-separated buttons. Use ``tiptap._summary` / `tiptap._conclusion``1`Per-field matrix; one key per entity × field (e.g. `tiptap.product_summary`).`tiptap.extra_selectors``.wysiwyg,textarea[data-controller~="tiptap-editor"]`Additional CSS selectors of textareas to upgrade, on top of the matrix.`tiptap.editor_height``320`Minimum editor height (px).`tiptap.show_toolbar``1`Set to `0` to hide the toolbar.`tiptap.force_pasting_as_text``0`Strip formatting on paste (Phase 2).The effective mount selector list is composed at render time by `Tiptap::buildTargetSelectors()` from the matrix plus `extra_selectors`.

Programmatic API
----------------

[](#programmatic-api)

```
window.TiptapEditor.mount(document.getElementById('my-textarea'));
window.TiptapEditor.arm(document.getElementById('my-modal'));
```

Compatibility
-------------

[](#compatibility)

- Thelia ≥ 2.6, PHP 8.2+
- BO Twig (`thelia-templates/default-twig`). The Smarty BO is reachable through the same hook but not smoke-tested in 0.1.0.

Development
-----------

[](#development)

```
cd Resources
npm install
npm run build    # production
npm run watch    # dev with sourcemaps
```

`dist/` is committed so that `composer require` ships a ready-to-use bundle. Bump `version` in `package.json` and `Config/module.xml` together.

License
-------

[](#license)

LGPL-3.0+ — see [LICENSE.txt](LICENSE.txt). TipTap and its extensions are MIT.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance94

Actively maintained with recent releases

Popularity15

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Total

3

Last Release

32d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2196919?v=4)[thelia](/maintainers/thelia)[@thelia](https://github.com/thelia)

---

Top Contributors

[![anoziere](https://avatars.githubusercontent.com/u/118798868?v=4)](https://github.com/anoziere "anoziere (12 commits)")

### Embed Badge

![Health badge](/badges/thelia-tiptap-module/health.svg)

```
[![Health](https://phpackages.com/badges/thelia-tiptap-module/health.svg)](https://phpackages.com/packages/thelia-tiptap-module)
```

###  Alternatives

[webkinder/sproutset

A Composer package for handling responsive images in Roots Bedrock + Sage + Blade projects.

282.2k](/packages/webkinder-sproutset)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
