@ytspar/devbar 1.0.0-canary.cdf7fa2 → 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 -197
  3. package/dist/GlobalDevBar.d.ts.map +1 -0
  4. package/dist/GlobalDevBar.js +165 -2657
  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 +44 -12
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +104 -121
  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 +7 -2
  115. package/dist/ui/modals.d.ts.map +1 -0
  116. package/dist/ui/modals.js +51 -6
  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,92 +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 consoleFilter;
50
- private showOutlineModal;
51
- private showSchemaModal;
52
- private breakpointInfo;
53
- private perfStats;
54
- private lcpValue;
55
- private clsValue;
56
- private inpValue;
57
- private reconnectAttempts;
58
- private lastDotPosition;
59
- private reconnectTimeout;
60
- private screenshotTimeout;
61
- private copiedPathTimeout;
62
- private designReviewTimeout;
63
- private designReviewErrorTimeout;
64
- private outlineTimeout;
65
- private schemaTimeout;
66
- private resizeHandler;
67
- private keydownHandler;
68
- private fcpObserver;
69
- private lcpObserver;
70
- private clsObserver;
71
- private inpObserver;
72
- private destroyed;
73
- private themeMode;
74
- private themeMediaQuery;
75
- private themeMediaHandler;
76
- private compactMode;
77
- private showSettingsPopover;
78
- private overlayElement;
79
- 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;
80
110
  constructor(options?: GlobalDevBarOptions);
81
111
  /**
82
- * Get tooltip class name(s) if tooltips are enabled, otherwise empty string
112
+ * Get current error, warning, and info counts from the log array
83
113
  */
84
- private tooltipClass;
114
+ getLogCounts(): {
115
+ errorCount: number;
116
+ warningCount: number;
117
+ infoCount: number;
118
+ };
85
119
  /**
86
- * Get current error and warning counts from the log array
120
+ * Reset position style properties on an element to clear stale values
87
121
  */
88
- private getLogCounts;
122
+ resetPositionStyles(element: HTMLElement): void;
89
123
  /**
90
124
  * Create a collapsed count badge (used for error/warning counts in minimized state)
91
125
  */
92
- private createCollapsedBadge;
126
+ createCollapsedBadge(count: number, bgColor: string, rightPos: string): HTMLSpanElement;
93
127
  /**
94
128
  * Register a custom control to be displayed in the devbar
95
129
  */
@@ -119,25 +153,14 @@ export declare class GlobalDevBar {
119
153
  */
120
154
  destroy(): void;
121
155
  private injectStyles;
122
- private connectWebSocket;
123
- private handleSweetlinkCommand;
124
- /**
125
- * Handle settings loaded from server
126
- */
127
- private handleSettingsLoaded;
156
+ connectWebSocket(port?: number): void;
157
+ handleNotification(type: 'screenshot' | 'designReview' | 'outline' | 'schema' | 'consoleLogs', path: string | undefined, durationMs: number): void;
128
158
  /**
129
159
  * Apply settings to the DevBar state and options
130
160
  */
131
- private applySettings;
132
- /**
133
- * Handle notification state updates with auto-clear timeout
134
- */
135
- private handleNotification;
136
- private setupBreakpointDetection;
137
- private setupPerformanceMonitoring;
138
- private setupKeyboardShortcuts;
139
- private setupTheme;
140
- private loadCompactMode;
161
+ applySettings(settings: DevBarSettings): void;
162
+ private clearConsoleLogs;
163
+ handleScreenshot(copyToClipboard: boolean): Promise<void>;
141
164
  /**
142
165
  * Get the current theme mode
143
166
  */
@@ -158,117 +181,7 @@ export declare class GlobalDevBar {
158
181
  * Check if compact mode is enabled
159
182
  */
160
183
  isCompactMode(): boolean;
161
- private copyPathToClipboard;
162
- private handleScreenshot;
163
- private handleDesignReview;
164
- /**
165
- * Show the design review confirmation modal
166
- * Checks API key status first
167
- */
168
- private showDesignReviewConfirmation;
169
- /**
170
- * Calculate estimated cost for design review based on viewport size
171
- */
172
- private calculateCostEstimate;
173
- /**
174
- * Close the design review confirmation modal
175
- */
176
- private closeDesignReviewConfirm;
177
- /**
178
- * Proceed with design review after confirmation
179
- */
180
- private proceedWithDesignReview;
181
- private handleDocumentOutline;
182
- private handlePageSchema;
183
- private handleSaveOutline;
184
- private handleSaveSchema;
185
- private clearConsoleLogs;
186
- private render;
187
- private renderOverlays;
188
- private renderDesignReviewConfirmModal;
189
- /**
190
- * Render content when API key is not configured
191
- */
192
- private renderApiKeyNotConfiguredContent;
193
- /**
194
- * Render content when API key is configured (cost estimate and model info)
195
- */
196
- private renderApiKeyConfiguredContent;
197
- private renderConsolePopup;
198
- /**
199
- * Render console log items into a container
200
- */
201
- private renderConsoleLogs;
202
- private renderOutlineModal;
203
- /**
204
- * Recursively render outline nodes into a container element
205
- */
206
- private renderOutlineNodes;
207
- private renderSchemaModal;
208
- /**
209
- * Render a section of schema data (either array or key-value object)
210
- */
211
- private renderSchemaSection;
212
- /**
213
- * Render JSON-LD items as formatted code blocks with syntax highlighting
214
- */
215
- private renderJsonLdItems;
216
- /**
217
- * Append syntax-highlighted JSON to an element using safe DOM methods
218
- * Uses textContent for all text to prevent XSS
219
- */
220
- private appendHighlightedJson;
221
- /**
222
- * Render key-value pairs as rows with ellipsis overflow and hover tooltip
223
- */
224
- private renderKeyValueItems;
225
- /**
226
- * Render compact mode - single row with essential controls only
227
- * Shows: connection dot, error/warn badges, screenshot button, settings gear
228
- */
229
- private renderCompact;
230
- /**
231
- * Create the settings gear button
232
- */
233
- private createSettingsButton;
234
- /**
235
- * Create the compact mode toggle button with chevron icon
236
- */
237
- private createCompactToggleButton;
238
- /**
239
- * Create a settings section with title
240
- */
241
- private createSettingsSection;
242
- /**
243
- * Create a toggle switch row
244
- */
245
- private createToggleRow;
246
- /**
247
- * Render the settings popover
248
- */
249
- private renderSettingsPopover;
250
- /**
251
- * Reset all settings to defaults
252
- */
253
- private resetToDefaults;
254
- private renderCollapsed;
255
- private renderExpanded;
256
- /**
257
- * Create a console badge for error/warning counts
258
- */
259
- private createConsoleBadge;
260
- private createScreenshotButton;
261
- /**
262
- * Get the tooltip text for the screenshot button based on current state
263
- */
264
- private getScreenshotTooltip;
265
- /**
266
- * Get the tooltip text for the AI review button based on current state
267
- */
268
- private getAIReviewTooltip;
269
- private createAIReviewButton;
270
- private createOutlineButton;
271
- private createSchemaButton;
184
+ render(): void;
272
185
  }
273
186
  /**
274
187
  * Initialize and mount the GlobalDevBar
@@ -285,4 +198,5 @@ export declare function getGlobalDevBar(): GlobalDevBar | null;
285
198
  * Destroy the GlobalDevBar
286
199
  */
287
200
  export declare function destroyGlobalDevBar(): void;
288
- 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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"}