@typespec/playground 0.15.1-dev.2 → 0.15.1-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { i as createBrowserHost, n as registerMonacoLanguage } from "./services-EHXtFZ69.js";
1
+ import { i as createBrowserHost, n as registerMonacoLanguage } from "./services-okAeHMZK.js";
2
2
  import { createUrlStateStorage } from "./state-storage.js";
3
3
  //#region src/monaco-worker.ts
4
4
  function registerMonacoDefaultWorkersForVite() {
@@ -1,4 +1,4 @@
1
- import { a as resolveVirtualPath, i as createBrowserHost, n as registerMonacoLanguage, o as debugGlobals, r as updateDiagnosticsForCodeFixes, s as printDebugInfo, t as getMonacoRange } from "../services-EHXtFZ69.js";
1
+ import { a as resolveVirtualPath, i as createBrowserHost, n as registerMonacoLanguage, o as debugGlobals, r as updateDiagnosticsForCodeFixes, s as printDebugInfo, t as getMonacoRange } from "../services-okAeHMZK.js";
2
2
  import { createUrlStateStorage } from "../state-storage.js";
3
3
  import { getSourceLocation } from "@typespec/compiler";
4
4
  import { KeyCode, KeyMod, MarkerSeverity, MarkerTag, Range, Uri, editor } from "monaco-editor";
@@ -960,7 +960,7 @@ var SampleIcon = ({ name }) => {
960
960
  opacity: .12
961
961
  });
962
962
  case "hexagon": return /* @__PURE__ */ jsx("polygon", {
963
- points: `${half},4 ${size - 6},${half / 2 + 4} ${size - 6},${size - half / 2 - 4} ${half},${size - 4} 6,${size - half / 2 - 4} 6,${half / 2 + 4}`,
963
+ points: `${half},4 ${size - 6},16 ${size - 6},${size - half / 2 - 4} ${half},${size - 4} 6,${size - half / 2 - 4} 6,16`,
964
964
  fill: colors.fg,
965
965
  opacity: .12
966
966
  });
@@ -2564,20 +2564,32 @@ var Playground = (props) => {
2564
2564
  lastSuccessfulOutputRef.current = [];
2565
2565
  setIsOutputStale(false);
2566
2566
  }, [selectedEmitter]);
2567
+ const isModelDrivenChangeRef = useRef(false);
2567
2568
  useEffect(() => {
2569
+ if (isModelDrivenChangeRef.current) {
2570
+ isModelDrivenChangeRef.current = false;
2571
+ return;
2572
+ }
2568
2573
  if (typespecModel.getValue() !== (content ?? "")) typespecModel.setValue(content ?? "");
2569
2574
  }, [content, typespecModel]);
2575
+ const contentRef = useRef(content);
2576
+ const onContentChangeRef = useRef(onContentChange);
2577
+ useEffect(() => {
2578
+ contentRef.current = content;
2579
+ }, [content]);
2580
+ useEffect(() => {
2581
+ onContentChangeRef.current = onContentChange;
2582
+ }, [onContentChange]);
2570
2583
  useEffect(() => {
2571
2584
  const disposable = typespecModel.onDidChangeContent(() => {
2572
2585
  const newContent = typespecModel.getValue();
2573
- if (newContent !== content) onContentChange(newContent);
2586
+ if (newContent !== contentRef.current) {
2587
+ isModelDrivenChangeRef.current = true;
2588
+ onContentChangeRef.current(newContent);
2589
+ }
2574
2590
  });
2575
2591
  return () => disposable.dispose();
2576
- }, [
2577
- typespecModel,
2578
- content,
2579
- onContentChange
2580
- ]);
2592
+ }, [typespecModel]);
2581
2593
  const isSampleUntouched = useMemo(() => {
2582
2594
  return Boolean(selectedSampleName && content === props.samples?.[selectedSampleName]?.content);
2583
2595
  }, [
@@ -2672,7 +2684,7 @@ var Playground = (props) => {
2672
2684
  }, [doCompile]);
2673
2685
  const saveCode = useCallback(() => {
2674
2686
  if (onSave) onSave({
2675
- content: content ?? "",
2687
+ content: typespecModel.getValue(),
2676
2688
  emitter: selectedEmitter,
2677
2689
  compilerOptions,
2678
2690
  sampleName: isSampleUntouched ? selectedSampleName : void 0,
@@ -2680,7 +2692,7 @@ var Playground = (props) => {
2680
2692
  viewerState
2681
2693
  });
2682
2694
  }, [
2683
- content,
2695
+ typespecModel,
2684
2696
  onSave,
2685
2697
  selectedEmitter,
2686
2698
  compilerOptions,
@@ -5,7 +5,7 @@ import "swagger-ui-dist/swagger-ui.css";
5
5
  var swagger_ui_module_default = { "swagger-ui-container": "_swagger-ui-container_1c81n_1" };
6
6
  //#endregion
7
7
  //#region src/react/viewers/swagger-ui.tsx
8
- var LazySwaggerUI = lazy(() => import("../../react-wrapper-B-poU4Lv.js"));
8
+ var LazySwaggerUI = lazy(() => import("../../react-wrapper-D1icSVtJ.js"));
9
9
  var SwaggerUI = (props) => {
10
10
  return /* @__PURE__ */ jsx(Suspense, {
11
11
  fallback: /* @__PURE__ */ jsx("div", {}),
@@ -1 +1 @@
1
- {"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../../../src/react/playground.tsx"],"names":[],"mappings":"AAGA,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAoB,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIrF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAElB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE3C,oCAAoC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE3D;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,kDAAkD;IAClD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAE1D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE7C,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAoWzD,CAAC"}
1
+ {"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../../../src/react/playground.tsx"],"names":[],"mappings":"AAGA,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAoB,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIrF,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAElB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE3C,oCAAoC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE3D;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,kDAAkD;IAClD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAE1D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAE7C,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CA0XzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite.config.d.ts","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":";AAwBA,wBAuCG"}
1
+ {"version":3,"file":"vite.config.d.ts","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":";AAwBA,wBAqCG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/playground",
3
- "version": "0.15.1-dev.2",
3
+ "version": "0.15.1-dev.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec playground UI components.",
6
6
  "homepage": "https://typespec.io",
@@ -62,11 +62,11 @@
62
62
  "@fluentui/react-components": "^9.73.7",
63
63
  "@fluentui/react-icons": "^2.0.323",
64
64
  "@typespec/bundler": "^0.6.0 || >= 0.6.1-dev.0",
65
- "@typespec/compiler": "^1.12.0 || >= 1.13.0-dev.8",
66
- "@typespec/html-program-viewer": "^0.82.0 || >= 0.83.0-dev.1",
65
+ "@typespec/compiler": "^1.12.0 || >= 1.13.0-dev.10",
66
+ "@typespec/html-program-viewer": "^0.82.0 || >= 0.83.0-dev.2",
67
67
  "@typespec/http": "^1.12.0 || >= 1.13.0-dev.0",
68
- "@typespec/openapi": "^1.12.0 || >= 1.13.0-dev.2",
69
- "@typespec/openapi3": "^1.12.0 || >= 1.13.0-dev.5",
68
+ "@typespec/openapi": "^1.12.0 || >= 1.13.0-dev.3",
69
+ "@typespec/openapi3": "^1.12.0 || >= 1.13.0-dev.6",
70
70
  "@typespec/protobuf": "^0.82.0 || >= 0.83.0-dev.0",
71
71
  "@typespec/rest": "^0.82.0 || >= 0.83.0-dev.0",
72
72
  "@typespec/versioning": "^0.82.0 || >= 0.83.0-dev.0",
@@ -103,8 +103,8 @@
103
103
  "storybook": "^10.3.5",
104
104
  "typescript": "~6.0.2",
105
105
  "vite": "^8.0.8",
106
- "vite-plugin-checker": "^0.12.0",
107
- "vite-plugin-dts": "4.5.4",
106
+ "vite-plugin-checker": "^0.14.1",
107
+ "vite-plugin-dts": "5.0.1",
108
108
  "vitest": "^4.1.3",
109
109
  "@typespec/react-components": "^0.57.0"
110
110
  },