vue2-bbl-editor 1.3.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 +659 -0
- package/COMPONENT_USAGE_GUIDE.md +2590 -0
- package/CONTENT_WRAPPER_GUIDE.md +385 -0
- package/EXTERNAL_HTML_RENDERING.md +266 -0
- package/EXTERNAL_INTEGRATION_GUIDE.md +833 -0
- package/INSTALLATION.md +282 -0
- package/LICENSE +21 -0
- package/PACKAGE_DOCUMENTATION.md +1386 -0
- package/QUICK_SETUP.md +99 -0
- package/README.md +1694 -0
- package/dist/demo.html +10 -0
- package/dist/vue2-bbl-editor.common.js +24486 -0
- package/dist/vue2-bbl-editor.common.js.map +1 -0
- package/dist/vue2-bbl-editor.css +1 -0
- package/dist/vue2-bbl-editor.umd.js +24497 -0
- package/dist/vue2-bbl-editor.umd.js.map +1 -0
- package/dist/vue2-bbl-editor.umd.min.js +6 -0
- package/dist/vue2-bbl-editor.umd.min.js.map +1 -0
- package/package.json +172 -0
- package/types/index.d.ts +266 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,659 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project 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
|
+
## [1.3.0] - 2025-01-20
|
|
9
|
+
|
|
10
|
+
### ✨ Major New Features
|
|
11
|
+
|
|
12
|
+
#### HTML Content Wrapper System
|
|
13
|
+
- **Automatic content wrapping**: HTML output is now automatically wrapped with `bbl-html-section` class for CDN styling compatibility
|
|
14
|
+
- **CDN-ready output**: Content is ready for external projects (React, Vue 3, Angular, etc.) without additional setup
|
|
15
|
+
- **New prop `wrapWithContentClass`**: Control automatic wrapping behavior (default: `true`)
|
|
16
|
+
- **Enhanced `getContent` method**: Added optional `wrapContent` parameter for granular control
|
|
17
|
+
- **Both API support**: Available in both Options API and Composition API components
|
|
18
|
+
|
|
19
|
+
#### CDN Distribution System
|
|
20
|
+
- **Created `editor-content.css`**: Comprehensive CSS file for HTML output styling via CDN
|
|
21
|
+
- **Version-agnostic CDN URL**: `https://cdn.jsdelivr.net/npm/vue2-premium-bbl-editor/dist/editor-content.css`
|
|
22
|
+
- **Global styling support**: Enables consistent styling across different frameworks and projects
|
|
23
|
+
- **Responsive design**: Mobile-optimized styles for all content types
|
|
24
|
+
|
|
25
|
+
#### External Project Integration
|
|
26
|
+
- **Framework examples**: Complete integration guides for React, Vue 3, Angular, and vanilla HTML
|
|
27
|
+
- **CDN demo page**: Interactive demonstration of CDN functionality
|
|
28
|
+
- **Security guidelines**: Best practices for safe HTML rendering in external projects
|
|
29
|
+
- **Performance optimization**: CDN caching and preload recommendations
|
|
30
|
+
|
|
31
|
+
### 🔧 API Enhancements
|
|
32
|
+
|
|
33
|
+
#### Method Signatures
|
|
34
|
+
```javascript
|
|
35
|
+
// Enhanced getContent method
|
|
36
|
+
getContent(format?: 'html' | 'json', wrapContent?: boolean): string | object
|
|
37
|
+
|
|
38
|
+
// Examples
|
|
39
|
+
editor.getContent() // Wrapped HTML (default)
|
|
40
|
+
editor.getContent('html', true) // Wrapped HTML (explicit)
|
|
41
|
+
editor.getContent('html', false) // Unwrapped HTML
|
|
42
|
+
editor.getContent('json') // JSON (wrapping doesn't apply)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### New Props
|
|
46
|
+
- `wrapWithContentClass: boolean` (default: `true`) - Controls automatic HTML wrapping
|
|
47
|
+
|
|
48
|
+
### 📚 Documentation
|
|
49
|
+
|
|
50
|
+
#### New Guides
|
|
51
|
+
- **CONTENT_WRAPPER_GUIDE.md**: Comprehensive guide for wrapper functionality
|
|
52
|
+
- **EXTERNAL_HTML_RENDERING.md**: External project integration guide
|
|
53
|
+
- **CDN_IMPLEMENTATION_SUMMARY.md**: Technical implementation details
|
|
54
|
+
|
|
55
|
+
#### Updated Documentation
|
|
56
|
+
- **README.md**: Added CDN usage section and wrapper examples
|
|
57
|
+
- **TypeScript definitions**: Updated with new method signatures and props
|
|
58
|
+
- **Component examples**: Both Options API and Composition API examples
|
|
59
|
+
|
|
60
|
+
### 🔄 Migration Guide
|
|
61
|
+
|
|
62
|
+
#### Backward Compatibility
|
|
63
|
+
- **Fully backward compatible**: Existing code continues to work without changes
|
|
64
|
+
- **Default behavior**: HTML output is now wrapped by default (may affect styling)
|
|
65
|
+
- **Opt-out available**: Set `wrapWithContentClass: false` to disable wrapping
|
|
66
|
+
|
|
67
|
+
#### Upgrading from v1.2.x
|
|
68
|
+
```vue
|
|
69
|
+
<!-- If you don't want automatic wrapping -->
|
|
70
|
+
<PremiumBblEditor :wrap-with-content-class="false" />
|
|
71
|
+
|
|
72
|
+
<!-- Or control wrapping programmatically -->
|
|
73
|
+
<script>
|
|
74
|
+
// Old way (still works, now returns wrapped content)
|
|
75
|
+
const content = editor.getContent()
|
|
76
|
+
|
|
77
|
+
// New way with explicit control
|
|
78
|
+
const wrappedContent = editor.getContent('html', true)
|
|
79
|
+
const unwrappedContent = editor.getContent('html', false)
|
|
80
|
+
</script>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 🎯 Use Cases
|
|
84
|
+
|
|
85
|
+
#### For External Projects
|
|
86
|
+
```javascript
|
|
87
|
+
// Content ready for React, Vue 3, Angular, etc.
|
|
88
|
+
const htmlContent = editor.getContent() // Includes bbl-html-section wrapper
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### For Database Storage
|
|
92
|
+
```javascript
|
|
93
|
+
// Clean content for storage
|
|
94
|
+
const cleanContent = editor.getContent('html', false) // No wrapper
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
#### For Custom Processing
|
|
98
|
+
```vue
|
|
99
|
+
<!-- Disable auto-wrapping for custom handling -->
|
|
100
|
+
<PremiumBblEditor :wrap-with-content-class="false" />
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## [1.2.8] - 2025-01-19
|
|
104
|
+
|
|
105
|
+
### ✨ New Features
|
|
106
|
+
|
|
107
|
+
#### Blockquote Inline Styles
|
|
108
|
+
- **Added CustomBlockquote extension**: Blockquote elements now include inline styles in HTML output
|
|
109
|
+
- **Inline styling**: Blockquotes automatically include `margin: 1.5em 0; padding: 1em 1.5em; border-left: 4px solid #3b82f6; background: #f8fafc; font-style: italic; color: #64748b;`
|
|
110
|
+
- **Consistent with other elements**: Similar to `<pre>` and `<code>` tags, blockquotes now preserve styling in exported HTML
|
|
111
|
+
- **Removed conflicting CSS**: Cleaned up CSS styles that were overriding inline styles
|
|
112
|
+
- **Enhanced HTML output**: Blockquotes maintain visual consistency when used outside the editor
|
|
113
|
+
|
|
114
|
+
### 🔧 Technical Improvements
|
|
115
|
+
- **Extended official extension**: Built on top of `@tiptap/extension-blockquote` for better compatibility
|
|
116
|
+
- **Preserved functionality**: All existing blockquote features (toolbar button, keyboard shortcuts) remain unchanged
|
|
117
|
+
- **CSS cleanup**: Removed redundant blockquote styles from multiple component files
|
|
118
|
+
|
|
119
|
+
## [1.2.7] - 2025-01-19
|
|
120
|
+
|
|
121
|
+
### 🧹 Code Cleanup & Standardization
|
|
122
|
+
|
|
123
|
+
#### Upload System Standardization
|
|
124
|
+
- **Created uploadMixin**: Standardized upload functionality across Image and Video modals
|
|
125
|
+
- **Unified upload logic**: Both ImageModal and VideoModal now use the same upload system
|
|
126
|
+
- **Removed duplicate code**: Eliminated redundant upload handling methods
|
|
127
|
+
- **Enhanced error handling**: Consistent error messages and user feedback across all modals
|
|
128
|
+
|
|
129
|
+
#### Documentation Cleanup
|
|
130
|
+
- **Removed outdated files**: Cleaned up redundant documentation files
|
|
131
|
+
- **Consolidated guides**: Merged overlapping documentation into main guides
|
|
132
|
+
- **Removed unused code**: Eliminated console.log statements and unused methods
|
|
133
|
+
|
|
134
|
+
#### Technical Improvements
|
|
135
|
+
- **Standardized props**: Consistent prop handling across upload components
|
|
136
|
+
- **Better validation**: Enhanced file validation with configurable limits
|
|
137
|
+
- **Improved maintainability**: Shared upload logic reduces code duplication
|
|
138
|
+
- **Bug-free implementation**: Thoroughly tested upload system for both image and video files
|
|
139
|
+
|
|
140
|
+
#### VideoModal Enhancements
|
|
141
|
+
- **Added upload progress**: Video uploads now show progress indicators
|
|
142
|
+
- **Error handling**: Consistent error handling with retry functionality
|
|
143
|
+
- **Upload manager support**: VideoModal now supports both uploadHandler and uploadManager
|
|
144
|
+
- **File validation**: Proper video file type and size validation
|
|
145
|
+
|
|
146
|
+
## [1.2.6] - 2025-01-19
|
|
147
|
+
|
|
148
|
+
### 🐛 Bug Fixes
|
|
149
|
+
|
|
150
|
+
#### ImageModal Upload URL Fix
|
|
151
|
+
- **Fixed uploaded URL not being used**: ImageModal now correctly uses the uploaded URL from uploadHandler instead of falling back to blob URL
|
|
152
|
+
- **Improved upload logic**: Fixed condition that was checking for uploadManager when using uploadHandler
|
|
153
|
+
- **Enhanced URL insertion**: Upload results now properly insert the API-returned URL instead of local blob URL
|
|
154
|
+
- **Better upload detection**: Simplified logic to check for uploadedUrl regardless of upload method
|
|
155
|
+
|
|
156
|
+
#### Technical Improvements
|
|
157
|
+
- Fixed insertImage method to prioritize uploadedUrl over local blob URL
|
|
158
|
+
- Improved upload success detection for both uploadManager and uploadHandler workflows
|
|
159
|
+
- Enhanced debugging with clearer console logs for upload URL usage
|
|
160
|
+
|
|
161
|
+
## [1.2.5] - 2025-01-19
|
|
162
|
+
|
|
163
|
+
### 🐛 Bug Fixes
|
|
164
|
+
|
|
165
|
+
#### ImageModal Upload Handler Integration
|
|
166
|
+
- **Fixed handleApiUpload not being called**: ImageModal now properly calls upload handlers when uploadManager is not available
|
|
167
|
+
- **Added handleLegacyUpload method**: New method to support existing uploadHandler prop alongside uploadManager
|
|
168
|
+
- **Enhanced upload flow**: Files now automatically trigger upload using either uploadManager or uploadHandler
|
|
169
|
+
- **Improved backward compatibility**: Existing components using uploadHandler prop now work correctly
|
|
170
|
+
|
|
171
|
+
#### Component Enhancements
|
|
172
|
+
- **Added uploadManager prop support**: Both PremiumBblEditor and PremiumBblEditorOptionsAPI now accept uploadManager prop
|
|
173
|
+
- **Enhanced ImageModal integration**: Modal now receives and uses both uploadHandler and uploadManager props
|
|
174
|
+
- **Improved retry functionality**: Retry button now works with both upload methods
|
|
175
|
+
- **Better error handling**: Enhanced error messages and fallback mechanisms
|
|
176
|
+
|
|
177
|
+
#### Technical Improvements
|
|
178
|
+
- Fixed auto-upload trigger in ImageModal when files are selected
|
|
179
|
+
- Added proper prop passing from editor components to ImageModal
|
|
180
|
+
- Enhanced upload method detection and execution
|
|
181
|
+
- Improved upload progress tracking for both upload types
|
|
182
|
+
|
|
183
|
+
## [1.2.3] - 2025-01-19
|
|
184
|
+
|
|
185
|
+
### 🐛 Bug Fixes
|
|
186
|
+
|
|
187
|
+
#### ImageModal Component Fixes
|
|
188
|
+
- **Fixed async/await syntax error**: Resolved syntax error in `handleFile` method that was using `await` without `async` declaration
|
|
189
|
+
- **Fixed missing method**: Added `insertLocalImage` method that was referenced in template but not implemented
|
|
190
|
+
- **Improved upload flow**: Fixed logic flow issues where preview URL creation was skipped during API uploads
|
|
191
|
+
- **Enhanced error handling**: Better async consistency across all file handling methods
|
|
192
|
+
- **Auto-upload functionality**: Files now automatically upload when upload manager is available
|
|
193
|
+
|
|
194
|
+
#### Technical Improvements
|
|
195
|
+
- Made `handleFileSelect`, `handleDrop`, and `retryUpload` methods properly async
|
|
196
|
+
- Simplified file handling logic for better predictability
|
|
197
|
+
- Removed redundant variable assignments
|
|
198
|
+
- Improved user experience with proper error handling and retry mechanisms
|
|
199
|
+
|
|
200
|
+
## [1.2.2] - 2025-01-19
|
|
201
|
+
|
|
202
|
+
### 🐛 Bug Fixes
|
|
203
|
+
|
|
204
|
+
#### Upload Handler Validation Fix
|
|
205
|
+
- **Fixed "No URL returned from upload handler" error**: Upload handlers returning `{ src: "url", alt: "name" }` format now work correctly
|
|
206
|
+
- **Enhanced URL validation**: Added support for `result.src` in addition to `result.url` and `result.publicUrl`
|
|
207
|
+
- **Improved error handling**: Better validation logic for different upload response formats
|
|
208
|
+
|
|
209
|
+
#### Technical Improvements
|
|
210
|
+
- Fixed ImageModal upload validation to properly handle `src` property in upload results
|
|
211
|
+
- Enhanced upload result parsing to support multiple URL property formats
|
|
212
|
+
- Improved compatibility with different API response structures
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## [1.2.1] - 2025-01-19
|
|
217
|
+
|
|
218
|
+
### 🚀 Major Features Added - Upload Management System
|
|
219
|
+
|
|
220
|
+
#### Upload Management System
|
|
221
|
+
- **Base64 Upload Management**: Complete local file management with configurable compression
|
|
222
|
+
- **Hybrid Upload Mode**: Base64 preview with background API upload and URL replacement
|
|
223
|
+
- **Image Compression**: Intelligent compression with configurable quality and dimensions
|
|
224
|
+
- **Upload Events**: Comprehensive event system for upload progress and compression statistics
|
|
225
|
+
|
|
226
|
+
#### New Props
|
|
227
|
+
- `useBase64Upload` - Enable/disable base64 upload mode
|
|
228
|
+
- `base64Quality` - Compression quality (0.1 - 1.0)
|
|
229
|
+
- `base64MaxWidth` - Maximum image width for compression
|
|
230
|
+
- `base64MaxHeight` - Maximum image height for compression
|
|
231
|
+
- `enableImageCompression` - Toggle image compression
|
|
232
|
+
- `preserveOriginalFileName` - Keep original file names
|
|
233
|
+
- `base64Prefix` - Custom base64 data prefix
|
|
234
|
+
|
|
235
|
+
#### New Events
|
|
236
|
+
- `@image-compressed` - Fired when image compression completes with detailed statistics
|
|
237
|
+
- `@upload-progress` - Upload progress tracking
|
|
238
|
+
- `@upload-complete` - Upload completion notification
|
|
239
|
+
- `@upload-error` - Upload error handling
|
|
240
|
+
|
|
241
|
+
#### Options API Support Enhanced
|
|
242
|
+
- **PremiumBblEditorOptionsAPI**: Complete Options API component with all upload features
|
|
243
|
+
- **Full Feature Parity**: All Composition API features available in Options API
|
|
244
|
+
- **Upload Management**: Complete base64 and API upload support in Options API
|
|
245
|
+
|
|
246
|
+
### 🧪 Testing Infrastructure
|
|
247
|
+
|
|
248
|
+
#### Comprehensive Testing Suite
|
|
249
|
+
- **Local-to-API Upload Test**: Complete workflow testing component
|
|
250
|
+
- **Performance Testing Tool**: Advanced performance analysis and optimization
|
|
251
|
+
- **Test API Server**: Node.js/Express server with configurable failure simulation
|
|
252
|
+
- **Upload Statistics**: Real-time metrics and performance tracking
|
|
253
|
+
|
|
254
|
+
#### Testing Components
|
|
255
|
+
- `local-to-api-upload-test.vue` - Complete upload workflow testing
|
|
256
|
+
- `upload-performance-test.vue` - Performance testing and optimization
|
|
257
|
+
- `base64-upload-example.vue` - Base64 management demonstration
|
|
258
|
+
- `test-api-server.js` - Configurable test server with web interface
|
|
259
|
+
|
|
260
|
+
### 📚 Documentation Enhancements
|
|
261
|
+
|
|
262
|
+
#### New Documentation Files
|
|
263
|
+
- `COMPONENT_USAGE_GUIDE.md` - Comprehensive component API reference
|
|
264
|
+
- `PACKAGE_DOCUMENTATION.md` - Complete package documentation
|
|
265
|
+
- `EXTERNAL_INTEGRATION_GUIDE.md` - Integration examples and patterns
|
|
266
|
+
- `UPLOAD_TESTING_COMPLETE.md` - Testing system documentation
|
|
267
|
+
- `examples/README.md` - Comprehensive examples documentation
|
|
268
|
+
|
|
269
|
+
#### Updated Documentation
|
|
270
|
+
- Enhanced main `README.md` with upload management features
|
|
271
|
+
- Complete TypeScript definitions in `types/index.d.ts`
|
|
272
|
+
- Detailed integration examples and usage patterns
|
|
273
|
+
|
|
274
|
+
### 🔧 Technical Improvements
|
|
275
|
+
|
|
276
|
+
#### TypeScript Support
|
|
277
|
+
- Complete type definitions for all new props and events
|
|
278
|
+
- Interface definitions for upload handlers and compression data
|
|
279
|
+
- Enhanced IDE support with comprehensive type checking
|
|
280
|
+
|
|
281
|
+
#### Performance Optimizations
|
|
282
|
+
- Intelligent image compression algorithms
|
|
283
|
+
- Memory-efficient base64 handling
|
|
284
|
+
- Optimized upload queue management
|
|
285
|
+
- Configurable compression settings for different use cases
|
|
286
|
+
|
|
287
|
+
#### Error Handling
|
|
288
|
+
- Comprehensive error handling for upload failures
|
|
289
|
+
- Graceful fallback from API to base64 mode
|
|
290
|
+
- Detailed error reporting and debugging tools
|
|
291
|
+
|
|
292
|
+
### 🎯 Use Cases Supported
|
|
293
|
+
|
|
294
|
+
#### Upload Modes
|
|
295
|
+
1. **Base64 Only**: Local storage with immediate preview
|
|
296
|
+
2. **API Only**: Direct server upload
|
|
297
|
+
3. **Hybrid**: Base64 preview + background API upload (recommended)
|
|
298
|
+
|
|
299
|
+
#### Integration Patterns
|
|
300
|
+
- Blog editors with image management
|
|
301
|
+
- CMS systems with media upload
|
|
302
|
+
- Comment systems with file attachments
|
|
303
|
+
- Documentation tools with media support
|
|
304
|
+
|
|
305
|
+
### 🛠️ Developer Experience
|
|
306
|
+
|
|
307
|
+
#### Easy Setup
|
|
308
|
+
- Drop-in components with minimal configuration
|
|
309
|
+
- Comprehensive examples for all use cases
|
|
310
|
+
- Test server for local development and testing
|
|
311
|
+
- Performance optimization tools and recommendations
|
|
312
|
+
|
|
313
|
+
#### Debugging Tools
|
|
314
|
+
- Debug mode with detailed logging
|
|
315
|
+
- Upload statistics and performance metrics
|
|
316
|
+
- Visual performance charts and analysis
|
|
317
|
+
- Automated optimization recommendations
|
|
318
|
+
|
|
319
|
+
### 📦 Package Updates
|
|
320
|
+
|
|
321
|
+
#### Build System
|
|
322
|
+
- Updated build configuration for new components
|
|
323
|
+
- Enhanced file inclusion for examples and types
|
|
324
|
+
- Improved package structure and organization
|
|
325
|
+
|
|
326
|
+
#### Dependencies
|
|
327
|
+
- All dependencies updated to latest stable versions
|
|
328
|
+
- Enhanced peer dependency management
|
|
329
|
+
- Improved compatibility with Vue 2.6+
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## [1.2.0] - 2025-01-19
|
|
334
|
+
|
|
335
|
+
### 🚀 Major Features Added
|
|
336
|
+
|
|
337
|
+
#### Upload Management System
|
|
338
|
+
- **Base64 Upload Management**: Complete local file management with configurable compression
|
|
339
|
+
- **Hybrid Upload Mode**: Base64 preview with background API upload and URL replacement
|
|
340
|
+
- **Image Compression**: Intelligent compression with configurable quality and dimensions
|
|
341
|
+
- **Upload Events**: Comprehensive event system for upload progress and compression statistics
|
|
342
|
+
|
|
343
|
+
#### New Props
|
|
344
|
+
- `useBase64Upload` - Enable/disable base64 upload mode
|
|
345
|
+
- `base64Quality` - Compression quality (0.1 - 1.0)
|
|
346
|
+
- `base64MaxWidth` - Maximum image width for compression
|
|
347
|
+
- `base64MaxHeight` - Maximum image height for compression
|
|
348
|
+
- `enableImageCompression` - Toggle image compression
|
|
349
|
+
- `preserveOriginalFileName` - Keep original file names
|
|
350
|
+
- `base64Prefix` - Custom base64 data prefix
|
|
351
|
+
|
|
352
|
+
#### New Events
|
|
353
|
+
- `@image-compressed` - Fired when image compression completes with detailed statistics
|
|
354
|
+
- `@upload-progress` - Upload progress tracking
|
|
355
|
+
- `@upload-complete` - Upload completion notification
|
|
356
|
+
- `@upload-error` - Upload error handling
|
|
357
|
+
|
|
358
|
+
#### Options API Support Enhanced
|
|
359
|
+
- **PremiumBblEditorOptionsAPI**: Complete Options API component with all upload features
|
|
360
|
+
- **Full Feature Parity**: All Composition API features available in Options API
|
|
361
|
+
- **Upload Management**: Complete base64 and API upload support in Options API
|
|
362
|
+
|
|
363
|
+
### 🧪 Testing Infrastructure
|
|
364
|
+
|
|
365
|
+
#### Comprehensive Testing Suite
|
|
366
|
+
- **Local-to-API Upload Test**: Complete workflow testing component
|
|
367
|
+
- **Performance Testing Tool**: Advanced performance analysis and optimization
|
|
368
|
+
- **Test API Server**: Node.js/Express server with configurable failure simulation
|
|
369
|
+
- **Upload Statistics**: Real-time metrics and performance tracking
|
|
370
|
+
|
|
371
|
+
#### Testing Components
|
|
372
|
+
- `local-to-api-upload-test.vue` - Complete upload workflow testing
|
|
373
|
+
- `upload-performance-test.vue` - Performance testing and optimization
|
|
374
|
+
- `base64-upload-example.vue` - Base64 management demonstration
|
|
375
|
+
- `test-api-server.js` - Configurable test server with web interface
|
|
376
|
+
|
|
377
|
+
### 📚 Documentation Enhancements
|
|
378
|
+
|
|
379
|
+
#### New Documentation Files
|
|
380
|
+
- `COMPONENT_USAGE_GUIDE.md` - Comprehensive component API reference
|
|
381
|
+
- `PACKAGE_DOCUMENTATION.md` - Complete package documentation
|
|
382
|
+
- `EXTERNAL_INTEGRATION_GUIDE.md` - Integration examples and patterns
|
|
383
|
+
- `UPLOAD_TESTING_COMPLETE.md` - Testing system documentation
|
|
384
|
+
- `examples/README.md` - Comprehensive examples documentation
|
|
385
|
+
|
|
386
|
+
#### Updated Documentation
|
|
387
|
+
- Enhanced main `README.md` with upload management features
|
|
388
|
+
- Complete TypeScript definitions in `types/index.d.ts`
|
|
389
|
+
- Detailed integration examples and usage patterns
|
|
390
|
+
|
|
391
|
+
### 🔧 Technical Improvements
|
|
392
|
+
|
|
393
|
+
#### TypeScript Support
|
|
394
|
+
- Complete type definitions for all new props and events
|
|
395
|
+
- Interface definitions for upload handlers and compression data
|
|
396
|
+
- Enhanced IDE support with comprehensive type checking
|
|
397
|
+
|
|
398
|
+
#### Performance Optimizations
|
|
399
|
+
- Intelligent image compression algorithms
|
|
400
|
+
- Memory-efficient base64 handling
|
|
401
|
+
- Optimized upload queue management
|
|
402
|
+
- Configurable compression settings for different use cases
|
|
403
|
+
|
|
404
|
+
#### Error Handling
|
|
405
|
+
- Comprehensive error handling for upload failures
|
|
406
|
+
- Graceful fallback from API to base64 mode
|
|
407
|
+
- Detailed error reporting and debugging tools
|
|
408
|
+
|
|
409
|
+
### 🎯 Use Cases Supported
|
|
410
|
+
|
|
411
|
+
#### Upload Modes
|
|
412
|
+
1. **Base64 Only**: Local storage with immediate preview
|
|
413
|
+
2. **API Only**: Direct server upload
|
|
414
|
+
3. **Hybrid**: Base64 preview + background API upload (recommended)
|
|
415
|
+
|
|
416
|
+
#### Integration Patterns
|
|
417
|
+
- Blog editors with image management
|
|
418
|
+
- CMS systems with media upload
|
|
419
|
+
- Comment systems with file attachments
|
|
420
|
+
- Documentation tools with media support
|
|
421
|
+
|
|
422
|
+
### 🛠️ Developer Experience
|
|
423
|
+
|
|
424
|
+
#### Easy Setup
|
|
425
|
+
- Drop-in components with minimal configuration
|
|
426
|
+
- Comprehensive examples for all use cases
|
|
427
|
+
- Test server for local development and testing
|
|
428
|
+
- Performance optimization tools and recommendations
|
|
429
|
+
|
|
430
|
+
#### Debugging Tools
|
|
431
|
+
- Debug mode with detailed logging
|
|
432
|
+
- Upload statistics and performance metrics
|
|
433
|
+
- Visual performance charts and analysis
|
|
434
|
+
- Automated optimization recommendations
|
|
435
|
+
|
|
436
|
+
### 📦 Package Updates
|
|
437
|
+
|
|
438
|
+
#### Build System
|
|
439
|
+
- Updated build configuration for new components
|
|
440
|
+
- Enhanced file inclusion for examples and types
|
|
441
|
+
- Improved package structure and organization
|
|
442
|
+
|
|
443
|
+
#### Dependencies
|
|
444
|
+
- All dependencies updated to latest stable versions
|
|
445
|
+
- Enhanced peer dependency management
|
|
446
|
+
- Improved compatibility with Vue 2.6+
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## [1.1.2] - 2026-01-18
|
|
451
|
+
|
|
452
|
+
### Fixed
|
|
453
|
+
- **JavaScript Compatibility**: Fixed "Unexpected token '!'" errors in consuming projects
|
|
454
|
+
- **Transpilation**: Enhanced babel configuration for better browser support
|
|
455
|
+
- **Build System**: Improved webpack transpilation rules for @tiptap and prosemirror packages
|
|
456
|
+
- **Browser Support**: Better support for IE11 and older browsers
|
|
457
|
+
|
|
458
|
+
### Added
|
|
459
|
+
- **COMPATIBILITY_GUIDE.md**: Comprehensive guide for resolving JavaScript syntax errors
|
|
460
|
+
- **Enhanced Babel Config**: Better transpilation with optional chaining and nullish coalescing support
|
|
461
|
+
- **Webpack Rules**: Improved transpilation rules for dependencies
|
|
462
|
+
|
|
463
|
+
### Improved
|
|
464
|
+
- **Bundle Compatibility**: Better compatibility across different build systems
|
|
465
|
+
- **Error Prevention**: Proactive transpilation to prevent syntax errors in consuming projects
|
|
466
|
+
|
|
467
|
+
## [1.1.1] - 2026-01-18
|
|
468
|
+
|
|
469
|
+
### Fixed
|
|
470
|
+
- **TypeScript Definitions**: Updated TypeScript declarations to include both API components
|
|
471
|
+
- **Import Errors**: Fixed TypeScript import errors for `PremiumBblEditorOptionsAPI`
|
|
472
|
+
- **Type Safety**: Added proper type definitions for `DiagnosticTool`, `DebugHelper`, and `useEditor` composable
|
|
473
|
+
|
|
474
|
+
### Added
|
|
475
|
+
- Complete TypeScript support for dual API architecture
|
|
476
|
+
- Proper type exports for all components and composables
|
|
477
|
+
|
|
478
|
+
## [1.1.0] - 2026-01-18
|
|
479
|
+
|
|
480
|
+
### Added
|
|
481
|
+
- **🎯 Dual API Support**: Now supports both Options API and Composition API
|
|
482
|
+
- **New Component**: `PremiumBblEditorOptionsAPI` for traditional Vue 2 projects (no Composition API required)
|
|
483
|
+
- **API Flexibility**: Choose between `PremiumBblEditor` (Composition API) or `PremiumBblEditorOptionsAPI` (Options API)
|
|
484
|
+
- **Comprehensive Documentation**: New `API_SUPPORT_GUIDE.md` with detailed usage examples
|
|
485
|
+
- **Usage Examples**: Added example files for both API styles
|
|
486
|
+
|
|
487
|
+
### Improved
|
|
488
|
+
- **Compatibility**: Maximum compatibility with all Vue 2.6+ projects
|
|
489
|
+
- **Dependency Management**: Options API version eliminates Composition API dependency issues
|
|
490
|
+
- **Developer Experience**: Clear choice between API styles based on project needs
|
|
491
|
+
|
|
492
|
+
### Technical
|
|
493
|
+
- Both components have identical features and configuration options
|
|
494
|
+
- Seamless migration path between API styles
|
|
495
|
+
- Updated exports to include both components
|
|
496
|
+
|
|
497
|
+
## [1.0.5] - 2026-01-18
|
|
498
|
+
|
|
499
|
+
### Added
|
|
500
|
+
- **🔍 Diagnostic Tool**: New `DiagnosticTool` component that checks for missing dependencies
|
|
501
|
+
- **Enhanced Error Handling**: Editor now shows specific error messages when dependencies are missing
|
|
502
|
+
- **Better Loading States**: Clear distinction between loading and error states
|
|
503
|
+
- **Dependency Validation**: Automatic checking of required dependencies during editor initialization
|
|
504
|
+
|
|
505
|
+
### Improved
|
|
506
|
+
- **Error Messages**: More helpful error messages with specific missing dependencies listed
|
|
507
|
+
- **Setup Documentation**: Updated QUICK_SETUP.md with diagnostic tool usage
|
|
508
|
+
- **User Experience**: Users now get actionable feedback instead of indefinite loading
|
|
509
|
+
|
|
510
|
+
### Fixed
|
|
511
|
+
- **"Loading Premium Editor..." Issue**: Now shows specific error when dependencies are missing
|
|
512
|
+
- **Silent Failures**: Editor initialization errors are now properly caught and displayed
|
|
513
|
+
|
|
514
|
+
### Technical Changes
|
|
515
|
+
- Enhanced `useEditor` composable with dependency checking
|
|
516
|
+
- Added `editorError` and `missingDependencies` reactive properties
|
|
517
|
+
- Improved error handling in editor initialization
|
|
518
|
+
- Added comprehensive dependency validation
|
|
519
|
+
|
|
520
|
+
## [1.0.4] - 2024-01-18
|
|
521
|
+
|
|
522
|
+
### Fixed
|
|
523
|
+
- **Critical**: Resolved Vue version mismatch between vue@2.6.14 and vue-template-compiler@2.7.16
|
|
524
|
+
- **Syntax**: Fixed optional chaining operators (`?.`) causing compilation errors in older Babel setups
|
|
525
|
+
- **Composition API**: Fixed imports to use `@vue/composition-api` instead of `vue` for Vue 2.6 compatibility
|
|
526
|
+
- **Development**: Added proper Vue Composition API setup in main.js for local development
|
|
527
|
+
|
|
528
|
+
### Improved
|
|
529
|
+
- Better compatibility with Vue 2.6 projects
|
|
530
|
+
- Resolved all compilation errors in development and production builds
|
|
531
|
+
- Enhanced local development experience with proper error handling
|
|
532
|
+
- All linting issues resolved
|
|
533
|
+
|
|
534
|
+
### Technical
|
|
535
|
+
- Updated vue-template-compiler to match Vue version (2.6.14)
|
|
536
|
+
- Replaced optional chaining with compatible syntax across all components
|
|
537
|
+
- Fixed Composition API imports in useEditor composable
|
|
538
|
+
- Added comprehensive local development fixes documentation
|
|
539
|
+
|
|
540
|
+
## [1.0.3] - 2024-01-18
|
|
541
|
+
|
|
542
|
+
### Fixed
|
|
543
|
+
- **Critical**: Added missing ProseMirror peer dependencies to resolve `Can't resolve '@tiptap/pm/dropcursor'` errors
|
|
544
|
+
- Updated installation commands to include all required ProseMirror packages
|
|
545
|
+
- Enhanced troubleshooting guide with ProseMirror-specific error solutions
|
|
546
|
+
|
|
547
|
+
### Added
|
|
548
|
+
- Complete ProseMirror dependencies list in package.json peer dependencies
|
|
549
|
+
- Step-by-step installation guide as alternative to one-command install
|
|
550
|
+
- Specific error resolution for ProseMirror module resolution issues
|
|
551
|
+
|
|
552
|
+
### Improved
|
|
553
|
+
- More comprehensive dependency installation instructions
|
|
554
|
+
- Better error handling documentation for missing dependencies
|
|
555
|
+
|
|
556
|
+
## [1.0.2] - 2024-01-18
|
|
557
|
+
|
|
558
|
+
### Added
|
|
559
|
+
- **Documentation**: Comprehensive troubleshooting guide for "Loading Premium Editor..." issue
|
|
560
|
+
- **Setup Guide**: Quick setup instructions with one-command installation
|
|
561
|
+
- **Peer Dependencies**: Complete list of required Tiptap dependencies in package.json
|
|
562
|
+
|
|
563
|
+
### Improved
|
|
564
|
+
- Better error handling documentation
|
|
565
|
+
- Step-by-step setup instructions for Vue 2.6 projects
|
|
566
|
+
- Nuxt.js specific setup instructions
|
|
567
|
+
|
|
568
|
+
### Fixed
|
|
569
|
+
- Documentation for Vue Composition API requirement in Vue 2.6
|
|
570
|
+
- Clear instructions for resolving loading state issues
|
|
571
|
+
|
|
572
|
+
## [1.0.1] - 2024-01-18
|
|
573
|
+
|
|
574
|
+
### Fixed
|
|
575
|
+
- **Critical**: Resolved Vue case sensitivity issue in CommonJS build that caused `CaseSensitivePathsPlugin` errors when importing in other projects
|
|
576
|
+
- Fixed externals configuration to properly handle Vue module resolution across different build formats
|
|
577
|
+
- Updated repository URLs to correct GitHub path (Mahadi74/vue2-premium-bbl-editor)
|
|
578
|
+
|
|
579
|
+
### Improved
|
|
580
|
+
- **Bundle Size**: Reduced minified bundle size from 440KB to 213KB (51KB gzipped)
|
|
581
|
+
- Better externals configuration for Tiptap dependencies
|
|
582
|
+
- Added proper Vue runtime alias for consistent module resolution
|
|
583
|
+
|
|
584
|
+
### Technical
|
|
585
|
+
- Fixed webpack externals to use proper format for different module systems (CommonJS, UMD, AMD)
|
|
586
|
+
- Added comprehensive externals list for all Tiptap extensions
|
|
587
|
+
- Improved build configuration for library distribution
|
|
588
|
+
|
|
589
|
+
## [1.0.0] - 2024-01-18
|
|
590
|
+
|
|
591
|
+
### Added
|
|
592
|
+
- Initial release of Vue 2 Premium BBL Editor
|
|
593
|
+
- Full Vue 2.6+ compatibility
|
|
594
|
+
- Production-ready rich text editor with Tiptap
|
|
595
|
+
- Comprehensive configuration system with 50+ props
|
|
596
|
+
- Multiple themes (default, minimal, dark)
|
|
597
|
+
- Advanced media handling (resizable images and videos)
|
|
598
|
+
- Interactive table system with cell controls
|
|
599
|
+
- Auto-save functionality
|
|
600
|
+
- Source code view toggle
|
|
601
|
+
- Upload handling with custom upload functions
|
|
602
|
+
- TypeScript definitions
|
|
603
|
+
- Comprehensive event system
|
|
604
|
+
- Bubble menus for contextual editing
|
|
605
|
+
- Toolbar customization
|
|
606
|
+
- Extension configuration system
|
|
607
|
+
- Content validation and limits
|
|
608
|
+
- Custom CSS class support
|
|
609
|
+
- Font family and size configuration
|
|
610
|
+
- Line height controls
|
|
611
|
+
- Text alignment options
|
|
612
|
+
- Color and highlight support
|
|
613
|
+
- Link management with modal
|
|
614
|
+
- Task lists with checkboxes
|
|
615
|
+
- Code blocks with syntax highlighting
|
|
616
|
+
- Blockquotes and horizontal rules
|
|
617
|
+
- Undo/redo functionality
|
|
618
|
+
- Placeholder support
|
|
619
|
+
- Spellcheck configuration
|
|
620
|
+
- Focus and blur handling
|
|
621
|
+
- Content format options (HTML/JSON)
|
|
622
|
+
- Responsive design
|
|
623
|
+
- Accessibility features
|
|
624
|
+
- Demo components and examples
|
|
625
|
+
- Comprehensive documentation
|
|
626
|
+
|
|
627
|
+
### Technical Features
|
|
628
|
+
- Vue plugin architecture
|
|
629
|
+
- Individual component exports
|
|
630
|
+
- Composable useEditor function
|
|
631
|
+
- Custom Tiptap extensions
|
|
632
|
+
- CSS-in-JS styling
|
|
633
|
+
- Build optimization for libraries
|
|
634
|
+
- External dependency management
|
|
635
|
+
- Tree-shaking support
|
|
636
|
+
- ES modules and CommonJS builds
|
|
637
|
+
- UMD build for CDN usage
|
|
638
|
+
|
|
639
|
+
### Documentation
|
|
640
|
+
- Complete README with usage examples
|
|
641
|
+
- TypeScript definitions
|
|
642
|
+
- API documentation
|
|
643
|
+
- Configuration guide
|
|
644
|
+
- Event handling examples
|
|
645
|
+
- Custom styling guide
|
|
646
|
+
- Upload handling examples
|
|
647
|
+
- Theme customization
|
|
648
|
+
- Extension configuration
|
|
649
|
+
- Troubleshooting guide
|
|
650
|
+
|
|
651
|
+
### Development
|
|
652
|
+
- Vue CLI build system
|
|
653
|
+
- Jest testing setup
|
|
654
|
+
- ESLint configuration
|
|
655
|
+
- Babel transpilation
|
|
656
|
+
- Development server
|
|
657
|
+
- Hot module replacement
|
|
658
|
+
- Production build optimization
|
|
659
|
+
- Library build configuration
|