@typespec/playground 0.1.0-alpha.3-dev.7 → 0.1.0-alpha.3-dev.12

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 (123) hide show
  1. package/README.md +3 -1
  2. package/dist/index.css +58 -0
  3. package/dist/index.js +7 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/react/index.js +867 -0
  6. package/dist/react/index.js.map +1 -0
  7. package/dist/react/viewers.js +29 -0
  8. package/dist/react/viewers.js.map +1 -0
  9. package/dist/src/browser-host.d.ts +4 -4
  10. package/dist/src/browser-host.d.ts.map +1 -1
  11. package/dist/src/core.d.ts +12 -2
  12. package/dist/src/core.d.ts.map +1 -1
  13. package/dist/src/index.d.ts +0 -1
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/react/editor-command-bar.d.ts +2 -2
  16. package/dist/src/react/editor-command-bar.d.ts.map +1 -1
  17. package/dist/src/react/editor.d.ts +4 -0
  18. package/dist/src/react/editor.d.ts.map +1 -1
  19. package/dist/src/react/playground.d.ts +1 -3
  20. package/dist/src/react/playground.d.ts.map +1 -1
  21. package/dist/src/react/settings/compiler-settings.d.ts +1 -1
  22. package/dist/src/react/settings/compiler-settings.d.ts.map +1 -1
  23. package/dist/src/react/settings/linter-form.d.ts +1 -1
  24. package/dist/src/react/settings/linter-form.d.ts.map +1 -1
  25. package/dist/src/react/standalone.d.ts +2 -0
  26. package/dist/src/react/standalone.d.ts.map +1 -1
  27. package/dist/src/react/types.d.ts +1 -6
  28. package/dist/src/react/types.d.ts.map +1 -1
  29. package/dist/src/react/typespec-editor.d.ts +3 -3
  30. package/dist/src/react/typespec-editor.d.ts.map +1 -1
  31. package/dist/src/react/viewers.d.ts +1 -0
  32. package/dist/src/react/viewers.d.ts.map +1 -1
  33. package/dist/src/services.d.ts +1 -1
  34. package/dist/src/services.d.ts.map +1 -1
  35. package/dist/src/types.d.ts +10 -1
  36. package/dist/src/types.d.ts.map +1 -1
  37. package/dist/src/vite/index.d.ts.map +1 -1
  38. package/dist/src/vite/types.d.ts +4 -0
  39. package/dist/src/vite/types.d.ts.map +1 -1
  40. package/dist/{src/services.js → state-storage-ad8a9d39.js} +278 -10
  41. package/dist/state-storage-ad8a9d39.js.map +1 -0
  42. package/dist/{src/vite → vite}/index.js +14 -9
  43. package/dist/vite/index.js.map +1 -0
  44. package/package.json +34 -10
  45. package/dist/src/browser-host.js +0 -129
  46. package/dist/src/browser-host.js.map +0 -1
  47. package/dist/src/core.js +0 -17
  48. package/dist/src/core.js.map +0 -1
  49. package/dist/src/index.js +0 -6
  50. package/dist/src/index.js.map +0 -1
  51. package/dist/src/manifest.js +0 -3
  52. package/dist/src/manifest.js.map +0 -1
  53. package/dist/src/monaco-worker.js +0 -30
  54. package/dist/src/monaco-worker.js.map +0 -1
  55. package/dist/src/react/diagnostic-list.js +0 -16
  56. package/dist/src/react/diagnostic-list.js.map +0 -1
  57. package/dist/src/react/editor-command-bar.js +0 -15
  58. package/dist/src/react/editor-command-bar.js.map +0 -1
  59. package/dist/src/react/editor.js +0 -37
  60. package/dist/src/react/editor.js.map +0 -1
  61. package/dist/src/react/emitter-dropdown.js +0 -13
  62. package/dist/src/react/emitter-dropdown.js.map +0 -1
  63. package/dist/src/react/error-tab.js +0 -20
  64. package/dist/src/react/error-tab.js.map +0 -1
  65. package/dist/src/react/file-output.js +0 -31
  66. package/dist/src/react/file-output.js.map +0 -1
  67. package/dist/src/react/footer.js +0 -29
  68. package/dist/src/react/footer.js.map +0 -1
  69. package/dist/src/react/hooks.js +0 -50
  70. package/dist/src/react/hooks.js.map +0 -1
  71. package/dist/src/react/index.js +0 -4
  72. package/dist/src/react/index.js.map +0 -1
  73. package/dist/src/react/output-tabs.js +0 -38
  74. package/dist/src/react/output-tabs.js.map +0 -1
  75. package/dist/src/react/output-view.js +0 -98
  76. package/dist/src/react/output-view.js.map +0 -1
  77. package/dist/src/react/playground.js +0 -182
  78. package/dist/src/react/playground.js.map +0 -1
  79. package/dist/src/react/samples-dropdown.js +0 -15
  80. package/dist/src/react/samples-dropdown.js.map +0 -1
  81. package/dist/src/react/settings/compiler-settings.js +0 -42
  82. package/dist/src/react/settings/compiler-settings.js.map +0 -1
  83. package/dist/src/react/settings/emitter-options-form.js +0 -39
  84. package/dist/src/react/settings/emitter-options-form.js.map +0 -1
  85. package/dist/src/react/settings/linter-form.js +0 -33
  86. package/dist/src/react/settings/linter-form.js.map +0 -1
  87. package/dist/src/react/split-pane/index.js +0 -2
  88. package/dist/src/react/split-pane/index.js.map +0 -1
  89. package/dist/src/react/split-pane/pane.js +0 -5
  90. package/dist/src/react/split-pane/pane.js.map +0 -1
  91. package/dist/src/react/split-pane/sash-content.js +0 -7
  92. package/dist/src/react/split-pane/sash-content.js.map +0 -1
  93. package/dist/src/react/split-pane/sash.js +0 -23
  94. package/dist/src/react/split-pane/sash.js.map +0 -1
  95. package/dist/src/react/split-pane/split-pane.js +0 -138
  96. package/dist/src/react/split-pane/split-pane.js.map +0 -1
  97. package/dist/src/react/split-pane/split-pane.module.css +0 -58
  98. package/dist/src/react/standalone.js +0 -63
  99. package/dist/src/react/standalone.js.map +0 -1
  100. package/dist/src/react/swagger-ui.js +0 -19
  101. package/dist/src/react/swagger-ui.js.map +0 -1
  102. package/dist/src/react/types.js +0 -2
  103. package/dist/src/react/types.js.map +0 -1
  104. package/dist/src/react/typespec-editor.js +0 -30
  105. package/dist/src/react/typespec-editor.js.map +0 -1
  106. package/dist/src/react/viewers.js +0 -8
  107. package/dist/src/react/viewers.js.map +0 -1
  108. package/dist/src/services.js.map +0 -1
  109. package/dist/src/state-storage.js +0 -81
  110. package/dist/src/state-storage.js.map +0 -1
  111. package/dist/src/types.js +0 -2
  112. package/dist/src/types.js.map +0 -1
  113. package/dist/src/utils.d.ts +0 -8
  114. package/dist/src/utils.d.ts.map +0 -1
  115. package/dist/src/utils.js +0 -14
  116. package/dist/src/utils.js.map +0 -1
  117. package/dist/src/vite/index.js.map +0 -1
  118. package/dist/src/vite/types.js +0 -2
  119. package/dist/src/vite/types.js.map +0 -1
  120. package/dist/vite.config.d.ts +0 -3
  121. package/dist/vite.config.d.ts.map +0 -1
  122. package/dist/vite.config.js +0 -38
  123. package/dist/vite.config.js.map +0 -1
@@ -1,98 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { css } from "@emotion/react";
3
- import { TypeSpecProgramViewer } from "@typespec/html-program-viewer";
4
- import { useCallback, useEffect, useMemo, useState } from "react";
5
- import { ErrorTab, InternalCompilerError } from "./error-tab.js";
6
- import { FileOutput } from "./file-output.js";
7
- import { OutputTabs } from "./output-tabs.js";
8
- import { OutputEditor } from "./typespec-editor.js";
9
- export const OutputView = ({ compilationState, viewers }) => {
10
- if (compilationState === undefined) {
11
- return _jsx(_Fragment, {});
12
- }
13
- if ("internalCompilerError" in compilationState) {
14
- return _jsx(InternalCompilerError, { error: compilationState.internalCompilerError });
15
- }
16
- return _jsx(OutputViewInternal, { compilationResult: compilationState, viewers: viewers });
17
- };
18
- const OutputViewInternal = ({ compilationResult, viewers }) => {
19
- const { program, outputFiles } = compilationResult;
20
- const [viewSelection, setViewSelection] = useState({
21
- type: "file",
22
- filename: "",
23
- content: "",
24
- });
25
- useEffect(() => {
26
- if (viewSelection.type === "file") {
27
- if (outputFiles.length > 0) {
28
- const fileStillThere = outputFiles.find((x) => x === viewSelection.filename);
29
- void loadOutputFile(fileStillThere !== null && fileStillThere !== void 0 ? fileStillThere : outputFiles[0]);
30
- }
31
- else {
32
- setViewSelection({ type: "file", filename: viewSelection.filename, content: "" });
33
- }
34
- }
35
- }, [program, outputFiles]);
36
- async function loadOutputFile(path) {
37
- const contents = await program.host.readFile("./tsp-output/" + path);
38
- setViewSelection({ type: "file", filename: path, content: contents.text });
39
- }
40
- const diagnostics = program.diagnostics;
41
- const tabs = useMemo(() => {
42
- return [
43
- ...outputFiles.map((x) => ({
44
- align: "left",
45
- name: x,
46
- id: x,
47
- })),
48
- { id: "type-graph", name: "Type Graph", align: "right" },
49
- {
50
- id: "errors",
51
- name: _jsx(ErrorTabLabel, { diagnostics: diagnostics }),
52
- align: "right",
53
- },
54
- ];
55
- }, [outputFiles, diagnostics]);
56
- const handleTabSelection = useCallback((tabId) => {
57
- if (tabId === "type-graph") {
58
- setViewSelection({ type: "type-graph" });
59
- }
60
- else if (tabId === "errors") {
61
- setViewSelection({ type: "errors" });
62
- }
63
- else {
64
- void loadOutputFile(tabId);
65
- }
66
- }, []);
67
- return (_jsxs(_Fragment, { children: [_jsx(OutputTabs, { tabs: tabs, selected: viewSelection.type === "file" ? viewSelection.filename : viewSelection.type, onSelect: handleTabSelection }), _jsx("div", { className: "output-content", css: { width: "100%", height: "100%", overflow: "hidden" }, children: _jsx(OutputContent, { viewSelection: viewSelection, program: program, viewers: viewers }) })] }));
68
- };
69
- const rawFileViewer = {
70
- key: "raw",
71
- label: "File",
72
- render: ({ filename, content }) => (_jsx(OutputEditor, { filename: filename, value: content })),
73
- };
74
- const OutputContent = ({ viewSelection, program, viewers, }) => {
75
- const resolvedViewers = useMemo(() => [rawFileViewer, ...(viewers !== null && viewers !== void 0 ? viewers : [])], [viewers]);
76
- switch (viewSelection.type) {
77
- case "file":
78
- return (_jsx(FileOutput, { filename: viewSelection.filename, content: viewSelection.content, viewers: resolvedViewers }));
79
- case "errors":
80
- return _jsx(ErrorTab, { diagnostics: program === null || program === void 0 ? void 0 : program.diagnostics });
81
- default:
82
- return (_jsx("div", { css: {
83
- height: "100%",
84
- overflow: "scroll",
85
- }, children: program && _jsx(TypeSpecProgramViewer, { program: program }) }));
86
- }
87
- };
88
- const ErrorTabLabel = ({ diagnostics }) => {
89
- const errorCount = diagnostics ? diagnostics.length : 0;
90
- return (_jsxs("div", { children: ["Errors ", errorCount > 0 ? _jsx("span", { css: ErrorTabCountStyles, children: errorCount }) : ""] }));
91
- };
92
- const ErrorTabCountStyles = css({
93
- backgroundColor: "#cc2222",
94
- color: "#f5f5f5",
95
- padding: "0 5px",
96
- borderRadius: "20px",
97
- });
98
- //# sourceMappingURL=output-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-view.js","sourceRoot":"","sources":["../../../src/react/output-view.tsx"],"names":[],"mappings":"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"}
@@ -1,182 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import debounce from "debounce";
3
- import { KeyCode, KeyMod, MarkerSeverity, Uri, editor } from "monaco-editor";
4
- import { useCallback, useEffect, useMemo, useState } from "react";
5
- import "swagger-ui-react/swagger-ui.css";
6
- import { CompletionItemTag } from "vscode-languageserver";
7
- import { importTypeSpecCompiler } from "../core.js";
8
- import { getMarkerLocation } from "../services.js";
9
- import { resolveLibraries } from "../utils.js";
10
- import { EditorCommandBar } from "./editor-command-bar.js";
11
- import { useMonacoModel } from "./editor.js";
12
- import { Footer } from "./footer.js";
13
- import { useAsyncMemo, useControllableValue } from "./hooks.js";
14
- import { OutputView } from "./output-view.js";
15
- import Pane from "./split-pane/pane.js";
16
- import { SplitPane } from "./split-pane/split-pane.js";
17
- import { TypeSpecEditor } from "./typespec-editor.js";
18
- export const Playground = (props) => {
19
- var _a, _b, _c, _d;
20
- const { host, onSave } = props;
21
- const [selectedEmitter, onSelectedEmitterChange] = useControllableValue(props.emitter, props.defaultEmitter, props.onEmitterChange);
22
- const [compilerOptions, onCompilerOptionsChange] = useControllableValue(props.compilerOptions, (_a = props.defaultCompilerOptions) !== null && _a !== void 0 ? _a : {}, props.onCompilerOptionsChange);
23
- const [selectedSampleName, onSelectedSampleNameChange] = useControllableValue(props.sampleName, props.defaultSampleName, props.onSampleNameChange);
24
- const [content, setContent] = useState(props.defaultContent);
25
- const isSampleUntouched = useMemo(() => {
26
- var _a, _b;
27
- return Boolean(selectedSampleName && content === ((_b = (_a = props.samples) === null || _a === void 0 ? void 0 : _a[selectedSampleName]) === null || _b === void 0 ? void 0 : _b.content));
28
- }, [content, selectedSampleName, props.samples]);
29
- const typespecModel = useMonacoModel("inmemory://test/main.tsp", "typespec");
30
- const [compilationState, setCompilationState] = useState(undefined);
31
- const doCompile = useCallback(async () => {
32
- const content = typespecModel.getValue();
33
- setContent(content);
34
- const typespecCompiler = await importTypeSpecCompiler();
35
- const state = await compile(host, content, selectedEmitter, compilerOptions);
36
- setCompilationState(state);
37
- if ("program" in state) {
38
- const markers = state.program.diagnostics.map((diag) => ({
39
- ...getMarkerLocation(typespecCompiler, diag.target),
40
- message: diag.message,
41
- severity: diag.severity === "error" ? MarkerSeverity.Error : MarkerSeverity.Warning,
42
- tags: diag.code === "deprecated" ? [CompletionItemTag.Deprecated] : undefined,
43
- }));
44
- editor.setModelMarkers(typespecModel, "owner", markers !== null && markers !== void 0 ? markers : []);
45
- }
46
- else {
47
- editor.setModelMarkers(typespecModel, "owner", []);
48
- }
49
- }, [host, selectedEmitter, compilerOptions, typespecModel, setContent]);
50
- const updateTypeSpec = useCallback((value) => {
51
- if (typespecModel.getValue() !== value) {
52
- typespecModel.setValue(value);
53
- }
54
- }, [typespecModel]);
55
- useEffect(() => {
56
- var _a;
57
- updateTypeSpec((_a = props.defaultContent) !== null && _a !== void 0 ? _a : "");
58
- }, []);
59
- useEffect(() => {
60
- if (selectedSampleName && props.samples) {
61
- const config = props.samples[selectedSampleName];
62
- if (config.content) {
63
- updateTypeSpec(config.content);
64
- if (config.preferredEmitter) {
65
- onSelectedEmitterChange(config.preferredEmitter);
66
- }
67
- if (config.compilerOptions) {
68
- onCompilerOptionsChange(config.compilerOptions);
69
- }
70
- }
71
- }
72
- }, [updateTypeSpec, selectedSampleName]);
73
- useEffect(() => {
74
- const debouncer = debounce(() => doCompile(), 200);
75
- const disposable = typespecModel.onDidChangeContent(debouncer);
76
- return () => {
77
- debouncer.clear();
78
- disposable.dispose();
79
- };
80
- }, [typespecModel, doCompile]);
81
- useEffect(() => {
82
- void doCompile();
83
- }, [doCompile]);
84
- const saveCode = useCallback(() => {
85
- if (onSave) {
86
- onSave({
87
- content: typespecModel.getValue(),
88
- emitter: selectedEmitter,
89
- options: compilerOptions,
90
- sampleName: isSampleUntouched ? selectedSampleName : undefined,
91
- });
92
- }
93
- }, [
94
- typespecModel,
95
- onSave,
96
- selectedEmitter,
97
- compilerOptions,
98
- selectedSampleName,
99
- isSampleUntouched,
100
- ]);
101
- const newIssue = useCallback(async () => {
102
- var _a;
103
- saveCode();
104
- const bodyPayload = encodeURIComponent(`\n\n\n[Playground Link](${document.location.href})`);
105
- const url = `${(_a = props === null || props === void 0 ? void 0 : props.links) === null || _a === void 0 ? void 0 : _a.githubIssueUrl}?body=${bodyPayload}`;
106
- window.open(url, "_blank");
107
- }, [saveCode, typespecModel]);
108
- const typespecEditorActions = useMemo(() => [
109
- // ctrl/cmd+S => save
110
- { id: "save", label: "Save", keybindings: [KeyMod.CtrlCmd | KeyCode.KeyS], run: saveCode },
111
- ], [saveCode]);
112
- const libraries = useAsyncMemo(async () => resolveLibraries(props.libraries), [], [props.libraries]);
113
- return (_jsxs("div", { css: {
114
- display: "grid",
115
- gridTemplateColumns: "1",
116
- gridTemplateRows: "1fr auto",
117
- gridTemplateAreas: '"typespeceditor"\n "footer"',
118
- width: "100%",
119
- height: "100%",
120
- overflow: "hidden",
121
- fontFamily: `"Segoe UI", Tahoma, Geneva, Verdana, sans-serif`,
122
- }, children: [_jsxs(SplitPane, { initialSizes: ["50%", "50%"], css: { gridArea: "typespeceditor", width: "100%", height: "100%", overflow: "hidden" }, children: [_jsxs(Pane, { children: [_jsx(EditorCommandBar, { libraries: libraries, selectedEmitter: selectedEmitter, onSelectedEmitterChange: onSelectedEmitterChange, compilerOptions: compilerOptions, onCompilerOptionsChange: onCompilerOptionsChange, samples: props.samples, selectedSampleName: selectedSampleName, onSelectedSampleNameChange: onSelectedSampleNameChange, saveCode: saveCode, newIssue: ((_b = props === null || props === void 0 ? void 0 : props.links) === null || _b === void 0 ? void 0 : _b.githubIssueUrl) ? newIssue : undefined, documentationUrl: (_c = props.links) === null || _c === void 0 ? void 0 : _c.documentationUrl }), _jsx(TypeSpecEditor, { model: typespecModel, actions: typespecEditorActions })] }), _jsx(Pane, { children: _jsx(OutputView, { compilationState: compilationState, viewers: (_d = props.emitterViewers) === null || _d === void 0 ? void 0 : _d[selectedEmitter] }) })] }), _jsx(Footer, {})] }));
123
- };
124
- const outputDir = "./tsp-output";
125
- async function compile(host, content, selectedEmitter, options) {
126
- var _a;
127
- await host.writeFile("main.tsp", content);
128
- await emptyOutputDir(host);
129
- try {
130
- const typespecCompiler = await importTypeSpecCompiler();
131
- const program = await typespecCompiler.compile(host, "main.tsp", {
132
- ...options,
133
- options: {
134
- ...options.options,
135
- [selectedEmitter]: {
136
- ...(_a = options.options) === null || _a === void 0 ? void 0 : _a[selectedEmitter],
137
- "emitter-output-dir": "tsp-output",
138
- },
139
- },
140
- outputDir: "tsp-output",
141
- emit: [selectedEmitter],
142
- });
143
- const outputFiles = await findOutputFiles(host);
144
- return { program, outputFiles };
145
- }
146
- catch (error) {
147
- // eslint-disable-next-line no-console
148
- console.error("Internal compiler error", error);
149
- return { internalCompilerError: error };
150
- }
151
- }
152
- async function findOutputFiles(host) {
153
- const files = [];
154
- async function addFiles(dir) {
155
- const items = await host.readDir(outputDir + dir);
156
- for (const item of items) {
157
- const itemPath = `${dir}/${item}`;
158
- if ((await host.stat(outputDir + itemPath)).isDirectory()) {
159
- await addFiles(itemPath);
160
- }
161
- else {
162
- files.push(dir === "" ? item : `${dir}/${item}`);
163
- }
164
- }
165
- }
166
- await addFiles("");
167
- return files;
168
- }
169
- async function emptyOutputDir(host) {
170
- // empty output directory
171
- const dirs = await host.readDir("./tsp-output");
172
- for (const file of dirs) {
173
- const path = "./tsp-output/" + file;
174
- const uri = Uri.parse(host.pathToFileURL(path));
175
- const model = editor.getModel(uri);
176
- if (model) {
177
- model.dispose();
178
- }
179
- await host.rm(path, { recursive: true });
180
- }
181
- }
182
- //# sourceMappingURL=playground.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playground.js","sourceRoot":"","sources":["../../../src/react/playground.tsx"],"names":[],"mappings":";AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAqB,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrF,OAAO,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAiEtD,MAAM,CAAC,MAAM,UAAU,GAAuC,CAAC,KAAK,EAAE,EAAE;;IACtE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC,GAAG,oBAAoB,CACrE,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,eAAe,CACtB,CAAC;IACF,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC,GAAG,oBAAoB,CACrE,KAAK,CAAC,eAAe,EACrB,MAAA,KAAK,CAAC,sBAAsB,mCAAI,EAAE,EAClC,KAAK,CAAC,uBAAuB,CAC9B,CAAC;IACF,MAAM,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,GAAG,oBAAoB,CAC3E,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,kBAAkB,CACzB,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;;QACrC,OAAO,OAAO,CAAC,kBAAkB,IAAI,OAAO,MAAK,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,kBAAkB,CAAC,0CAAE,OAAO,CAAA,CAAC,CAAC;IACjG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,cAAc,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAA+B,SAAS,CAAC,CAAC;IAElG,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;QACzC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAExD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAC7E,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,SAAS,IAAI,KAAK,EAAE;YACtB,MAAM,OAAO,GAAyB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7E,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO;gBACnF,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9E,CAAC,CAAC,CAAC;YAEJ,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;SACpD;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAExE,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAAa,EAAE,EAAE;QAChB,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;YACtC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;;QACb,cAAc,CAAC,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE,CAAC,CAAC;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,IAAI,KAAK,CAAC,OAAO,EAAE;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,MAAM,CAAC,gBAAgB,EAAE;oBAC3B,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;iBAClD;gBACD,IAAI,MAAM,CAAC,eAAe,EAAE;oBAC1B,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;iBACjD;aACF;SACF;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,SAAS,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,MAAM,EAAE;YACV,MAAM,CAAC;gBACL,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;gBACjC,OAAO,EAAE,eAAe;gBACxB,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;aAC/D,CAAC,CAAC;SACJ;IACH,CAAC,EAAE;QACD,aAAa;QACb,MAAM;QACN,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;;QACtC,QAAQ,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,kBAAkB,CAAC,2BAA2B,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7F,MAAM,GAAG,GAAG,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,cAAc,SAAS,WAAW,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAA+B,EAAE,CAAC;QAChC,qBAAqB;QACrB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE;KAC3F,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAC5B,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,EAC7C,EAAE,EACF,CAAC,KAAK,CAAC,SAAS,CAAC,CAClB,CAAC;IAEF,OAAO,CACL,eACE,GAAG,EAAE;YACH,OAAO,EAAE,MAAM;YACf,mBAAmB,EAAE,GAAG;YACxB,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,gCAAgC;YACnD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,iDAAiD;SAC9D,aAED,MAAC,SAAS,IACR,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5B,GAAG,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAEtF,MAAC,IAAI,eACH,KAAC,gBAAgB,IACf,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,eAAe,EAChC,uBAAuB,EAAE,uBAAuB,EAChD,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,0BAA0B,EACtD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,cAAc,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC7D,gBAAgB,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,gBAAgB,GAC/C,EACF,KAAC,cAAc,IAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,GAAI,IACnE,EACP,KAAC,IAAI,cACH,KAAC,UAAU,IACT,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,MAAA,KAAK,CAAC,cAAc,0CAAG,eAAe,CAAC,GAChD,GACG,IACG,EACZ,KAAC,MAAM,KAAG,IACN,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC,KAAK,UAAU,OAAO,CACpB,IAAiB,EACjB,OAAe,EACf,eAAuB,EACvB,OAAwB;;IAExB,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI;QACF,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE;YAC/D,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,OAAO;gBAClB,CAAC,eAAe,CAAC,EAAE;oBACjB,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAG,eAAe,CAAC;oBACrC,oBAAoB,EAAE,YAAY;iBACnC;aACF;YACD,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,CAAC,eAAe,CAAC;SACxB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;KACjC;IAAC,OAAO,KAAK,EAAE;QACd,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;KACzC;AACH,CAAC;AACD,KAAK,UAAU,eAAe,CAAC,IAAiB;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,UAAU,QAAQ,CAAC,GAAW;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;gBACzD,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC1B;iBAAM;gBACL,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IACD,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAiB;IAC7C,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,OAAO,EAAE,CAAC;SACjB;QACD,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAC1C;AACH,CAAC"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { Select } from "@fluentui/react-components";
3
- import { useCallback } from "react";
4
- export const SamplesDropdown = ({ samples, selectedSampleName, onSelectedSampleNameChange, }) => {
5
- const options = Object.keys(samples).map((sample) => {
6
- return _jsx("option", { children: sample }, sample);
7
- });
8
- const handleSelected = useCallback((evt) => {
9
- if (samples[evt.target.value]) {
10
- onSelectedSampleNameChange(evt.target.value);
11
- }
12
- }, [onSelectedSampleNameChange]);
13
- return (_jsxs(Select, { className: "sample-dropdown", onChange: handleSelected, value: selectedSampleName !== null && selectedSampleName !== void 0 ? selectedSampleName : "", children: [_jsx("option", { value: "", disabled: true, children: "Select sample..." }), options] }));
14
- };
15
- //# sourceMappingURL=samples-dropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"samples-dropdown.js","sourceRoot":"","sources":["../../../src/react/samples-dropdown.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAqB,WAAW,EAAE,MAAM,OAAO,CAAC;AASvD,MAAM,CAAC,MAAM,eAAe,GAA4C,CAAC,EACvE,OAAO,EACP,kBAAkB,EAClB,0BAA0B,GAC3B,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAClD,OAAO,2BAAsB,MAAM,IAAf,MAAM,CAAmB,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,GAAQ,EAAE,EAAE;QACX,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC7B,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9C;IACH,CAAC,EACD,CAAC,0BAA0B,CAAC,CAC7B,CAAC;IACF,OAAO,CACL,MAAC,MAAM,IAAC,SAAS,EAAC,iBAAiB,EAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,EAAE,aAC3F,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,uCAEhB,EACR,OAAO,IACD,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { useCallback, useEffect, useState } from "react";
3
- import { EmitterOptionsForm } from "./emitter-options-form.js";
4
- import { LinterForm } from "./linter-form.js";
5
- export const CompilerSettings = ({ selectedEmitter, libraries, options, onOptionsChanged, }) => {
6
- var _a, _b;
7
- const emitterOptionsChanged = useCallback((emitterOptions) => {
8
- onOptionsChanged({
9
- ...options,
10
- options: emitterOptions,
11
- });
12
- }, [options]);
13
- const library = useTypeSpecLibrary(selectedEmitter);
14
- const linterRuleSet = (_a = options.linterRuleSet) !== null && _a !== void 0 ? _a : {};
15
- const linterRuleSetChanged = useCallback((linterRuleSet) => {
16
- onOptionsChanged({
17
- ...options,
18
- linterRuleSet,
19
- });
20
- }, [options]);
21
- return (_jsxs("div", { css: { padding: 10 }, children: [_jsx("h2", { children: "Settings" }), _jsxs(_Fragment, { children: ["Emitter: ", selectedEmitter] }), _jsx("h3", { children: "Options" }), library && (_jsx(EmitterOptionsForm, { library: library, options: (_b = options.options) !== null && _b !== void 0 ? _b : {}, optionsChanged: emitterOptionsChanged })), _jsx("h3", { children: "Linter" }), _jsx(LinterForm, { libraries: libraries, linterRuleSet: linterRuleSet, onLinterRuleSetChanged: linterRuleSetChanged })] }));
22
- };
23
- function useTypeSpecLibrary(name) {
24
- const [lib, setLib] = useState();
25
- useEffect(() => {
26
- setLib(undefined);
27
- import(/* @vite-ignore */ name)
28
- .then((module) => {
29
- if (module.$lib === undefined) {
30
- // eslint-disable-next-line no-console
31
- console.error(`Couldn't load library ${name} missing $lib export`);
32
- }
33
- setLib(module.$lib);
34
- })
35
- .catch((e) => {
36
- // eslint-disable-next-line no-console
37
- console.error("Failed to load library", name);
38
- });
39
- }, [name]);
40
- return lib;
41
- }
42
- //# sourceMappingURL=compiler-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compiler-settings.js","sourceRoot":"","sources":["../../../../src/react/settings/compiler-settings.tsx"],"names":[],"mappings":";AACA,OAAO,EAAqB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,MAAM,CAAC,MAAM,gBAAgB,GAA6C,CAAC,EACzE,eAAe,EACf,SAAS,EACT,OAAO,EACP,gBAAgB,GACjB,EAAE,EAAE;;IACH,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,cAA8B,EAAE,EAAE;QACjC,gBAAgB,CAAC;YACf,GAAG,OAAO;YACV,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,EAAE,CAAC;IAClD,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,aAA4B,EAAE,EAAE;QAC/B,gBAAgB,CAAC;YACf,GAAG,OAAO;YACV,aAAa;SACd,CAAC,CAAC;IACL,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IACF,OAAO,CACL,eAAK,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,aACvB,oCAAiB,EACjB,2CAAY,eAAe,IAAI,EAC/B,mCAAgB,EACf,OAAO,IAAI,CACV,KAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,EAC9B,cAAc,EAAE,qBAAqB,GACrC,CACH,EACD,kCAAe,EACf,KAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,oBAAoB,GAC5C,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAwB,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,SAAS,CAAC,CAAC;QAClB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC;aAC5B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC7B,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,sBAAsB,CAAC,CAAC;aACpE;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,39 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { Input, Label, Radio, RadioGroup, Switch, useId, } from "@fluentui/react-components";
3
- import { useCallback, useMemo } from "react";
4
- export const EmitterOptionsForm = ({ library, options, optionsChanged, }) => {
5
- var _a, _b;
6
- const emitterOptionsSchema = (_b = (_a = library.emitter) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.properties;
7
- if (emitterOptionsSchema === undefined) {
8
- return _jsx(_Fragment, { children: "\"No options\"" });
9
- }
10
- const entries = Object.entries(emitterOptionsSchema);
11
- const handleChange = useCallback(({ name, value }) => {
12
- optionsChanged({
13
- ...options,
14
- [library.name]: {
15
- ...options[library.name],
16
- [name]: value,
17
- },
18
- });
19
- }, [options, optionsChanged]);
20
- return (_jsx("div", { children: entries.map(([key, value]) => {
21
- var _a;
22
- return (_jsx("div", { css: { margin: "16px 0" }, children: _jsx(JsonSchemaPropertyInput, { emitterOptions: (_a = options[library.name]) !== null && _a !== void 0 ? _a : {}, name: key, prop: value, onChange: handleChange }) }, key));
23
- }) }));
24
- };
25
- const JsonSchemaPropertyInput = ({ emitterOptions, name, prop, onChange, }) => {
26
- var _a;
27
- const prettyName = useMemo(() => name[0].toUpperCase() + name.slice(1).replace(/-/g, " "), [name]);
28
- const inputId = useId("input");
29
- const value = (_a = emitterOptions[name]) !== null && _a !== void 0 ? _a : prop.default;
30
- const handleChange = useCallback((_, data) => onChange({ name, value: "value" in data ? data.value : data.checked }), [onChange]);
31
- switch (prop.type) {
32
- case "boolean":
33
- return _jsx(Switch, { label: prettyName, checked: value, onChange: handleChange });
34
- case "string":
35
- default:
36
- return (_jsxs("div", { children: [_jsx("div", { children: _jsx(Label, { htmlFor: inputId, title: name, children: prettyName }) }), _jsx("div", { children: prop.enum ? (_jsx(RadioGroup, { layout: "horizontal", id: inputId, value: value, onChange: handleChange, children: prop.enum.map((x) => (_jsx(Radio, { value: x, label: x }, x))) })) : (_jsx(Input, { id: inputId, value: value, onChange: handleChange })) })] }));
37
- }
38
- };
39
- //# sourceMappingURL=emitter-options-form.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitter-options-form.js","sourceRoot":"","sources":["../../../../src/react/settings/emitter-options-form.tsx"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { Checkbox } from "@fluentui/react-components";
3
- import { useCallback } from "react";
4
- export const LinterForm = ({ libraries, linterRuleSet, onLinterRuleSetChanged, }) => {
5
- const rulesets = libraries.flatMap((lib) => {
6
- var _a, _b, _c;
7
- return Object.keys((_c = (_b = (_a = lib.definition) === null || _a === void 0 ? void 0 : _a.linter) === null || _b === void 0 ? void 0 : _b.ruleSets) !== null && _c !== void 0 ? _c : {}).map((x) => `${lib.name}/${x}`);
8
- });
9
- if (rulesets.length === 0) {
10
- return _jsx(_Fragment, { children: "No ruleset available" });
11
- }
12
- const handleChange = (ruleSet, checked) => {
13
- var _a;
14
- const ruleSets = (_a = linterRuleSet.extends) !== null && _a !== void 0 ? _a : [];
15
- const updatedRuleSets = checked
16
- ? [...ruleSets, ruleSet]
17
- : ruleSets.filter((x) => x !== ruleSet);
18
- onLinterRuleSetChanged({
19
- extends: updatedRuleSets,
20
- });
21
- };
22
- return (_jsx(_Fragment, { children: rulesets.map((ruleSet) => {
23
- var _a;
24
- return (_jsx(RuleSetCheckbox, { ruleSet: ruleSet, checked: (_a = linterRuleSet.extends) === null || _a === void 0 ? void 0 : _a.includes(ruleSet), onChange: handleChange }, ruleSet));
25
- }) }));
26
- };
27
- const RuleSetCheckbox = ({ ruleSet, checked, onChange }) => {
28
- const handleChange = useCallback((_, data) => {
29
- onChange(ruleSet, !!data.checked);
30
- }, [ruleSet, checked, onChange]);
31
- return _jsx(Checkbox, { label: ruleSet, checked: checked, onChange: handleChange });
32
- };
33
- //# sourceMappingURL=linter-form.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linter-form.js","sourceRoot":"","sources":["../../../../src/react/settings/linter-form.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAqB,WAAW,EAAE,MAAM,OAAO,CAAC;AASvD,MAAM,CAAC,MAAM,UAAU,GAAuC,CAAC,EAC7D,SAAS,EACT,aAAa,EACb,sBAAsB,GACvB,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;;QACzC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,MAAA,GAAG,CAAC,UAAU,0CAAE,MAAM,0CAAE,QAAQ,mCAAI,EAAE,CAAC,CAAC,GAAG,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CACb,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,qDAAyB,CAAC;KAClC;IAED,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,EAAE;;QAC1D,MAAM,QAAQ,GAAG,MAAA,aAAa,CAAC,OAAO,mCAAI,EAAE,CAAC;QAE7C,MAAM,eAAe,GAAG,OAAO;YAC7B,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC;YACxB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QAE1C,sBAAsB,CAAC;YACrB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,CACL,4BACG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;YACxB,OAAO,CACL,KAAC,eAAe,IAEd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAA,aAAa,CAAC,OAAO,0CAAE,QAAQ,CAAC,OAAO,CAAC,EACjD,QAAQ,EAAE,YAAY,IAHjB,OAAO,CAIZ,CACH,CAAC;QACJ,CAAC,CAAC,GACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAmB,EAAE,EAAE;IAC1E,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAM,EAAE,IAA0B,EAAE,EAAE;QACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAC7B,CAAC;IACF,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,GAAI,CAAC;AAChF,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export { SplitPane } from "./split-pane.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/react/split-pane/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,iBAAiB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- export default function Pane({ children, ...props }) {
3
- return _jsx("div", { ...props, children: children });
4
- }
5
- //# sourceMappingURL=pane.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pane.js","sourceRoot":"","sources":["../../../../src/react/split-pane/pane.tsx"],"names":[],"mappings":";AAOA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,QAAQ,EACR,GAAG,KAAK,EACsD;IAC9D,OAAO,iBAAS,KAAK,YAAG,QAAQ,GAAO,CAAC;AAC1C,CAAC"}
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { mergeClasses } from "@fluentui/react-components";
3
- import style from "./split-pane.module.css";
4
- export const SashContent = ({ className, children, dragging, ...others }) => {
5
- return (_jsx("div", { className: mergeClasses(style["sash-content"], dragging && style["sash-content-dragging"], className), ...others, children: children }));
6
- };
7
- //# sourceMappingURL=sash-content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sash-content.js","sourceRoot":"","sources":["../../../../src/react/split-pane/sash-content.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAQ5C,MAAM,CAAC,MAAM,WAAW,GAA8C,CAAC,EACrE,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,MAAM,EACQ,EAAE,EAAE;IACrB,OAAO,CACL,cACE,SAAS,EAAE,YAAY,CACrB,KAAK,CAAC,cAAc,CAAC,EACrB,QAAQ,IAAI,KAAK,CAAC,uBAAuB,CAAC,EAC1C,SAAS,CACV,KACG,MAAM,YAET,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,23 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { mergeClasses } from "@fluentui/react-components";
3
- import { useState } from "react";
4
- import style from "./split-pane.module.css";
5
- export const Sash = ({ className, render, onDragStart, onDragging, onDragEnd, onReset, ...others }) => {
6
- const [draging, setDrag] = useState(false);
7
- const handleMouseMove = (e) => {
8
- onDragging(e);
9
- };
10
- const handleMouseUp = (e) => {
11
- setDrag(false);
12
- onDragEnd(e);
13
- window.removeEventListener("mousemove", handleMouseMove);
14
- window.removeEventListener("mouseup", handleMouseUp);
15
- };
16
- return (_jsx("div", { className: mergeClasses(style["sash"], className), onMouseDown: (e) => {
17
- setDrag(true);
18
- onDragStart(e);
19
- window.addEventListener("mousemove", handleMouseMove);
20
- window.addEventListener("mouseup", handleMouseUp);
21
- }, onDoubleClick: onReset, ...others, children: render(draging) }));
22
- };
23
- //# sourceMappingURL=sash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sash.js","sourceRoot":"","sources":["../../../../src/react/split-pane/sash.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAY5C,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EACnB,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,GAAG,MAAM,EACC,EAAE,EAAE;IACd,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,eAAe,GAAG,CAAC,CAAM,EAAE,EAAE;QACjC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,SAAS,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EACjD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,WAAW,CAAC,CAAC,CAAC,CAAC;YAEf,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,CAAC,EACD,aAAa,EAAE,OAAO,KAClB,MAAM,YAET,MAAM,CAAC,OAAO,CAAC,GACZ,CACP,CAAC;AACJ,CAAC,CAAC"}