@lobehub/editor 1.5.2 → 1.5.3

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.
@@ -35,7 +35,7 @@ export var ReactMathPlugin = function ReactMathPlugin(_ref) {
35
35
  },
36
36
  theme: theme || styles
37
37
  });
38
- }, [editor]);
38
+ }, [editor, className, theme, styles]);
39
39
  return /*#__PURE__*/_jsx(MathEdit, {
40
40
  renderComp: renderComp
41
41
  });
@@ -35,7 +35,7 @@ var ReactMentionPlugin = function ReactMentionPlugin(_ref) {
35
35
  markdownWriter: markdownWriter,
36
36
  theme: theme || styles
37
37
  });
38
- }, [editor]);
38
+ }, [editor, className, markdownWriter, theme, styles]);
39
39
  return null;
40
40
  };
41
41
  ReactMentionPlugin.displayName = 'ReactMentionPlugin';
@@ -30,6 +30,7 @@ export declare class SlashService implements ISlashService {
30
30
  private triggerMap;
31
31
  private triggerFnMap;
32
32
  private triggerFuseMap;
33
+ private logger;
33
34
  constructor(kernel: IEditorKernel);
34
35
  registerSlash(options: SlashOptions): void;
35
36
  getSlashOptions(trigger: string): SlashOptions | undefined;
@@ -10,6 +10,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
10
10
 
11
11
  import Fuse from 'fuse.js';
12
12
  import { genServiceId } from "../../../editor-kernel";
13
+ import { createDebugLogger } from "../../../utils/debug";
13
14
  import { getBasicTypeaheadTriggerMatch } from "../utils/utils";
14
15
  export var ISlashService = genServiceId('SlashService');
15
16
  export var SlashService = /*#__PURE__*/function () {
@@ -18,6 +19,7 @@ export var SlashService = /*#__PURE__*/function () {
18
19
  _defineProperty(this, "triggerMap", new Map());
19
20
  _defineProperty(this, "triggerFnMap", new Map());
20
21
  _defineProperty(this, "triggerFuseMap", new Map());
22
+ _defineProperty(this, "logger", createDebugLogger('service', 'slash'));
21
23
  this.kernel = kernel;
22
24
  }
23
25
  // Specific service methods can be added here
@@ -26,7 +28,7 @@ export var SlashService = /*#__PURE__*/function () {
26
28
  value: function registerSlash(options) {
27
29
  if (this.triggerMap.has(options.trigger)) {
28
30
  if (this.kernel.isHotReloadMode()) {
29
- console.warn("[Hot Reload] Overriding slash trigger \"".concat(options.trigger, "\""));
31
+ this.logger.warn("\uD83D\uDD04 Overriding slash trigger \"".concat(options.trigger, "\""));
30
32
  } else {
31
33
  throw new Error("Slash trigger \"".concat(options.trigger, "\" is already registered."));
32
34
  }
@@ -38,6 +40,7 @@ export var SlashService = /*#__PURE__*/function () {
38
40
  minLength: options.minLength,
39
41
  punctuation: options.punctuation
40
42
  }));
43
+ this.logger.debug("\u26A1 Slash trigger: ".concat(options.trigger));
41
44
  if (Array.isArray(options.items)) {
42
45
  // Filter out divider items for search functionality
43
46
  var searchableItems = options.items.filter(function (item) {
@@ -19,6 +19,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
19
19
  import { DRAG_DROP_PASTE } from '@lexical/rich-text';
20
20
  import { COMMAND_PRIORITY_HIGH, DROP_COMMAND } from 'lexical';
21
21
  import { KernelPlugin } from "../../../editor-kernel/plugin";
22
+ import { createDebugLogger } from "../../../utils/debug";
22
23
  import { IUploadService, UploadService } from "../service/i-upload-service";
23
24
  import { getDragSelection } from "../utils";
24
25
 
@@ -32,6 +33,7 @@ export var UploadPlugin = (_class = /*#__PURE__*/function (_KernelPlugin) {
32
33
  _classCallCheck(this, UploadPlugin);
33
34
  _this = _super.call(this);
34
35
  // Register the upload service
36
+ _defineProperty(_assertThisInitialized(_this), "logger", createDebugLogger('plugin', 'upload'));
35
37
  _this.kernel = kernel;
36
38
  _this.config = config;
37
39
  kernel.registerService(IUploadService, new UploadService());
@@ -50,7 +52,7 @@ export var UploadPlugin = (_class = /*#__PURE__*/function (_KernelPlugin) {
50
52
  var uploadService = _this2.kernel.requireService(IUploadService);
51
53
  if (uploadService) {
52
54
  uploadService.uploadFile(file, 'drop', getDragSelection(event)).catch(function (error) {
53
- console.error('Upload failed:', error);
55
+ _this2.logger.error('Upload failed:', error);
54
56
  });
55
57
  }
56
58
  }
@@ -65,7 +67,7 @@ export var UploadPlugin = (_class = /*#__PURE__*/function (_KernelPlugin) {
65
67
  var uploadService = _this2.kernel.requireService(IUploadService);
66
68
  if (uploadService) {
67
69
  uploadService.uploadFile(file, 'drag-drop-paste', null).catch(function (error) {
68
- console.error('Upload failed:', error);
70
+ _this2.logger.error('Upload failed:', error);
69
71
  });
70
72
  }
71
73
  }
@@ -63,9 +63,10 @@ var Editor = /*#__PURE__*/memo(function (_ref) {
63
63
  var memoMention = useMemo(function () {
64
64
  if (!enableMention) return;
65
65
  return /*#__PURE__*/_jsx(ReactMentionPlugin, {
66
+ className: className,
66
67
  markdownWriter: markdownWriter
67
68
  });
68
- }, [enableMention, markdownWriter]);
69
+ }, [enableMention, markdownWriter, className]);
69
70
  var memoSlash = useMemo(function () {
70
71
  if (!enableSlash && !enableMention) return null;
71
72
  return /*#__PURE__*/_jsxs(ReactSlashPlugin, {
@@ -0,0 +1,396 @@
1
+ import createDebug from 'debug';
2
+ /**
3
+ * Debug utility factory for LobeHub Editor
4
+ * Creates namespaced debug functions following the pattern: lobe-editor:category
5
+ */
6
+ export declare class DebugLogger {
7
+ private debuggers;
8
+ /**
9
+ * Get or create a debug function for a specific namespace
10
+ * @param category - The debug category (e.g., 'kernel', 'plugin', 'upload')
11
+ * @param subcategory - Optional subcategory for more specific debugging
12
+ * @returns Debug function
13
+ */
14
+ getDebugger(category: string, subcategory?: string): createDebug.Debugger;
15
+ /**
16
+ * Create a scoped debug logger for a specific component/service
17
+ * @param category - Main category
18
+ * @param subcategory - Optional subcategory
19
+ * @returns Object with debug methods
20
+ */
21
+ createLogger(category: string, subcategory?: string): {
22
+ /**
23
+ * General debug logging
24
+ */
25
+ debug: createDebug.Debugger;
26
+ /**
27
+ * Error level logging - uses console.error for proper browser dev tool support
28
+ */
29
+ error: (...args: any[]) => void;
30
+ /**
31
+ * Info level logging
32
+ */
33
+ info: createDebug.Debugger;
34
+ /**
35
+ * Log function - alias for debug for compatibility
36
+ */
37
+ log: createDebug.Debugger;
38
+ /**
39
+ * Warning level logging - uses console.warn for proper browser dev tool support
40
+ */
41
+ warn: (...args: any[]) => void;
42
+ };
43
+ /**
44
+ * Enable debug for specific namespaces
45
+ * @param namespaces - Comma-separated list of namespaces to enable
46
+ */
47
+ enable(namespaces: string): void;
48
+ /**
49
+ * Disable all debug output
50
+ */
51
+ disable(): void;
52
+ /**
53
+ * Check if a namespace is enabled
54
+ * @param namespace - The namespace to check
55
+ * @returns Whether the namespace is enabled
56
+ */
57
+ enabled(namespace: string): boolean;
58
+ }
59
+ /**
60
+ * Global debug logger instance
61
+ */
62
+ export declare const debugLogger: DebugLogger;
63
+ /**
64
+ * Convenience function to create a debug logger for a specific category
65
+ * @param category - Main category (e.g., 'kernel', 'plugin', 'upload')
66
+ * @param subcategory - Optional subcategory
67
+ * @returns Logger object with debug methods
68
+ */
69
+ export declare function createDebugLogger(category: string, subcategory?: string): {
70
+ /**
71
+ * General debug logging
72
+ */
73
+ debug: createDebug.Debugger;
74
+ /**
75
+ * Error level logging - uses console.error for proper browser dev tool support
76
+ */
77
+ error: (...args: any[]) => void;
78
+ /**
79
+ * Info level logging
80
+ */
81
+ info: createDebug.Debugger;
82
+ /**
83
+ * Log function - alias for debug for compatibility
84
+ */
85
+ log: createDebug.Debugger;
86
+ /**
87
+ * Warning level logging - uses console.warn for proper browser dev tool support
88
+ */
89
+ warn: (...args: any[]) => void;
90
+ };
91
+ /**
92
+ * Pre-configured debug loggers for common categories
93
+ */
94
+ export declare const debugLoggers: {
95
+ demo: {
96
+ /**
97
+ * General debug logging
98
+ */
99
+ debug: createDebug.Debugger;
100
+ /**
101
+ * Error level logging - uses console.error for proper browser dev tool support
102
+ */
103
+ error: (...args: any[]) => void;
104
+ /**
105
+ * Info level logging
106
+ */
107
+ info: createDebug.Debugger;
108
+ /**
109
+ * Log function - alias for debug for compatibility
110
+ */
111
+ log: createDebug.Debugger;
112
+ /**
113
+ * Warning level logging - uses console.warn for proper browser dev tool support
114
+ */
115
+ warn: (...args: any[]) => void;
116
+ };
117
+ file: {
118
+ /**
119
+ * General debug logging
120
+ */
121
+ debug: createDebug.Debugger;
122
+ /**
123
+ * Error level logging - uses console.error for proper browser dev tool support
124
+ */
125
+ error: (...args: any[]) => void;
126
+ /**
127
+ * Info level logging
128
+ */
129
+ info: createDebug.Debugger;
130
+ /**
131
+ * Log function - alias for debug for compatibility
132
+ */
133
+ log: createDebug.Debugger;
134
+ /**
135
+ * Warning level logging - uses console.warn for proper browser dev tool support
136
+ */
137
+ warn: (...args: any[]) => void;
138
+ };
139
+ image: {
140
+ /**
141
+ * General debug logging
142
+ */
143
+ debug: createDebug.Debugger;
144
+ /**
145
+ * Error level logging - uses console.error for proper browser dev tool support
146
+ */
147
+ error: (...args: any[]) => void;
148
+ /**
149
+ * Info level logging
150
+ */
151
+ info: createDebug.Debugger;
152
+ /**
153
+ * Log function - alias for debug for compatibility
154
+ */
155
+ log: createDebug.Debugger;
156
+ /**
157
+ * Warning level logging - uses console.warn for proper browser dev tool support
158
+ */
159
+ warn: (...args: any[]) => void;
160
+ };
161
+ kernel: {
162
+ /**
163
+ * General debug logging
164
+ */
165
+ debug: createDebug.Debugger;
166
+ /**
167
+ * Error level logging - uses console.error for proper browser dev tool support
168
+ */
169
+ error: (...args: any[]) => void;
170
+ /**
171
+ * Info level logging
172
+ */
173
+ info: createDebug.Debugger;
174
+ /**
175
+ * Log function - alias for debug for compatibility
176
+ */
177
+ log: createDebug.Debugger;
178
+ /**
179
+ * Warning level logging - uses console.warn for proper browser dev tool support
180
+ */
181
+ warn: (...args: any[]) => void;
182
+ };
183
+ markdown: {
184
+ /**
185
+ * General debug logging
186
+ */
187
+ debug: createDebug.Debugger;
188
+ /**
189
+ * Error level logging - uses console.error for proper browser dev tool support
190
+ */
191
+ error: (...args: any[]) => void;
192
+ /**
193
+ * Info level logging
194
+ */
195
+ info: createDebug.Debugger;
196
+ /**
197
+ * Log function - alias for debug for compatibility
198
+ */
199
+ log: createDebug.Debugger;
200
+ /**
201
+ * Warning level logging - uses console.warn for proper browser dev tool support
202
+ */
203
+ warn: (...args: any[]) => void;
204
+ };
205
+ math: {
206
+ /**
207
+ * General debug logging
208
+ */
209
+ debug: createDebug.Debugger;
210
+ /**
211
+ * Error level logging - uses console.error for proper browser dev tool support
212
+ */
213
+ error: (...args: any[]) => void;
214
+ /**
215
+ * Info level logging
216
+ */
217
+ info: createDebug.Debugger;
218
+ /**
219
+ * Log function - alias for debug for compatibility
220
+ */
221
+ log: createDebug.Debugger;
222
+ /**
223
+ * Warning level logging - uses console.warn for proper browser dev tool support
224
+ */
225
+ warn: (...args: any[]) => void;
226
+ };
227
+ mention: {
228
+ /**
229
+ * General debug logging
230
+ */
231
+ debug: createDebug.Debugger;
232
+ /**
233
+ * Error level logging - uses console.error for proper browser dev tool support
234
+ */
235
+ error: (...args: any[]) => void;
236
+ /**
237
+ * Info level logging
238
+ */
239
+ info: createDebug.Debugger;
240
+ /**
241
+ * Log function - alias for debug for compatibility
242
+ */
243
+ log: createDebug.Debugger;
244
+ /**
245
+ * Warning level logging - uses console.warn for proper browser dev tool support
246
+ */
247
+ warn: (...args: any[]) => void;
248
+ };
249
+ plugin: {
250
+ /**
251
+ * General debug logging
252
+ */
253
+ debug: createDebug.Debugger;
254
+ /**
255
+ * Error level logging - uses console.error for proper browser dev tool support
256
+ */
257
+ error: (...args: any[]) => void;
258
+ /**
259
+ * Info level logging
260
+ */
261
+ info: createDebug.Debugger;
262
+ /**
263
+ * Log function - alias for debug for compatibility
264
+ */
265
+ log: createDebug.Debugger;
266
+ /**
267
+ * Warning level logging - uses console.warn for proper browser dev tool support
268
+ */
269
+ warn: (...args: any[]) => void;
270
+ };
271
+ react: {
272
+ /**
273
+ * General debug logging
274
+ */
275
+ debug: createDebug.Debugger;
276
+ /**
277
+ * Error level logging - uses console.error for proper browser dev tool support
278
+ */
279
+ error: (...args: any[]) => void;
280
+ /**
281
+ * Info level logging
282
+ */
283
+ info: createDebug.Debugger;
284
+ /**
285
+ * Log function - alias for debug for compatibility
286
+ */
287
+ log: createDebug.Debugger;
288
+ /**
289
+ * Warning level logging - uses console.warn for proper browser dev tool support
290
+ */
291
+ warn: (...args: any[]) => void;
292
+ };
293
+ service: {
294
+ /**
295
+ * General debug logging
296
+ */
297
+ debug: createDebug.Debugger;
298
+ /**
299
+ * Error level logging - uses console.error for proper browser dev tool support
300
+ */
301
+ error: (...args: any[]) => void;
302
+ /**
303
+ * Info level logging
304
+ */
305
+ info: createDebug.Debugger;
306
+ /**
307
+ * Log function - alias for debug for compatibility
308
+ */
309
+ log: createDebug.Debugger;
310
+ /**
311
+ * Warning level logging - uses console.warn for proper browser dev tool support
312
+ */
313
+ warn: (...args: any[]) => void;
314
+ };
315
+ slash: {
316
+ /**
317
+ * General debug logging
318
+ */
319
+ debug: createDebug.Debugger;
320
+ /**
321
+ * Error level logging - uses console.error for proper browser dev tool support
322
+ */
323
+ error: (...args: any[]) => void;
324
+ /**
325
+ * Info level logging
326
+ */
327
+ info: createDebug.Debugger;
328
+ /**
329
+ * Log function - alias for debug for compatibility
330
+ */
331
+ log: createDebug.Debugger;
332
+ /**
333
+ * Warning level logging - uses console.warn for proper browser dev tool support
334
+ */
335
+ warn: (...args: any[]) => void;
336
+ };
337
+ upload: {
338
+ /**
339
+ * General debug logging
340
+ */
341
+ debug: createDebug.Debugger;
342
+ /**
343
+ * Error level logging - uses console.error for proper browser dev tool support
344
+ */
345
+ error: (...args: any[]) => void;
346
+ /**
347
+ * Info level logging
348
+ */
349
+ info: createDebug.Debugger;
350
+ /**
351
+ * Log function - alias for debug for compatibility
352
+ */
353
+ log: createDebug.Debugger;
354
+ /**
355
+ * Warning level logging - uses console.warn for proper browser dev tool support
356
+ */
357
+ warn: (...args: any[]) => void;
358
+ };
359
+ };
360
+ /**
361
+ * Development mode utilities
362
+ */
363
+ export declare const isDev: boolean;
364
+ /**
365
+ * Conditional console logging - only logs in development mode
366
+ * Use this for demo files and development-only logging
367
+ */
368
+ export declare const devConsole: {
369
+ error: (...args: any[]) => void;
370
+ info: (...args: any[]) => void;
371
+ log: (...args: any[]) => void;
372
+ warn: (...args: any[]) => void;
373
+ };
374
+ /**
375
+ * Production-safe error logging
376
+ * Always logs errors and warnings regardless of environment using native console methods
377
+ * for proper browser dev tool support. Debug/info uses debug package.
378
+ */
379
+ export declare const prodSafeLogger: {
380
+ /**
381
+ * Debug info - only shown when debug is enabled
382
+ */
383
+ debug: createDebug.Debugger;
384
+ /**
385
+ * Log critical errors that should always be visible (uses console.error)
386
+ */
387
+ error: (...args: any[]) => void;
388
+ /**
389
+ * Info logging - only shown when debug is enabled
390
+ */
391
+ info: createDebug.Debugger;
392
+ /**
393
+ * Log warnings that should always be visible (uses console.warn)
394
+ */
395
+ warn: (...args: any[]) => void;
396
+ };