@mks2508/better-logger 0.0.1 → 0.0.2-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.claude/settings.local.json +10 -1
  2. package/.github/workflows/ci.yml +319 -0
  3. package/.github/workflows/release.yml +269 -0
  4. package/.npmrc.bak +1 -0
  5. package/README.md +577 -0
  6. package/demo.html +840 -0
  7. package/dist/chunks/Logger-BQhMKy_T.js +2 -0
  8. package/dist/chunks/Logger-BQhMKy_T.js.map +1 -0
  9. package/dist/chunks/Logger-BrFKFZcD.js +978 -0
  10. package/dist/chunks/Logger-BrFKFZcD.js.map +1 -0
  11. package/dist/chunks/core-2opW4Pi3.js +194 -0
  12. package/dist/chunks/core-2opW4Pi3.js.map +1 -0
  13. package/dist/chunks/core-DyugwSYZ.js +4 -0
  14. package/dist/chunks/core-DyugwSYZ.js.map +1 -0
  15. package/dist/chunks/exports-BNP3R7dp.js +421 -0
  16. package/dist/chunks/exports-BNP3R7dp.js.map +1 -0
  17. package/dist/chunks/exports-U1xLBXrY.js +2 -0
  18. package/dist/chunks/exports-U1xLBXrY.js.map +1 -0
  19. package/dist/chunks/styling-DhUDzwlE.js +654 -0
  20. package/dist/chunks/styling-DhUDzwlE.js.map +1 -0
  21. package/dist/chunks/styling-tmRDI28D.js +2 -0
  22. package/dist/chunks/styling-tmRDI28D.js.map +1 -0
  23. package/dist/core.cjs +2 -0
  24. package/dist/core.cjs.map +1 -0
  25. package/dist/core.js +244 -0
  26. package/dist/core.js.map +1 -0
  27. package/dist/exports.cjs +2 -0
  28. package/dist/exports.cjs.map +1 -0
  29. package/dist/exports.js +237 -0
  30. package/dist/exports.js.map +1 -0
  31. package/dist/index.cjs +2 -0
  32. package/dist/index.cjs.map +1 -0
  33. package/dist/index.js +105 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/styling.cjs +2 -0
  36. package/dist/styling.cjs.map +1 -0
  37. package/dist/styling.js +146 -0
  38. package/dist/styling.js.map +1 -0
  39. package/dist/types/core.d.ts +211 -0
  40. package/dist/types/exports.d.ts +600 -0
  41. package/dist/types/index.d.ts +675 -0
  42. package/dist/types/styling.d.ts +751 -0
  43. package/docs/CORE.md +264 -0
  44. package/docs/EXPORTS.md +467 -0
  45. package/docs/STYLING.md +405 -0
  46. package/index.html +28 -4
  47. package/package.json +37 -4
  48. package/src/Logger.ts +28 -8
  49. package/src/cli/CommandProcessor.ts +2 -2
  50. package/src/cli/commands/ExportCommand.ts +5 -0
  51. package/src/cli/commands/StatusCommand.ts +11 -10
  52. package/src/core.ts +320 -0
  53. package/src/example.ts +184 -62
  54. package/src/exports-module.ts +311 -0
  55. package/src/handlers/ExportLogHandler.ts +34 -13
  56. package/src/index.ts +97 -79
  57. package/src/main.ts +77 -7
  58. package/src/styling-module.ts +244 -0
  59. package/src/utils/stackTrace.ts +39 -10
  60. package/src/utils/timestamps.ts +1 -1
  61. package/tsconfig.json +40 -14
  62. package/vite.config.ts +84 -0
  63. package/dist/assets/index-DxvJByYN.js +0 -183
  64. package/dist/index.html +0 -334
@@ -0,0 +1,654 @@
1
+ class StyleBuilder {
2
+ styles = [];
3
+ constructor(baseStyle = "") {
4
+ if (baseStyle) this.styles.push(baseStyle);
5
+ }
6
+ /**
7
+ * Add background color or gradient
8
+ */
9
+ bg(background) {
10
+ this.styles.push(`background: ${background}`);
11
+ return this;
12
+ }
13
+ /**
14
+ * Add text color
15
+ */
16
+ color(color) {
17
+ this.styles.push(`color: ${color}`);
18
+ return this;
19
+ }
20
+ /**
21
+ * Add border styling
22
+ */
23
+ border(border) {
24
+ this.styles.push(`border: ${border}`);
25
+ return this;
26
+ }
27
+ /**
28
+ * Add box shadow
29
+ */
30
+ shadow(shadow) {
31
+ this.styles.push(`box-shadow: ${shadow}`);
32
+ return this;
33
+ }
34
+ /**
35
+ * Add padding
36
+ */
37
+ padding(padding) {
38
+ this.styles.push(`padding: ${padding}`);
39
+ return this;
40
+ }
41
+ /**
42
+ * Add margin
43
+ */
44
+ margin(margin) {
45
+ this.styles.push(`margin: ${margin}`);
46
+ return this;
47
+ }
48
+ /**
49
+ * Add border radius
50
+ */
51
+ rounded(radius = "4px") {
52
+ this.styles.push(`border-radius: ${radius}`);
53
+ return this;
54
+ }
55
+ /**
56
+ * Add font weight
57
+ */
58
+ bold() {
59
+ this.styles.push("font-weight: bold");
60
+ return this;
61
+ }
62
+ /**
63
+ * Add font styling
64
+ */
65
+ font(font) {
66
+ this.styles.push(`font-family: ${font}`);
67
+ return this;
68
+ }
69
+ /**
70
+ * Add font size
71
+ */
72
+ size(size) {
73
+ this.styles.push(`font-size: ${size}`);
74
+ return this;
75
+ }
76
+ /**
77
+ * Add line height
78
+ */
79
+ lineHeight(height) {
80
+ this.styles.push(`line-height: ${height}`);
81
+ return this;
82
+ }
83
+ /**
84
+ * Add text decoration
85
+ */
86
+ underline() {
87
+ this.styles.push("text-decoration: underline");
88
+ return this;
89
+ }
90
+ /**
91
+ * Add text transform
92
+ */
93
+ uppercase() {
94
+ this.styles.push("text-transform: uppercase");
95
+ return this;
96
+ }
97
+ /**
98
+ * Add opacity
99
+ */
100
+ opacity(value) {
101
+ this.styles.push(`opacity: ${value}`);
102
+ return this;
103
+ }
104
+ /**
105
+ * Add display property
106
+ */
107
+ display(value) {
108
+ this.styles.push(`display: ${value}`);
109
+ return this;
110
+ }
111
+ /**
112
+ * Add position property
113
+ */
114
+ position(value) {
115
+ this.styles.push(`position: ${value}`);
116
+ return this;
117
+ }
118
+ /**
119
+ * Add transform property
120
+ */
121
+ transform(value) {
122
+ this.styles.push(`transform: ${value}`);
123
+ return this;
124
+ }
125
+ /**
126
+ * Add animation property
127
+ */
128
+ animation(value) {
129
+ this.styles.push(`animation: ${value}`);
130
+ return this;
131
+ }
132
+ /**
133
+ * Add transition property
134
+ */
135
+ transition(value) {
136
+ this.styles.push(`transition: ${value}`);
137
+ return this;
138
+ }
139
+ /**
140
+ * Add cursor property
141
+ */
142
+ cursor(value) {
143
+ this.styles.push(`cursor: ${value}`);
144
+ return this;
145
+ }
146
+ /**
147
+ * Add any custom CSS property
148
+ */
149
+ custom(property, value) {
150
+ this.styles.push(`${property}: ${value}`);
151
+ return this;
152
+ }
153
+ /**
154
+ * Add any CSS property (alias for custom)
155
+ */
156
+ css(property, value) {
157
+ return this.custom(property, value);
158
+ }
159
+ /**
160
+ * Build the final CSS string
161
+ */
162
+ build() {
163
+ return this.styles.join("; ");
164
+ }
165
+ /**
166
+ * Clear all styles and start fresh
167
+ */
168
+ clear() {
169
+ this.styles = [];
170
+ return this;
171
+ }
172
+ /**
173
+ * Clone this StyleBuilder with the same styles
174
+ */
175
+ clone() {
176
+ const cloned = new StyleBuilder();
177
+ cloned.styles = [...this.styles];
178
+ return cloned;
179
+ }
180
+ /**
181
+ * Merge another StyleBuilder's styles into this one
182
+ */
183
+ merge(other) {
184
+ this.styles.push(...other.styles);
185
+ return this;
186
+ }
187
+ }
188
+ function createStyler() {
189
+ const builder = new StyleBuilder();
190
+ return new Proxy(builder, {
191
+ get(target, prop) {
192
+ if (prop in target) {
193
+ const method = target[prop];
194
+ if (typeof method === "function") {
195
+ return method.bind(target);
196
+ }
197
+ return method;
198
+ }
199
+ return void 0;
200
+ }
201
+ });
202
+ }
203
+ createStyler();
204
+ const StylePresets = {
205
+ success: () => new StyleBuilder().bg("linear-gradient(135deg, #00b894 0%, #00a085 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),
206
+ error: () => new StyleBuilder().bg("linear-gradient(135deg, #e84393 0%, #d63031 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),
207
+ warning: () => new StyleBuilder().bg("linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)").color("#2d3436").padding("4px 8px").rounded("4px").bold(),
208
+ info: () => new StyleBuilder().bg("linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),
209
+ debug: () => new StyleBuilder().bg("linear-gradient(135deg, #667eea 0%, #764ba2 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),
210
+ muted: () => new StyleBuilder().color("#6c757d").font("Monaco, Consolas, monospace").size("12px"),
211
+ accent: () => new StyleBuilder().bg("#f8f9fa").color("#495057").padding("2px 6px").rounded("3px").border("1px solid #dee2e6"),
212
+ neon: () => new StyleBuilder().bg("linear-gradient(135deg, #0f3460 0%, #e94560 100%)").color("#00ffff").padding("4px 8px").rounded("4px").bold().shadow("0 0 10px rgba(0, 255, 255, 0.5)")
213
+ };
214
+ const THEME_PRESETS = {
215
+ default: {
216
+ debug: {
217
+ emoji: "šŸž",
218
+ label: "DEBUG",
219
+ background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
220
+ color: "#ffffff",
221
+ border: "1px solid #667eea",
222
+ shadow: "0 2px 4px rgba(102, 126, 234, 0.3)"
223
+ },
224
+ info: {
225
+ emoji: "ā„¹ļø",
226
+ label: "INFO",
227
+ background: "linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)",
228
+ color: "#ffffff",
229
+ border: "1px solid #74b9ff",
230
+ shadow: "0 2px 4px rgba(116, 185, 255, 0.3)"
231
+ },
232
+ warn: {
233
+ emoji: "āš ļø",
234
+ label: "WARN",
235
+ background: "linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)",
236
+ color: "#2d3436",
237
+ border: "1px solid #fdcb6e",
238
+ shadow: "0 2px 4px rgba(253, 203, 110, 0.3)"
239
+ },
240
+ error: {
241
+ emoji: "āŒ",
242
+ label: "ERROR",
243
+ background: "linear-gradient(135deg, #e84393 0%, #d63031 100%)",
244
+ color: "#ffffff",
245
+ border: "1px solid #e84393",
246
+ shadow: "0 2px 4px rgba(232, 67, 147, 0.3)"
247
+ },
248
+ success: {
249
+ emoji: "āœ…",
250
+ label: "SUCCESS",
251
+ background: "linear-gradient(135deg, #00b894 0%, #00a085 100%)",
252
+ color: "#ffffff",
253
+ border: "1px solid #00b894",
254
+ shadow: "0 2px 4px rgba(0, 184, 148, 0.3)"
255
+ },
256
+ critical: {
257
+ emoji: "šŸ”„",
258
+ label: "CRITICAL",
259
+ background: "linear-gradient(135deg, #ff3838 0%, #ff1744 100%)",
260
+ color: "#ffffff",
261
+ border: "2px solid #ff3838",
262
+ shadow: "0 4px 8px rgba(255, 56, 56, 0.5)"
263
+ }
264
+ },
265
+ dark: {
266
+ debug: {
267
+ emoji: "šŸŒ™",
268
+ label: "DEBUG",
269
+ background: "linear-gradient(135deg, #2d3748 0%, #4a5568 100%)",
270
+ color: "#e2e8f0",
271
+ border: "1px solid #4a5568",
272
+ shadow: "0 2px 4px rgba(45, 55, 72, 0.8)"
273
+ },
274
+ info: {
275
+ emoji: "šŸ’”",
276
+ label: "INFO",
277
+ background: "linear-gradient(135deg, #1a202c 0%, #2d3748 100%)",
278
+ color: "#90cdf4",
279
+ border: "1px solid #3182ce",
280
+ shadow: "0 2px 4px rgba(26, 32, 44, 0.8)"
281
+ },
282
+ warn: {
283
+ emoji: "⚔",
284
+ label: "WARN",
285
+ background: "linear-gradient(135deg, #744210 0%, #975a16 100%)",
286
+ color: "#faf089",
287
+ border: "1px solid #d69e2e",
288
+ shadow: "0 2px 4px rgba(116, 66, 16, 0.8)"
289
+ },
290
+ error: {
291
+ emoji: "šŸ’€",
292
+ label: "ERROR",
293
+ background: "linear-gradient(135deg, #742a2a 0%, #9b2c2c 100%)",
294
+ color: "#feb2b2",
295
+ border: "1px solid #e53e3e",
296
+ shadow: "0 2px 4px rgba(116, 42, 42, 0.8)"
297
+ },
298
+ success: {
299
+ emoji: "šŸŽÆ",
300
+ label: "SUCCESS",
301
+ background: "linear-gradient(135deg, #276749 0%, #2f855a 100%)",
302
+ color: "#9ae6b4",
303
+ border: "1px solid #38a169",
304
+ shadow: "0 2px 4px rgba(39, 103, 73, 0.8)"
305
+ },
306
+ critical: {
307
+ emoji: "šŸ’„",
308
+ label: "CRITICAL",
309
+ background: "linear-gradient(135deg, #1a1a1a 0%, #ff0000 100%)",
310
+ color: "#ffffff",
311
+ border: "2px solid #ff0000",
312
+ shadow: "0 4px 8px rgba(255, 0, 0, 0.9)"
313
+ }
314
+ },
315
+ neon: {
316
+ debug: {
317
+ emoji: "⚔",
318
+ label: "DEBUG",
319
+ background: "linear-gradient(135deg, #0f3460 0%, #e94560 100%)",
320
+ color: "#00ffff",
321
+ border: "1px solid #00ffff",
322
+ shadow: "0 0 10px rgba(0, 255, 255, 0.5)"
323
+ },
324
+ info: {
325
+ emoji: "šŸ”®",
326
+ label: "INFO",
327
+ background: "linear-gradient(135deg, #16213e 0%, #0f3460 100%)",
328
+ color: "#00ff41",
329
+ border: "1px solid #00ff41",
330
+ shadow: "0 0 10px rgba(0, 255, 65, 0.5)"
331
+ },
332
+ warn: {
333
+ emoji: "āš ļø",
334
+ label: "WARN",
335
+ background: "linear-gradient(135deg, #533a03 0%, #e94560 100%)",
336
+ color: "#ffff00",
337
+ border: "1px solid #ffff00",
338
+ shadow: "0 0 10px rgba(255, 255, 0, 0.5)"
339
+ },
340
+ error: {
341
+ emoji: "šŸ’„",
342
+ label: "ERROR",
343
+ background: "linear-gradient(135deg, #5c0a0a 0%, #ff073a 100%)",
344
+ color: "#ff073a",
345
+ border: "1px solid #ff073a",
346
+ shadow: "0 0 10px rgba(255, 7, 58, 0.8)"
347
+ },
348
+ success: {
349
+ emoji: "✨",
350
+ label: "SUCCESS",
351
+ background: "linear-gradient(135deg, #0a5c0a 0%, #39ff14 100%)",
352
+ color: "#39ff14",
353
+ border: "1px solid #39ff14",
354
+ shadow: "0 0 10px rgba(57, 255, 20, 0.8)"
355
+ },
356
+ critical: {
357
+ emoji: "🌟",
358
+ label: "CRITICAL",
359
+ background: "linear-gradient(135deg, #000000 0%, #ff0080 100%)",
360
+ color: "#ff0080",
361
+ border: "2px solid #ff0080",
362
+ shadow: "0 0 20px rgba(255, 0, 128, 1)"
363
+ }
364
+ },
365
+ minimal: {
366
+ debug: {
367
+ emoji: "",
368
+ label: "DEBUG",
369
+ background: "#f7fafc",
370
+ color: "#4a5568",
371
+ border: "1px solid #e2e8f0",
372
+ shadow: "none"
373
+ },
374
+ info: {
375
+ emoji: "",
376
+ label: "INFO",
377
+ background: "#ebf8ff",
378
+ color: "#2b6cb0",
379
+ border: "1px solid #bee3f8",
380
+ shadow: "none"
381
+ },
382
+ warn: {
383
+ emoji: "",
384
+ label: "WARN",
385
+ background: "#fffbf0",
386
+ color: "#c05621",
387
+ border: "1px solid #fed7aa",
388
+ shadow: "none"
389
+ },
390
+ error: {
391
+ emoji: "",
392
+ label: "ERROR",
393
+ background: "#fef5f5",
394
+ color: "#c53030",
395
+ border: "1px solid #fca5a5",
396
+ shadow: "none"
397
+ },
398
+ success: {
399
+ emoji: "",
400
+ label: "SUCCESS",
401
+ background: "#f0fff4",
402
+ color: "#2f855a",
403
+ border: "1px solid #9ae6b4",
404
+ shadow: "none"
405
+ },
406
+ critical: {
407
+ emoji: "",
408
+ label: "CRITICAL",
409
+ background: "#fef5f5",
410
+ color: "#e53e3e",
411
+ border: "2px solid #f56565",
412
+ shadow: "none"
413
+ }
414
+ },
415
+ // Additional theme variants can be added here
416
+ light: {
417
+ debug: {
418
+ emoji: "šŸ”",
419
+ label: "DEBUG",
420
+ background: "linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%)",
421
+ color: "#1565c0",
422
+ border: "1px solid #90caf9",
423
+ shadow: "0 1px 3px rgba(33, 150, 243, 0.2)"
424
+ },
425
+ info: {
426
+ emoji: "ā„¹ļø",
427
+ label: "INFO",
428
+ background: "linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%)",
429
+ color: "#7b1fa2",
430
+ border: "1px solid #ce93d8",
431
+ shadow: "0 1px 3px rgba(156, 39, 176, 0.2)"
432
+ },
433
+ warn: {
434
+ emoji: "āš ļø",
435
+ label: "WARN",
436
+ background: "linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%)",
437
+ color: "#f57c00",
438
+ border: "1px solid #ffcc02",
439
+ shadow: "0 1px 3px rgba(255, 152, 0, 0.2)"
440
+ },
441
+ error: {
442
+ emoji: "āŒ",
443
+ label: "ERROR",
444
+ background: "linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%)",
445
+ color: "#d32f2f",
446
+ border: "1px solid #f44336",
447
+ shadow: "0 1px 3px rgba(244, 67, 54, 0.2)"
448
+ },
449
+ success: {
450
+ emoji: "āœ…",
451
+ label: "SUCCESS",
452
+ background: "linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%)",
453
+ color: "#388e3c",
454
+ border: "1px solid #4caf50",
455
+ shadow: "0 1px 3px rgba(76, 175, 80, 0.2)"
456
+ },
457
+ critical: {
458
+ emoji: "🚨",
459
+ label: "CRITICAL",
460
+ background: "linear-gradient(135deg, #fce4ec 0%, #f8bbd9 100%)",
461
+ color: "#c2185b",
462
+ border: "2px solid #e91e63",
463
+ shadow: "0 2px 6px rgba(233, 30, 99, 0.3)"
464
+ }
465
+ },
466
+ cyberpunk: {
467
+ debug: {
468
+ emoji: "šŸ¤–",
469
+ label: "DEBUG",
470
+ background: "linear-gradient(135deg, #0d1b2a 0%, #415a77 100%)",
471
+ color: "#00d4aa",
472
+ border: "1px solid #00d4aa",
473
+ shadow: "0 0 15px rgba(0, 212, 170, 0.4)"
474
+ },
475
+ info: {
476
+ emoji: "šŸ”—",
477
+ label: "INFO",
478
+ background: "linear-gradient(135deg, #1b263b 0%, #0d1b2a 100%)",
479
+ color: "#00b4d8",
480
+ border: "1px solid #00b4d8",
481
+ shadow: "0 0 15px rgba(0, 180, 216, 0.4)"
482
+ },
483
+ warn: {
484
+ emoji: "⚔",
485
+ label: "WARN",
486
+ background: "linear-gradient(135deg, #f72585 0%, #b5179e 100%)",
487
+ color: "#ffff3f",
488
+ border: "1px solid #ffff3f",
489
+ shadow: "0 0 15px rgba(255, 255, 63, 0.4)"
490
+ },
491
+ error: {
492
+ emoji: "šŸ’€",
493
+ label: "ERROR",
494
+ background: "linear-gradient(135deg, #7209b7 0%, #480ca8 100%)",
495
+ color: "#ff006e",
496
+ border: "1px solid #ff006e",
497
+ shadow: "0 0 15px rgba(255, 0, 110, 0.6)"
498
+ },
499
+ success: {
500
+ emoji: "⚔",
501
+ label: "SUCCESS",
502
+ background: "linear-gradient(135deg, #003566 0%, #001d3d 100%)",
503
+ color: "#00f5ff",
504
+ border: "1px solid #00f5ff",
505
+ shadow: "0 0 15px rgba(0, 245, 255, 0.4)"
506
+ },
507
+ critical: {
508
+ emoji: "šŸ’„",
509
+ label: "CRITICAL",
510
+ background: "linear-gradient(135deg, #000000 0%, #ff0040 100%)",
511
+ color: "#ff0040",
512
+ border: "2px solid #ff0040",
513
+ shadow: "0 0 25px rgba(255, 0, 64, 0.8)"
514
+ }
515
+ }
516
+ };
517
+ const BANNER_VARIANTS = {
518
+ simple: {
519
+ text: "šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€",
520
+ style: "background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold; font-size: 14px;"
521
+ },
522
+ ascii: {
523
+ text: `
524
+ ___ ____ _ __ ___ _ __ _____ _____ ____ __ ___ _____ _____ _____ ____
525
+ / _ \\ / __ \\| | / / / _ \\ | \\ | |/ ____| ____| _ \\ | | / _ \\ / ____| ___| _ | _ \\
526
+ / /_\\ \\ / / _\` | |/ / / /_\\ \\ | \\| | | | |__ | | | | | | / / \\ \\| | __| |_ | |_| | |_) |
527
+ | _ || | (_| | < | _ | | . \` | | | __| | | | | | | | | | | | |_ | _| | /| _ <
528
+ | | | |\\ \\__,_|_|\\_\\ | | | | | |\\ | |___| |____| |_| | | |__\\ \\_/ /| |__| | |___| |\\ \\| |_) |
529
+ \\_| |_/ \\____/ \\_| |_/ |_| \\_|\\_____|______|____/ |_____/\\___/ \\_____|_____|_| \\_|____/
530
+
531
+ Advanced Logger v2.0.0 - Console Excellence`,
532
+ style: 'font-family: "Courier New", Consolas, Monaco, monospace; color: #667eea; font-size: 11px; line-height: 1.2;'
533
+ },
534
+ unicode: {
535
+ text: `
536
+ ╔══════════════════════════════════════════════════════════════════════════╗
537
+ ā•‘ šŸš€ ADVANCED LOGGER v2.0.0 ā•‘
538
+ ā•‘ State-of-the-art Console Styling ā•‘
539
+ ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•`,
540
+ style: 'font-family: "Courier New", Consolas, Monaco, monospace; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 15px; border-radius: 8px; font-size: 12px; line-height: 1.3;'
541
+ },
542
+ svg: {
543
+ text: " ",
544
+ style: `
545
+ background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 80'><defs><linearGradient id='grad' x1='0%' y1='0%' x2='100%' y2='0%'><stop offset='0%' style='stop-color:%23667eea'/><stop offset='100%' style='stop-color:%23764ba2'/></linearGradient></defs><rect width='100%' height='100%' fill='url(%23grad)' rx='8'/><text x='200' y='30' text-anchor='middle' fill='white' font-family='monospace' font-size='14' font-weight='bold'>šŸš€ ADVANCED LOGGER</text><text x='200' y='50' text-anchor='middle' fill='white' font-family='monospace' font-size='12'>State-of-the-art Console Styling</text><text x='200' y='65' text-anchor='middle' fill='white' font-family='monospace' font-size='10'>v2.0.0</text></svg>");
546
+ background-repeat: no-repeat;
547
+ background-size: 400px 80px;
548
+ padding: 40px 200px;
549
+ color: transparent;
550
+ display: inline-block;
551
+ border-radius: 8px;
552
+ `
553
+ },
554
+ animated: {
555
+ text: " šŸš€ ADVANCED LOGGER v2.0.0 ",
556
+ style: `
557
+ background: linear-gradient(-45deg, #667eea, #764ba2, #667eea, #764ba2);
558
+ background-size: 400% 400%;
559
+ color: white;
560
+ padding: 15px 25px;
561
+ border-radius: 10px;
562
+ font-weight: bold;
563
+ font-size: 14px;
564
+ font-family: monospace;
565
+ animation: gradientShift 3s ease infinite;
566
+ display: inline-block;
567
+ `
568
+ }
569
+ };
570
+ const THEME_BANNERS = {
571
+ default: {
572
+ simple: "šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€",
573
+ style: "background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold;"
574
+ },
575
+ dark: {
576
+ simple: "šŸŒ™ ADVANCED LOGGER v2.0.0 - Dark Mode Console Excellence šŸŒ™",
577
+ style: "background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%); color: #e2e8f0; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #4a5568;"
578
+ },
579
+ neon: {
580
+ simple: "⚔ ADVANCED LOGGER v2.0.0 - Cyberpunk Console Experience ⚔",
581
+ style: "background: linear-gradient(135deg, #0f3460 0%, #e94560 100%); color: #00ffff; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00ffff;"
582
+ },
583
+ minimal: {
584
+ simple: "ADVANCED LOGGER v2.0.0 - Clean Console Styling",
585
+ style: "background: #f7fafc; color: #2d3748; padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 4px; font-weight: 500;"
586
+ },
587
+ light: {
588
+ simple: "ā˜€ļø ADVANCED LOGGER v2.0.0 - Bright Console Styling ā˜€ļø",
589
+ style: "background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); color: #495057; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #dee2e6;"
590
+ },
591
+ cyberpunk: {
592
+ simple: "šŸ¤– ADVANCED LOGGER v2.0.0 - Neural Console Interface šŸ¤–",
593
+ style: "background: linear-gradient(135deg, #0d1b2a 0%, #415a77 100%); color: #00d4aa; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00d4aa; border: 1px solid #00d4aa;"
594
+ }
595
+ };
596
+ function detectBannerCapabilities() {
597
+ const userAgent = navigator.userAgent;
598
+ const isChrome = /Chrome/.test(userAgent);
599
+ const isFirefox = /Firefox/.test(userAgent);
600
+ const isSafari = /Safari/.test(userAgent) && !/Chrome/.test(userAgent);
601
+ const supportsSVG = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect;
602
+ const supportsAnimations = typeof document !== "undefined" && "animationName" in document.createElement("div").style;
603
+ if (supportsAnimations && isChrome) {
604
+ return "animated";
605
+ } else if (supportsSVG && (isChrome || isFirefox)) {
606
+ return "svg";
607
+ } else if (isChrome || isFirefox) {
608
+ return "unicode";
609
+ } else if (isSafari) {
610
+ return "ascii";
611
+ }
612
+ return "simple";
613
+ }
614
+ function displayInitBanner(bannerType) {
615
+ const selectedType = bannerType || detectBannerCapabilities();
616
+ const banner = BANNER_VARIANTS[selectedType];
617
+ if (selectedType === "animated") {
618
+ const style = document.createElement("style");
619
+ style.textContent = `
620
+ @keyframes gradientShift {
621
+ 0% { background-position: 0% 50%; }
622
+ 50% { background-position: 100% 50%; }
623
+ 100% { background-position: 0% 50%; }
624
+ }
625
+ `;
626
+ document.head.appendChild(style);
627
+ }
628
+ console.log(`%c${banner.text}`, banner.style);
629
+ const features = [
630
+ "šŸŽØ Advanced CSS Console Styling",
631
+ "šŸ“ Automatic Stack Trace Parsing",
632
+ "šŸ”§ Scoped Loggers & Prefixes",
633
+ "⚔ Performance Timers",
634
+ "šŸŽÆ Verbosity Filtering",
635
+ "šŸ”Œ Extensible Handlers",
636
+ "šŸ“± Modern TypeScript Patterns",
637
+ "šŸ“¤ Export & Clipboard Support"
638
+ ];
639
+ console.group(`%c✨ Features`, "background: #f8f9fa; color: #495057; padding: 4px 8px; border-radius: 4px; font-weight: bold;");
640
+ features.forEach((feature) => {
641
+ console.log(`%c${feature}`, "color: #6c757d; font-size: 13px;");
642
+ });
643
+ console.groupEnd();
644
+ console.log("");
645
+ }
646
+ export {
647
+ BANNER_VARIANTS as B,
648
+ StyleBuilder as S,
649
+ THEME_PRESETS as T,
650
+ StylePresets as a,
651
+ THEME_BANNERS as b,
652
+ displayInitBanner as d
653
+ };
654
+ //# sourceMappingURL=styling-DhUDzwlE.js.map