@typespec/html-program-viewer 0.72.0-dev.3 → 0.73.0-dev.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.
@@ -0,0 +1,6 @@
1
+ const manifest = {
2
+ "version": "1.2.0",
3
+ "commit": "f5bbd14f1e98a829dce155a97584244de1defe42"
4
+ };
5
+
6
+ export { manifest as default };
@@ -34305,7 +34305,7 @@ let manifest;
34305
34305
  try {
34306
34306
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
34307
34307
  // @ts-ignore
34308
- manifest = (await import('../manifest-DH1LKq9n.js')).default;
34308
+ manifest = (await import('../manifest-8ok_8W_7.js')).default;
34309
34309
  }
34310
34310
  catch {
34311
34311
  const name = "../dist/manifest.js";
@@ -45605,12 +45605,29 @@ function useTreeNavigator() {
45605
45605
  }
45606
45606
  return nav;
45607
45607
  }
45608
- const TypeGraphNavigatorProvider = ({ program, children }) => {
45609
- const treeNavigator = useTreeNavigatorInternal(program);
45608
+ const TypeGraphNavigatorProvider = ({
45609
+ program,
45610
+ children,
45611
+ onNavigationChange,
45612
+ currentPath
45613
+ }) => {
45614
+ const treeNavigator = useTreeNavigatorInternal(program, onNavigationChange, currentPath);
45610
45615
  return /* @__PURE__ */ jsxRuntimeExports$1.jsx(TreeNavigatorContext.Provider, { value: treeNavigator, children });
45611
45616
  };
45612
- function useTreeNavigatorInternal(program) {
45613
- const [selectedPath, selectPath] = useState("");
45617
+ function useTreeNavigatorInternal(program, onNavigationChange, currentPath) {
45618
+ const [selectedPath, setSelectedPath] = useState(currentPath || "");
45619
+ const selectPath = useCallback(
45620
+ (path) => {
45621
+ setSelectedPath(path);
45622
+ onNavigationChange?.(path);
45623
+ },
45624
+ [onNavigationChange]
45625
+ );
45626
+ useEffect(() => {
45627
+ if (currentPath !== void 0 && currentPath !== selectedPath) {
45628
+ setSelectedPath(currentPath);
45629
+ }
45630
+ }, [currentPath, selectedPath]);
45614
45631
  const tree = useMemo(() => computeTree(program), [program]);
45615
45632
  const { pathToNode, typeToPath } = useMemo(() => computeReferences(tree), [tree]);
45616
45633
  const selectedNode = useMemo(() => pathToNode.get(selectedPath), [pathToNode, selectedPath]);
@@ -46454,14 +46471,26 @@ const TypeNodeView = ({ node }) => {
46454
46471
  ] });
46455
46472
  };
46456
46473
 
46457
- const TypeGraph = ({ program }) => {
46458
- return /* @__PURE__ */ jsxRuntimeExports$1.jsx(TypeGraphNavigatorProvider, { program, children: /* @__PURE__ */ jsxRuntimeExports$1.jsx(ProgramProvider, { value: program, children: /* @__PURE__ */ jsxRuntimeExports$1.jsxs(SplitPane, { initialSizes: ["200px", ""], split: "vertical", className: style$6["type-graph"], children: [
46459
- /* @__PURE__ */ jsxRuntimeExports$1.jsx(Pane, { className: style$6["tree-navigation-pane"], children: /* @__PURE__ */ jsxRuntimeExports$1.jsx(TreeNavigation, {}) }),
46460
- /* @__PURE__ */ jsxRuntimeExports$1.jsxs(Pane, { className: style$6["view-pane"], children: [
46461
- /* @__PURE__ */ jsxRuntimeExports$1.jsx("div", { className: style$6["current-path"], children: /* @__PURE__ */ jsxRuntimeExports$1.jsx(CurrentPath, {}) }),
46462
- /* @__PURE__ */ jsxRuntimeExports$1.jsx(TypeGraphContent, {})
46463
- ] })
46464
- ] }) }) });
46474
+ const TypeGraph = ({
46475
+ program,
46476
+ onNavigationChange,
46477
+ currentPath
46478
+ }) => {
46479
+ return /* @__PURE__ */ jsxRuntimeExports$1.jsx(
46480
+ TypeGraphNavigatorProvider,
46481
+ {
46482
+ program,
46483
+ onNavigationChange,
46484
+ currentPath,
46485
+ children: /* @__PURE__ */ jsxRuntimeExports$1.jsx(ProgramProvider, { value: program, children: /* @__PURE__ */ jsxRuntimeExports$1.jsxs(SplitPane, { initialSizes: ["200px", ""], split: "vertical", className: style$6["type-graph"], children: [
46486
+ /* @__PURE__ */ jsxRuntimeExports$1.jsx(Pane, { className: style$6["tree-navigation-pane"], children: /* @__PURE__ */ jsxRuntimeExports$1.jsx(TreeNavigation, {}) }),
46487
+ /* @__PURE__ */ jsxRuntimeExports$1.jsxs(Pane, { className: style$6["view-pane"], children: [
46488
+ /* @__PURE__ */ jsxRuntimeExports$1.jsx("div", { className: style$6["current-path"], children: /* @__PURE__ */ jsxRuntimeExports$1.jsx(CurrentPath, {}) }),
46489
+ /* @__PURE__ */ jsxRuntimeExports$1.jsx(TypeGraphContent, {})
46490
+ ] })
46491
+ ] }) })
46492
+ }
46493
+ );
46465
46494
  };
46466
46495
  const TypeGraphContent = () => {
46467
46496
  const nav = useTreeNavigator();
@@ -3,6 +3,8 @@ import { FunctionComponent } from 'react';
3
3
  export declare function renderProgram(program: Program): string;
4
4
  export interface TypeGraphProps {
5
5
  readonly program: Program;
6
+ readonly onNavigationChange?: (path: string) => void;
7
+ readonly currentPath?: string;
6
8
  }
7
9
  export declare const TypeGraph: FunctionComponent<TypeGraphProps>;
8
10
  //# sourceMappingURL=type-graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-graph.d.ts","sourceRoot":"","sources":["../../src/react/type-graph.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAU/C,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,UAO7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAkBvD,CAAC"}
1
+ {"version":3,"file":"type-graph.d.ts","sourceRoot":"","sources":["../../src/react/type-graph.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAU/C,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,UAO7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,cAAc,CA0BvD,CAAC"}
@@ -25,6 +25,8 @@ export declare function useTreeNavigator(): TreeNavigator;
25
25
  export interface TypeGraphNavigatorProvider {
26
26
  program: Program;
27
27
  children: ReactNode;
28
+ onNavigationChange?: (path: string) => void;
29
+ currentPath?: string;
28
30
  }
29
- export declare const TypeGraphNavigatorProvider: ({ program, children }: TypeGraphNavigatorProvider) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const TypeGraphNavigatorProvider: ({ program, children, onNavigationChange, currentPath, }: TypeGraphNavigatorProvider) => import("react/jsx-runtime").JSX.Element;
30
32
  //# sourceMappingURL=use-tree-navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-tree-navigation.d.ts","sourceRoot":"","sources":["../../src/react/use-tree-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAA6D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC;AAQD,wBAAgB,wBAAwB,IAAI,aAAa,GAAG,SAAS,CAEpE;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAMhD;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AACD,eAAO,MAAM,0BAA0B,GAAI,uBAAuB,0BAA0B,4CAK3F,CAAC"}
1
+ {"version":3,"file":"use-tree-navigation.d.ts","sourceRoot":"","sources":["../../src/react/use-tree-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC;AAQD,wBAAgB,wBAAwB,IAAI,aAAa,GAAG,SAAS,CAEpE;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAMhD;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,eAAO,MAAM,0BAA0B,GAAI,yDAKxC,0BAA0B,4CAK5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/html-program-viewer",
3
- "version": "0.72.0-dev.3",
3
+ "version": "0.73.0-dev.0",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting an html view of the program.",
6
6
  "homepage": "https://typespec.io",
@@ -36,7 +36,7 @@
36
36
  "!dist/test/**"
37
37
  ],
38
38
  "peerDependencies": {
39
- "@typespec/compiler": "^1.1.0"
39
+ "@typespec/compiler": "^1.2.0"
40
40
  },
41
41
  "dependencies": {
42
42
  "@fluentui/react-components": "~9.66.1",
@@ -54,7 +54,7 @@
54
54
  "@types/node": "~24.0.3",
55
55
  "@types/react": "~18.3.11",
56
56
  "@types/react-dom": "~18.3.0",
57
- "@typespec/compiler": "^1.1.0",
57
+ "@typespec/compiler": "^1.2.0",
58
58
  "@vitejs/plugin-react": "~4.4.1",
59
59
  "@vitest/coverage-v8": "^3.1.2",
60
60
  "@vitest/ui": "^3.1.2",
@@ -1,6 +0,0 @@
1
- const manifest = {
2
- "version": "1.1.0",
3
- "commit": "e06d7434ea7c8348b49b31f47128ae02a300b129"
4
- };
5
-
6
- export { manifest as default };