@vscode/component-explorer 0.2.1-18 → 0.2.1-180

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 (85) hide show
  1. package/README.md +198 -27
  2. package/dist/browserDaemonClient-AB8d4x2O.js +3465 -0
  3. package/dist/browserDaemonClient-AB8d4x2O.js.map +1 -0
  4. package/dist/components/BottomDebugPanel.d.ts +8 -0
  5. package/dist/components/BottomDebugPanel.d.ts.map +1 -0
  6. package/dist/components/DebugPanelPlacement.d.ts +3 -0
  7. package/dist/components/DebugPanelPlacement.d.ts.map +1 -0
  8. package/dist/components/DebugWorkbench.d.ts +42 -0
  9. package/dist/components/DebugWorkbench.d.ts.map +1 -0
  10. package/dist/components/DebugWorkbenchLayout.d.ts +30 -0
  11. package/dist/components/DebugWorkbenchLayout.d.ts.map +1 -0
  12. package/dist/components/DebugWorkbenchState.d.ts +31 -0
  13. package/dist/components/DebugWorkbenchState.d.ts.map +1 -0
  14. package/dist/components/ExplorerModel.d.ts +28 -5
  15. package/dist/components/ExplorerModel.d.ts.map +1 -1
  16. package/dist/components/FixtureDebugStore.d.ts +20 -0
  17. package/dist/components/FixtureDebugStore.d.ts.map +1 -0
  18. package/dist/components/FixturePreviewItem.d.ts +11 -0
  19. package/dist/components/FixturePreviewItem.d.ts.map +1 -1
  20. package/dist/components/LeftSidebar.d.ts.map +1 -1
  21. package/dist/components/PageViewportState.d.ts +34 -0
  22. package/dist/components/PageViewportState.d.ts.map +1 -0
  23. package/dist/components/PreviewArea.d.ts.map +1 -1
  24. package/dist/components/RightSidebar.d.ts +8 -2
  25. package/dist/components/RightSidebar.d.ts.map +1 -1
  26. package/dist/components/TitleBar.d.ts.map +1 -1
  27. package/dist/components/TreeView.d.ts +3 -1
  28. package/dist/components/TreeView.d.ts.map +1 -1
  29. package/dist/components/favoriteFixtures.d.ts +4 -0
  30. package/dist/components/favoriteFixtures.d.ts.map +1 -0
  31. package/dist/components/icons.d.ts +12 -8
  32. package/dist/components/icons.d.ts.map +1 -1
  33. package/dist/components/types.d.ts +2 -0
  34. package/dist/components/types.d.ts.map +1 -1
  35. package/dist/core/ComponentRenderer.d.ts +26 -3
  36. package/dist/core/ComponentRenderer.d.ts.map +1 -1
  37. package/dist/core/ErrorInfo.d.ts +21 -1
  38. package/dist/core/ErrorInfo.d.ts.map +1 -1
  39. package/dist/core/FixtureInputStore.d.ts +32 -0
  40. package/dist/core/FixtureInputStore.d.ts.map +1 -0
  41. package/dist/core/FixtureInteractionRuntime.d.ts +30 -0
  42. package/dist/core/FixtureInteractionRuntime.d.ts.map +1 -0
  43. package/dist/core/FixtureNode.d.ts.map +1 -1
  44. package/dist/core/FixtureRegistry.d.ts +2 -0
  45. package/dist/core/FixtureRegistry.d.ts.map +1 -1
  46. package/dist/core/RenderTimeout.d.ts +39 -0
  47. package/dist/core/RenderTimeout.d.ts.map +1 -0
  48. package/dist/core/fixtureApi.d.ts +234 -32
  49. package/dist/core/fixtureApi.d.ts.map +1 -1
  50. package/dist/core/fixtureApiConsumer.d.ts +22 -2
  51. package/dist/core/fixtureApiConsumer.d.ts.map +1 -1
  52. package/dist/core/index.d.ts +7 -3
  53. package/dist/core/index.d.ts.map +1 -1
  54. package/dist/core/inputAggregation.d.ts +31 -0
  55. package/dist/core/inputAggregation.d.ts.map +1 -0
  56. package/dist/daemon/DaemonConfig.d.ts +0 -2
  57. package/dist/daemon/DaemonConfig.d.ts.map +1 -1
  58. package/dist/daemon/DaemonModel.d.ts +12 -6
  59. package/dist/daemon/DaemonModel.d.ts.map +1 -1
  60. package/dist/daemon/browserDaemonClient.d.ts +3 -0
  61. package/dist/daemon/browserDaemonClient.d.ts.map +1 -0
  62. package/dist/fixtureApi.d-DjVuiRlO.d.ts +533 -0
  63. package/dist/index.d.ts +53 -10
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +11 -9
  66. package/dist/lib/explorerQueryParams.d.ts +2 -2
  67. package/dist/lib/explorerQueryParams.d.ts.map +1 -1
  68. package/dist/lib/fixtureSizeCache.d.ts +2 -0
  69. package/dist/lib/fixtureSizeCache.d.ts.map +1 -1
  70. package/dist/modes/EmbeddedMode.d.ts +7 -0
  71. package/dist/modes/EmbeddedMode.d.ts.map +1 -1
  72. package/dist/modes/ExplorerUIMode.d.ts +1 -1
  73. package/dist/modes/ExplorerUIMode.d.ts.map +1 -1
  74. package/dist/modes/HeadlessMode.d.ts +12 -3
  75. package/dist/modes/HeadlessMode.d.ts.map +1 -1
  76. package/dist/{runtimeVersion-DLeDvOjy.js → runtimeVersion-D9F0L_-O.js} +80 -39
  77. package/dist/runtimeVersion-D9F0L_-O.js.map +1 -0
  78. package/dist/viewer.d.ts +2900 -24
  79. package/dist/viewer.d.ts.map +1 -1
  80. package/dist/viewer.js +5596 -2332
  81. package/dist/viewer.js.map +1 -1
  82. package/package.json +10 -6
  83. package/dist/core/PropertySchema.d.ts +0 -40
  84. package/dist/core/PropertySchema.d.ts.map +0 -1
  85. package/dist/runtimeVersion-DLeDvOjy.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import { ConsoleEventsStore } from '../core/ConsoleEventsStore.js';
2
+ import { ExplorerModel } from './ExplorerModel.js';
3
+ import * as React from 'react';
4
+ export declare const BottomDebugPanel: React.ComponentType<{
5
+ model: ExplorerModel;
6
+ consoleStore: ConsoleEventsStore;
7
+ } & {} & {} & {}>;
8
+ //# sourceMappingURL=BottomDebugPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomDebugPanel.d.ts","sourceRoot":"","sources":["../../src/components/BottomDebugPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,oBAAoB,CAAC;AAsBrE,eAAO,MAAM,gBAAgB;;;iBAgE5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { DebugPanelPlacement } from '../core/index.js';
2
+ export declare function resolveDebugPanelPlacement(explicitPlacement: DebugPanelPlacement | undefined, logicalFixtureCount: number): DebugPanelPlacement;
3
+ //# sourceMappingURL=DebugPanelPlacement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugPanelPlacement.d.ts","sourceRoot":"","sources":["../../src/components/DebugPanelPlacement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,wBAAgB,0BAA0B,CACxC,iBAAiB,EAAE,mBAAmB,GAAG,SAAS,EAClD,mBAAmB,EAAE,MAAM,GAC1B,mBAAmB,CAGrB"}
@@ -0,0 +1,42 @@
1
+ import { ConsoleEventsStore } from '../core/ConsoleEventsStore.js';
2
+ import { DebugPanelDefinition } from '../core/fixtureApi.js';
3
+ import { FixtureDebugStore } from './FixtureDebugStore.js';
4
+ import { DebugWorkbenchStateStore } from './DebugWorkbenchState.js';
5
+ export interface DebugWorkbenchEntry {
6
+ readonly key: string;
7
+ readonly title: string;
8
+ readonly fixtureId: string;
9
+ readonly fixtureName: string;
10
+ readonly panelId: string;
11
+ readonly definition?: DebugPanelDefinition;
12
+ readonly outputEditable?: boolean;
13
+ }
14
+ export interface DebugWorkbenchProps {
15
+ readonly workbenchId: string;
16
+ readonly entries: readonly DebugWorkbenchEntry[];
17
+ readonly activeEntryKey: string;
18
+ readonly store: FixtureDebugStore;
19
+ readonly stateStore: DebugWorkbenchStateStore;
20
+ readonly consoleStore: ConsoleEventsStore | undefined;
21
+ readonly onActiveEntryChange: (entryKey: string) => void;
22
+ readonly onClose: (() => void) | undefined;
23
+ readonly externalHeaderHost: HTMLElement | null | undefined;
24
+ readonly contentVisible: boolean;
25
+ readonly popOutHref?: string;
26
+ readonly floatTopHeaders: boolean;
27
+ }
28
+ export declare const DebugWorkbench: import('react').ComponentType<{
29
+ workbenchId: string;
30
+ entries: readonly DebugWorkbenchEntry[];
31
+ activeEntryKey: string;
32
+ store: FixtureDebugStore;
33
+ stateStore: DebugWorkbenchStateStore;
34
+ consoleStore: ConsoleEventsStore | undefined;
35
+ onActiveEntryChange: (entryKey: string) => void;
36
+ onClose: (() => void) | undefined;
37
+ externalHeaderHost: HTMLElement | null | undefined;
38
+ contentVisible: boolean;
39
+ popOutHref: string | undefined;
40
+ floatTopHeaders: boolean;
41
+ } & {}>;
42
+ //# sourceMappingURL=DebugWorkbench.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugWorkbench.d.ts","sourceRoot":"","sources":["../../src/components/DebugWorkbench.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,uBAAuB,CAAC;AAiB/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AASD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC;AA4cD,eAAO,MAAM,cAAc;;;;;;;oCAhakB,MAAM,KAAK,IAAI;oBAC/B,IAAI;;;;;OAschC,CAAC"}
@@ -0,0 +1,30 @@
1
+ export type DebugSplitOrientation = 'horizontal' | 'vertical';
2
+ export type DebugDockZone = 'center' | 'left' | 'right' | 'top' | 'bottom';
3
+ export interface DebugStackNode {
4
+ readonly type: 'stack';
5
+ readonly id: string;
6
+ readonly entryKeys: readonly string[];
7
+ readonly activeEntryKey: string;
8
+ }
9
+ export interface DebugSplitNode {
10
+ readonly type: 'split';
11
+ readonly id: string;
12
+ readonly orientation: DebugSplitOrientation;
13
+ readonly ratio: number;
14
+ readonly first: DebugWorkbenchNode;
15
+ readonly second: DebugWorkbenchNode;
16
+ }
17
+ export type DebugWorkbenchNode = DebugStackNode | DebugSplitNode;
18
+ export declare function createDebugWorkbenchLayout(entryKeys: readonly string[], activeEntryKey: string | undefined): DebugWorkbenchNode;
19
+ export declare function getDebugWorkbenchEntryOrder(node: DebugWorkbenchNode): readonly string[];
20
+ export declare function getVisibleDebugEntryKeys(node: DebugWorkbenchNode): ReadonlySet<string>;
21
+ export declare function getFirstDebugStackId(node: DebugWorkbenchNode): string;
22
+ export declare function reconcileDebugWorkbenchLayout(node: DebugWorkbenchNode, entryKeys: readonly string[], activeEntryKey: string | undefined): DebugWorkbenchNode;
23
+ export declare function activateDebugEntry(node: DebugWorkbenchNode, entryKey: string, stackId?: string | undefined): DebugWorkbenchNode;
24
+ export declare function reorderDebugEntry(node: DebugWorkbenchNode, entryKey: string, targetEntryKey: string, before: boolean, sourceStackId?: string | undefined, targetStackId?: string | undefined): DebugWorkbenchNode;
25
+ export declare function dockDebugEntry(node: DebugWorkbenchNode, entryKey: string, targetStackId: string, zone: DebugDockZone, sourceStackId?: string | undefined): DebugWorkbenchNode;
26
+ export declare function duplicateDebugPane(node: DebugWorkbenchNode, stackId: string, duplicateEntryKey?: string): DebugWorkbenchNode;
27
+ export declare function closeDebugPane(node: DebugWorkbenchNode, stackId: string, remainingEntryKeys?: string[]): DebugWorkbenchNode;
28
+ export declare function updateDebugSplitRatio(node: DebugWorkbenchNode, splitId: string, ratio: number): DebugWorkbenchNode;
29
+ export declare function findStack(node: DebugWorkbenchNode, stackId: string): DebugStackNode | undefined;
30
+ //# sourceMappingURL=DebugWorkbenchLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugWorkbenchLayout.d.ts","sourceRoot":"","sources":["../../src/components/DebugWorkbenchLayout.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,cAAc,CAAC;AAEjE,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,kBAAkB,CAKpB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,kBAAkB,GAAG,SAAS,MAAM,EAAE,CAIvF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,CAItF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAErE;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,kBAAkB,CA4BpB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,qBAA0C,GAChD,kBAAkB,CAMpB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,OAAO,EACf,aAAa,qBAA0C,EACvD,aAAa,qBAAgD,GAC5D,kBAAkB,CAiBpB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,aAAa,EACnB,aAAa,qBAA0C,GACtD,kBAAkB,CA8BpB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,GACzB,kBAAkB,CAKpB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,kBAAkB,WAAkD,GACnE,kBAAkB,CAIpB;AAqBD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAQpB;AA4CD,wBAAgB,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAG/F"}
@@ -0,0 +1,31 @@
1
+ import { IReader, ISettableObservable } from '@vscode/observables';
2
+ import { DebugPanelViewState, DebugPanelViewStateOptions } from '../core/fixtureApi.js';
3
+ import { DebugWorkbenchNode } from './DebugWorkbenchLayout.js';
4
+ export declare class DebugWorkbenchStateStore {
5
+ private readonly _storage?;
6
+ readonly error: ISettableObservable<string | undefined, void>;
7
+ private readonly _state;
8
+ private readonly _bindings;
9
+ private readonly _storageKey;
10
+ static forBrowser(projectScope: string): DebugWorkbenchStateStore;
11
+ constructor(projectScope?: string, _storage?: Pick<Storage, "getItem" | "setItem"> | undefined);
12
+ readonly synchronized: import('@vscode/observables').IObservableWithChange<boolean, void>;
13
+ setSynchronized(enabled: boolean, seedWorkbenchId?: string): void;
14
+ getEntryKey(workbenchId: string, key: string): string;
15
+ getPrimaryEntryKey(key: string): string;
16
+ duplicateEntry(workbenchId: string, key: string): string;
17
+ getLayout(workbenchId: string, entryKeys: readonly string[], _activeEntryKey?: string): ISettableObservable<DebugWorkbenchNode>;
18
+ getActiveEntry(workbenchId: string): ISettableObservable<string | undefined>;
19
+ readActiveEntry(reader: IReader | undefined, workbenchId: string, entryKeys: readonly string[]): string | undefined;
20
+ private _visibleActiveEntry;
21
+ getPaneHeight(workbenchId: string): ISettableObservable<number | 'viewport' | undefined>;
22
+ getPaneFraction(workbenchId: string): ISettableObservable<number>;
23
+ viewState<T>(workbenchId: string, entryKey: string, fixtureId: string, options: DebugPanelViewStateOptions<T>): DebugPanelViewState<T>;
24
+ private _binding;
25
+ private _getState;
26
+ private _visibleState;
27
+ private _edit;
28
+ private _save;
29
+ private _reportError;
30
+ }
31
+ //# sourceMappingURL=DebugWorkbenchState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugWorkbenchState.d.ts","sourceRoot":"","sources":["../../src/components/DebugWorkbenchState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEnI,OAAO,KAAK,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,wBAAwB;IAoBjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAnB5B,QAAQ,CAAC,KAAK,gDAAwD;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB;gBAa/D,YAAY,SAAY,EACP,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC,YAAA;IAalE,QAAQ,CAAC,YAAY,qEAEnB;IAEF,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAWjE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAKrD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKvC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAaxD,SAAS,CACP,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,eAAe,CAAC,EAAE,MAAM,GACvB,mBAAmB,CAAC,kBAAkB,CAAC;IAS1C,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,GAAG,SAAS,CAAC;IAI5E,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS;IAKnH,OAAO,CAAC,mBAAmB;IAS3B,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAIxF,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAIjE,SAAS,CAAC,CAAC,EACT,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACrC,mBAAmB,CAAC,CAAC,CAAC;IA2CzB,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,YAAY;CAKrB"}
@@ -1,9 +1,12 @@
1
1
  import { IReader } from '@vscode/observables';
2
- import { FixtureRegistry, ComponentDefinition } from '../core/index.js';
3
- import { ExplorerTreeNode } from './types.js';
2
+ import { FixtureRegistry, ComponentDefinition, FixtureInputStore } from '../core/index.js';
3
+ import { ExplorerTreeKind, ExplorerTreeNode } from './types.js';
4
4
  import { DaemonModel } from '../daemon/index.js';
5
5
  import { ReportModel } from '../report/ReportModel.js';
6
6
  import { ReportFixtureItem } from './ReportComparisonRow.js';
7
+ import { FixtureViewportStore } from './PageViewportState.js';
8
+ import { FixtureDebugStore } from './FixtureDebugStore.js';
9
+ import { DebugWorkbenchStateStore } from './DebugWorkbenchState.js';
7
10
  export type ViewMode = 'session' | 'diff' | 'report';
8
11
  /**
9
12
  * A fixture item to be rendered in the preview area.
@@ -22,6 +25,10 @@ export interface ScreenshotComparisonItem {
22
25
  readonly name: string;
23
26
  readonly path: string;
24
27
  }
28
+ export interface RevealTreeNodeRequest {
29
+ readonly id: number;
30
+ readonly nodeId: string;
31
+ }
25
32
  /**
26
33
  * A preview row can be a live fixture, a variant group, or a screenshot comparison.
27
34
  */
@@ -57,7 +64,10 @@ export declare class ExplorerModel extends ExplorerModel_base {
57
64
  readonly rightSidebarVisible: import('@vscode/observables').ISettableObservable<boolean, void>;
58
65
  readonly isDarkTheme: import('@vscode/observables').ISettableObservable<boolean, void>;
59
66
  readonly selectedNodeId: import('@vscode/observables').ISettableObservable<string | undefined, void>;
60
- readonly expandedNodeIds: import('@vscode/observables').ISettableObservable<ReadonlySet<string>, void>;
67
+ readonly expandedNodeKeys: import('@vscode/observables').ISettableObservable<ReadonlySet<string>, void>;
68
+ readonly revealTreeNodeRequest: import('@vscode/observables').ISettableObservable<RevealTreeNodeRequest | undefined, void>;
69
+ private _nextRevealTreeNodeRequestId;
70
+ readonly favoriteNodeIds: import('@vscode/observables').ISettableObservable<ReadonlySet<string>, void>;
61
71
  readonly viewMode: import('@vscode/observables').ISettableObservable<ViewMode, void>;
62
72
  get daemonAvailable(): boolean;
63
73
  get daemon(): DaemonModel | undefined;
@@ -69,17 +79,30 @@ export declare class ExplorerModel extends ExplorerModel_base {
69
79
  /** The explorer's tree derived from the registry or report */
70
80
  readonly tree: import('@vscode/observables').IObservableWithChange<ExplorerTreeNode, void>;
71
81
  readonly filteredTree: import('@vscode/observables').IObservableWithChange<ExplorerTreeNode, void>;
82
+ readonly sidebarTrees: import('@vscode/observables').IObservableWithChange<readonly ExplorerTreeNode[], void>;
72
83
  readonly selectedNode: import('@vscode/observables').IObservableWithChange<ExplorerTreeNode | undefined, void>;
73
84
  /** List of preview rows to render based on current selection and view mode */
74
85
  readonly selectedFixtures: import('@vscode/observables').IObservableWithChange<readonly PreviewRow[], void>;
86
+ /** Shared store of per-fixture `input` overrides, edited via the properties panel. */
87
+ readonly inputStore: FixtureInputStore;
88
+ /** Explorer-only page viewport size and presentation overrides. */
89
+ readonly viewportStore: FixtureViewportStore;
90
+ /** Live rendered fixture instances used by visibility-scoped debug panels. */
91
+ readonly debugStore: FixtureDebugStore;
92
+ /** Docking layouts and open-panel selections that survive preview-row recycling. */
93
+ readonly debugWorkbenchState: DebugWorkbenchStateStore;
94
+ /** Flattened list of the live fixtures currently shown in the preview area. */
95
+ readonly renderedFixtures: import('@vscode/observables').IObservableWithChange<readonly FixtureItem[], void>;
75
96
  setViewMode: (mode: ViewMode) => void;
76
97
  navigateToSession: (sessionName: string) => void;
77
98
  toggleLeftSidebar: () => void;
78
99
  toggleRightSidebar: () => void;
79
100
  toggleTheme: () => void;
80
101
  selectNode: (nodeId: string) => void;
81
- toggleNodeExpanded: (nodeId: string) => void;
82
- isNodeExpanded(nodeId: string, reader: IReader): boolean;
102
+ toggleNodeExpanded: (treeKind: ExplorerTreeKind, nodeId: string) => void;
103
+ toggleNodeFavorite: (nodeId: string) => void;
104
+ revealSelectedNodeInTree: () => void;
105
+ isNodeExpanded(treeKind: ExplorerTreeKind, nodeId: string, reader: IReader): boolean;
83
106
  private _initialExpandedNodes;
84
107
  private _findNode;
85
108
  private _collectPreviewRows;
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerModel.d.ts","sourceRoot":"","sources":["../../src/components/ExplorerModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,KAAK,gBAAgB,EAAkB,MAAM,YAAY,CAAC;AAInE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,GAC3I;IAAE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAA;CAAE,GAClK;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAAC;;;;;;AAE5J,qBAAa,aAAc,SAAQ,kBAIjC;IACA,QAAQ,CAAC,kBAAkB,mEAGxB;IACH,QAAQ,CAAC,mBAAmB,mEAGzB;IACH,QAAQ,CAAC,WAAW,mEAGjB;IACH,QAAQ,CAAC,cAAc,8EAA+C;IACtE,QAAQ,CAAC,eAAe,+EAA4E;IAEpG,QAAQ,CAAC,QAAQ,oEAGd;IAEH,IAAI,eAAe,IAAI,OAAO,CAAiD;IAC/E,IAAI,MAAM,IAAI,WAAW,GAAG,SAAS,CAAmC;IACxE,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAAmC;IAC7E,IAAI,YAAY,IAAI,OAAO,CAAiD;IAE5E,QAAQ,CAAC,OAAO,qEAAuE;IACvF,QAAQ,CAAC,KAAK,gFAAqE;IAEnF,QAAQ,CAAC,WAAW,8EAA8C;IAElE,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,8EAOV;IAEH,QAAQ,CAAC,YAAY,8EAIlB;IAEH,QAAQ,CAAC,YAAY,0FAMlB;IAEH,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,mFAuBtB;IAEH,WAAW,GAAI,MAAM,QAAQ,KAAG,IAAI,CAElC;IAEF,iBAAiB,GAAI,aAAa,MAAM,KAAG,IAAI,CAO7C;IAEF,iBAAiB,QAAO,IAAI,CAE1B;IAEF,kBAAkB,QAAO,IAAI,CAE3B;IAEF,WAAW,QAAO,IAAI,CAEpB;IAEF,UAAU,GAAI,QAAQ,MAAM,KAAG,IAAI,CAEjC;IAEF,kBAAkB,GAAI,QAAQ,MAAM,KAAG,IAAI,CASzC;IAEF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAKxD,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,mBAAmB;IA8C3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,CAAC,kBAAkB;CA6B3B"}
1
+ {"version":3,"file":"ExplorerModel.d.ts","sourceRoot":"","sources":["../../src/components/ExplorerModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IReader } from '@vscode/observables';
2
+ import { ComponentRendering } from '../core/ComponentRenderer.js';
3
+ import { FixtureItem } from './ExplorerModel.js';
4
+ export interface FixtureDebugInfo {
5
+ readonly fixture: FixtureItem;
6
+ readonly rendering: ComponentRendering;
7
+ readonly ready: boolean;
8
+ readonly hasOutput: boolean;
9
+ readonly outputEditable: boolean;
10
+ }
11
+ export declare class FixtureDebugStore {
12
+ private readonly _entries;
13
+ read(reader: IReader, fixtureId: string): FixtureDebugInfo | undefined;
14
+ get(fixtureId: string): FixtureDebugInfo | undefined;
15
+ setRendering(fixture: FixtureItem, rendering: ComponentRendering): void;
16
+ markReady(fixture: FixtureItem, rendering: ComponentRendering): void;
17
+ remove(fixtureId: string, rendering: ComponentRendering): void;
18
+ private _set;
19
+ }
20
+ //# sourceMappingURL=FixtureDebugStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FixtureDebugStore.d.ts","sourceRoot":"","sources":["../../src/components/FixtureDebugStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGvB;IAEF,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAItE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIpD,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAUvE,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAWpE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAQ9D,OAAO,CAAC,IAAI;CAKb"}
@@ -1,8 +1,19 @@
1
+ import { FixtureInputStore } from '../core/index.js';
1
2
  import { FixtureItem } from './ExplorerModel.js';
3
+ import { FixtureViewportStore } from './PageViewportState.js';
4
+ import { FixtureDebugStore } from './FixtureDebugStore.js';
5
+ import { DebugWorkbenchStateStore } from './DebugWorkbenchState.js';
2
6
  import * as React from 'react';
3
7
  export declare const FixturePreviewItem: React.ComponentType<{
4
8
  fixture: FixtureItem;
5
9
  compact: boolean | undefined;
6
10
  onSelect: ((nodeId: string) => void) | undefined;
11
+ inputStore: FixtureInputStore | undefined;
12
+ viewportStore: FixtureViewportStore;
13
+ availablePageHeight: number;
14
+ availablePreviewWidth: number;
15
+ debugStore: FixtureDebugStore;
16
+ debugWorkbenchState: DebugWorkbenchStateStore;
17
+ logicalFixtureCount: number;
7
18
  } & {} & {} & {}>;
8
19
  //# sourceMappingURL=FixturePreviewItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FixturePreviewItem.d.ts","sourceRoot":"","sources":["../../src/components/FixturePreviewItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0FtD,eAAO,MAAM,kBAAkB;;;wBAhFE,MAAM,KAAK,IAAI;iBAuH/C,CAAC"}
1
+ {"version":3,"file":"FixturePreviewItem.d.ts","sourceRoot":"","sources":["../../src/components/FixturePreviewItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,EAGL,KAAK,oBAAoB,EAI1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAmUzE,eAAO,MAAM,kBAAkB;;;wBAjTE,MAAM,KAAK,IAAI;;;;;;;;iBAwoB/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LeftSidebar.d.ts","sourceRoot":"","sources":["../../src/components/LeftSidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,eAAO,MAAM,WAAW;;GAgBvB,CAAC"}
1
+ {"version":3,"file":"LeftSidebar.d.ts","sourceRoot":"","sources":["../../src/components/LeftSidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,eAAO,MAAM,WAAW;;GAwBvB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { IReader, ISettableObservable } from '@vscode/observables';
2
+ import { PageMode } from '../core/index.js';
3
+ export type PagePreviewMode = 'fit' | 'responsive' | 'actual';
4
+ export type ComponentPreviewMode = Exclude<PagePreviewMode, 'responsive'>;
5
+ export interface PageViewportSettings {
6
+ readonly viewportIndex: number;
7
+ readonly width: number;
8
+ readonly height: number;
9
+ readonly mode: PagePreviewMode;
10
+ }
11
+ export interface PagePreviewGeometry {
12
+ readonly logicalWidth: number;
13
+ readonly logicalHeight: number;
14
+ readonly scale: number;
15
+ readonly visualWidth: number;
16
+ readonly visualHeight: number;
17
+ }
18
+ export declare function calculatePagePreviewGeometry(settings: PageViewportSettings, availableWidth: number, availableHeight?: number): PagePreviewGeometry;
19
+ export declare function calculateComponentPreviewGeometry(width: number, height: number, mode: ComponentPreviewMode, availableWidth: number, availableHeight?: number): PagePreviewGeometry;
20
+ export declare class FixtureViewportStore {
21
+ private readonly _values;
22
+ readonly mode: ISettableObservable<PagePreviewMode, void>;
23
+ constructor();
24
+ read(reader: IReader, fixtureId: string, pageMode: PageMode): PageViewportSettings;
25
+ get(fixtureId: string, pageMode: PageMode): PageViewportSettings;
26
+ readComponentMode(reader: IReader): ComponentPreviewMode;
27
+ selectViewport(fixtureId: string, pageMode: PageMode, viewportIndex: number): void;
28
+ setWidth(fixtureId: string, pageMode: PageMode, width: number): void;
29
+ setHeight(fixtureId: string, pageMode: PageMode, height: number): void;
30
+ private _set;
31
+ private _load;
32
+ private _persist;
33
+ }
34
+ //# sourceMappingURL=PageViewportState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageViewportState.d.ts","sourceRoot":"","sources":["../../src/components/PageViewportState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAChC;AAQD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AA4CD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,oBAAoB,EAC9B,cAAc,EAAE,MAAM,EACtB,eAAe,SAAI,GAClB,mBAAmB,CAgBrB;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,oBAAoB,EAC1B,cAAc,EAAE,MAAM,EACtB,eAAe,SAAI,GAClB,mBAAmB,CAerB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkE;IAC1F,QAAQ,CAAC,IAAI,6CAOV;;IAMH,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,oBAAoB;IAIlF,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,oBAAoB;IAIhE,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,oBAAoB;IAIxD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAUlF,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKtE,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,QAAQ;CAOjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewArea.d.ts","sourceRoot":"","sources":["../../src/components/PreviewArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,oBAAoB,CAAC;AAqbpE,eAAO,MAAM,WAAW;;iBAmGvB,CAAC"}
1
+ {"version":3,"file":"PreviewArea.d.ts","sourceRoot":"","sources":["../../src/components/PreviewArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,oBAAoB,CAAC;AAycpE,eAAO,MAAM,WAAW;;iBAqGvB,CAAC"}
@@ -1,6 +1,12 @@
1
- import { ExplorerTreeNode } from './types.js';
1
+ import { ExplorerModel } from './ExplorerModel.js';
2
2
  import * as React from 'react';
3
+ /**
4
+ * Properties panel: aggregates the input schemas of every fixture currently rendered in the
5
+ * preview area and presents one control per shared property. Editing a control updates the
6
+ * `input` of all fixtures that declare that property (same name + schema), so common values
7
+ * like a theme can be switched across the whole view at once.
8
+ */
3
9
  export declare const RightSidebar: React.ComponentType<import('@vscode/observables-react').PropsIn<{
4
- selectedNode: import('@vscode/observables-react').IPropertyTransformerFactory<ExplorerTreeNode | undefined, ExplorerTreeNode | undefined>;
10
+ model: import('@vscode/observables-react').IPropertyTransformerFactory<ExplorerModel, ExplorerModel>;
5
11
  }>>;
6
12
  //# sourceMappingURL=RightSidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RightSidebar.d.ts","sourceRoot":"","sources":["../../src/components/RightSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA8GnD,eAAO,MAAM,YAAY;;GAqBxB,CAAC"}
1
+ {"version":3,"file":"RightSidebar.d.ts","sourceRoot":"","sources":["../../src/components/RightSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAuJxD;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;GAmFxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TitleBar.d.ts","sourceRoot":"","sources":["../../src/components/TitleBar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,oBAAoB,CAAC;AAoDlE,eAAO,MAAM,QAAQ;;GA2DpB,CAAC"}
1
+ {"version":3,"file":"TitleBar.d.ts","sourceRoot":"","sources":["../../src/components/TitleBar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,oBAAoB,CAAC;AAoDlE,eAAO,MAAM,QAAQ;;GAoEpB,CAAC"}
@@ -1,14 +1,16 @@
1
1
  import { ExplorerModel } from './ExplorerModel.js';
2
- import { ExplorerTreeNode } from './types.js';
2
+ import { ExplorerTreeKind, ExplorerTreeNode } from './types.js';
3
3
  import * as React from 'react';
4
4
  export declare const TreeView: React.ComponentType<import('@vscode/observables-react').PropsIn<{
5
5
  model: import('@vscode/observables-react').IPropertyTransformerFactory<ExplorerModel, ExplorerModel>;
6
6
  nodes: import('@vscode/observables-react').IPropertyTransformerFactory<readonly ExplorerTreeNode[], readonly ExplorerTreeNode[]>;
7
7
  depth: import('@vscode/observables-react').IPropertyTransformerFactory<number, number>;
8
+ treeKind: import('@vscode/observables-react').IPropertyTransformerFactory<ExplorerTreeKind, ExplorerTreeKind>;
8
9
  }>>;
9
10
  export declare const TreeItem: React.ComponentType<{
10
11
  model: ExplorerModel;
11
12
  node: ExplorerTreeNode;
12
13
  depth: number;
14
+ treeKind: ExplorerTreeKind;
13
15
  } & {} & {} & {}>;
14
16
  //# sourceMappingURL=TreeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/components/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA+BnD,eAAO,MAAM,QAAQ;;;;GAapB,CAAC;AAuCF,eAAO,MAAM,QAAQ;;;;iBA+DnB,CAAC"}
1
+ {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/components/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAoDrE,eAAO,MAAM,QAAQ;;;;;GAcpB,CAAC;AA4DF,eAAO,MAAM,QAAQ;;;;;iBA+EnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ExplorerTreeNode } from './types.js';
2
+ export declare const FAVORITES_NODE_ID = "component-explorer-internal:favorites";
3
+ export declare function createFavoriteFixturesTree(root: ExplorerTreeNode, favoriteNodeIds: ReadonlySet<string>): ExplorerTreeNode | undefined;
4
+ //# sourceMappingURL=favoriteFixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"favoriteFixtures.d.ts","sourceRoot":"","sources":["../../src/components/favoriteFixtures.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,iBAAiB,0CAA0C,CAAC;AAEzE,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,EACtB,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,GACnC,gBAAgB,GAAG,SAAS,CAc9B"}
@@ -1,18 +1,22 @@
1
1
  import * as React from 'react';
2
2
  export declare const ChevronRightIcon: ({ style }: {
3
3
  style?: React.CSSProperties;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ }) => React.JSX.Element;
5
5
  export declare const ChevronDownIcon: ({ style }: {
6
6
  style?: React.CSSProperties;
7
- }) => import("react/jsx-runtime").JSX.Element;
7
+ }) => React.JSX.Element;
8
8
  export declare const ComponentIcon: ({ style }: {
9
9
  style?: React.CSSProperties;
10
- }) => import("react/jsx-runtime").JSX.Element;
10
+ }) => React.JSX.Element;
11
11
  export declare const FolderIcon: ({ style }: {
12
12
  style?: React.CSSProperties;
13
- }) => import("react/jsx-runtime").JSX.Element;
14
- export declare const PanelLeftIcon: () => import("react/jsx-runtime").JSX.Element;
15
- export declare const PanelRightIcon: () => import("react/jsx-runtime").JSX.Element;
16
- export declare const SunIcon: () => import("react/jsx-runtime").JSX.Element;
17
- export declare const MoonIcon: () => import("react/jsx-runtime").JSX.Element;
13
+ }) => React.JSX.Element;
14
+ export declare const StarIcon: ({ filled }: {
15
+ filled?: boolean;
16
+ }) => React.JSX.Element;
17
+ export declare const RevealInTreeIcon: () => React.JSX.Element;
18
+ export declare const PanelLeftIcon: () => React.JSX.Element;
19
+ export declare const PanelRightIcon: () => React.JSX.Element;
20
+ export declare const SunIcon: () => React.JSX.Element;
21
+ export declare const MoonIcon: () => React.JSX.Element;
18
22
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/components/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,gBAAgB,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,4CAI1E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,4CAIzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,4CAIvE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,4CAIpE,CAAC;AAEF,eAAO,MAAM,aAAa,+CAIzB,CAAC;AAEF,eAAO,MAAM,cAAc,+CAI1B,CAAC;AAEF,eAAO,MAAM,OAAO,+CAInB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAIpB,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/components/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,gBAAgB,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,sBAI1E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,sBAIzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,sBAIvE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,WAAW;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAAE,sBAIpE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,YAAoB;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,sBAIhE,CAAC;AAEF,eAAO,MAAM,gBAAgB,yBAI5B,CAAC;AAEF,eAAO,MAAM,aAAa,yBAIzB,CAAC;AAEF,eAAO,MAAM,cAAc,yBAI1B,CAAC;AAEF,eAAO,MAAM,OAAO,yBAInB,CAAC;AAEF,eAAO,MAAM,QAAQ,yBAIpB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { FixtureNode, ComponentDefinition } from '../core/index.js';
2
2
  import { FixturePath } from '../core/FixturePath.js';
3
+ export type ExplorerTreeKind = 'components' | 'favorites';
3
4
  /**
4
5
  * Explorer's tree node structure, derived from FixtureNode.
5
6
  * This is the explorer's own representation of the fixture tree.
@@ -11,6 +12,7 @@ export interface ExplorerTreeNode {
11
12
  readonly children?: readonly ExplorerTreeNode[];
12
13
  readonly component?: ComponentDefinition;
13
14
  readonly labels: readonly string[];
15
+ readonly isFavoritesRoot?: boolean;
14
16
  }
15
17
  /**
16
18
  * Converts a FixtureNode tree to ExplorerTreeNode tree.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CASlE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CASlE"}
@@ -1,7 +1,14 @@
1
1
  import { ComponentDefinition } from './fixtureApiConsumer.js';
2
- import { RenderResult } from './fixtureApi.js';
2
+ import { RenderHost, RenderResult } from './fixtureApi.js';
3
+ import { ExceptionError } from './ErrorInfo.js';
4
+ import { ActiveDebugPanelSession } from './FixtureInteractionRuntime.js';
5
+ /** Maximum time a fixture render may take before it is reported as failed. */
6
+ export declare const RENDER_TIMEOUT_MS = 3000;
3
7
  export declare class ComponentRendering {
4
8
  readonly component: ComponentDefinition;
9
+ private readonly _renderHost;
10
+ private readonly _input?;
11
+ private readonly _onInputReport?;
5
12
  readonly renderTarget: HTMLElement;
6
13
  readonly iframe: HTMLIFrameElement | null;
7
14
  private readonly _abortController;
@@ -11,8 +18,24 @@ export declare class ComponentRendering {
11
18
  private _styleTarget;
12
19
  private readonly _disposables;
13
20
  private readonly _rendered;
14
- constructor(host: HTMLElement, component: ComponentDefinition);
21
+ private readonly _inputRuntime;
22
+ private readonly _debugRuntime;
23
+ private readonly _iframeActiveSessions;
24
+ private readonly _iframePanelStateHandlers;
25
+ private _iframeHasOutput;
26
+ private _iframeOutputEditable;
27
+ private _nextIframePanelSessionId;
28
+ private _currentInput;
29
+ constructor(host: HTMLElement, component: ComponentDefinition, _renderHost?: RenderHost, _input?: unknown | undefined, _onInputReport?: ((key: string, value: unknown) => void) | undefined);
30
+ private readonly _pendingInputReports;
31
+ private _queueInputReport;
32
+ updateInput(input: unknown): boolean;
33
+ get hasOutput(): boolean;
34
+ get outputEditable(): boolean;
35
+ getOutputSnapshot(): unknown;
36
+ activateDebugPanel(panelId: string, publish: (state: unknown) => void): ActiveDebugPanelSession;
37
+ private _connectDebugPanel;
15
38
  waitForRendering(): Promise<RenderResult | undefined>;
16
- dispose(): void;
39
+ dispose(): Promise<readonly ExceptionError[]>;
17
40
  }
18
41
  //# sourceMappingURL=ComponentRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentRenderer.d.ts","sourceRoot":"","sources":["../../src/core/ComponentRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAe,YAAY,EAAmB,MAAM,iBAAiB,CAAC;AA6ClF,qBAAa,kBAAkB;IAWC,QAAQ,CAAC,SAAS,EAAE,mBAAmB;IAVtE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,eAAe,CAAuD;IAC9E,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,IAAI,EAAE,WAAW,EAAW,SAAS,EAAE,mBAAmB;IA2GhE,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAM3D,OAAO,IAAI,IAAI;CAYf"}
1
+ {"version":3,"file":"ComponentRenderer.d.ts","sourceRoot":"","sources":["../../src/core/ComponentRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAKX,UAAU,EACV,YAAY,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,gBAAgB,CAAC;AAItE,OAAO,EAGN,KAAK,uBAAuB,EAC5B,MAAM,gCAAgC,CAAC;AAExC,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,OAAO,CAAC;AA8CtC,qBAAa,kBAAkB;IAqB7B,QAAQ,CAAC,SAAS,EAAE,mBAAmB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAvBjC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,eAAe,CAAuD;IAC9E,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsC;IAC5E,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA+C;IACzF,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,aAAa,CAAU;gBAG9B,IAAI,EAAE,WAAW,EACR,SAAS,EAAE,mBAAmB,EACtB,WAAW,GAAE,UAAqD,EAClE,MAAM,CAAC,EAAE,OAAO,YAAA,EAChB,cAAc,CAAC,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,aAAA;IAyKxE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IAEnE,OAAO,CAAC,iBAAiB;IAezB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAapC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,iBAAiB,IAAI,OAAO;IAO5B,kBAAkB,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/B,uBAAuB;IAsC1B,OAAO,CAAC,kBAAkB;IAepB,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAgB3D,OAAO,IAAI,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC;CAkD7C"}
@@ -6,15 +6,35 @@ export type RenderEventType = 'console.error' | 'console.warn' | 'console.log' |
6
6
  export interface RenderEvent {
7
7
  readonly type: RenderEventType;
8
8
  readonly message: string;
9
+ readonly stack?: string;
10
+ }
11
+ /**
12
+ * Errors and events captured while disposing a fixture (the implicit dispose
13
+ * that runs before a new render, or the explicit one triggered by
14
+ * `disposeAfter` / `disposeCurrentFixture()`).
15
+ */
16
+ export interface DisposeReport {
17
+ readonly hasError: boolean;
18
+ /** Errors thrown by `dispose()` calls (RenderResult.dispose, addDisposable disposables). */
19
+ readonly errors: readonly ExceptionError[];
20
+ /** Console / window error events fired during the dispose call. */
21
+ readonly events: readonly RenderEvent[];
9
22
  }
10
23
  export interface RenderReport {
11
24
  readonly hasError: boolean;
12
25
  readonly error?: ExceptionError;
13
26
  readonly events: RenderEvent[];
14
- readonly resultData?: unknown;
27
+ /** Output data the fixture provided via `RenderResult.output` (counterpart of `RenderContext.input`). */
28
+ readonly output?: unknown;
15
29
  readonly renderTimeMs: {
16
30
  readonly sync: number;
17
31
  readonly total: number;
18
32
  };
33
+ /**
34
+ * Errors / events captured while disposing the previous fixture (the implicit
35
+ * dispose that runs at the start of `renderFixture`). Present only if the
36
+ * dispose actually surfaced something.
37
+ */
38
+ readonly previousDispose?: DisposeReport;
19
39
  }
20
40
  //# sourceMappingURL=ErrorInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorInfo.d.ts","sourceRoot":"","sources":["../../src/core/ErrorInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,2BAA2B,CAAC;AAE9H,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE"}
1
+ {"version":3,"file":"ErrorInfo.d.ts","sourceRoot":"","sources":["../../src/core/ErrorInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,2BAA2B,CAAC;AAE9H,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/B,yGAAyG;IACzG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC;CACzC"}
@@ -0,0 +1,32 @@
1
+ import { IObservable, IReader } from '@vscode/observables';
2
+ import { IJsonSchema } from './fixtureApi.js';
3
+ /** A fixture's input override object (only the keys the user explicitly changed). */
4
+ export type FixtureInputOverride = Record<string, unknown>;
5
+ /**
6
+ * Central store of `input` overrides for the explorer UI.
7
+ *
8
+ * Values are keyed by **property identity** (name + structural schema), not by fixture, so a
9
+ * value chosen on one fixture is automatically reused by every other fixture that declares the
10
+ * same input — navigating between fixtures keeps the shared value instead of resetting it.
11
+ * The whole map is persisted to `localStorage` so choices survive reloads. Schema defaults are
12
+ * applied at render time (see `applyInputDefaults`); only explicit overrides are stored here.
13
+ */
14
+ export declare class FixtureInputStore {
15
+ /** Shared values keyed by `inputPropertyKey(name, schema)`. */
16
+ private readonly _values;
17
+ /** Cache of derived per-fixture override observables. */
18
+ private readonly _byFixture;
19
+ constructor();
20
+ /**
21
+ * Returns a derived observable of `fixtureId`'s input overrides, mapped from the shared
22
+ * per-property store. Only properties the user explicitly set (across any fixture) appear.
23
+ */
24
+ getInput(fixtureId: string, schema: IJsonSchema | undefined): IObservable<FixtureInputOverride>;
25
+ /** The currently effective value of a shared property: explicit override, else schema default. */
26
+ readValue(reader: IReader, name: string, schema: IJsonSchema): unknown;
27
+ /** Sets a shared input property (applies to every fixture that declares it) and persists. */
28
+ setValue(name: string, schema: IJsonSchema, value: unknown): void;
29
+ private _load;
30
+ private _persist;
31
+ }
32
+ //# sourceMappingURL=FixtureInputStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FixtureInputStore.d.ts","sourceRoot":"","sources":["../../src/core/FixtureInputStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,qFAAqF;AACrF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAI3D;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC1B,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwD;;IAMnF;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,oBAAoB,CAAC;IAuB/F,kGAAkG;IAClG,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO;IAStE,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOjE,OAAO,CAAC,KAAK;IAeb,OAAO,CAAC,QAAQ;CAOnB"}