@flogeez/angular-tiptap-editor 2.1.0 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -5,48 +5,69 @@ All notable changes to `@flogeez/angular-tiptap-editor` will be documented in th
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.1.2] - 2026-01-21
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Editable State Synchronization**: Fixed an issue where the `editable` state from the `[config]` input was ignored in favor of the standalone `[editable]` input. Both are now correctly merged, with `config.editable` taking precedence.
|
|
13
|
+
|
|
14
|
+
## [2.1.1] - 2026-01-20
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **Height Units**: Fixed a bug where `minHeight` would result in a double "px" unit (e.g., `200pxpx`) in the DOM.
|
|
19
|
+
- **Character Count Styling**: Improved the footer readability by adding padding to the character/word count area.
|
|
20
|
+
|
|
8
21
|
## [2.1.0] - 2026-01-20
|
|
9
22
|
|
|
10
23
|
### Added
|
|
24
|
+
|
|
11
25
|
- **Unified Configuration**: Introduced `AteEditorConfig`, a single flatter interface to manage all editor settings (fundamentals, display options, and modules) via a new `[config]` input.
|
|
12
26
|
- **Enhanced Image Upload Config**: Restructured image upload settings with dedicated `AteImageUploadConfig`, supporting quality, dimensions, max size (in MB), and allowed types.
|
|
13
27
|
- **Menu Visibility Controls**: Added root-level boolean flags to toggle specific bubble menus (`showBubbleMenu`, `showTableMenu`, `showCellMenu`, `showImageBubbleMenu`) and slash commands (`enableSlashCommands`).
|
|
14
28
|
- **Improved Developer Experience**: Updated the demo's code generator to produce consolidated `AteEditorConfig` boilerplate, making it easier for developers to copy-paste configurations.
|
|
15
29
|
|
|
16
30
|
### Changed
|
|
31
|
+
|
|
17
32
|
- **Configuration Precedence**: Standardized the merging logic across all components, ensuring individual inputs correctly override global configuration values while maintaining sensible defaults.
|
|
18
33
|
- **Public API**: Exported `AteEditorConfig` in the public API for better type safety in host applications.
|
|
19
34
|
|
|
20
35
|
## [2.0.3] - 2026-01-19
|
|
21
36
|
|
|
22
37
|
### Added
|
|
38
|
+
|
|
23
39
|
- **Edit Toggle**: Added an optional toggle button to switch between editable and view-only modes.
|
|
24
40
|
- **Design Tokens Improvements**: Refined menu border-radius and image styling for a more consistent visual experience.
|
|
25
41
|
|
|
26
42
|
## [2.0.2] - 2026-01-18
|
|
27
43
|
|
|
28
44
|
### Added
|
|
45
|
+
|
|
29
46
|
- **Peer Dependencies Optimization**: Added `@tiptap/pm` to `peerDependencies`. This ensures a single shared instance of ProseMirror across the application.
|
|
30
47
|
|
|
31
48
|
### Fixed
|
|
32
|
-
- **Slash Commands**: Migrated internal ProseMirror imports (`state`, `view`) to the official `@tiptap/pm` bridge. This aligns the library with Tiptap's recommended architecture and improves compatibility with modern bundlers.
|
|
33
49
|
|
|
50
|
+
- **Slash Commands**: Migrated internal ProseMirror imports (`state`, `view`) to the official `@tiptap/pm` bridge. This aligns the library with Tiptap's recommended architecture and improves compatibility with modern bundlers.
|
|
34
51
|
|
|
35
52
|
## [2.0.1] - 2026-01-17
|
|
36
53
|
|
|
37
54
|
### Added
|
|
55
|
+
|
|
38
56
|
- **Global Footer Toggle**: Added `[showFooter]` input to easily toggle the entire editor footer (counters and limits).
|
|
39
57
|
|
|
40
58
|
### Changed
|
|
59
|
+
|
|
41
60
|
- **Enhanced Slash Commands**: Complete visual overhaul of the slash command menu with improved padding and consistent token-based styling.
|
|
42
61
|
|
|
43
62
|
## [2.0.0] - 2026-01-17
|
|
63
|
+
|
|
44
64
|
🚀 **Major Release**
|
|
45
65
|
|
|
46
66
|
> **Note:** I decided to skip v1.0.0 to align the version number with **Tiptap v2**.
|
|
47
67
|
> This structure prepares the project for the upcoming migration to **Tiptap v3** (which will correspond to my v3.0.0).
|
|
48
68
|
|
|
49
69
|
### Added
|
|
70
|
+
|
|
50
71
|
- **Extensible I18n**: The translation system is now open. You can add any language (e.g., `es`, `it`) via `addTranslations()`, and the `SupportedLocale` type now accepts any string with autocomplete for default languages.
|
|
51
72
|
- **Per-Instance I18n Override**: Added ability to define a specific language for a given editor instance via the `[locale]` input, without affecting the global language of other editors.
|
|
52
73
|
- **Global I18n Singleton**: The translation service is now a global singleton (`providedIn: 'root'`), allowing for application-wide language switching with a single call.
|
|
@@ -57,18 +78,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
57
78
|
- **Precise Inline Code**: Separated "Inline Code" and "Code Block" in menus and translations for better clarity.
|
|
58
79
|
|
|
59
80
|
### Fixed
|
|
81
|
+
|
|
60
82
|
- **Inline Code Toggle**: Fixed a reactivity bug where the "Code" button in the toolbar became disabled when already inside a code mark, preventing it from being toggled off.
|
|
61
83
|
|
|
62
84
|
### Changed
|
|
85
|
+
|
|
63
86
|
- **Service Isolation**: `EditorCommandsService`, `LinkService`, `ColorPickerService`, and `ImageService` are no longer global (`root`). They are now provided at the component level for each editor instance, ensuring perfect isolation in multi-editor scenarios.
|
|
64
87
|
- **Internal Refactoring**: Systemic use of `currentTranslations` (computed signal) across all internal components for perfect reactivity to language changes.
|
|
65
88
|
|
|
66
89
|
### Breaking Changes
|
|
90
|
+
|
|
67
91
|
- **Service Injection**: If you were injecting `EditorCommandsService` (or other internal services) directly into your own global services/components, it will no longer work. You must now interact with the editor via its public API (`@ViewChild`).
|
|
68
92
|
|
|
69
93
|
## [0.6.0] - 2026-01-14
|
|
70
94
|
|
|
71
95
|
### Added
|
|
96
|
+
|
|
72
97
|
- **Reactive State Management**: New "Snapshot & Signal" architecture with optimized change detection (OnPush).
|
|
73
98
|
- **Custom Extension Tracking**: Automatic state tracking for custom Tiptap Marks and Nodes (zero-config).
|
|
74
99
|
- **Extensible State**: New `stateCalculators` input to inject custom logic into the reactive editor state.
|
|
@@ -80,6 +105,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
80
105
|
- **Danger Button Variant**: New `danger` variant for actions like "Reset Color" or "Remove Link", providing clear visual feedback for destructive operations.
|
|
81
106
|
|
|
82
107
|
### Fixed
|
|
108
|
+
|
|
83
109
|
- **Multi-instance Support**: Full service isolation, allowing multiple editors on the same page without shared state.
|
|
84
110
|
- **Bubble Menu Conflicts**: Fixed overlapping menus by implementing a strict priority system (specialized menus now hide the main text menu).
|
|
85
111
|
- **Image Bubble Menu Persistence**: Corrected Tippy.js behavior to prevent menus from disappearing when re-clicking an already-selected image.
|
|
@@ -88,6 +114,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
88
114
|
- **Atomic Image Replacement**: Refactored image service to perform atomic updates, fixing the "extra space" bug and preventing layout shifts during asynchronous uploads.
|
|
89
115
|
|
|
90
116
|
### Changed
|
|
117
|
+
|
|
91
118
|
- **Architectural Refactoring**: `EditorCommandsService` is now a clean facade/proxy for specialized services (`ImageService`, `ColorPickerService`, `LinkService`).
|
|
92
119
|
- **Optimized State Performance**: Refactored state calculators (notably `MarksCalculator`) to minimize DOM access and avoid unnecessary layout recalculations (reflow).
|
|
93
120
|
- **Centralized Color Utilities**: Consolidated color normalization, luminance, and contrast calculations into a shared utility for perfect consistency.
|
|
@@ -97,10 +124,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
97
124
|
## [0.5.5] - 2026-01-09
|
|
98
125
|
|
|
99
126
|
### Added
|
|
127
|
+
|
|
100
128
|
- **Bubble Menus Confinement**: Menus now properly respect the editor's boundaries and are clipped by the container when scrolling, specifically optimized for `fillContainer` mode.
|
|
101
129
|
- **Unified Command Execution**: Centralized all editor operations within `EditorCommandsService`, ensuring consistent behavior between the toolbar and bubble menus.
|
|
102
130
|
|
|
103
131
|
### Fixed
|
|
132
|
+
|
|
104
133
|
- **Bubble Menus Positionning**: Refactored positioning logic for all bubble menus (Text, Image, Table, Cell, Slash) using Tippy's `sticky` plugin for real-time tracking during resizing and scrolling.
|
|
105
134
|
- **Bubble Menus Performances**: Significant performance boost in `getImageRect` and `getTableRect` using direct ProseMirror DOM lookups.
|
|
106
135
|
- **Performance Optimization**: Implemented `ChangeDetectionStrategy.OnPush` across all library components to minimize change detection cycles. Improved resource management by enabling Tippy's sticky polling only while menus are visible.
|
|
@@ -108,12 +137,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
108
137
|
## [0.5.4] - 2026-01-08
|
|
109
138
|
|
|
110
139
|
### Added
|
|
140
|
+
|
|
111
141
|
- **Enhanced Color Pickers**: Refactored text and highlight pickers with a curated palette of predefined colors for faster styling.
|
|
112
142
|
- **Intelligent Bubble Menus**: Automatic hiding when approaching the toolbar and smart restoration when leaving, ensuring a non-obstructive editing experience.
|
|
113
143
|
|
|
114
144
|
## [0.5.3] - 2026-01-08
|
|
115
145
|
|
|
116
146
|
### Added
|
|
147
|
+
|
|
117
148
|
- **Unified Color Picker**: Refactored text and highlight color pickers into a single, generic `TiptapColorPickerComponent` for better maintainability (DRY).
|
|
118
149
|
- **Advanced Highlight Picker**: The highlight button now displays the selected color as its background, with automatic icon contrast (black/white) for perfect visibility.
|
|
119
150
|
- **Improved Text Color Picker**: Added an adaptive contrast background to the text color button when a very light color is selected, ensuring the icon remains visible.
|
|
@@ -123,6 +154,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
123
154
|
## [0.5.2] - 2026-01-07
|
|
124
155
|
|
|
125
156
|
### Added
|
|
157
|
+
|
|
126
158
|
- **Word Count Toggle**: Added `showWordCount` input to independently control the visibility of the word counter.
|
|
127
159
|
- **Character Limit**: Added `maxCharacters` support with visual feedback and dynamic blocking.
|
|
128
160
|
- **Footer Configuration Section**: New section in the demo to manage counters and limits with a design consistent with other panels.
|
|
@@ -130,101 +162,119 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
130
162
|
## [0.5.1] - 2026-01-07
|
|
131
163
|
|
|
132
164
|
### Fixed
|
|
165
|
+
|
|
133
166
|
- **Library Dependencies**: Added missing `@tiptap/extension-color` and `@tiptap/extension-text-style` to peerDependencies.
|
|
134
167
|
|
|
135
168
|
## [0.5.0] - 2026-01-07
|
|
136
169
|
|
|
137
170
|
### Added
|
|
171
|
+
|
|
138
172
|
- **Full Theming System**: Introduced a complete set of CSS variables (`--ate-*`) for deep editor customization.
|
|
139
173
|
- **Dark Mode Support**: Native support for dark mode via `.dark` class or `[data-theme="dark"]` attribute on the editor component.
|
|
140
174
|
- **Theme Customizer**: New interactive panel in the demo application to customize and export CSS themes in real-time.
|
|
141
175
|
- **Improved Slash Menu**: Refactored slash menu with better UI, keyboard navigation, and easier command filtering.
|
|
142
176
|
|
|
143
177
|
### Breaking Changes
|
|
178
|
+
|
|
144
179
|
- **Slash Commands API**: The `slashCommands` input now takes a `SlashCommandsConfig` object (a set of boolean flags) to toggle default commands, instead of a list of command items.
|
|
145
180
|
- **Custom Slash Commands**: To provide your own commands, you must now use the new `customSlashCommands` input.
|
|
146
181
|
- **CSS Variables**: The editor now relies heavily on CSS variables. If you had deep CSS overrides, you might need to update them to use the new `--ate-*` tokens.
|
|
147
182
|
|
|
148
183
|
### Fixed
|
|
184
|
+
|
|
149
185
|
- **Text Color Picker**: Improved initial color detection using computed styles and refined UI behavior to accurately reflect text color even when using theme defaults.
|
|
150
186
|
|
|
151
187
|
### Changed
|
|
188
|
+
|
|
152
189
|
- Renamed several internal components and services for better consistency.
|
|
153
190
|
|
|
154
191
|
## [0.4.0] - 2026-01-07
|
|
155
192
|
|
|
156
193
|
### Added
|
|
194
|
+
|
|
157
195
|
- Text color picker extension (PR #6 by @nicolashimmelmann)
|
|
158
196
|
- Integrated color picker into the main toolbar and bubble menu
|
|
159
|
-
- New `tiptapExtensions` and `tiptapOptions` inputs for deeper editor customization
|
|
160
|
-
|
|
197
|
+
- New `tiptapExtensions` and `tiptapOptions` inputs for deeper editor customization (PR #6 by @nicolashimmelmann)
|
|
161
198
|
|
|
162
199
|
## [0.3.7] - 2025-12-19
|
|
163
200
|
|
|
164
201
|
### Added
|
|
202
|
+
|
|
165
203
|
- `fillContainer` input to make the editor fill the full height of its parent container
|
|
166
204
|
|
|
167
205
|
## [0.3.6] - 2025-12-19
|
|
168
206
|
|
|
169
207
|
### Added
|
|
208
|
+
|
|
170
209
|
- Custom image upload handler (`imageUploadHandler` input)
|
|
171
210
|
- Support for both `Promise` and `Observable` return types in upload handler
|
|
172
211
|
|
|
173
212
|
## [0.3.5] - 2025-12-19
|
|
174
213
|
|
|
175
214
|
### Added
|
|
215
|
+
|
|
176
216
|
- `autofocus` input with multiple options (`false`, `'start'`, `'end'`, `'all'`, or position number)
|
|
177
217
|
- Autofocus property support (PR #5 by @elirov)
|
|
178
218
|
|
|
179
219
|
## [0.3.4] - 2025-12-19
|
|
180
220
|
|
|
181
221
|
### Fixed
|
|
222
|
+
|
|
182
223
|
- Removed console.log statements
|
|
183
224
|
|
|
184
225
|
## [0.3.3] - 2025-09-05
|
|
185
226
|
|
|
186
227
|
### Fixed
|
|
228
|
+
|
|
187
229
|
- Slash commands functionality improvements
|
|
188
230
|
|
|
189
231
|
## [0.3.2] - 2025-09-05
|
|
190
232
|
|
|
191
233
|
### Fixed
|
|
234
|
+
|
|
192
235
|
- Table functionality in slash commands
|
|
193
236
|
|
|
194
237
|
## [0.3.1] - 2025-09-03
|
|
195
238
|
|
|
196
239
|
### Added
|
|
240
|
+
|
|
197
241
|
- Table extension with bubble menu for cell editing
|
|
198
242
|
|
|
199
243
|
## [0.3.0] - 2025-09-01
|
|
200
244
|
|
|
201
245
|
### Added
|
|
246
|
+
|
|
202
247
|
- Table extension (insert, delete rows/columns, merge cells)
|
|
203
248
|
- Cell bubble menu for table editing
|
|
204
249
|
|
|
205
250
|
## [0.2.7] - 2025-08-22
|
|
206
251
|
|
|
207
252
|
### Fixed
|
|
253
|
+
|
|
208
254
|
- FormControls now fully Angular 18+ compliant
|
|
209
255
|
|
|
210
256
|
## [0.2.6] - 2025-08-21
|
|
211
257
|
|
|
212
258
|
### Fixed
|
|
259
|
+
|
|
213
260
|
- FormControl update when editor is not ready yet
|
|
214
261
|
|
|
215
262
|
## [0.2.5] - 2025-08-21
|
|
216
263
|
|
|
217
264
|
### Changed
|
|
265
|
+
|
|
218
266
|
- Updated README with StackBlitz demo link
|
|
219
267
|
|
|
220
268
|
## [0.2.4] - 2025-08-21
|
|
221
269
|
|
|
222
270
|
### Fixed
|
|
271
|
+
|
|
223
272
|
- FormControls improvements
|
|
224
273
|
|
|
225
274
|
## [0.2.3] - 2025-08-20
|
|
226
275
|
|
|
227
276
|
### Fixed
|
|
277
|
+
|
|
228
278
|
- Text alignment controls
|
|
229
279
|
- Image positioning
|
|
230
280
|
- Placeholder display
|
|
@@ -232,23 +282,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
232
282
|
## [0.2.2] - 2025-08-20
|
|
233
283
|
|
|
234
284
|
### Fixed
|
|
285
|
+
|
|
235
286
|
- Material Symbols font loading
|
|
236
287
|
|
|
237
288
|
## [0.2.1] - 2025-08-20
|
|
238
289
|
|
|
239
290
|
### Fixed
|
|
291
|
+
|
|
240
292
|
- Peer dependencies versions
|
|
241
293
|
- Library package name
|
|
242
294
|
|
|
243
295
|
## [0.2.0] - 2025-08-20
|
|
244
296
|
|
|
245
297
|
### Fixed
|
|
298
|
+
|
|
246
299
|
- Angular version compatibility
|
|
247
300
|
- GitHub Pages deployment path
|
|
248
301
|
|
|
249
302
|
## [0.1.0] - 2025-08-20
|
|
250
303
|
|
|
251
304
|
### Added
|
|
305
|
+
|
|
252
306
|
- Initial release
|
|
253
307
|
- Rich text editing with Tiptap
|
|
254
308
|
- Toolbar with formatting options (bold, italic, underline, strike, code)
|