@flogeez/angular-tiptap-editor 2.0.2 → 2.1.0

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
@@ -1,250 +1,268 @@
1
- # Changelog
2
-
3
- All notable changes to `@flogeez/angular-tiptap-editor` will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [2.0.2] - 2026-01-18
9
-
10
- ### Added
11
- - **Peer Dependencies Optimization**: Added `@tiptap/pm` to `peerDependencies`. This ensures a single shared instance of ProseMirror across the application.
12
-
13
- ### Fixed
14
- - **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.
15
-
16
-
17
- ## [2.0.1] - 2026-01-17
18
-
19
- ### Added
20
- - **Global Footer Toggle**: Added `[showFooter]` input to easily toggle the entire editor footer (counters and limits).
21
-
22
- ### Changed
23
- - **Enhanced Slash Commands**: Complete visual overhaul of the slash command menu with improved padding and consistent token-based styling.
24
-
25
- ## [2.0.0] - 2026-01-17
26
- 🚀 **Major Release**
27
-
28
- > **Note:** I decided to skip v1.0.0 to align the version number with **Tiptap v2**.
29
- > This structure prepares the project for the upcoming migration to **Tiptap v3** (which will correspond to my v3.0.0).
30
-
31
- ### Added
32
- - **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.
33
- - **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.
34
- - **Global I18n Singleton**: The translation service is now a global singleton (`providedIn: 'root'`), allowing for application-wide language switching with a single call.
35
- - **Seamless Mode**: Added `[seamless]` input to remove borders, backgrounds, and paddings.
36
- - **Floating Toolbar**: Added `[floatingToolbar]` option for a sticky, auto-hiding toolbar with glassmorphism that only appears on focus or hover.
37
- - **Improved Read-Only**: Refined the `[editable]="false"` behavior. Clicking in the empty space of a read-only editor no longer forces focus or moves the cursor. The toolbar and footer now correctly reflect the read-only state.
38
- - **Code Block Support**: Added dedicated `CodeBlock` button to the toolbar and slash commands.
39
- - **Precise Inline Code**: Separated "Inline Code" and "Code Block" in menus and translations for better clarity.
40
-
41
- ### Fixed
42
- - **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.
43
-
44
- ### Changed
45
- - **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.
46
- - **Internal Refactoring**: Systemic use of `currentTranslations` (computed signal) across all internal components for perfect reactivity to language changes.
47
-
48
- ### Breaking Changes
49
- - **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`).
50
-
51
- ## [0.6.0] - 2026-01-14
52
-
53
- ### Added
54
- - **Reactive State Management**: New "Snapshot & Signal" architecture with optimized change detection (OnPush).
55
- - **Custom Extension Tracking**: Automatic state tracking for custom Tiptap Marks and Nodes (zero-config).
56
- - **Extensible State**: New `stateCalculators` input to inject custom logic into the reactive editor state.
57
- - **Intelligent Color Detection**: The editor state now computes the actual visible text and background colors by inspecting the DOM (computed styles). This ensures the color picker accurately reflects the current formatting even when derived from CSS themes or inherited from parent elements.
58
- - **Link & Color Bubble Menus**: Completely refactored management with dedicated bubble menus.
59
- - **LinkService**: New dedicated service to manage link state and lifecycle independently.
60
- - **Improved Visual Feedback**: Menus now preserve the editor's blue selection highlight while choosing colors or preparing to type a link.
61
- - **Improved Image Selection**: Automatic node selection after insertion or replacement, ensuring resize handles and bubble menus appear instantly.
62
- - **Danger Button Variant**: New `danger` variant for actions like "Reset Color" or "Remove Link", providing clear visual feedback for destructive operations.
63
-
64
- ### Fixed
65
- - **Multi-instance Support**: Full service isolation, allowing multiple editors on the same page without shared state.
66
- - **Bubble Menu Conflicts**: Fixed overlapping menus by implementing a strict priority system (specialized menus now hide the main text menu).
67
- - **Image Bubble Menu Persistence**: Corrected Tippy.js behavior to prevent menus from disappearing when re-clicking an already-selected image.
68
- - **Toolbar-Menu Harmony**: Bubbles now reactively hide when interacting with the main toolbar via a centralized signal.
69
- - **Anti-Echo Loop**: Implemented a robust "lastEmittedHtml" logic combined with `untracked()` to prevent infinite loops and cursor reset when using two-way binding or FormControls.
70
- - **Atomic Image Replacement**: Refactored image service to perform atomic updates, fixing the "extra space" bug and preventing layout shifts during asynchronous uploads.
71
-
72
- ### Changed
73
- - **Architectural Refactoring**: `EditorCommandsService` is now a clean facade/proxy for specialized services (`ImageService`, `ColorPickerService`, `LinkService`).
74
- - **Optimized State Performance**: Refactored state calculators (notably `MarksCalculator`) to minimize DOM access and avoid unnecessary layout recalculations (reflow).
75
- - **Centralized Color Utilities**: Consolidated color normalization, luminance, and contrast calculations into a shared utility for perfect consistency.
76
- - **Public API Cleanup**: Exported all modular calculators, services, and models for better extensibility.
77
- - **Color Picker Stability**: Integrated selection capture and locked modes to ensure 100% reliability in color application.
78
-
79
- ## [0.5.5] - 2026-01-09
80
-
81
- ### Added
82
- - **Bubble Menus Confinement**: Menus now properly respect the editor's boundaries and are clipped by the container when scrolling, specifically optimized for `fillContainer` mode.
83
- - **Unified Command Execution**: Centralized all editor operations within `EditorCommandsService`, ensuring consistent behavior between the toolbar and bubble menus.
84
-
85
- ### Fixed
86
- - **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.
87
- - **Bubble Menus Performances**: Significant performance boost in `getImageRect` and `getTableRect` using direct ProseMirror DOM lookups.
88
- - **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.
89
-
90
- ## [0.5.4] - 2026-01-08
91
-
92
- ### Added
93
- - **Enhanced Color Pickers**: Refactored text and highlight pickers with a curated palette of predefined colors for faster styling.
94
- - **Intelligent Bubble Menus**: Automatic hiding when approaching the toolbar and smart restoration when leaving, ensuring a non-obstructive editing experience.
95
-
96
- ## [0.5.3] - 2026-01-08
97
-
98
- ### Added
99
- - **Unified Color Picker**: Refactored text and highlight color pickers into a single, generic `TiptapColorPickerComponent` for better maintainability (DRY).
100
- - **Advanced Highlight Picker**: The highlight button now displays the selected color as its background, with automatic icon contrast (black/white) for perfect visibility.
101
- - **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.
102
- - **Highlight Toggle vs Picker**: Separated the quick "Yellow Highlight" toggle (binary) from the advanced "Color Picker" (precision), allowing both to be configured independently.
103
- - **New Default Configuration**: The editor now enables the advanced Color Picker and Text Color picker by default in both the toolbar and bubble menu.
104
-
105
- ## [0.5.2] - 2026-01-07
106
-
107
- ### Added
108
- - **Word Count Toggle**: Added `showWordCount` input to independently control the visibility of the word counter.
109
- - **Character Limit**: Added `maxCharacters` support with visual feedback and dynamic blocking.
110
- - **Footer Configuration Section**: New section in the demo to manage counters and limits with a design consistent with other panels.
111
-
112
- ## [0.5.1] - 2026-01-07
113
-
114
- ### Fixed
115
- - **Library Dependencies**: Added missing `@tiptap/extension-color` and `@tiptap/extension-text-style` to peerDependencies.
116
-
117
- ## [0.5.0] - 2026-01-07
118
-
119
- ### Added
120
- - **Full Theming System**: Introduced a complete set of CSS variables (`--ate-*`) for deep editor customization.
121
- - **Dark Mode Support**: Native support for dark mode via `.dark` class or `[data-theme="dark"]` attribute on the editor component.
122
- - **Theme Customizer**: New interactive panel in the demo application to customize and export CSS themes in real-time.
123
- - **Improved Slash Menu**: Refactored slash menu with better UI, keyboard navigation, and easier command filtering.
124
-
125
- ### Breaking Changes
126
- - **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.
127
- - **Custom Slash Commands**: To provide your own commands, you must now use the new `customSlashCommands` input.
128
- - **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.
129
-
130
- ### Fixed
131
- - **Text Color Picker**: Improved initial color detection using computed styles and refined UI behavior to accurately reflect text color even when using theme defaults.
132
-
133
- ### Changed
134
- - Renamed several internal components and services for better consistency.
135
-
136
- ## [0.4.0] - 2026-01-07
137
-
138
- ### Added
139
- - Text color picker extension (PR #6 by @nicolashimmelmann)
140
- - Integrated color picker into the main toolbar and bubble menu
141
- - New `tiptapExtensions` and `tiptapOptions` inputs for deeper editor customization (PR #6 by @nicolashimmelmann)
142
-
143
-
144
- ## [0.3.7] - 2025-12-19
145
-
146
- ### Added
147
- - `fillContainer` input to make the editor fill the full height of its parent container
148
-
149
- ## [0.3.6] - 2025-12-19
150
-
151
- ### Added
152
- - Custom image upload handler (`imageUploadHandler` input)
153
- - Support for both `Promise` and `Observable` return types in upload handler
154
-
155
- ## [0.3.5] - 2025-12-19
156
-
157
- ### Added
158
- - `autofocus` input with multiple options (`false`, `'start'`, `'end'`, `'all'`, or position number)
159
- - Autofocus property support (PR #5 by @elirov)
160
-
161
- ## [0.3.4] - 2025-12-19
162
-
163
- ### Fixed
164
- - Removed console.log statements
165
-
166
- ## [0.3.3] - 2025-09-05
167
-
168
- ### Fixed
169
- - Slash commands functionality improvements
170
-
171
- ## [0.3.2] - 2025-09-05
172
-
173
- ### Fixed
174
- - Table functionality in slash commands
175
-
176
- ## [0.3.1] - 2025-09-03
177
-
178
- ### Added
179
- - Table extension with bubble menu for cell editing
180
-
181
- ## [0.3.0] - 2025-09-01
182
-
183
- ### Added
184
- - Table extension (insert, delete rows/columns, merge cells)
185
- - Cell bubble menu for table editing
186
-
187
- ## [0.2.7] - 2025-08-22
188
-
189
- ### Fixed
190
- - FormControls now fully Angular 18+ compliant
191
-
192
- ## [0.2.6] - 2025-08-21
193
-
194
- ### Fixed
195
- - FormControl update when editor is not ready yet
196
-
197
- ## [0.2.5] - 2025-08-21
198
-
199
- ### Changed
200
- - Updated README with StackBlitz demo link
201
-
202
- ## [0.2.4] - 2025-08-21
203
-
204
- ### Fixed
205
- - FormControls improvements
206
-
207
- ## [0.2.3] - 2025-08-20
208
-
209
- ### Fixed
210
- - Text alignment controls
211
- - Image positioning
212
- - Placeholder display
213
-
214
- ## [0.2.2] - 2025-08-20
215
-
216
- ### Fixed
217
- - Material Symbols font loading
218
-
219
- ## [0.2.1] - 2025-08-20
220
-
221
- ### Fixed
222
- - Peer dependencies versions
223
- - Library package name
224
-
225
- ## [0.2.0] - 2025-08-20
226
-
227
- ### Fixed
228
- - Angular version compatibility
229
- - GitHub Pages deployment path
230
-
231
- ## [0.1.0] - 2025-08-20
232
-
233
- ### Added
234
- - Initial release
235
- - Rich text editing with Tiptap
236
- - Toolbar with formatting options (bold, italic, underline, strike, code)
237
- - Heading support (H1, H2, H3)
238
- - Lists (bullet, ordered)
239
- - Blockquote and horizontal rule
240
- - Image upload with drag & drop and progress indicator
241
- - Resizable images
242
- - Character and word count
243
- - Bubble menu for text formatting
244
- - Image bubble menu with resize controls
245
- - Slash commands with keyword filtering
246
- - Highlight extension
247
- - Customizable toolbar and bubble menu configuration
248
- - Internationalization support (English, French)
249
- - Angular 18+ standalone components
250
- - Reactive Forms support (ControlValueAccessor)
1
+ # Changelog
2
+
3
+ All notable changes to `@flogeez/angular-tiptap-editor` will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [2.1.0] - 2026-01-20
9
+
10
+ ### Added
11
+ - **Unified Configuration**: Introduced `AteEditorConfig`, a single flatter interface to manage all editor settings (fundamentals, display options, and modules) via a new `[config]` input.
12
+ - **Enhanced Image Upload Config**: Restructured image upload settings with dedicated `AteImageUploadConfig`, supporting quality, dimensions, max size (in MB), and allowed types.
13
+ - **Menu Visibility Controls**: Added root-level boolean flags to toggle specific bubble menus (`showBubbleMenu`, `showTableMenu`, `showCellMenu`, `showImageBubbleMenu`) and slash commands (`enableSlashCommands`).
14
+ - **Improved Developer Experience**: Updated the demo's code generator to produce consolidated `AteEditorConfig` boilerplate, making it easier for developers to copy-paste configurations.
15
+
16
+ ### Changed
17
+ - **Configuration Precedence**: Standardized the merging logic across all components, ensuring individual inputs correctly override global configuration values while maintaining sensible defaults.
18
+ - **Public API**: Exported `AteEditorConfig` in the public API for better type safety in host applications.
19
+
20
+ ## [2.0.3] - 2026-01-19
21
+
22
+ ### Added
23
+ - **Edit Toggle**: Added an optional toggle button to switch between editable and view-only modes.
24
+ - **Design Tokens Improvements**: Refined menu border-radius and image styling for a more consistent visual experience.
25
+
26
+ ## [2.0.2] - 2026-01-18
27
+
28
+ ### Added
29
+ - **Peer Dependencies Optimization**: Added `@tiptap/pm` to `peerDependencies`. This ensures a single shared instance of ProseMirror across the application.
30
+
31
+ ### 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
+
34
+
35
+ ## [2.0.1] - 2026-01-17
36
+
37
+ ### Added
38
+ - **Global Footer Toggle**: Added `[showFooter]` input to easily toggle the entire editor footer (counters and limits).
39
+
40
+ ### Changed
41
+ - **Enhanced Slash Commands**: Complete visual overhaul of the slash command menu with improved padding and consistent token-based styling.
42
+
43
+ ## [2.0.0] - 2026-01-17
44
+ 🚀 **Major Release**
45
+
46
+ > **Note:** I decided to skip v1.0.0 to align the version number with **Tiptap v2**.
47
+ > This structure prepares the project for the upcoming migration to **Tiptap v3** (which will correspond to my v3.0.0).
48
+
49
+ ### Added
50
+ - **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
+ - **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
+ - **Global I18n Singleton**: The translation service is now a global singleton (`providedIn: 'root'`), allowing for application-wide language switching with a single call.
53
+ - **Seamless Mode**: Added `[seamless]` input to remove borders, backgrounds, and paddings.
54
+ - **Floating Toolbar**: Added `[floatingToolbar]` option for a sticky, auto-hiding toolbar with glassmorphism that only appears on focus or hover.
55
+ - **Improved Read-Only**: Refined the `[editable]="false"` behavior. Clicking in the empty space of a read-only editor no longer forces focus or moves the cursor. The toolbar and footer now correctly reflect the read-only state.
56
+ - **Code Block Support**: Added dedicated `CodeBlock` button to the toolbar and slash commands.
57
+ - **Precise Inline Code**: Separated "Inline Code" and "Code Block" in menus and translations for better clarity.
58
+
59
+ ### Fixed
60
+ - **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
+
62
+ ### Changed
63
+ - **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
+ - **Internal Refactoring**: Systemic use of `currentTranslations` (computed signal) across all internal components for perfect reactivity to language changes.
65
+
66
+ ### Breaking Changes
67
+ - **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
+
69
+ ## [0.6.0] - 2026-01-14
70
+
71
+ ### Added
72
+ - **Reactive State Management**: New "Snapshot & Signal" architecture with optimized change detection (OnPush).
73
+ - **Custom Extension Tracking**: Automatic state tracking for custom Tiptap Marks and Nodes (zero-config).
74
+ - **Extensible State**: New `stateCalculators` input to inject custom logic into the reactive editor state.
75
+ - **Intelligent Color Detection**: The editor state now computes the actual visible text and background colors by inspecting the DOM (computed styles). This ensures the color picker accurately reflects the current formatting even when derived from CSS themes or inherited from parent elements.
76
+ - **Link & Color Bubble Menus**: Completely refactored management with dedicated bubble menus.
77
+ - **LinkService**: New dedicated service to manage link state and lifecycle independently.
78
+ - **Improved Visual Feedback**: Menus now preserve the editor's blue selection highlight while choosing colors or preparing to type a link.
79
+ - **Improved Image Selection**: Automatic node selection after insertion or replacement, ensuring resize handles and bubble menus appear instantly.
80
+ - **Danger Button Variant**: New `danger` variant for actions like "Reset Color" or "Remove Link", providing clear visual feedback for destructive operations.
81
+
82
+ ### Fixed
83
+ - **Multi-instance Support**: Full service isolation, allowing multiple editors on the same page without shared state.
84
+ - **Bubble Menu Conflicts**: Fixed overlapping menus by implementing a strict priority system (specialized menus now hide the main text menu).
85
+ - **Image Bubble Menu Persistence**: Corrected Tippy.js behavior to prevent menus from disappearing when re-clicking an already-selected image.
86
+ - **Toolbar-Menu Harmony**: Bubbles now reactively hide when interacting with the main toolbar via a centralized signal.
87
+ - **Anti-Echo Loop**: Implemented a robust "lastEmittedHtml" logic combined with `untracked()` to prevent infinite loops and cursor reset when using two-way binding or FormControls.
88
+ - **Atomic Image Replacement**: Refactored image service to perform atomic updates, fixing the "extra space" bug and preventing layout shifts during asynchronous uploads.
89
+
90
+ ### Changed
91
+ - **Architectural Refactoring**: `EditorCommandsService` is now a clean facade/proxy for specialized services (`ImageService`, `ColorPickerService`, `LinkService`).
92
+ - **Optimized State Performance**: Refactored state calculators (notably `MarksCalculator`) to minimize DOM access and avoid unnecessary layout recalculations (reflow).
93
+ - **Centralized Color Utilities**: Consolidated color normalization, luminance, and contrast calculations into a shared utility for perfect consistency.
94
+ - **Public API Cleanup**: Exported all modular calculators, services, and models for better extensibility.
95
+ - **Color Picker Stability**: Integrated selection capture and locked modes to ensure 100% reliability in color application.
96
+
97
+ ## [0.5.5] - 2026-01-09
98
+
99
+ ### Added
100
+ - **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
+ - **Unified Command Execution**: Centralized all editor operations within `EditorCommandsService`, ensuring consistent behavior between the toolbar and bubble menus.
102
+
103
+ ### Fixed
104
+ - **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
+ - **Bubble Menus Performances**: Significant performance boost in `getImageRect` and `getTableRect` using direct ProseMirror DOM lookups.
106
+ - **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.
107
+
108
+ ## [0.5.4] - 2026-01-08
109
+
110
+ ### Added
111
+ - **Enhanced Color Pickers**: Refactored text and highlight pickers with a curated palette of predefined colors for faster styling.
112
+ - **Intelligent Bubble Menus**: Automatic hiding when approaching the toolbar and smart restoration when leaving, ensuring a non-obstructive editing experience.
113
+
114
+ ## [0.5.3] - 2026-01-08
115
+
116
+ ### Added
117
+ - **Unified Color Picker**: Refactored text and highlight color pickers into a single, generic `TiptapColorPickerComponent` for better maintainability (DRY).
118
+ - **Advanced Highlight Picker**: The highlight button now displays the selected color as its background, with automatic icon contrast (black/white) for perfect visibility.
119
+ - **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.
120
+ - **Highlight Toggle vs Picker**: Separated the quick "Yellow Highlight" toggle (binary) from the advanced "Color Picker" (precision), allowing both to be configured independently.
121
+ - **New Default Configuration**: The editor now enables the advanced Color Picker and Text Color picker by default in both the toolbar and bubble menu.
122
+
123
+ ## [0.5.2] - 2026-01-07
124
+
125
+ ### Added
126
+ - **Word Count Toggle**: Added `showWordCount` input to independently control the visibility of the word counter.
127
+ - **Character Limit**: Added `maxCharacters` support with visual feedback and dynamic blocking.
128
+ - **Footer Configuration Section**: New section in the demo to manage counters and limits with a design consistent with other panels.
129
+
130
+ ## [0.5.1] - 2026-01-07
131
+
132
+ ### Fixed
133
+ - **Library Dependencies**: Added missing `@tiptap/extension-color` and `@tiptap/extension-text-style` to peerDependencies.
134
+
135
+ ## [0.5.0] - 2026-01-07
136
+
137
+ ### Added
138
+ - **Full Theming System**: Introduced a complete set of CSS variables (`--ate-*`) for deep editor customization.
139
+ - **Dark Mode Support**: Native support for dark mode via `.dark` class or `[data-theme="dark"]` attribute on the editor component.
140
+ - **Theme Customizer**: New interactive panel in the demo application to customize and export CSS themes in real-time.
141
+ - **Improved Slash Menu**: Refactored slash menu with better UI, keyboard navigation, and easier command filtering.
142
+
143
+ ### Breaking Changes
144
+ - **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
+ - **Custom Slash Commands**: To provide your own commands, you must now use the new `customSlashCommands` input.
146
+ - **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
+
148
+ ### Fixed
149
+ - **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
+
151
+ ### Changed
152
+ - Renamed several internal components and services for better consistency.
153
+
154
+ ## [0.4.0] - 2026-01-07
155
+
156
+ ### Added
157
+ - Text color picker extension (PR #6 by @nicolashimmelmann)
158
+ - Integrated color picker into the main toolbar and bubble menu
159
+ - New `tiptapExtensions` and `tiptapOptions` inputs for deeper editor customization (PR #6 by @nicolashimmelmann)
160
+
161
+
162
+ ## [0.3.7] - 2025-12-19
163
+
164
+ ### Added
165
+ - `fillContainer` input to make the editor fill the full height of its parent container
166
+
167
+ ## [0.3.6] - 2025-12-19
168
+
169
+ ### Added
170
+ - Custom image upload handler (`imageUploadHandler` input)
171
+ - Support for both `Promise` and `Observable` return types in upload handler
172
+
173
+ ## [0.3.5] - 2025-12-19
174
+
175
+ ### Added
176
+ - `autofocus` input with multiple options (`false`, `'start'`, `'end'`, `'all'`, or position number)
177
+ - Autofocus property support (PR #5 by @elirov)
178
+
179
+ ## [0.3.4] - 2025-12-19
180
+
181
+ ### Fixed
182
+ - Removed console.log statements
183
+
184
+ ## [0.3.3] - 2025-09-05
185
+
186
+ ### Fixed
187
+ - Slash commands functionality improvements
188
+
189
+ ## [0.3.2] - 2025-09-05
190
+
191
+ ### Fixed
192
+ - Table functionality in slash commands
193
+
194
+ ## [0.3.1] - 2025-09-03
195
+
196
+ ### Added
197
+ - Table extension with bubble menu for cell editing
198
+
199
+ ## [0.3.0] - 2025-09-01
200
+
201
+ ### Added
202
+ - Table extension (insert, delete rows/columns, merge cells)
203
+ - Cell bubble menu for table editing
204
+
205
+ ## [0.2.7] - 2025-08-22
206
+
207
+ ### Fixed
208
+ - FormControls now fully Angular 18+ compliant
209
+
210
+ ## [0.2.6] - 2025-08-21
211
+
212
+ ### Fixed
213
+ - FormControl update when editor is not ready yet
214
+
215
+ ## [0.2.5] - 2025-08-21
216
+
217
+ ### Changed
218
+ - Updated README with StackBlitz demo link
219
+
220
+ ## [0.2.4] - 2025-08-21
221
+
222
+ ### Fixed
223
+ - FormControls improvements
224
+
225
+ ## [0.2.3] - 2025-08-20
226
+
227
+ ### Fixed
228
+ - Text alignment controls
229
+ - Image positioning
230
+ - Placeholder display
231
+
232
+ ## [0.2.2] - 2025-08-20
233
+
234
+ ### Fixed
235
+ - Material Symbols font loading
236
+
237
+ ## [0.2.1] - 2025-08-20
238
+
239
+ ### Fixed
240
+ - Peer dependencies versions
241
+ - Library package name
242
+
243
+ ## [0.2.0] - 2025-08-20
244
+
245
+ ### Fixed
246
+ - Angular version compatibility
247
+ - GitHub Pages deployment path
248
+
249
+ ## [0.1.0] - 2025-08-20
250
+
251
+ ### Added
252
+ - Initial release
253
+ - Rich text editing with Tiptap
254
+ - Toolbar with formatting options (bold, italic, underline, strike, code)
255
+ - Heading support (H1, H2, H3)
256
+ - Lists (bullet, ordered)
257
+ - Blockquote and horizontal rule
258
+ - Image upload with drag & drop and progress indicator
259
+ - Resizable images
260
+ - Character and word count
261
+ - Bubble menu for text formatting
262
+ - Image bubble menu with resize controls
263
+ - Slash commands with keyword filtering
264
+ - Highlight extension
265
+ - Customizable toolbar and bubble menu configuration
266
+ - Internationalization support (English, French)
267
+ - Angular 18+ standalone components
268
+ - Reactive Forms support (ControlValueAccessor)
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 FloGeez
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 FloGeez
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.