@vscode/component-explorer 0.1.1-8 → 0.2.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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/SECURITY.md +14 -0
  3. package/dist/components/Explorer.d.ts +4 -3
  4. package/dist/components/Explorer.d.ts.map +1 -1
  5. package/dist/components/ExplorerModel.d.ts +18 -2
  6. package/dist/components/ExplorerModel.d.ts.map +1 -1
  7. package/dist/components/FixturePreviewItem.d.ts +1 -0
  8. package/dist/components/FixturePreviewItem.d.ts.map +1 -1
  9. package/dist/components/LeftSidebar.d.ts.map +1 -1
  10. package/dist/components/PreviewArea.d.ts.map +1 -1
  11. package/dist/components/ReportComparisonRow.d.ts +16 -0
  12. package/dist/components/ReportComparisonRow.d.ts.map +1 -0
  13. package/dist/components/ScreenshotComparisonRow.d.ts.map +1 -1
  14. package/dist/components/SearchInput.d.ts +6 -0
  15. package/dist/components/SearchInput.d.ts.map +1 -0
  16. package/dist/components/TitleBar.d.ts.map +1 -1
  17. package/dist/components/TreeView.d.ts.map +1 -1
  18. package/dist/components/index.d.ts +3 -1
  19. package/dist/components/index.d.ts.map +1 -1
  20. package/dist/components/styles.d.ts +32 -32
  21. package/dist/components/treeFilter.d.ts +3 -0
  22. package/dist/components/treeFilter.d.ts.map +1 -0
  23. package/dist/components/types.d.ts +3 -1
  24. package/dist/components/types.d.ts.map +1 -1
  25. package/dist/core/ComponentRenderer.d.ts +17 -0
  26. package/dist/core/ComponentRenderer.d.ts.map +1 -0
  27. package/dist/core/ErrorInfo.d.ts +16 -0
  28. package/dist/core/ErrorInfo.d.ts.map +1 -0
  29. package/dist/core/FixtureNode.d.ts +16 -4
  30. package/dist/core/FixtureNode.d.ts.map +1 -1
  31. package/dist/core/FixturePath.d.ts +8 -0
  32. package/dist/core/FixturePath.d.ts.map +1 -0
  33. package/dist/core/FixtureRegistry.d.ts +3 -25
  34. package/dist/core/FixtureRegistry.d.ts.map +1 -1
  35. package/dist/core/fixtureApi.d.ts +358 -0
  36. package/dist/core/fixtureApi.d.ts.map +1 -0
  37. package/dist/core/fixtureApiConsumer.d.ts +84 -0
  38. package/dist/core/fixtureApiConsumer.d.ts.map +1 -0
  39. package/dist/core/index.d.ts +15 -8
  40. package/dist/core/index.d.ts.map +1 -1
  41. package/dist/daemon/DaemonConfig.d.ts +5 -11
  42. package/dist/daemon/DaemonConfig.d.ts.map +1 -1
  43. package/dist/daemon/DaemonModel.d.ts +7 -4
  44. package/dist/daemon/DaemonModel.d.ts.map +1 -1
  45. package/dist/daemon/index.d.ts +1 -2
  46. package/dist/daemon/index.d.ts.map +1 -1
  47. package/dist/index.d.ts +9 -33
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +10 -3506
  50. package/dist/index.js.map +1 -1
  51. package/dist/lib/explorerQueryParams.d.ts +4 -0
  52. package/dist/lib/explorerQueryParams.d.ts.map +1 -0
  53. package/dist/lib/explorerShadowHost.d.ts +3 -0
  54. package/dist/lib/explorerShadowHost.d.ts.map +1 -0
  55. package/dist/lib/fixtureFocusTrap.d.ts +2 -0
  56. package/dist/lib/fixtureFocusTrap.d.ts.map +1 -0
  57. package/dist/lib/fixtureSizeCache.d.ts +3 -0
  58. package/dist/lib/fixtureSizeCache.d.ts.map +1 -1
  59. package/dist/lib/queryParamObservable.d.ts +4 -0
  60. package/dist/lib/queryParamObservable.d.ts.map +1 -0
  61. package/dist/modes/EmbeddedMode.d.ts +15 -0
  62. package/dist/modes/EmbeddedMode.d.ts.map +1 -0
  63. package/dist/modes/ExplorerUIMode.d.ts +16 -0
  64. package/dist/modes/ExplorerUIMode.d.ts.map +1 -0
  65. package/dist/{core/CliRuntime.d.ts → modes/HeadlessMode.d.ts} +20 -25
  66. package/dist/modes/HeadlessMode.d.ts.map +1 -0
  67. package/dist/report/ReportModel.d.ts +23 -0
  68. package/dist/report/ReportModel.d.ts.map +1 -0
  69. package/dist/report/ScreenshotReport.d.ts +26 -0
  70. package/dist/report/ScreenshotReport.d.ts.map +1 -0
  71. package/dist/report/index.d.ts +3 -0
  72. package/dist/report/index.d.ts.map +1 -0
  73. package/dist/runtimeVersion-CnnW4nSy.js +84 -0
  74. package/dist/runtimeVersion-CnnW4nSy.js.map +1 -0
  75. package/dist/runtimeVersion.d.ts +3 -0
  76. package/dist/runtimeVersion.d.ts.map +1 -0
  77. package/dist/viewer.d.ts +34 -0
  78. package/dist/viewer.d.ts.map +1 -0
  79. package/dist/viewer.js +4104 -0
  80. package/dist/viewer.js.map +1 -0
  81. package/package.json +29 -9
  82. package/dist/core/CliRuntime.d.ts.map +0 -1
  83. package/dist/core/ComponentDefinition.d.ts +0 -70
  84. package/dist/core/ComponentDefinition.d.ts.map +0 -1
  85. package/dist/core/defineFixture.d.ts +0 -109
  86. package/dist/core/defineFixture.d.ts.map +0 -1
  87. package/dist/index.css +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
package/SECURITY.md ADDED
@@ -0,0 +1,14 @@
1
+ <!-- BEGIN MICROSOFT SECURITY.MD V1.0.0 BLOCK -->
2
+
3
+ ## Security
4
+
5
+ Microsoft takes the security of our software products and services seriously, which
6
+ includes all source code repositories in our GitHub organizations.
7
+
8
+ **Please do not report security vulnerabilities through public GitHub issues.**
9
+
10
+ For security reporting information, locations, contact information, and policies,
11
+ please review the latest guidance for Microsoft repositories at
12
+ [https://aka.ms/SECURITY.md](https://aka.ms/SECURITY.md).
13
+
14
+ <!-- END MICROSOFT SECURITY.MD BLOCK -->
@@ -1,10 +1,11 @@
1
- import { FixtureRegistry } from '../core/index.js';
2
1
  import { DaemonModel } from '../daemon/index.js';
2
+ import { ReportModel } from '../report/ReportModel.js';
3
3
  export declare const Explorer: import('react').ComponentType<{
4
- registry: FixtureRegistry;
4
+ registry: import('../viewer.js').FixtureRegistry;
5
5
  daemonModel: DaemonModel | undefined;
6
+ reportModel: ReportModel | undefined;
6
7
  } & {} & {
7
8
  daemonModel: DaemonModel | undefined;
9
+ reportModel: ReportModel | undefined;
8
10
  } & {}>;
9
- export declare function ExplorerWithDefaults(): import("react/jsx-runtime").JSX.Element;
10
11
  //# sourceMappingURL=Explorer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Explorer.d.ts","sourceRoot":"","sources":["../../src/components/Explorer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAOlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,QAAQ;;;;;OAsBpB,CAAC;AAgEF,wBAAgB,oBAAoB,4CAGnC"}
1
+ {"version":3,"file":"Explorer.d.ts","sourceRoot":"","sources":["../../src/components/Explorer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAwB5D,eAAO,MAAM,QAAQ;;;;;;;OAoCpB,CAAC"}
@@ -2,7 +2,9 @@ import { IReader } from '@vscode/observables';
2
2
  import { FixtureRegistry, ComponentDefinition } from '../core/index.js';
3
3
  import { ExplorerTreeNode } from './types.js';
4
4
  import { DaemonModel } from '../daemon/index.js';
5
- export type ViewMode = 'session' | 'diff';
5
+ import { ReportModel } from '../report/ReportModel.js';
6
+ import { ReportFixtureItem } from './ReportComparisonRow.js';
7
+ export type ViewMode = 'session' | 'diff' | 'report';
6
8
  /**
7
9
  * A fixture item to be rendered in the preview area.
8
10
  */
@@ -38,10 +40,17 @@ export type PreviewRow = {
38
40
  readonly name: string;
39
41
  readonly path: string;
40
42
  readonly items: readonly ScreenshotComparisonItem[];
43
+ } | {
44
+ readonly type: 'report-comparison';
45
+ readonly id: string;
46
+ readonly name: string;
47
+ readonly path: string;
48
+ readonly items: readonly ReportFixtureItem[];
41
49
  };
42
50
  declare const ExplorerModel_base: import('@vscode/observables-react').ViewModelClass<{
43
51
  registry: import('@vscode/observables-react').IPropertyTransformerFactory<FixtureRegistry, FixtureRegistry>;
44
52
  daemonModel: import('@vscode/observables-react').IPropertyTransformerFactory<DaemonModel | undefined, DaemonModel | undefined>;
53
+ reportModel: import('@vscode/observables-react').IPropertyTransformerFactory<ReportModel | undefined, ReportModel | undefined>;
45
54
  }>;
46
55
  export declare class ExplorerModel extends ExplorerModel_base {
47
56
  readonly leftSidebarVisible: import('@vscode/observables').ISettableObservable<boolean, void>;
@@ -52,8 +61,13 @@ export declare class ExplorerModel extends ExplorerModel_base {
52
61
  readonly viewMode: import('@vscode/observables').ISettableObservable<ViewMode, void>;
53
62
  get daemonAvailable(): boolean;
54
63
  get daemon(): DaemonModel | undefined;
55
- /** The explorer's tree derived from the registry */
64
+ get reportModel(): ReportModel | undefined;
65
+ get isReportMode(): boolean;
66
+ readonly loading: import('@vscode/observables').IObservableWithChange<boolean, void>;
67
+ readonly searchQuery: import('@vscode/observables').ISettableObservable<string | undefined, void>;
68
+ /** The explorer's tree derived from the registry or report */
56
69
  readonly tree: import('@vscode/observables').IObservableWithChange<ExplorerTreeNode, void>;
70
+ readonly filteredTree: import('@vscode/observables').IObservableWithChange<ExplorerTreeNode, void>;
57
71
  readonly selectedNode: import('@vscode/observables').IObservableWithChange<ExplorerTreeNode | undefined, void>;
58
72
  /** List of preview rows to render based on current selection and view mode */
59
73
  readonly selectedFixtures: import('@vscode/observables').IObservableWithChange<readonly PreviewRow[], void>;
@@ -65,6 +79,7 @@ export declare class ExplorerModel extends ExplorerModel_base {
65
79
  selectNode: (nodeId: string) => void;
66
80
  toggleNodeExpanded: (nodeId: string) => void;
67
81
  isNodeExpanded(nodeId: string, reader: IReader): boolean;
82
+ private _initialExpandedNodes;
68
83
  private _findNode;
69
84
  private _collectPreviewRows;
70
85
  /**
@@ -72,6 +87,7 @@ export declare class ExplorerModel extends ExplorerModel_base {
72
87
  * Variants become comparison groups.
73
88
  */
74
89
  private _collectDiffRows;
90
+ private _collectReportRows;
75
91
  }
76
92
  export {};
77
93
  //# sourceMappingURL=ExplorerModel.d.ts.map
@@ -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;AAC7E,OAAO,EAAE,KAAK,gBAAgB,EAAkB,MAAM,YAAY,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1C;;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,CAAC;;;;;AAEvK,qBAAa,aAAc,SAAQ,kBAGjC;IACA,QAAQ,CAAC,kBAAkB,mEAGxB;IACH,QAAQ,CAAC,mBAAmB,mEAGzB;IACH,QAAQ,CAAC,WAAW,mEAGjB;IACH,QAAQ,CAAC,cAAc,8EAGpB;IACH,QAAQ,CAAC,eAAe,+EAAyD;IAEjF,QAAQ,CAAC,QAAQ,oEAGd;IAEH,IAAI,eAAe,IAAI,OAAO,CAAiD;IAC/E,IAAI,MAAM,IAAI,WAAW,GAAG,SAAS,CAAmC;IAExE,oDAAoD;IACpD,QAAQ,CAAC,IAAI,8EAGV;IAEH,QAAQ,CAAC,YAAY,0FAKlB;IAEH,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,mFAUtB;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;IAIxD,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,mBAAmB;IA+C3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CA6CzB"}
1
+ {"version":3,"file":"ExplorerModel.d.ts","sourceRoot":"","sources":["../../src/components/ExplorerModel.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ import * as React from 'react';
3
3
  export declare const FixturePreviewItem: React.ComponentType<{
4
4
  fixture: FixtureItem;
5
5
  compact: boolean | undefined;
6
+ onSelect: ((nodeId: string) => void) | undefined;
6
7
  } & {} & {} & {}>;
7
8
  //# 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;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkItD,eAAO,MAAM,kBAAkB;;;iBAiD9B,CAAC"}
1
+ {"version":3,"file":"FixturePreviewItem.d.ts","sourceRoot":"","sources":["../../src/components/FixturePreviewItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAoFtD,eAAO,MAAM,kBAAkB;;;wBA1EE,MAAM,KAAK,IAAI;iBA+G/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;AAExD,eAAO,MAAM,WAAW;;GAevB,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;;GAgBvB,CAAC"}
@@ -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;AAiRpE,eAAO,MAAM,WAAW;;iBAwDvB,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;AAqbpE,eAAO,MAAM,WAAW;;iBAmGvB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { ReportFixtureEntry } from '../report/ScreenshotReport.js';
2
+ import { ReportModel } from '../report/ReportModel.js';
3
+ import * as React from 'react';
4
+ export interface ReportFixtureItem {
5
+ readonly fixtureId: string;
6
+ readonly name: string;
7
+ readonly path: string;
8
+ readonly entry: ReportFixtureEntry;
9
+ }
10
+ export declare const ReportComparisonRow: React.ComponentType<import('@vscode/observables-react').PropsIn<{
11
+ name: import('@vscode/observables-react').IPropertyTransformerFactory<string, string>;
12
+ path: import('@vscode/observables-react').IPropertyTransformerFactory<string, string>;
13
+ items: import('@vscode/observables-react').IPropertyTransformerFactory<readonly ReportFixtureItem[], readonly ReportFixtureItem[]>;
14
+ reportModel: import('@vscode/observables-react').IPropertyTransformerFactory<ReportModel, ReportModel>;
15
+ }>>;
16
+ //# sourceMappingURL=ReportComparisonRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportComparisonRow.d.ts","sourceRoot":"","sources":["../../src/components/ReportComparisonRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC;AA2HD,eAAO,MAAM,mBAAmB;;;;;GAoB/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenshotComparisonRow.d.ts","sourceRoot":"","sources":["../../src/components/ScreenshotComparisonRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAmGnE,eAAO,MAAM,uBAAuB;;;;;;;GA6BnC,CAAC"}
1
+ {"version":3,"file":"ScreenshotComparisonRow.d.ts","sourceRoot":"","sources":["../../src/components/ScreenshotComparisonRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAmGnE,eAAO,MAAM,uBAAuB;;;;;;;GAwBnC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ExplorerModel } from './ExplorerModel.js';
2
+ import * as React from 'react';
3
+ export declare const SearchInput: React.ComponentType<import('@vscode/observables-react').PropsIn<{
4
+ model: import('@vscode/observables-react').IPropertyTransformerFactory<ExplorerModel, ExplorerModel>;
5
+ }>>;
6
+ //# sourceMappingURL=SearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/components/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA2CxD,eAAO,MAAM,WAAW;;GA+BvB,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;AAkDlE,eAAO,MAAM,QAAQ;;GAqDpB,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;;GA2DpB,CAAC"}
@@ -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;AAGnD,eAAO,MAAM,QAAQ;;;;GAapB,CAAC;AAuCF,eAAO,MAAM,QAAQ;;;;iBAiDnB,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,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,4 +1,4 @@
1
- export { Explorer, ExplorerWithDefaults } from './Explorer.js';
1
+ export { Explorer } from './Explorer.js';
2
2
  export { ExplorerModel } from './ExplorerModel.js';
3
3
  export type { FixtureItem, ViewMode, ScreenshotComparisonItem, PreviewRow } from './ExplorerModel.js';
4
4
  export type { ExplorerTreeNode } from './types.js';
@@ -12,6 +12,8 @@ export { PreviewArea } from './PreviewArea.js';
12
12
  export { FixturePreviewItem } from './FixturePreviewItem.js';
13
13
  export { FixtureScreenshotView } from './FixtureScreenshotView.js';
14
14
  export { ScreenshotComparisonRow } from './ScreenshotComparisonRow.js';
15
+ export { ReportComparisonRow } from './ReportComparisonRow.js';
16
+ export type { ReportFixtureItem } from './ReportComparisonRow.js';
15
17
  export * from './icons.js';
16
18
  export { styles, mergeStyles } from './styles.js';
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGtG,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGtG,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -5,10 +5,10 @@ export declare const styles: {
5
5
  readonly flexDirection: "row";
6
6
  readonly height: "100%";
7
7
  readonly width: "100%";
8
- readonly fontFamily: "var(--vscode-font-family)";
9
- readonly fontSize: "var(--vscode-font-size)";
10
- readonly color: "var(--vscode-foreground)";
11
- readonly backgroundColor: "var(--vscode-editor-background)";
8
+ readonly fontFamily: "var(--component-explorer-font-family)";
9
+ readonly fontSize: "var(--component-explorer-font-size)";
10
+ readonly color: "var(--component-explorer-foreground)";
11
+ readonly backgroundColor: "var(--component-explorer-editor-background)";
12
12
  };
13
13
  readonly centerArea: {
14
14
  readonly display: "flex";
@@ -23,9 +23,9 @@ export declare const styles: {
23
23
  readonly height: "35px";
24
24
  readonly minHeight: "35px";
25
25
  readonly padding: "0 10px";
26
- readonly backgroundColor: "var(--vscode-titleBar-activeBackground)";
27
- readonly color: "var(--vscode-titleBar-activeForeground)";
28
- readonly borderBottom: "1px solid var(--vscode-titleBar-border, var(--vscode-panel-border))";
26
+ readonly backgroundColor: "var(--component-explorer-titleBar-activeBackground)";
27
+ readonly color: "var(--component-explorer-titleBar-activeForeground)";
28
+ readonly borderBottom: "1px solid var(--component-explorer-titleBar-border, var(--component-explorer-panel-border))";
29
29
  };
30
30
  readonly titleBarSection: {
31
31
  readonly display: "flex";
@@ -47,28 +47,28 @@ export declare const styles: {
47
47
  readonly height: "28px";
48
48
  readonly border: "none";
49
49
  readonly background: "transparent";
50
- readonly color: "var(--vscode-titleBar-activeForeground)";
50
+ readonly color: "var(--component-explorer-titleBar-activeForeground)";
51
51
  readonly cursor: "pointer";
52
52
  readonly borderRadius: "4px";
53
53
  };
54
54
  readonly titleBarButtonHover: {
55
- readonly backgroundColor: "var(--vscode-toolbar-hoverBackground)";
55
+ readonly backgroundColor: "var(--component-explorer-toolbar-hoverBackground)";
56
56
  };
57
57
  readonly titleBarButtonActive: {
58
- readonly backgroundColor: "var(--vscode-toolbar-activeBackground)";
59
- readonly color: "var(--vscode-focusBorder)";
58
+ readonly backgroundColor: "var(--component-explorer-toolbar-activeBackground)";
59
+ readonly color: "var(--component-explorer-focusBorder)";
60
60
  };
61
61
  readonly sidebar: {
62
62
  readonly display: "flex";
63
63
  readonly flexDirection: "column";
64
64
  readonly width: "260px";
65
65
  readonly minWidth: "200px";
66
- readonly backgroundColor: "var(--vscode-sideBar-background)";
67
- readonly borderRight: "1px solid var(--vscode-titleBar-border, var(--vscode-panel-border))";
66
+ readonly backgroundColor: "var(--component-explorer-sideBar-background)";
67
+ readonly borderRight: "1px solid var(--component-explorer-titleBar-border, var(--component-explorer-panel-border))";
68
68
  };
69
69
  readonly sidebarRight: {
70
70
  readonly borderRight: "none";
71
- readonly borderLeft: "1px solid var(--vscode-titleBar-border, var(--vscode-panel-border))";
71
+ readonly borderLeft: "1px solid var(--component-explorer-titleBar-border, var(--component-explorer-panel-border))";
72
72
  };
73
73
  readonly sidebarHeader: {
74
74
  readonly display: "flex";
@@ -80,9 +80,9 @@ export declare const styles: {
80
80
  readonly fontWeight: 700;
81
81
  readonly textTransform: "uppercase";
82
82
  readonly letterSpacing: "0.04em";
83
- readonly color: "var(--vscode-titleBar-activeForeground)";
84
- readonly backgroundColor: "var(--vscode-titleBar-activeBackground)";
85
- readonly borderBottom: "1px solid var(--vscode-titleBar-border, var(--vscode-panel-border))";
83
+ readonly color: "var(--component-explorer-titleBar-activeForeground)";
84
+ readonly backgroundColor: "var(--component-explorer-titleBar-activeBackground)";
85
+ readonly borderBottom: "1px solid var(--component-explorer-titleBar-border, var(--component-explorer-panel-border))";
86
86
  };
87
87
  readonly sidebarContent: {
88
88
  readonly flex: 1;
@@ -98,11 +98,11 @@ export declare const styles: {
98
98
  readonly userSelect: "none";
99
99
  };
100
100
  readonly treeItemSelected: {
101
- readonly backgroundColor: "var(--vscode-list-activeSelectionBackground)";
102
- readonly color: "var(--vscode-list-activeSelectionForeground)";
101
+ readonly backgroundColor: "var(--component-explorer-list-activeSelectionBackground)";
102
+ readonly color: "var(--component-explorer-list-activeSelectionForeground)";
103
103
  };
104
104
  readonly treeItemHover: {
105
- readonly backgroundColor: "var(--vscode-list-hoverBackground)";
105
+ readonly backgroundColor: "var(--component-explorer-list-hoverBackground)";
106
106
  };
107
107
  readonly treeItemChevron: {
108
108
  readonly display: "flex";
@@ -110,7 +110,7 @@ export declare const styles: {
110
110
  readonly justifyContent: "center";
111
111
  readonly width: "16px";
112
112
  readonly height: "16px";
113
- readonly color: "var(--vscode-foreground)";
113
+ readonly color: "var(--component-explorer-foreground)";
114
114
  readonly opacity: 0.8;
115
115
  readonly cursor: "pointer";
116
116
  };
@@ -135,15 +135,15 @@ export declare const styles: {
135
135
  readonly treeItemCount: {
136
136
  readonly marginLeft: "8px";
137
137
  readonly fontSize: "11px";
138
- readonly color: "var(--vscode-descriptionForeground)";
138
+ readonly color: "var(--component-explorer-descriptionForeground)";
139
139
  };
140
140
  readonly mainContent: {
141
141
  readonly flex: 1;
142
142
  readonly display: "flex";
143
143
  readonly alignItems: "center";
144
144
  readonly justifyContent: "center";
145
- readonly backgroundColor: "var(--vscode-editor-background)";
146
- readonly color: "var(--vscode-descriptionForeground)";
145
+ readonly backgroundColor: "var(--component-explorer-editor-background)";
146
+ readonly color: "var(--component-explorer-descriptionForeground)";
147
147
  readonly fontSize: "14px";
148
148
  };
149
149
  readonly propertiesPanel: {
@@ -154,12 +154,12 @@ export declare const styles: {
154
154
  };
155
155
  readonly propertyLabel: {
156
156
  readonly fontSize: "12px";
157
- readonly color: "var(--vscode-foreground)";
157
+ readonly color: "var(--component-explorer-foreground)";
158
158
  readonly marginBottom: "4px";
159
159
  };
160
160
  readonly propertyDescription: {
161
161
  readonly fontSize: "11px";
162
- readonly color: "var(--vscode-descriptionForeground)";
162
+ readonly color: "var(--component-explorer-descriptionForeground)";
163
163
  readonly marginTop: "2px";
164
164
  };
165
165
  readonly propertyInput: {
@@ -167,9 +167,9 @@ export declare const styles: {
167
167
  readonly height: "26px";
168
168
  readonly padding: "0 8px";
169
169
  readonly fontSize: "13px";
170
- readonly color: "var(--vscode-input-foreground)";
171
- readonly backgroundColor: "var(--vscode-input-background)";
172
- readonly border: "1px solid var(--vscode-input-border, transparent)";
170
+ readonly color: "var(--component-explorer-input-foreground)";
171
+ readonly backgroundColor: "var(--component-explorer-input-background)";
172
+ readonly border: "1px solid var(--component-explorer-input-border, transparent)";
173
173
  readonly borderRadius: "2px";
174
174
  readonly outline: "none";
175
175
  readonly boxSizing: "border-box";
@@ -179,9 +179,9 @@ export declare const styles: {
179
179
  readonly height: "26px";
180
180
  readonly padding: "0 8px";
181
181
  readonly fontSize: "13px";
182
- readonly color: "var(--vscode-dropdown-foreground)";
183
- readonly backgroundColor: "var(--vscode-dropdown-background)";
184
- readonly border: "1px solid var(--vscode-dropdown-border)";
182
+ readonly color: "var(--component-explorer-dropdown-foreground)";
183
+ readonly backgroundColor: "var(--component-explorer-dropdown-background)";
184
+ readonly border: "1px solid var(--component-explorer-dropdown-border)";
185
185
  readonly borderRadius: "2px";
186
186
  readonly outline: "none";
187
187
  readonly boxSizing: "border-box";
@@ -0,0 +1,3 @@
1
+ import { ExplorerTreeNode } from './types.js';
2
+ export declare function filterTree(root: ExplorerTreeNode, query: string | undefined): ExplorerTreeNode | undefined;
3
+ //# sourceMappingURL=treeFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeFilter.d.ts","sourceRoot":"","sources":["../../src/components/treeFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAUnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAI1G"}
@@ -1,14 +1,16 @@
1
1
  import { FixtureNode, ComponentDefinition } from '../core/index.js';
2
+ import { FixturePath } from '../core/FixturePath.js';
2
3
  /**
3
4
  * Explorer's tree node structure, derived from FixtureNode.
4
5
  * This is the explorer's own representation of the fixture tree.
5
6
  */
6
7
  export interface ExplorerTreeNode {
7
- readonly id: string;
8
+ readonly id: FixturePath;
8
9
  readonly name: string;
9
10
  readonly type: 'folder' | 'variants' | 'component';
10
11
  readonly children?: readonly ExplorerTreeNode[];
11
12
  readonly component?: ComponentDefinition;
13
+ readonly labels: readonly string[];
12
14
  }
13
15
  /**
14
16
  * 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;AAEzE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,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;CAC1C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAQlE"}
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"}
@@ -0,0 +1,17 @@
1
+ import { ComponentDefinition } from './fixtureApiConsumer.js';
2
+ import { RenderResult } from './fixtureApi.js';
3
+ export declare class ComponentRendering {
4
+ readonly component: ComponentDefinition;
5
+ readonly renderTarget: HTMLElement;
6
+ readonly iframe: HTMLIFrameElement | null;
7
+ private readonly _abortController;
8
+ private _resolvedResult;
9
+ private _injectedElements;
10
+ private _adoptedSheets;
11
+ private _styleTarget;
12
+ private readonly _rendered;
13
+ constructor(host: HTMLElement, component: ComponentDefinition);
14
+ waitForRendering(): Promise<RenderResult | undefined>;
15
+ dispose(): void;
16
+ }
17
+ //# sourceMappingURL=ComponentRenderer.d.ts.map
@@ -0,0 +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;AA4CrE,qBAAa,kBAAkB;IAUC,QAAQ,CAAC,SAAS,EAAE,mBAAmB;IATtE,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,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;gBAElD,IAAI,EAAE,WAAW,EAAW,SAAS,EAAE,mBAAmB;IA0EhE,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAM3D,OAAO,IAAI,IAAI;CAMf"}
@@ -0,0 +1,16 @@
1
+ export interface ExceptionError {
2
+ readonly message: string;
3
+ readonly stack?: string;
4
+ }
5
+ export type RenderEventType = 'console.error' | 'console.warn' | 'console.log' | 'window.error' | 'window.unhandledrejection';
6
+ export interface RenderEvent {
7
+ readonly type: RenderEventType;
8
+ readonly message: string;
9
+ }
10
+ export interface RenderReport {
11
+ readonly hasError: boolean;
12
+ readonly error?: ExceptionError;
13
+ readonly events: RenderEvent[];
14
+ readonly resultData?: unknown;
15
+ }
16
+ //# sourceMappingURL=ErrorInfo.d.ts.map
@@ -0,0 +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;CAC9B"}
@@ -1,11 +1,12 @@
1
- import { ComponentDefinition, FixtureExport } from './ComponentDefinition.js';
1
+ import { FixtureExport } from './fixtureApi.js';
2
+ import { ComponentDefinition } from './fixtureApiConsumer.js';
3
+ import { FixturePath } from './FixturePath.js';
2
4
  /**
3
5
  * A node in the fixture tree.
4
6
  * Can be a folder (with children), variants (with children, horizontal layout), or a component leaf.
5
7
  */
6
8
  export interface FixtureNode {
7
- /** Unique identifier (path segments joined by '/') */
8
- readonly id: string;
9
+ readonly id: FixturePath;
9
10
  /** Display name */
10
11
  readonly name: string;
11
12
  /** Node type: folder for groups, variants for horizontal variant display, component for leaves */
@@ -14,12 +15,23 @@ export interface FixtureNode {
14
15
  readonly children?: readonly FixtureNode[];
15
16
  /** Component definition (only for component nodes) */
16
17
  readonly component?: ComponentDefinition;
18
+ /** Labels for categorization and filtering */
19
+ readonly labels: readonly string[];
20
+ /** Source fixture file path — present on skeleton nodes (component is undefined) for on-demand loading */
21
+ readonly sourceFile?: string;
17
22
  }
18
23
  /**
19
24
  * Creates a fixture tree from a map of fixture exports.
20
- * @param fixtures Map of fixture file path to exported fixture object
25
+ * Entries with `undefined` value are rendered as skeleton nodes (loaded on demand).
21
26
  */
22
27
  export declare function createFixtureTree(fixtures: Map<string, FixtureExport>): FixtureNode;
28
+ /**
29
+ * Resolves all lazy fixture module loaders in parallel and returns a map of loaded exports.
30
+ * Used by modes that need the full fixture tree upfront (headless, embedded).
31
+ */
32
+ export declare function resolveFixtureModules(modules: Record<string, () => Promise<{
33
+ default?: unknown;
34
+ }>>): Promise<Map<string, FixtureExport>>;
23
35
  /**
24
36
  * Finds a node in the tree by path.
25
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FixtureNode.d.ts","sourceRoot":"","sources":["../../src/core/FixtureNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGnF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;IAEnD,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAE3C,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,WAAW,CAenF;AA8FD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,GAAG,SAAS,CAezF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAU1E"}
1
+ {"version":3,"file":"FixtureNode.d.ts","sourceRoot":"","sources":["../../src/core/FixtureNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAKH,KAAK,mBAAmB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA8C/C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IAEzB,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;IAEnD,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAE3C,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEzC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAEnC,0GAA0G;IAC1G,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,WAAW,CA8BnF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,GAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAYrC;AA+HD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,GAAG,SAAS,CAezF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAU1E"}
@@ -0,0 +1,8 @@
1
+ export declare class FixturePath {
2
+ readonly value: string;
3
+ private _segments;
4
+ constructor(value: string);
5
+ get segments(): readonly string[];
6
+ toString(): string;
7
+ }
8
+ //# sourceMappingURL=FixturePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FixturePath.d.ts","sourceRoot":"","sources":["../../src/core/FixturePath.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IAGV,QAAQ,CAAC,KAAK,EAAE,MAAM;IAFlC,OAAO,CAAC,SAAS,CAAgC;gBAE5B,KAAK,EAAE,MAAM;IAElC,IAAI,QAAQ,IAAI,SAAS,MAAM,EAAE,CAEhC;IAED,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,37 +1,15 @@
1
1
  import { IObservable, IReader } from '@vscode/observables';
2
- import { ComponentDefinition, FixtureExport } from './ComponentDefinition.js';
2
+ import { FixtureExport } from './fixtureApi.js';
3
+ import { ComponentDefinition } from './fixtureApiConsumer.js';
3
4
  import { FixtureNode } from './FixtureNode.js';
4
- /**
5
- * Registry for discovered fixtures.
6
- * Holds the fixture tree as an observable for reactivity.
7
- */
8
5
  export declare class FixtureRegistry {
9
6
  private readonly _fixtures;
10
- /** Observable root of the fixture tree */
7
+ readonly loading: import('@vscode/observables').ISettableObservable<boolean, void>;
11
8
  readonly root: IObservable<FixtureNode>;
12
- /**
13
- * Registers a fixture file.
14
- * @param path The file path (e.g., 'components/Button.fixture.tsx')
15
- * @param fixtureExport The exported fixture object
16
- */
17
9
  register(path: string, fixtureExport: FixtureExport): void;
18
- /**
19
- * Unregisters a fixture file.
20
- * @param path The file path to remove
21
- */
22
10
  unregister(path: string): void;
23
- /**
24
- * Clears all registered fixtures.
25
- */
26
11
  clear(): void;
27
- /**
28
- * Gets a node by path.
29
- */
30
12
  getNode(reader: IReader, path: string[]): FixtureNode | undefined;
31
- /**
32
- * Gets a component by path (non-reactive, for use in preview iframe).
33
- * @param path Array of path segments (e.g., ['Button', 'Primary'])
34
- */
35
13
  getComponentByPath(path: string[]): ComponentDefinition | undefined;
36
14
  }
37
15
  //# sourceMappingURL=FixtureRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FixtureRegistry.d.ts","sourceRoot":"","sources":["../../src/core/FixtureRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEvF;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgE;IAE1F,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAGpC;IAEH;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI;IAM1D;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO9B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,GAAG,SAAS;IAKjE;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,GAAG,SAAS;CAMpE"}
1
+ {"version":3,"file":"FixtureRegistry.d.ts","sourceRoot":"","sources":["../../src/core/FixtureRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEvF,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgE;IAC1F,QAAQ,CAAC,OAAO,mEAAyC;IAEzD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAGpC;IAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI;IAM1D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO9B,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,GAAG,SAAS;IAKjE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,GAAG,SAAS;CAMpE"}