@typespec/playground 0.1.0-alpha.3-dev.7 → 0.1.0-alpha.3-dev.10
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/README.md +3 -1
- package/dist/index.css +58 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/react/index.js +853 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/viewers.js +29 -0
- package/dist/react/viewers.js.map +1 -0
- package/dist/src/browser-host.d.ts +4 -4
- package/dist/src/browser-host.d.ts.map +1 -1
- package/dist/src/core.d.ts +12 -2
- package/dist/src/core.d.ts.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/editor-command-bar.d.ts +1 -2
- package/dist/src/react/editor-command-bar.d.ts.map +1 -1
- package/dist/src/react/playground.d.ts +1 -3
- package/dist/src/react/playground.d.ts.map +1 -1
- package/dist/src/react/settings/compiler-settings.d.ts +1 -1
- package/dist/src/react/settings/compiler-settings.d.ts.map +1 -1
- package/dist/src/react/settings/linter-form.d.ts +1 -1
- package/dist/src/react/settings/linter-form.d.ts.map +1 -1
- package/dist/src/react/standalone.d.ts +2 -0
- package/dist/src/react/standalone.d.ts.map +1 -1
- package/dist/src/react/types.d.ts +1 -6
- package/dist/src/react/types.d.ts.map +1 -1
- package/dist/src/react/viewers.d.ts +1 -0
- package/dist/src/react/viewers.d.ts.map +1 -1
- package/dist/src/services.d.ts +1 -1
- package/dist/src/services.d.ts.map +1 -1
- package/dist/src/types.d.ts +10 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/vite/index.d.ts.map +1 -1
- package/dist/src/vite/types.d.ts +4 -0
- package/dist/src/vite/types.d.ts.map +1 -1
- package/dist/{src/services.js → state-storage-ad8a9d39.js} +278 -10
- package/dist/state-storage-ad8a9d39.js.map +1 -0
- package/dist/{src/vite → vite}/index.js +14 -9
- package/dist/vite/index.js.map +1 -0
- package/package.json +34 -10
- package/dist/src/browser-host.js +0 -129
- package/dist/src/browser-host.js.map +0 -1
- package/dist/src/core.js +0 -17
- package/dist/src/core.js.map +0 -1
- package/dist/src/index.js +0 -6
- package/dist/src/index.js.map +0 -1
- package/dist/src/manifest.js +0 -3
- package/dist/src/manifest.js.map +0 -1
- package/dist/src/monaco-worker.js +0 -30
- package/dist/src/monaco-worker.js.map +0 -1
- package/dist/src/react/diagnostic-list.js +0 -16
- package/dist/src/react/diagnostic-list.js.map +0 -1
- package/dist/src/react/editor-command-bar.js +0 -15
- package/dist/src/react/editor-command-bar.js.map +0 -1
- package/dist/src/react/editor.js +0 -37
- package/dist/src/react/editor.js.map +0 -1
- package/dist/src/react/emitter-dropdown.js +0 -13
- package/dist/src/react/emitter-dropdown.js.map +0 -1
- package/dist/src/react/error-tab.js +0 -20
- package/dist/src/react/error-tab.js.map +0 -1
- package/dist/src/react/file-output.js +0 -31
- package/dist/src/react/file-output.js.map +0 -1
- package/dist/src/react/footer.js +0 -29
- package/dist/src/react/footer.js.map +0 -1
- package/dist/src/react/hooks.js +0 -50
- package/dist/src/react/hooks.js.map +0 -1
- package/dist/src/react/index.js +0 -4
- package/dist/src/react/index.js.map +0 -1
- package/dist/src/react/output-tabs.js +0 -38
- package/dist/src/react/output-tabs.js.map +0 -1
- package/dist/src/react/output-view.js +0 -98
- package/dist/src/react/output-view.js.map +0 -1
- package/dist/src/react/playground.js +0 -182
- package/dist/src/react/playground.js.map +0 -1
- package/dist/src/react/samples-dropdown.js +0 -15
- package/dist/src/react/samples-dropdown.js.map +0 -1
- package/dist/src/react/settings/compiler-settings.js +0 -42
- package/dist/src/react/settings/compiler-settings.js.map +0 -1
- package/dist/src/react/settings/emitter-options-form.js +0 -39
- package/dist/src/react/settings/emitter-options-form.js.map +0 -1
- package/dist/src/react/settings/linter-form.js +0 -33
- package/dist/src/react/settings/linter-form.js.map +0 -1
- package/dist/src/react/split-pane/index.js +0 -2
- package/dist/src/react/split-pane/index.js.map +0 -1
- package/dist/src/react/split-pane/pane.js +0 -5
- package/dist/src/react/split-pane/pane.js.map +0 -1
- package/dist/src/react/split-pane/sash-content.js +0 -7
- package/dist/src/react/split-pane/sash-content.js.map +0 -1
- package/dist/src/react/split-pane/sash.js +0 -23
- package/dist/src/react/split-pane/sash.js.map +0 -1
- package/dist/src/react/split-pane/split-pane.js +0 -138
- package/dist/src/react/split-pane/split-pane.js.map +0 -1
- package/dist/src/react/split-pane/split-pane.module.css +0 -58
- package/dist/src/react/standalone.js +0 -63
- package/dist/src/react/standalone.js.map +0 -1
- package/dist/src/react/swagger-ui.js +0 -19
- package/dist/src/react/swagger-ui.js.map +0 -1
- package/dist/src/react/types.js +0 -2
- package/dist/src/react/types.js.map +0 -1
- package/dist/src/react/typespec-editor.js +0 -30
- package/dist/src/react/typespec-editor.js.map +0 -1
- package/dist/src/react/viewers.js +0 -8
- package/dist/src/react/viewers.js.map +0 -1
- package/dist/src/services.js.map +0 -1
- package/dist/src/state-storage.js +0 -81
- package/dist/src/state-storage.js.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils.d.ts +0 -8
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -14
- package/dist/src/utils.js.map +0 -1
- package/dist/src/vite/index.js.map +0 -1
- package/dist/src/vite/types.js +0 -2
- package/dist/src/vite/types.js.map +0 -1
- package/dist/vite.config.d.ts +0 -3
- package/dist/vite.config.d.ts.map +0 -1
- package/dist/vite.config.js +0 -38
- 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":"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"}
|
|
@@ -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 +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 +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"}
|