@ytspar/devbar 1.0.0-canary.db7454c → 1.0.0-canary.deff6e9

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 (122) hide show
  1. package/README.md +4 -0
  2. package/dist/GlobalDevBar.d.ts +111 -204
  3. package/dist/GlobalDevBar.d.ts.map +1 -0
  4. package/dist/GlobalDevBar.js +153 -2746
  5. package/dist/GlobalDevBar.js.map +1 -0
  6. package/dist/accessibility.d.ts +1 -0
  7. package/dist/accessibility.d.ts.map +1 -0
  8. package/dist/accessibility.js +1 -0
  9. package/dist/accessibility.js.map +1 -0
  10. package/dist/constants.d.ts +38 -16
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +98 -125
  13. package/dist/constants.js.map +1 -0
  14. package/dist/debug.d.ts +4 -3
  15. package/dist/debug.d.ts.map +1 -0
  16. package/dist/debug.js +6 -4
  17. package/dist/debug.js.map +1 -0
  18. package/dist/earlyConsoleCapture.d.ts +4 -31
  19. package/dist/earlyConsoleCapture.d.ts.map +1 -0
  20. package/dist/earlyConsoleCapture.js +4 -74
  21. package/dist/earlyConsoleCapture.js.map +1 -0
  22. package/dist/index.d.ts +3 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +6 -1
  25. package/dist/index.js.map +1 -0
  26. package/dist/lazy/index.d.ts +1 -0
  27. package/dist/lazy/index.d.ts.map +1 -0
  28. package/dist/lazy/index.js +1 -0
  29. package/dist/lazy/index.js.map +1 -0
  30. package/dist/lazy/lazyHtml2Canvas.d.ts +5 -0
  31. package/dist/lazy/lazyHtml2Canvas.d.ts.map +1 -0
  32. package/dist/lazy/lazyHtml2Canvas.js +1 -0
  33. package/dist/lazy/lazyHtml2Canvas.js.map +1 -0
  34. package/dist/modules/index.d.ts +15 -0
  35. package/dist/modules/index.d.ts.map +1 -0
  36. package/dist/modules/index.js +14 -0
  37. package/dist/modules/index.js.map +1 -0
  38. package/dist/modules/keyboard.d.ts +15 -0
  39. package/dist/modules/keyboard.d.ts.map +1 -0
  40. package/dist/modules/keyboard.js +60 -0
  41. package/dist/modules/keyboard.js.map +1 -0
  42. package/dist/modules/performance.d.ts +26 -0
  43. package/dist/modules/performance.d.ts.map +1 -0
  44. package/dist/modules/performance.js +197 -0
  45. package/dist/modules/performance.js.map +1 -0
  46. package/dist/modules/rendering.d.ts +20 -0
  47. package/dist/modules/rendering.d.ts.map +1 -0
  48. package/dist/modules/rendering.js +1947 -0
  49. package/dist/modules/rendering.js.map +1 -0
  50. package/dist/modules/screenshot.d.ts +62 -0
  51. package/dist/modules/screenshot.d.ts.map +1 -0
  52. package/dist/modules/screenshot.js +325 -0
  53. package/dist/modules/screenshot.js.map +1 -0
  54. package/dist/modules/theme.d.ts +20 -0
  55. package/dist/modules/theme.d.ts.map +1 -0
  56. package/dist/modules/theme.js +60 -0
  57. package/dist/modules/theme.js.map +1 -0
  58. package/dist/modules/tooltips.d.ts +74 -0
  59. package/dist/modules/tooltips.d.ts.map +1 -0
  60. package/dist/modules/tooltips.js +553 -0
  61. package/dist/modules/tooltips.js.map +1 -0
  62. package/dist/modules/types.d.ts +118 -0
  63. package/dist/modules/types.d.ts.map +1 -0
  64. package/dist/modules/types.js +9 -0
  65. package/dist/modules/types.js.map +1 -0
  66. package/dist/modules/websocket.d.ts +16 -0
  67. package/dist/modules/websocket.d.ts.map +1 -0
  68. package/dist/modules/websocket.js +314 -0
  69. package/dist/modules/websocket.js.map +1 -0
  70. package/dist/network.d.ts +1 -0
  71. package/dist/network.d.ts.map +1 -0
  72. package/dist/network.js +5 -6
  73. package/dist/network.js.map +1 -0
  74. package/dist/outline.d.ts +1 -0
  75. package/dist/outline.d.ts.map +1 -0
  76. package/dist/outline.js +1 -0
  77. package/dist/outline.js.map +1 -0
  78. package/dist/presets.d.ts +9 -8
  79. package/dist/presets.d.ts.map +1 -0
  80. package/dist/presets.js +9 -8
  81. package/dist/presets.js.map +1 -0
  82. package/dist/schema.d.ts +1 -0
  83. package/dist/schema.d.ts.map +1 -0
  84. package/dist/schema.js +3 -3
  85. package/dist/schema.js.map +1 -0
  86. package/dist/settings.d.ts +7 -8
  87. package/dist/settings.d.ts.map +1 -0
  88. package/dist/settings.js +21 -17
  89. package/dist/settings.js.map +1 -0
  90. package/dist/storage.d.ts +1 -0
  91. package/dist/storage.d.ts.map +1 -0
  92. package/dist/storage.js +1 -0
  93. package/dist/storage.js.map +1 -0
  94. package/dist/types.d.ts +5 -4
  95. package/dist/types.d.ts.map +1 -0
  96. package/dist/types.js +3 -2
  97. package/dist/types.js.map +1 -0
  98. package/dist/ui/buttons.d.ts +3 -2
  99. package/dist/ui/buttons.d.ts.map +1 -0
  100. package/dist/ui/buttons.js +3 -2
  101. package/dist/ui/buttons.js.map +1 -0
  102. package/dist/ui/cards.d.ts +37 -0
  103. package/dist/ui/cards.d.ts.map +1 -0
  104. package/dist/ui/cards.js +134 -0
  105. package/dist/ui/cards.js.map +1 -0
  106. package/dist/ui/icons.d.ts +71 -2
  107. package/dist/ui/icons.d.ts.map +1 -0
  108. package/dist/ui/icons.js +148 -2
  109. package/dist/ui/icons.js.map +1 -0
  110. package/dist/ui/index.d.ts +3 -1
  111. package/dist/ui/index.d.ts.map +1 -0
  112. package/dist/ui/index.js +3 -1
  113. package/dist/ui/index.js.map +1 -0
  114. package/dist/ui/modals.d.ts +3 -2
  115. package/dist/ui/modals.d.ts.map +1 -0
  116. package/dist/ui/modals.js +3 -2
  117. package/dist/ui/modals.js.map +1 -0
  118. package/dist/utils.d.ts +3 -2
  119. package/dist/utils.d.ts.map +1 -0
  120. package/dist/utils.js +3 -2
  121. package/dist/utils.js.map +1 -0
  122. package/package.json +17 -14
package/README.md CHANGED
@@ -15,6 +15,10 @@ Development toolbar with Sweetlink integration for browser-based development too
15
15
  - **Page Schema**: View JSON-LD, Open Graph, and meta tag data
16
16
  - **Sweetlink integration**: Real-time connection to dev server
17
17
 
18
+ ## Requirements
19
+
20
+ This package is **ESM-only**. It requires `"type": "module"` in your `package.json` or an ESM-capable bundler (Vite, webpack, esbuild, etc.).
21
+
18
22
  ## Installation
19
23
 
20
24
  ```bash
@@ -4,99 +4,126 @@
4
4
  * A development toolbar that displays breakpoint info, performance stats,
5
5
  * console error/warning counts, and provides screenshot capabilities via Sweetlink.
6
6
  *
7
- * This is a vanilla JS replacement for the React-based GlobalDevBar component
8
- * to avoid React dependency conflicts in host applications.
7
+ * Framework-agnostic no React, Vue, or other framework dependencies.
8
+ *
9
+ * Implementation is split across focused modules in ./modules/:
10
+ * - websocket.ts — WebSocket connection, reconnection, port scanning, message handling
11
+ * - screenshot.ts — Screenshot capture, design review, clipboard operations
12
+ * - rendering.ts — renderBar(), renderConsolePopup(), renderModal(), all DOM creation
13
+ * - performance.ts — setupPerformanceMonitoring(), FCP/LCP/CLS/INP observers
14
+ * - theme.ts — setupTheme(), toggleTheme(), theme media query handling
15
+ * - keyboard.ts — setupKeyboardShortcuts(), handleKeydown()
16
+ * - tooltips.ts — tooltip creation, positioning, and management helpers
9
17
  */
10
18
  import { getThemeColors } from './constants.js';
19
+ import { DebugLogger } from './debug.js';
20
+ import { type DevBarSettings, type SettingsManager } from './settings.js';
11
21
  import type { ConsoleLog, DebugConfig, DevBarControl, GlobalDevBarOptions, OutlineNode, PageSchema, SweetlinkCommand, ThemeMode } from './types.js';
22
+ import { ConsoleCapture } from '@ytspar/sweetlink/browser/consoleCapture';
12
23
  export type { ConsoleLog, DebugConfig, SweetlinkCommand, OutlineNode, PageSchema, GlobalDevBarOptions, DevBarControl, ThemeMode, };
13
24
  export type { DevBarPosition, DevBarSettings, MetricsVisibility } from './settings.js';
14
25
  export { ACCENT_COLOR_PRESETS, DEFAULT_SETTINGS, getSettingsManager } from './settings.js';
15
- interface EarlyConsoleCapture {
16
- errorCount: number;
17
- warningCount: number;
18
- logs: ConsoleLog[];
19
- originalConsole: {
20
- log: typeof console.log;
21
- error: typeof console.error;
22
- warn: typeof console.warn;
23
- info: typeof console.info;
24
- } | null;
25
- isPatched: boolean;
26
- }
27
- declare const earlyConsoleCapture: EarlyConsoleCapture;
26
+ declare const consoleCapture: ConsoleCapture;
28
27
  export declare class GlobalDevBar {
29
28
  private static customControls;
30
- private options;
29
+ options: Required<Omit<GlobalDevBarOptions, 'sizeOverrides' | 'debug'>> & Pick<GlobalDevBarOptions, 'sizeOverrides'>;
31
30
  private debugConfig;
32
- private debug;
33
- private container;
34
- private ws;
35
- private consoleLogs;
36
- private sweetlinkConnected;
37
- private collapsed;
38
- private capturing;
39
- private copiedToClipboard;
40
- private copiedPath;
41
- private lastScreenshot;
42
- private designReviewInProgress;
43
- private lastDesignReview;
44
- private designReviewError;
45
- private showDesignReviewConfirm;
46
- private apiKeyStatus;
47
- private lastOutline;
48
- private lastSchema;
49
- private savingOutline;
50
- private savingSchema;
51
- private consoleFilter;
52
- private showOutlineModal;
53
- private showSchemaModal;
54
- private breakpointInfo;
55
- private perfStats;
56
- private lcpValue;
57
- private clsValue;
58
- private inpValue;
59
- private reconnectAttempts;
60
- private readonly currentAppPort;
61
- private readonly baseWsPort;
62
- private wsVerified;
63
- private serverProjectDir;
64
- private verificationTimeout;
65
- private lastDotPosition;
66
- private reconnectTimeout;
67
- private screenshotTimeout;
68
- private copiedPathTimeout;
69
- private designReviewTimeout;
70
- private designReviewErrorTimeout;
71
- private outlineTimeout;
72
- private schemaTimeout;
73
- private resizeHandler;
74
- private keydownHandler;
75
- private fcpObserver;
76
- private lcpObserver;
77
- private clsObserver;
78
- private inpObserver;
79
- private destroyed;
80
- private themeMode;
81
- private themeMediaQuery;
82
- private themeMediaHandler;
83
- private compactMode;
84
- private showSettingsPopover;
85
- private overlayElement;
86
- private settingsManager;
31
+ debug: DebugLogger;
32
+ container: HTMLDivElement | null;
33
+ ws: WebSocket | null;
34
+ consoleLogs: ConsoleLog[];
35
+ sweetlinkConnected: boolean;
36
+ collapsed: boolean;
37
+ capturing: boolean;
38
+ copiedToClipboard: boolean;
39
+ copiedPath: boolean;
40
+ lastScreenshot: string | null;
41
+ designReviewInProgress: boolean;
42
+ lastDesignReview: string | null;
43
+ designReviewError: string | null;
44
+ showDesignReviewConfirm: boolean;
45
+ apiKeyStatus: {
46
+ configured: boolean;
47
+ model?: string;
48
+ pricing?: {
49
+ input: number;
50
+ output: number;
51
+ };
52
+ } | null;
53
+ lastOutline: string | null;
54
+ lastSchema: string | null;
55
+ savingOutline: boolean;
56
+ savingSchema: boolean;
57
+ consoleFilter: 'error' | 'warn' | 'info' | null;
58
+ savingConsoleLogs: boolean;
59
+ lastConsoleLogs: string | null;
60
+ consoleLogsTimeout: ReturnType<typeof setTimeout> | undefined;
61
+ showOutlineModal: boolean;
62
+ showSchemaModal: boolean;
63
+ activeTooltips: Set<HTMLDivElement>;
64
+ breakpointInfo: {
65
+ tailwindBreakpoint: string;
66
+ dimensions: string;
67
+ } | null;
68
+ perfStats: {
69
+ fcp: string;
70
+ lcp: string;
71
+ cls: string;
72
+ inp: string;
73
+ totalSize: string;
74
+ } | null;
75
+ lcpValue: number | null;
76
+ clsValue: number;
77
+ inpValue: number;
78
+ reconnectAttempts: number;
79
+ readonly currentAppPort: number;
80
+ readonly baseWsPort: number;
81
+ wsVerified: boolean;
82
+ serverProjectDir: string | null;
83
+ lastDotPosition: {
84
+ left: number;
85
+ top: number;
86
+ bottom: number;
87
+ } | null;
88
+ reconnectTimeout: ReturnType<typeof setTimeout> | null;
89
+ screenshotTimeout: ReturnType<typeof setTimeout> | null;
90
+ copiedPathTimeout: ReturnType<typeof setTimeout> | null;
91
+ designReviewTimeout: ReturnType<typeof setTimeout> | null;
92
+ designReviewErrorTimeout: ReturnType<typeof setTimeout> | null;
93
+ outlineTimeout: ReturnType<typeof setTimeout> | null;
94
+ schemaTimeout: ReturnType<typeof setTimeout> | null;
95
+ resizeHandler: (() => void) | null;
96
+ keydownHandler: ((e: KeyboardEvent) => void) | null;
97
+ fcpObserver: PerformanceObserver | null;
98
+ lcpObserver: PerformanceObserver | null;
99
+ clsObserver: PerformanceObserver | null;
100
+ inpObserver: PerformanceObserver | null;
101
+ destroyed: boolean;
102
+ themeMode: ThemeMode;
103
+ themeMediaQuery: MediaQueryList | null;
104
+ themeMediaHandler: ((e: MediaQueryListEvent) => void) | null;
105
+ compactMode: boolean;
106
+ showSettingsPopover: boolean;
107
+ overlayElement: HTMLDivElement | null;
108
+ settingsManager: SettingsManager;
109
+ private logChangeListener;
87
110
  constructor(options?: GlobalDevBarOptions);
88
111
  /**
89
- * Get tooltip class name(s) if tooltips are enabled, otherwise empty string
112
+ * Get current error, warning, and info counts from the log array
90
113
  */
91
- private tooltipClass;
114
+ getLogCounts(): {
115
+ errorCount: number;
116
+ warningCount: number;
117
+ infoCount: number;
118
+ };
92
119
  /**
93
- * Get current error and warning counts from the log array
120
+ * Reset position style properties on an element to clear stale values
94
121
  */
95
- private getLogCounts;
122
+ resetPositionStyles(element: HTMLElement): void;
96
123
  /**
97
124
  * Create a collapsed count badge (used for error/warning counts in minimized state)
98
125
  */
99
- private createCollapsedBadge;
126
+ createCollapsedBadge(count: number, bgColor: string, rightPos: string): HTMLSpanElement;
100
127
  /**
101
128
  * Register a custom control to be displayed in the devbar
102
129
  */
@@ -126,25 +153,14 @@ export declare class GlobalDevBar {
126
153
  */
127
154
  destroy(): void;
128
155
  private injectStyles;
129
- private connectWebSocket;
130
- private handleSweetlinkCommand;
131
- /**
132
- * Handle settings loaded from server
133
- */
134
- private handleSettingsLoaded;
156
+ connectWebSocket(port?: number): void;
157
+ handleNotification(type: 'screenshot' | 'designReview' | 'outline' | 'schema' | 'consoleLogs', path: string | undefined, durationMs: number): void;
135
158
  /**
136
159
  * Apply settings to the DevBar state and options
137
160
  */
138
- private applySettings;
139
- /**
140
- * Handle notification state updates with auto-clear timeout
141
- */
142
- private handleNotification;
143
- private setupBreakpointDetection;
144
- private setupPerformanceMonitoring;
145
- private setupKeyboardShortcuts;
146
- private setupTheme;
147
- private loadCompactMode;
161
+ applySettings(settings: DevBarSettings): void;
162
+ private clearConsoleLogs;
163
+ handleScreenshot(copyToClipboard: boolean): Promise<void>;
148
164
  /**
149
165
  * Get the current theme mode
150
166
  */
@@ -165,117 +181,7 @@ export declare class GlobalDevBar {
165
181
  * Check if compact mode is enabled
166
182
  */
167
183
  isCompactMode(): boolean;
168
- private copyPathToClipboard;
169
- private handleScreenshot;
170
- private handleDesignReview;
171
- /**
172
- * Show the design review confirmation modal
173
- * Checks API key status first
174
- */
175
- private showDesignReviewConfirmation;
176
- /**
177
- * Calculate estimated cost for design review based on viewport size
178
- */
179
- private calculateCostEstimate;
180
- /**
181
- * Close the design review confirmation modal
182
- */
183
- private closeDesignReviewConfirm;
184
- /**
185
- * Proceed with design review after confirmation
186
- */
187
- private proceedWithDesignReview;
188
- private handleDocumentOutline;
189
- private handlePageSchema;
190
- private handleSaveOutline;
191
- private handleSaveSchema;
192
- private clearConsoleLogs;
193
- private render;
194
- private renderOverlays;
195
- private renderDesignReviewConfirmModal;
196
- /**
197
- * Render content when API key is not configured
198
- */
199
- private renderApiKeyNotConfiguredContent;
200
- /**
201
- * Render content when API key is configured (cost estimate and model info)
202
- */
203
- private renderApiKeyConfiguredContent;
204
- private renderConsolePopup;
205
- /**
206
- * Render console log items into a container
207
- */
208
- private renderConsoleLogs;
209
- private renderOutlineModal;
210
- /**
211
- * Recursively render outline nodes into a container element
212
- */
213
- private renderOutlineNodes;
214
- private renderSchemaModal;
215
- /**
216
- * Render a section of schema data (either array or key-value object)
217
- */
218
- private renderSchemaSection;
219
- /**
220
- * Render JSON-LD items as formatted code blocks with syntax highlighting
221
- */
222
- private renderJsonLdItems;
223
- /**
224
- * Append syntax-highlighted JSON to an element using safe DOM methods
225
- * Uses textContent for all text to prevent XSS
226
- */
227
- private appendHighlightedJson;
228
- /**
229
- * Render key-value pairs as rows with ellipsis overflow and hover tooltip
230
- */
231
- private renderKeyValueItems;
232
- /**
233
- * Render compact mode - single row with essential controls only
234
- * Shows: connection dot, error/warn badges, screenshot button, settings gear
235
- */
236
- private renderCompact;
237
- /**
238
- * Create the settings gear button
239
- */
240
- private createSettingsButton;
241
- /**
242
- * Create the compact mode toggle button with chevron icon
243
- */
244
- private createCompactToggleButton;
245
- /**
246
- * Create a settings section with title
247
- */
248
- private createSettingsSection;
249
- /**
250
- * Create a toggle switch row
251
- */
252
- private createToggleRow;
253
- /**
254
- * Render the settings popover
255
- */
256
- private renderSettingsPopover;
257
- /**
258
- * Reset all settings to defaults
259
- */
260
- private resetToDefaults;
261
- private renderCollapsed;
262
- private renderExpanded;
263
- /**
264
- * Create a console badge for error/warning counts
265
- */
266
- private createConsoleBadge;
267
- private createScreenshotButton;
268
- /**
269
- * Get the tooltip text for the screenshot button based on current state
270
- */
271
- private getScreenshotTooltip;
272
- /**
273
- * Get the tooltip text for the AI review button based on current state
274
- */
275
- private getAIReviewTooltip;
276
- private createAIReviewButton;
277
- private createOutlineButton;
278
- private createSchemaButton;
184
+ render(): void;
279
185
  }
280
186
  /**
281
187
  * Initialize and mount the GlobalDevBar
@@ -292,4 +198,5 @@ export declare function getGlobalDevBar(): GlobalDevBar | null;
292
198
  * Destroy the GlobalDevBar
293
199
  */
294
200
  export declare function destroyGlobalDevBar(): void;
295
- export { earlyConsoleCapture };
201
+ export { consoleCapture as earlyConsoleCapture };
202
+ //# sourceMappingURL=GlobalDevBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalDevBar.d.ts","sourceRoot":"","sources":["../src/GlobalDevBar.ts"],"names":[],"mappings":"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"}