js.foresight-devtools 0.0.2 → 1.0.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/dist/index.d.ts CHANGED
@@ -1,6 +1,12 @@
1
- import { ForesightManager, ForesightManagerSettings, ForesightElementData } from 'js.foresight';
1
+ import * as lit from 'lit';
2
+ import { LitElement, TemplateResult } from 'lit';
3
+ import { ForesightEvent, ForesightElementData, ForesightManagerSettings as ForesightManagerSettings$2 } from 'js.foresight';
4
+ import { ForesightEvent as ForesightEvent$1, HitSlop as HitSlop$1, UpdatedDataPropertyNames, CallbackHitType, Point, ScrollDirection, ForesightManagerSettings as ForesightManagerSettings$1 } from 'js.foresight/types/types';
2
5
 
3
- type DebuggerSettings = {
6
+ type DeepPartial<T> = T extends object ? {
7
+ [P in keyof T]?: DeepPartial<T[P]>;
8
+ } : T;
9
+ type DevtoolsSettings = {
4
10
  /**
5
11
  * Whether to show visual debugging information on the screen.
6
12
  * This includes overlays for elements, hit slop areas, the predicted mouse path and a debug control panel.
@@ -39,140 +45,541 @@ type DebuggerSettings = {
39
45
  *
40
46
  */
41
47
  sortElementList: SortElementList;
48
+ logging: LogEvents & {
49
+ logLocation: LoggingLocations;
50
+ };
42
51
  };
43
- type SortElementList = "documentOrder" | "visibility" | "insertionOrder";
44
- type ForesightDebuggerData = {
45
- settings: Readonly<DebuggerSettings>;
52
+ type LogEvents = {
53
+ [K in ForesightEvent]: boolean;
46
54
  };
55
+ type LoggingLocations = "controlPanel" | "console" | "both" | "none";
56
+ type SortElementList = "documentOrder" | "visibility" | "insertionOrder";
47
57
  type DebuggerBooleanSettingKeys = {
48
- [K in keyof DebuggerSettings]: Required<DebuggerSettings>[K] extends boolean ? K : never;
49
- }[keyof DebuggerSettings];
58
+ [K in keyof DevtoolsSettings]: Required<DevtoolsSettings>[K] extends boolean ? K : never;
59
+ }[keyof DevtoolsSettings];
50
60
 
51
- declare class ForesightDebugger {
52
- private static debuggerInstance;
53
- private callbackAnimations;
54
- private foresightManagerInstance;
55
- private shadowHost;
56
- private shadowRoot;
57
- private debugContainer;
58
- private controlPanel;
59
- private _debuggerSettings;
60
- private debugElementOverlays;
61
- private predictedMouseIndicator;
62
- private mouseTrajectoryLine;
63
- private scrollTrajectoryLine;
64
- private managerSubscriptionsController;
65
- private constructor();
66
- private animationPositionObserver;
67
- get getDebuggerData(): Readonly<ForesightDebuggerData>;
68
- static initialize(foresightManager: ForesightManager, props?: Partial<DebuggerSettings>): ForesightDebugger | null;
69
- static get instance(): ForesightDebugger;
70
- private _setupDOM;
71
- private handleAnimationPositionChange;
72
- private static get isInitiated();
73
- alterDebuggerSettings(props?: Partial<DebuggerSettings>): void;
74
- private subscribeToManagerEvents;
75
- private handleElementDataUpdated;
61
+ declare class TabHeader extends LitElement {
62
+ static styles: lit.CSSResult[];
63
+ render(): lit.TemplateResult<1>;
64
+ }
65
+ declare global {
66
+ interface HTMLElementTagNameMap {
67
+ "tab-header": TabHeader;
68
+ }
69
+ }
70
+
71
+ declare class TabContent extends LitElement {
72
+ static styles: lit.CSSResult[];
73
+ noContentMessage: string;
74
+ hasContent: boolean;
75
+ render(): lit.TemplateResult<1>;
76
+ }
77
+ declare global {
78
+ interface HTMLElementTagNameMap {
79
+ "tab-content": TabContent;
80
+ }
81
+ }
82
+
83
+ type DropdownOption = {
84
+ value: string;
85
+ label: string;
86
+ title: string;
87
+ icon: TemplateResult;
88
+ };
89
+ declare abstract class BaseDropdown extends LitElement {
90
+ private static currentlyOpen;
91
+ static styles: lit.CSSResult[];
92
+ protected isDropdownOpen: boolean;
93
+ dropdownOptions: DropdownOption[];
94
+ connectedCallback(): void;
95
+ disconnectedCallback(): void;
96
+ protected _toggleDropdown: (event: MouseEvent) => void;
97
+ protected _closeDropdown(): void;
98
+ protected _positionDropdown(): void;
99
+ protected _handleOutsideClick: (event: MouseEvent) => void;
100
+ protected abstract _handleOptionClick(option: DropdownOption): void;
101
+ protected abstract _getTriggerIcon(): TemplateResult;
102
+ protected abstract _isOptionSelected(option: DropdownOption): boolean;
103
+ protected abstract _getTriggerTitle(): string;
104
+ protected abstract _getTriggerLabel(): string;
105
+ render(): TemplateResult<1>;
106
+ }
107
+
108
+ declare class SingleSelectDropdown extends BaseDropdown {
109
+ selectedOptionValue: string;
110
+ onSelectionChange?: (value: string) => void;
111
+ connectedCallback(): void;
112
+ willUpdate(changedProperties: Map<PropertyKey, unknown>): void;
113
+ protected _handleOptionClick(option: DropdownOption): void;
114
+ protected _getTriggerIcon(): TemplateResult;
115
+ protected _isOptionSelected(option: DropdownOption): boolean;
116
+ protected _getTriggerTitle(): string;
117
+ protected _getTriggerLabel(): string;
118
+ private _getSelectedOption;
119
+ }
120
+ declare global {
121
+ interface HTMLElementTagNameMap {
122
+ "single-select-dropdown": SingleSelectDropdown;
123
+ }
124
+ }
125
+
126
+ declare class ChipElement extends LitElement {
127
+ static styles: lit.CSSResult[];
128
+ title: string;
129
+ render(): lit.TemplateResult<1>;
130
+ }
131
+ declare global {
132
+ interface HTMLElementTagNameMap {
133
+ "chip-element": ChipElement;
134
+ }
135
+ }
136
+
137
+ declare class CopyIcon extends LitElement {
138
+ static styles: lit.CSSResult;
139
+ title: string;
140
+ onCopy?: (event: MouseEvent) => Promise<void> | void;
141
+ private isCopied;
142
+ private copyTimeout;
143
+ private handleClick;
144
+ disconnectedCallback(): void;
145
+ render(): lit.TemplateResult<1>;
146
+ }
147
+ declare global {
148
+ interface HTMLElementTagNameMap {
149
+ "copy-icon": CopyIcon;
150
+ }
151
+ }
152
+
153
+ declare class ExpandableItem extends LitElement {
154
+ static styles: lit.CSSResult[];
155
+ borderColor: string;
156
+ showCopyButton: boolean;
157
+ itemId: string;
158
+ isExpanded: boolean;
159
+ onToggle: ((itemId: string) => void) | undefined;
160
+ private toggleExpand;
161
+ private handleCopy;
162
+ render(): lit.TemplateResult<1>;
163
+ }
164
+ declare global {
165
+ interface HTMLElementTagNameMap {
166
+ "expandable-item": ExpandableItem;
167
+ }
168
+ }
169
+
170
+ declare class SingleElement extends LitElement {
171
+ static styles: lit.CSSResult[];
172
+ elementData: ForesightElementData & {
173
+ elementId: string;
174
+ };
175
+ isActive: boolean;
176
+ isExpanded: boolean;
177
+ onToggle: ((elementId: string) => void) | undefined;
178
+ private getBorderColor;
179
+ private getStatusIndicatorClass;
180
+ private formatElementDetails;
181
+ render(): lit.TemplateResult<1>;
182
+ }
183
+ declare global {
184
+ interface HTMLElementTagNameMap {
185
+ "single-element": SingleElement;
186
+ }
187
+ }
188
+
189
+ declare class ElementTab extends LitElement {
190
+ static styles: lit.CSSResult;
191
+ private hitCount;
192
+ private visibleElementsCount;
193
+ private totalElementsCount;
194
+ private sortDropdown;
195
+ private sortOrder;
196
+ private elementListItems;
197
+ private noContentMessage;
198
+ private activeCallbacks;
199
+ private expandedElementIds;
200
+ private elementIdCounter;
201
+ private _abortController;
202
+ constructor();
203
+ private handleSortChange;
204
+ private generateElementId;
205
+ private handleElementToggle;
206
+ private updateVisibilityCounts;
207
+ private _generateHitsChipTitle;
208
+ connectedCallback(): void;
209
+ disconnectedCallback(): void;
210
+ private updateElementListFromManager;
211
+ private handleCallbackCompleted;
212
+ private getSortedElements;
213
+ private sortByDocumentPosition;
214
+ render(): lit.TemplateResult<1>;
215
+ }
216
+ declare global {
217
+ interface HTMLElementTagNameMap {
218
+ "element-tab": ElementTab;
219
+ }
220
+ }
221
+
222
+ declare class MultiSelectDropdown extends BaseDropdown {
223
+ static styles: lit.CSSResult[];
224
+ selectedValues: string[];
225
+ onSelectionChange?: (changedValue: string, isSelected: boolean) => void;
226
+ protected _handleOptionClick(option: DropdownOption): void;
227
+ protected _getTriggerIcon(): TemplateResult;
228
+ protected _isOptionSelected(option: DropdownOption): boolean;
229
+ protected _getTriggerTitle(): string;
230
+ protected _getTriggerLabel(): string;
231
+ render(): TemplateResult<1>;
232
+ }
233
+ declare global {
234
+ interface HTMLElementTagNameMap {
235
+ "multi-select-dropdown": MultiSelectDropdown;
236
+ }
237
+ }
238
+
239
+ type Rect = {
240
+ top: number;
241
+ left: number;
242
+ right: number;
243
+ bottom: number;
244
+ };
245
+ type BaseForesightManagerSettings = {
76
246
  /**
77
- * Removes all debug overlays and data associated with an element.
247
+ * Number of mouse positions to keep in history for trajectory calculation.
248
+ * A higher number might lead to smoother but slightly delayed predictions.
249
+ *
78
250
  *
79
- * This method cleans up the link overlay, expanded overlay, and name label
80
- * for the specified element, removes it from internal tracking maps, and
81
- * refreshes the control panel's element list to reflect the removal.
251
+ * @link https://foresightjs.com/docs/getting_started/config#available-global-settings
82
252
  *
83
- * @param element - The ForesightElement to remove from debugging visualization
253
+ *
254
+ * **This value is clamped between 2 and 30.**
255
+ * @default 8
84
256
  */
85
- private handleRemoveElement;
86
- private handleCallbackFired;
87
- private handleAddElement;
88
- private handleMouseTrajectoryUpdate;
89
- private handleScrollTrajectoryUpdate;
90
- private handleSettingsChanged;
91
- private createElementOverlays;
92
- private createOrUpdateElementOverlay;
93
- private toggleNameTagVisibility;
94
- private removeElementOverlay;
95
- private showCallbackAnimation;
96
- cleanup(): void;
97
- }
98
-
99
- declare class DebuggerControlPanel {
100
- private foresightManagerInstance;
101
- private debuggerInstance;
102
- private static debuggerControlPanelInstance;
103
- private shadowRoot;
104
- private controlsContainer;
105
- private controlPanelStyleElement;
106
- private elementListItemsContainer;
107
- private elementCountSpan;
108
- private callbackCountSpan;
109
- private elementListItems;
110
- private trajectoryEnabledCheckbox;
111
- private tabEnabledCheckbox;
112
- private scrollEnabledCheckbox;
113
- private historySizeSlider;
114
- private historyValueSpan;
115
- private predictionTimeSlider;
116
- private predictionValueSpan;
117
- private tabOffsetSlider;
118
- private tabOffsetValueSpan;
119
- private scrollMarginSlider;
120
- private scrollMarginValueSpan;
121
- private showNameTagsCheckbox;
122
- private sortOptionsPopup;
123
- private sortButton;
124
- private containerMinimizeButton;
125
- private allSettingsSectionsContainer;
126
- private debuggerElementsSection;
127
- private isContainerMinimized;
128
- private isMouseSettingsMinimized;
129
- private isKeyboardSettingsMinimized;
130
- private isScrollSettingsMinimized;
131
- private isGeneralSettingsMinimized;
132
- private readonly SESSION_STORAGE_KEY;
133
- private copySettingsButton;
134
- private minimizedElementCount;
135
- private copyTimeoutId;
136
- private closeSortDropdownHandler;
137
- private constructor();
257
+ positionHistorySize: number;
138
258
  /**
139
- * The initialize method now creates the instance if needed,
140
- * then calls the setup method to ensure the UI is ready.
259
+ *
260
+ * @deprecated will be removed from v4.0
261
+ * ForesightJS now have its stand-alone devtools library with the debugger built-in
262
+ * @link https://github.com/spaansba/ForesightJS-DevTools
141
263
  */
142
- static initialize(foresightManager: ForesightManager, debuggerInstance: ForesightDebugger, shadowRoot: ShadowRoot, debuggerSettings: DebuggerSettings): DebuggerControlPanel;
264
+ debug: boolean;
143
265
  /**
144
- * All DOM creation and event listener setup logic is moved here.
145
- * This method can be called to "revive" a cleaned-up instance.
266
+ * How far ahead (in milliseconds) to predict the mouse trajectory.
267
+ * A larger value means the prediction extends further into the future. (meaning it will trigger callbacks sooner)
268
+ *
269
+ * @link https://foresightjs.com/docs/getting_started/config#available-global-settings
270
+ *
271
+ * **This value is clamped between 10 and 200.**
272
+ * @default 120
146
273
  */
147
- private _setupDOMAndListeners;
148
- private static get isInitiated();
149
- private loadSectionStatesFromSessionStorage;
150
- private saveSectionStatesToSessionStorage;
151
- private queryDOMElements;
152
- private handleCopySettings;
153
- private createInputEventListener;
154
- private createChangeEventListener;
155
- private createSectionVisibilityToggleEventListener;
156
- private setupEventListeners;
157
- private toggleMinimizeSection;
158
- private originalSectionStates;
159
- private updateContainerVisibilityState;
160
- private updateSortOptionUI;
161
- updateControlsState(managerSettings: ForesightManagerSettings, debuggerSettings: DebuggerSettings): void;
162
- private refreshRegisteredElementCountDisplay;
163
- removeElementFromList(elementData: ForesightElementData): void;
164
- updateElementVisibilityStatus(elementData: ForesightElementData): void;
165
- private sortAndReorderElements;
166
- addElementToList(elementData: ForesightElementData, sort?: boolean): void;
167
- private updateListItemContent;
274
+ trajectoryPredictionTime: number;
275
+ /**
276
+ * Whether to enable mouse trajectory prediction.
277
+ * If false, only direct hover/interaction is considered.
278
+ * @link https://foresightjs.com/docs/getting_started/config#available-global-settings
279
+ * @default true
280
+ */
281
+ enableMousePrediction: boolean;
282
+ /**
283
+ * Toggles whether keyboard prediction is on
284
+ *
285
+ * @link https://foresightjs.com/docs/getting_started/config#available-global-settings
286
+ * @default true
287
+ */
288
+ enableTabPrediction: boolean;
168
289
  /**
169
- * The cleanup method is updated to be more thorough, nullifying all
170
- * DOM-related properties to put the instance in a dormant state.
290
+ * Sets the pixel distance to check from the mouse position in the scroll direction.
291
+ *
292
+ * @link https://foresightjs.com/docs/getting_started/config#available-global-settings
293
+ *
294
+ * **This value is clamped between 30 and 300.**
295
+ * @default 150
171
296
  */
172
- cleanup(): void;
173
- private createControlContainer;
174
- private getStyles;
297
+ scrollMargin: number;
298
+ /**
299
+ * Toggles whether scroll prediction is on
300
+ * @link https://foresightjs.com/docs/getting_started/config#available-global-settings
301
+ * @default true
302
+ */
303
+ enableScrollPrediction: boolean;
304
+ /**
305
+ * Tab stops away from an element to trigger callback. Only works when @argument enableTabPrediction is true
306
+ *
307
+ * **This value is clamped between 0 and 20.**
308
+ * @default 2
309
+ */
310
+ tabOffset: number;
311
+ };
312
+ /**
313
+ * Configuration options for the ForesightManager
314
+ * @link https://foresightjs.com/docs/getting_started/config#available-global-settings
315
+ */
316
+ type ForesightManagerSettings = BaseForesightManagerSettings & {
317
+ defaultHitSlop: Exclude<HitSlop, number>;
318
+ };
319
+ /**
320
+ * Fully invisible "slop" around the element.
321
+ * Basically increases the hover hitbox
322
+ */
323
+ type HitSlop = Rect | number;
324
+ type UpdatedManagerSetting = {
325
+ [K in keyof ForesightManagerSettings]: {
326
+ setting: K;
327
+ newValue: ForesightManagerSettings[K];
328
+ oldValue: ForesightManagerSettings[K];
329
+ };
330
+ }[keyof ForesightManagerSettings];
331
+
332
+ type SerializedEventType = ForesightEvent$1 | "serializationError";
333
+ interface PayloadBase {
334
+ type: SerializedEventType;
335
+ localizedTimestamp: string;
336
+ summary: string;
337
+ }
338
+ interface ElementRegisteredPayload extends PayloadBase {
339
+ type: "elementRegistered";
340
+ name: string;
341
+ id: string;
342
+ registerCount: number;
343
+ hitslop: HitSlop$1;
344
+ }
345
+ interface ElementUnregisteredPayload extends PayloadBase {
346
+ type: "elementUnregistered";
347
+ name: string;
348
+ id: string;
349
+ registerCount: number;
350
+ unregisterReason: string;
351
+ }
352
+ interface ElementDataUpdatedPayload extends PayloadBase {
353
+ type: "elementDataUpdated";
354
+ name: string;
355
+ updatedProps: UpdatedDataPropertyNames[];
356
+ isIntersecting: boolean;
357
+ }
358
+ interface CallbackInvokedPayload extends PayloadBase {
359
+ type: "callbackInvoked";
360
+ name: string;
361
+ hitType: CallbackHitType;
362
+ }
363
+ interface CallbackCompletedBasePayload extends PayloadBase {
364
+ type: "callbackCompleted";
365
+ name: string;
366
+ callbackRunTimeFormatted: string;
367
+ callbackRunTimeRaw: number;
368
+ hitType: CallbackHitType;
369
+ status: "success" | "error";
370
+ }
371
+ type CallbackCompletedPayload = CallbackCompletedBasePayload & ({
372
+ status: "success";
373
+ } | {
374
+ status: "error";
375
+ errorMessage: string;
376
+ });
377
+ interface MouseTrajectoryUpdatePayload extends PayloadBase {
378
+ type: "mouseTrajectoryUpdate";
379
+ currentPoint: Point;
380
+ predictedPoint: Point;
381
+ positionCount: number;
382
+ mousePredictionEnabled: boolean;
383
+ }
384
+ interface ScrollTrajectoryUpdatePayload extends PayloadBase {
385
+ type: "scrollTrajectoryUpdate";
386
+ currentPoint: Point;
387
+ predictedPoint: Point;
388
+ scrollDirection: ScrollDirection;
389
+ }
390
+ interface ManagerSettingsChangedPayload extends PayloadBase {
391
+ type: "managerSettingsChanged";
392
+ globalSettings: ForesightManagerSettings$1;
393
+ settingsChanged: UpdatedManagerSetting[];
394
+ }
395
+ interface SerializationErrorPayload extends PayloadBase {
396
+ type: "serializationError";
397
+ error: "Failed to serialize event data";
398
+ errorMessage: string;
399
+ }
400
+ type SerializedEventData = ElementRegisteredPayload | ElementUnregisteredPayload | ElementDataUpdatedPayload | CallbackInvokedPayload | CallbackCompletedPayload | MouseTrajectoryUpdatePayload | ScrollTrajectoryUpdatePayload | ManagerSettingsChangedPayload | SerializationErrorPayload;
401
+
402
+ declare class SingleLog extends LitElement {
403
+ static styles: lit.CSSResult[];
404
+ private log;
405
+ isExpanded: boolean;
406
+ onToggle: ((logId: string) => void) | undefined;
407
+ constructor(log: SerializedEventData & {
408
+ logId: string;
409
+ });
410
+ private serializeLogDataWithoutSummary;
411
+ private getLogTypeColor;
412
+ private getEventDisplayName;
413
+ private truncateLogSummary;
414
+ render(): lit.TemplateResult<1>;
415
+ }
416
+ declare global {
417
+ interface HTMLElementTagNameMap {
418
+ "single-log": SingleLog;
419
+ }
420
+ }
421
+
422
+ declare class LogTab extends LitElement {
423
+ static styles: lit.CSSResult[];
424
+ private logDropdown;
425
+ private filterDropdown;
426
+ private logLocation;
427
+ private eventsEnabled;
428
+ private logs;
429
+ private expandedLogIds;
430
+ private MAX_LOGS;
431
+ private logIdCounter;
432
+ noContentMessage: string;
433
+ private _abortController;
434
+ private _eventListeners;
435
+ constructor();
436
+ private handleLogLocationChange;
437
+ private handleFilterChange;
438
+ private getSelectedEventFilters;
439
+ private shouldShowPerformanceWarning;
440
+ private getNoLogsMessage;
441
+ private handleLogToggle;
442
+ private clearLogs;
443
+ connectedCallback(): void;
444
+ disconnectedCallback(): void;
445
+ private setupDynamicEventListeners;
446
+ private addForesightEventListener;
447
+ private removeForesightEventListener;
448
+ private removeAllEventListeners;
449
+ private getEventColor;
450
+ private handleEvent;
451
+ private addEventLog;
452
+ render(): lit.TemplateResult<1>;
453
+ }
454
+ declare global {
455
+ interface HTMLElementTagNameMap {
456
+ "log-tab": LogTab;
457
+ }
458
+ }
459
+
460
+ declare class SettingItem extends LitElement {
461
+ static styles: lit.CSSResult[];
462
+ header: string;
463
+ description: string;
464
+ render(): lit.TemplateResult<1>;
465
+ }
466
+ declare global {
467
+ interface HTMLElementTagNameMap {
468
+ "setting-item": SettingItem;
469
+ }
470
+ }
471
+
472
+ declare class SettingItemCheckbox extends LitElement {
473
+ static styles: lit.CSSResult[];
474
+ isChecked: boolean;
475
+ header: string;
476
+ description: string;
477
+ setting: keyof ForesightManagerSettings$2 | keyof DevtoolsSettings;
478
+ private handleCheckboxChange;
479
+ render(): lit.TemplateResult<1>;
480
+ }
481
+ declare global {
482
+ interface HTMLElementTagNameMap {
483
+ "setting-item-checkbox": SettingItemCheckbox;
484
+ }
485
+ }
486
+
487
+ declare class SettingItemRange extends LitElement {
488
+ static styles: lit.CSSResult[];
489
+ minValue: number;
490
+ maxValue: number;
491
+ currentValue: number;
492
+ unit: string;
493
+ header: string;
494
+ description: string;
495
+ setting: keyof ForesightManagerSettings$2;
496
+ private displayValue;
497
+ private handleRangeInput;
498
+ private handleRangeChange;
499
+ willUpdate(changedProperties: Map<string, any>): void;
500
+ render(): lit.TemplateResult<1>;
501
+ }
502
+ declare global {
503
+ interface HTMLElementTagNameMap {
504
+ "setting-item-range": SettingItemRange;
505
+ }
506
+ }
507
+
508
+ declare class SettingsTab extends LitElement {
509
+ static styles: lit.CSSResult;
510
+ private managerSettings;
511
+ private initialSettings;
512
+ private devtoolsSettings;
513
+ private changedSettings;
514
+ private _abortController;
515
+ constructor();
516
+ connectedCallback(): void;
517
+ disconnectedCallback(): void;
518
+ private _updateChangedSettings;
519
+ private _checkManagerSettingsChanges;
520
+ private _checkDevtoolsSettingsChanges;
521
+ private _handleDevtoolsSettingChange;
522
+ private handleCopySettings;
523
+ private generateSettingsCode;
524
+ render(): lit.TemplateResult<1>;
525
+ }
526
+ declare global {
527
+ interface HTMLElementTagNameMap {
528
+ "settings-tab": SettingsTab;
529
+ }
530
+ }
531
+
532
+ declare class ElementOverlays extends LitElement {
533
+ private overlayMap;
534
+ private callbackAnimations;
535
+ private containerElement;
536
+ static styles: lit.CSSResult[];
537
+ private _abortController;
538
+ connectedCallback(): void;
539
+ private createElementOverlays;
540
+ private updateElementOverlays;
541
+ private createOrUpdateElementOverlay;
542
+ private removeElementOverlay;
543
+ private clearCallbackAnimationTimeout;
544
+ private highlightElementCallback;
545
+ private unhighlightElementCallback;
546
+ updateNameTagVisibility(showNameTags: boolean): void;
547
+ disconnectedCallback(): void;
548
+ render(): lit.TemplateResult<1>;
549
+ }
550
+ declare global {
551
+ interface HTMLElementTagNameMap {
552
+ "element-overlays": ElementOverlays;
553
+ }
554
+ }
555
+
556
+ declare class DebugOverlay extends LitElement {
557
+ static styles: lit.CSSResult[];
558
+ render(): lit.TemplateResult<1>;
559
+ }
560
+ declare global {
561
+ interface HTMLElementTagNameMap {
562
+ "debug-overlay": DebugOverlay;
563
+ }
564
+ }
565
+
566
+ declare class ForesightDevtools extends LitElement {
567
+ static styles: lit.CSSResult[];
568
+ private isInitialized;
569
+ private static _instance;
570
+ devtoolsSettings: Required<DevtoolsSettings>;
571
+ static initialize(props?: DeepPartial<DevtoolsSettings>): ForesightDevtools;
572
+ static get instance(): ForesightDevtools;
573
+ disconnectedCallback(): void;
574
+ private shouldUpdateSetting;
575
+ alterDevtoolsSettings(props?: DeepPartial<DevtoolsSettings>): void;
576
+ private cleanup;
577
+ render(): lit.TemplateResult<1>;
578
+ }
579
+ declare global {
580
+ interface HTMLElementTagNameMap {
581
+ "foresight-devtools": ForesightDevtools;
582
+ }
175
583
  }
176
584
 
177
- export { DebuggerControlPanel, ForesightDebugger };
178
- export type { DebuggerBooleanSettingKeys, DebuggerSettings, ForesightDebuggerData, SortElementList };
585
+ export { type DebuggerBooleanSettingKeys, type DevtoolsSettings, ForesightDevtools, type SortElementList };