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 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