@mongodb-js/compass-editor 0.2.0 → 0.3.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.
- package/dist/ace/theme.d.ts.map +1 -1
- package/dist/ace/theme.js +34 -3
- package/dist/ace/theme.js.map +1 -1
- package/dist/base-editor.d.ts +3 -2
- package/dist/base-editor.d.ts.map +1 -1
- package/dist/base-editor.js +45 -11
- package/dist/base-editor.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/inline-editor.d.ts +3 -1
- package/dist/inline-editor.d.ts.map +1 -1
- package/dist/inline-editor.js +2 -3
- package/dist/inline-editor.js.map +1 -1
- package/dist/multiline-editor.d.ts +18 -0
- package/dist/multiline-editor.d.ts.map +1 -0
- package/dist/multiline-editor.js +138 -0
- package/dist/multiline-editor.js.map +1 -0
- package/dist/prettify.d.ts +4 -0
- package/dist/prettify.d.ts.map +1 -0
- package/dist/prettify.js +25 -0
- package/dist/prettify.js.map +1 -0
- package/package.json +4 -3
package/dist/ace/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,uBAAuB,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,uBAAuB,gBAAgB,CAAC;AAW9C,QAAA,MAAM,sBAAsB,QA4Q3B,CAAC;AAgCF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC"}
|
package/dist/ace/theme.js
CHANGED
|
@@ -4,6 +4,10 @@ exports.mongodbAceThemeCssText = exports.mongodbAceThemeCssClass = void 0;
|
|
|
4
4
|
const compass_components_1 = require("@mongodb-js/compass-components");
|
|
5
5
|
const mongodbAceThemeCssClass = 'ace-mongodb';
|
|
6
6
|
exports.mongodbAceThemeCssClass = mongodbAceThemeCssClass;
|
|
7
|
+
const errorColor = encodeURIComponent(compass_components_1.palette.red.base);
|
|
8
|
+
const errorColorDarkMode = encodeURIComponent(compass_components_1.palette.red.light1);
|
|
9
|
+
const foldColor = encodeURIComponent(compass_components_1.palette.black);
|
|
10
|
+
const foldColorDarkMode = encodeURIComponent(compass_components_1.palette.white);
|
|
7
11
|
const css = String.raw;
|
|
8
12
|
const mongodbAceThemeCssText = css `
|
|
9
13
|
.ace-mongodb {
|
|
@@ -118,9 +122,36 @@ const mongodbAceThemeCssText = css `
|
|
|
118
122
|
background: inherit;
|
|
119
123
|
}
|
|
120
124
|
.ace-mongodb .ace_gutter-cell {
|
|
121
|
-
/* gutter left padding has to account for error annotation size */
|
|
122
|
-
padding-left:
|
|
123
|
-
|
|
125
|
+
/* gutter left padding has to account for error annotation icon size */
|
|
126
|
+
padding-left: ${compass_components_1.spacing[3]}px;
|
|
127
|
+
}
|
|
128
|
+
.ace-mongodb .ace_gutter-cell.ace_error {
|
|
129
|
+
/* leafygreen XWithCircle */
|
|
130
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${errorColor}' fill-rule='evenodd' d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm1.414-9.828a1 1 0 1 1 1.414 1.414L9.414 8l1.414 1.414a1 1 0 1 1-1.414 1.414L8 9.414l-1.414 1.414a1 1 0 1 1-1.414-1.414L6.586 8 5.172 6.586a1 1 0 0 1 1.414-1.414L8 6.586l1.414-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E%0A");
|
|
131
|
+
background-size: 12px;
|
|
132
|
+
background-repeat: no-repeat;
|
|
133
|
+
background-position: ${compass_components_1.spacing[1] / 2}px center;
|
|
134
|
+
}
|
|
135
|
+
/* To change svg foll color, we have to completely replace the background url, this can't be done with css custom properties */
|
|
136
|
+
.ace_dark.ace-mongodb .ace_gutter-cell.ace_error {
|
|
137
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${errorColorDarkMode}' fill-rule='evenodd' d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm1.414-9.828a1 1 0 1 1 1.414 1.414L9.414 8l1.414 1.414a1 1 0 1 1-1.414 1.414L8 9.414l-1.414 1.414a1 1 0 1 1-1.414-1.414L6.586 8 5.172 6.586a1 1 0 0 1 1.414-1.414L8 6.586l1.414-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E%0A");
|
|
138
|
+
}
|
|
139
|
+
.ace-mongodb .ace_fold-widget {
|
|
140
|
+
/* leafygreen CaretDown */
|
|
141
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColor}' d='M8.679 10.796a.554.554 0 0 1-.858 0L4.64 6.976C4.32 6.594 4.582 6 5.069 6h6.362c.487 0 .748.594.43.976l-3.182 3.82z'/%3E%3C/svg%3E%0A");
|
|
142
|
+
background-size: 12px;
|
|
143
|
+
background-repeat: no-repeat;
|
|
144
|
+
background-position: center;
|
|
145
|
+
}
|
|
146
|
+
.ace_dark.ace-mongodb .ace_fold-widget {
|
|
147
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColorDarkMode}' d='M8.679 10.796a.554.554 0 0 1-.858 0L4.64 6.976C4.32 6.594 4.582 6 5.069 6h6.362c.487 0 .748.594.43.976l-3.182 3.82z'/%3E%3C/svg%3E%0A");
|
|
148
|
+
}
|
|
149
|
+
.ace-mongodb .ace_fold-widget.ace_closed {
|
|
150
|
+
/* leafygreen CaretRight */
|
|
151
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColor}' d='M10.796 7.321a.554.554 0 0 1 0 .858l-3.82 3.181c-.382.319-.976.058-.976-.429V4.57c0-.487.594-.748.976-.43l3.82 3.182z'/%3E%3C/svg%3E%0A");
|
|
152
|
+
}
|
|
153
|
+
.ace_dark.ace-mongodb .ace_fold-widget.ace_closed {
|
|
154
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='${foldColorDarkMode}' d='M10.796 7.321a.554.554 0 0 1 0 .858l-3.82 3.181c-.382.319-.976.058-.976-.429V4.57c0-.487.594-.748.976-.43l3.82 3.182z'/%3E%3C/svg%3E%0A");
|
|
124
155
|
}
|
|
125
156
|
.ace-mongodb .ace_keyword {
|
|
126
157
|
color: var(--keyword-color);
|
package/dist/ace/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAElE,MAAM,uBAAuB,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":"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"}
|
package/dist/base-editor.d.ts
CHANGED
|
@@ -27,9 +27,10 @@ export declare type EditorProps = {
|
|
|
27
27
|
'data-testid'?: string;
|
|
28
28
|
onChangeText?: (text: string, event?: any) => void;
|
|
29
29
|
darkMode?: boolean;
|
|
30
|
+
editorClassName?: string;
|
|
30
31
|
} & Omit<IAceEditorProps, 'onChange' | 'value' | 'theme'>;
|
|
31
|
-
declare function BaseEditor({ text, variant, options, readOnly, id, name, commands: _commands, onChangeText, completer, 'data-testid': dataTestId, onFocus, darkMode: _darkMode, ...aceProps }: EditorProps): React.ReactElement;
|
|
32
|
+
declare function BaseEditor({ text, variant, options, readOnly, id, name, commands: _commands, onChangeText, completer, 'data-testid': dataTestId, onFocus, darkMode: _darkMode, className, editorClassName, ...aceProps }: EditorProps): React.ReactElement;
|
|
32
33
|
declare function setEditorValue(element: HTMLElement, value: string): void;
|
|
33
34
|
declare const EditorTextCompleter: any;
|
|
34
|
-
export { BaseEditor
|
|
35
|
+
export { BaseEditor, EditorVariant, EditorTextCompleter, setEditorValue };
|
|
35
36
|
//# sourceMappingURL=base-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-editor.d.ts","sourceRoot":"","sources":["../src/base-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"base-editor.d.ts","sourceRoot":"","sources":["../src/base-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAShE,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAY,MAAM,WAAW,CAAC;AAIxE,OAAO,8CAA8C,CAAC;AACtD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,oCAAoC,CAAC;AAE5C,OAAO,OAAO,CAAC;AAwBf,QAAA,MAAM,aAAa;;;;CAIT,CAAC;AAEX,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,OAAO,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,IAAI,CACZ,WAAW,EACX,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,0BAA0B,CACpE,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;AA+C1D,iBAAS,UAAU,CAAC,EAClB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,QAAQ,EAAE,SAAS,EACnB,YAAY,EACZ,SAAS,EACT,aAAa,EAAE,UAAU,EACzB,OAAO,EACP,QAAQ,EAAE,SAAS,EACnB,SAAS,EACT,eAAe,EACf,GAAG,QAAQ,EACZ,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAoElC;AAUD,iBAAS,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQjE;AAED,QAAA,MAAM,mBAAmB,KAAsB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/base-editor.js
CHANGED
|
@@ -26,9 +26,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.setEditorValue = exports.EditorTextCompleter = exports.EditorVariant = exports.
|
|
29
|
+
exports.setEditorValue = exports.EditorTextCompleter = exports.EditorVariant = exports.BaseEditor = void 0;
|
|
30
30
|
const react_1 = __importStar(require("react"));
|
|
31
31
|
const compass_components_1 = require("@mongodb-js/compass-components");
|
|
32
|
+
const compass_components_2 = require("@mongodb-js/compass-components");
|
|
32
33
|
require("ace-builds");
|
|
33
34
|
const react_ace_1 = __importDefault(require("react-ace"));
|
|
34
35
|
require("ace-builds/src-noconflict/ext-language_tools");
|
|
@@ -42,8 +43,8 @@ require("ace-builds/src-noconflict/mode-rust");
|
|
|
42
43
|
require("ace-builds/src-noconflict/mode-golang");
|
|
43
44
|
require("ace-builds/src-noconflict/mode-php");
|
|
44
45
|
const ext_language_tools_1 = __importDefault(require("ace-builds/src-noconflict/ext-language_tools"));
|
|
45
|
-
const ext_beautify_1 = __importDefault(require("ace-builds/src-noconflict/ext-beautify"));
|
|
46
46
|
require("./ace");
|
|
47
|
+
const prettify_1 = require("./prettify");
|
|
47
48
|
const DEFAULT_OPTIONS = {
|
|
48
49
|
enableLiveAutocompletion: false,
|
|
49
50
|
tabSize: 2,
|
|
@@ -52,7 +53,7 @@ const DEFAULT_OPTIONS = {
|
|
|
52
53
|
showGutter: true,
|
|
53
54
|
showPrintMargin: false,
|
|
54
55
|
useWorker: false,
|
|
55
|
-
fontFamily:
|
|
56
|
+
fontFamily: compass_components_2.fontFamilies.code,
|
|
56
57
|
fontSize: 13,
|
|
57
58
|
};
|
|
58
59
|
const EditorVariant = {
|
|
@@ -61,12 +62,45 @@ const EditorVariant = {
|
|
|
61
62
|
Generic: 'Generic',
|
|
62
63
|
};
|
|
63
64
|
exports.EditorVariant = EditorVariant;
|
|
64
|
-
const editorStyle = (0,
|
|
65
|
+
const editorStyle = (0, compass_components_2.css)({
|
|
65
66
|
position: 'relative',
|
|
66
67
|
width: '100%',
|
|
67
68
|
zIndex: 0,
|
|
68
69
|
});
|
|
69
|
-
|
|
70
|
+
const defaultCommands = [
|
|
71
|
+
{
|
|
72
|
+
name: 'prettify',
|
|
73
|
+
exec(editor) {
|
|
74
|
+
try {
|
|
75
|
+
const mode = editor.session.getMode().$id;
|
|
76
|
+
const format = mode.endsWith('/json')
|
|
77
|
+
? 'json'
|
|
78
|
+
: 'javascript-expression';
|
|
79
|
+
const code = (0, prettify_1.prettify)(editor.getValue(), format);
|
|
80
|
+
const currentSelection = editor.selection.toJSON();
|
|
81
|
+
editor.session.doc.setValue(code);
|
|
82
|
+
editor.selection.fromJSON(currentSelection);
|
|
83
|
+
}
|
|
84
|
+
catch (_a) {
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
bindKey: {
|
|
88
|
+
win: 'Ctrl-Shift-B',
|
|
89
|
+
mac: 'Ctrl-Shift-B',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'copy-all',
|
|
94
|
+
exec(editor) {
|
|
95
|
+
void navigator.clipboard.writeText(editor.getValue());
|
|
96
|
+
},
|
|
97
|
+
bindKey: {
|
|
98
|
+
win: 'Ctrl-Shift-C',
|
|
99
|
+
mac: 'Ctrl-Shift-C',
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
];
|
|
103
|
+
function BaseEditor({ text, variant, options, readOnly, id, name, commands: _commands, onChangeText, completer, 'data-testid': dataTestId, onFocus, darkMode: _darkMode, className, editorClassName, ...aceProps }) {
|
|
70
104
|
const setOptions = {
|
|
71
105
|
...DEFAULT_OPTIONS,
|
|
72
106
|
...options,
|
|
@@ -75,7 +109,7 @@ function BaseEditor({ text, variant, options, readOnly, id, name, commands: _com
|
|
|
75
109
|
...(!!completer && { enableLiveAutocompletion: true }),
|
|
76
110
|
};
|
|
77
111
|
const editorRef = (0, react_1.useRef)(null);
|
|
78
|
-
const providerDarkMode = (0,
|
|
112
|
+
const providerDarkMode = (0, compass_components_2.useDarkMode)();
|
|
79
113
|
const darkMode = _darkMode !== null && _darkMode !== void 0 ? _darkMode : providerDarkMode;
|
|
80
114
|
(0, react_1.useLayoutEffect)(() => {
|
|
81
115
|
if (!editorRef.current) {
|
|
@@ -88,11 +122,11 @@ function BaseEditor({ text, variant, options, readOnly, id, name, commands: _com
|
|
|
88
122
|
editorRef.current.editor.textInput.getElement().id = id;
|
|
89
123
|
}
|
|
90
124
|
}, [id]);
|
|
91
|
-
const editorName = (0,
|
|
125
|
+
const editorName = (0, compass_components_2.useId)();
|
|
92
126
|
const commands = (0, react_1.useMemo)(() => {
|
|
93
|
-
return
|
|
127
|
+
return defaultCommands.concat(_commands !== null && _commands !== void 0 ? _commands : []);
|
|
94
128
|
}, [_commands]);
|
|
95
|
-
return (react_1.default.createElement("div", { "data-testid": dataTestId, className: editorStyle },
|
|
129
|
+
return (react_1.default.createElement("div", { "data-testid": dataTestId, className: (0, compass_components_1.cx)(editorStyle, className) },
|
|
96
130
|
react_1.default.createElement(react_ace_1.default, { ref: editorRef, mode: variant === 'Generic'
|
|
97
131
|
? undefined
|
|
98
132
|
: variant === 'EJSON'
|
|
@@ -102,9 +136,9 @@ function BaseEditor({ text, variant, options, readOnly, id, name, commands: _com
|
|
|
102
136
|
ext_language_tools_1.default.setCompleters([completer]);
|
|
103
137
|
}
|
|
104
138
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
|
|
105
|
-
}, ...aceProps })));
|
|
139
|
+
}, className: editorClassName, ...aceProps })));
|
|
106
140
|
}
|
|
107
|
-
exports.
|
|
141
|
+
exports.BaseEditor = BaseEditor;
|
|
108
142
|
function setEditorValue(element, value) {
|
|
109
143
|
const container = element.querySelector('.ace_editor');
|
|
110
144
|
if (!container) {
|
package/dist/base-editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-editor.js","sourceRoot":"","sources":["../src/base-editor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,uEAKwC;AAExC,sBAAoB;AAEpB,0DAAkC;AAGlC,wDAAsD;AACtD,qDAAmD;AACnD,+CAA6C;AAC7C,iDAA+C;AAC/C,iDAA+C;AAC/C,+CAA6C;AAC7C,+CAA6C;AAC7C,+CAA6C;AAC7C,iDAA+C;AAC/C,8CAA4C;AAC5C,sGAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"base-editor.js","sourceRoot":"","sources":["../src/base-editor.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,4 +8,7 @@ export declare type AceEditor = Ace.Editor;
|
|
|
8
8
|
export declare type AceAnnotation = Ace.Annotation;
|
|
9
9
|
export type { CompletionWithServerInfo } from './types';
|
|
10
10
|
export { InlineEditor } from './inline-editor';
|
|
11
|
+
export { prettify } from './prettify';
|
|
12
|
+
export type { FormatOptions } from './prettify';
|
|
13
|
+
export { Editor } from './multiline-editor';
|
|
11
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,oBAAY,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;AACnC,oBAAY,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC;AAC3C,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,oBAAY,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;AACnC,oBAAY,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC;AAC3C,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.InlineEditor = exports.AggregationAutoCompleter = exports.StageAutoCompleter = exports.QueryAutoCompleter = exports.ValidationAutoCompleter = void 0;
|
|
17
|
+
exports.Editor = exports.prettify = exports.InlineEditor = exports.AggregationAutoCompleter = exports.StageAutoCompleter = exports.QueryAutoCompleter = exports.ValidationAutoCompleter = void 0;
|
|
18
18
|
__exportStar(require("./base-editor"), exports);
|
|
19
19
|
var validation_autocompleter_1 = require("./ace/validation-autocompleter");
|
|
20
20
|
Object.defineProperty(exports, "ValidationAutoCompleter", { enumerable: true, get: function () { return validation_autocompleter_1.ValidationAutoCompleter; } });
|
|
@@ -26,4 +26,8 @@ var aggregation_autocompleter_1 = require("./ace/aggregation-autocompleter");
|
|
|
26
26
|
Object.defineProperty(exports, "AggregationAutoCompleter", { enumerable: true, get: function () { return aggregation_autocompleter_1.AggregationAutoCompleter; } });
|
|
27
27
|
var inline_editor_1 = require("./inline-editor");
|
|
28
28
|
Object.defineProperty(exports, "InlineEditor", { enumerable: true, get: function () { return inline_editor_1.InlineEditor; } });
|
|
29
|
+
var prettify_1 = require("./prettify");
|
|
30
|
+
Object.defineProperty(exports, "prettify", { enumerable: true, get: function () { return prettify_1.prettify; } });
|
|
31
|
+
var multiline_editor_1 = require("./multiline-editor");
|
|
32
|
+
Object.defineProperty(exports, "Editor", { enumerable: true, get: function () { return multiline_editor_1.Editor; } });
|
|
29
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,gDAA8B;AAC9B,2EAAyE;AAAhE,mIAAA,uBAAuB,OAAA;AAChC,iEAA+D;AAAtD,yHAAA,kBAAkB,OAAA;AAC3B,iEAA+D;AAAtD,yHAAA,kBAAkB,OAAA;AAC3B,6EAA2E;AAAlE,qIAAA,wBAAwB,OAAA;AAIjC,iDAA+C;AAAtC,6GAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,gDAA8B;AAC9B,2EAAyE;AAAhE,mIAAA,uBAAuB,OAAA;AAChC,iEAA+D;AAAtD,yHAAA,kBAAkB,OAAA;AAC3B,iEAA+D;AAAtD,yHAAA,kBAAkB,OAAA;AAC3B,6EAA2E;AAAlE,qIAAA,wBAAwB,OAAA;AAIjC,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,uDAA4C;AAAnC,0GAAA,MAAM,OAAA"}
|
package/dist/inline-editor.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { EditorProps } from './base-editor';
|
|
3
|
-
declare type InlineEditorProps =
|
|
3
|
+
declare type InlineEditorProps = Omit<EditorProps, 'options' | 'editorClassName'> & {
|
|
4
|
+
options?: Omit<EditorProps['options'], 'showGutter' | 'highlightActiveLine' | 'highlightGutterLine' | 'minLines'>;
|
|
5
|
+
};
|
|
4
6
|
declare const InlineEditor: React.FunctionComponent<InlineEditorProps>;
|
|
5
7
|
export { InlineEditor };
|
|
6
8
|
//# sourceMappingURL=inline-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-editor.d.ts","sourceRoot":"","sources":["../src/inline-editor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inline-editor.d.ts","sourceRoot":"","sources":["../src/inline-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,aAAK,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,iBAAiB,CAAC,GAAG;IAC1E,OAAO,CAAC,EAAE,IAAI,CACZ,WAAW,CAAC,SAAS,CAAC,EACtB,YAAY,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,UAAU,CAC1E,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAmB5D,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/inline-editor.js
CHANGED
|
@@ -4,10 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.InlineEditor = void 0;
|
|
7
|
-
const compass_components_1 = require("@mongodb-js/compass-components");
|
|
8
7
|
const react_1 = __importDefault(require("react"));
|
|
9
8
|
const base_editor_1 = require("./base-editor");
|
|
10
|
-
const InlineEditor = ({ options,
|
|
9
|
+
const InlineEditor = ({ options, ...props }) => {
|
|
11
10
|
const inlineEditorOptions = {
|
|
12
11
|
maxLines: 10,
|
|
13
12
|
...options,
|
|
@@ -16,7 +15,7 @@ const InlineEditor = ({ options, className, ...props }) => {
|
|
|
16
15
|
highlightActiveLine: false,
|
|
17
16
|
highlightGutterLine: false,
|
|
18
17
|
};
|
|
19
|
-
return (react_1.default.createElement(base_editor_1.
|
|
18
|
+
return (react_1.default.createElement(base_editor_1.BaseEditor, { options: inlineEditorOptions, editorClassName: "inline-editor", ...props }));
|
|
20
19
|
};
|
|
21
20
|
exports.InlineEditor = InlineEditor;
|
|
22
21
|
//# sourceMappingURL=inline-editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-editor.js","sourceRoot":"","sources":["../src/inline-editor.tsx"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"inline-editor.js","sourceRoot":"","sources":["../src/inline-editor.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,+CAA2C;AAS3C,MAAM,YAAY,GAA+C,CAAC,EAChE,OAAO,EACP,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,mBAAmB,GAAG;QAC1B,QAAQ,EAAE,EAAE;QACZ,GAAG,OAAO;QACV,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,KAAK;QACjB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;KAC3B,CAAC;IACF,OAAO,CACL,8BAAC,wBAAU,IACT,OAAO,EAAE,mBAAmB,EAC5B,eAAe,EAAC,eAAe,KAC3B,KAAK,GACG,CACf,CAAC;AACJ,CAAC,CAAC;AAEO,oCAAY"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IconGlyph } from '@mongodb-js/compass-components';
|
|
2
|
+
import type { Ace } from 'ace-builds';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import type { EditorProps as BaseEditorProps } from './base-editor';
|
|
5
|
+
declare type CustomActionItem = {
|
|
6
|
+
icon: IconGlyph;
|
|
7
|
+
action: string;
|
|
8
|
+
label: string;
|
|
9
|
+
};
|
|
10
|
+
declare type EditorProps = Omit<BaseEditorProps, 'editorClassName'> & {
|
|
11
|
+
copyable?: boolean;
|
|
12
|
+
formattable?: boolean;
|
|
13
|
+
customActions?: CustomActionItem[];
|
|
14
|
+
onAction?: (editor: Ace.Editor | undefined, action: string) => void;
|
|
15
|
+
};
|
|
16
|
+
declare const MultilineEditor: React.FunctionComponent<EditorProps>;
|
|
17
|
+
export { MultilineEditor as Editor };
|
|
18
|
+
//# sourceMappingURL=multiline-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiline-editor.d.ts","sourceRoot":"","sources":["../src/multiline-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAIhE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAqHpE,aAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,aAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAAG;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AA8CF,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAyEzD,CAAC;AAEF,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Editor = void 0;
|
|
27
|
+
const compass_components_1 = require("@mongodb-js/compass-components");
|
|
28
|
+
const compass_components_2 = require("@mongodb-js/compass-components");
|
|
29
|
+
const compass_components_3 = require("@mongodb-js/compass-components");
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
31
|
+
const base_editor_1 = require("./base-editor");
|
|
32
|
+
const actionButtonStyle = (0, compass_components_2.css)({
|
|
33
|
+
flex: 'none',
|
|
34
|
+
});
|
|
35
|
+
const actionButtonContentStyle = (0, compass_components_2.css)({
|
|
36
|
+
position: 'relative',
|
|
37
|
+
});
|
|
38
|
+
const actionButtonIconContainerStyle = (0, compass_components_2.css)({
|
|
39
|
+
opacity: 1,
|
|
40
|
+
width: 14,
|
|
41
|
+
height: 14,
|
|
42
|
+
transition: 'opacity .2s linear',
|
|
43
|
+
});
|
|
44
|
+
const actionButtonIconContainerHiddenStyle = (0, compass_components_2.css)({
|
|
45
|
+
opacity: 0,
|
|
46
|
+
});
|
|
47
|
+
const actionButtonClickResultIconStyle = (0, compass_components_2.css)({
|
|
48
|
+
position: 'absolute',
|
|
49
|
+
width: 14,
|
|
50
|
+
height: 14,
|
|
51
|
+
top: 0,
|
|
52
|
+
pointerEvents: 'none',
|
|
53
|
+
opacity: 1,
|
|
54
|
+
transition: 'opacity .2s linear',
|
|
55
|
+
});
|
|
56
|
+
const actionButtonClickResultIconHiddenStyle = (0, compass_components_2.css)({
|
|
57
|
+
opacity: 0,
|
|
58
|
+
});
|
|
59
|
+
const ActionButton = ({ label, icon, onClick }) => {
|
|
60
|
+
const [clickResult, setClickResult] = (0, react_1.useState)('success');
|
|
61
|
+
const [clickResultVisible, setClickResultVisible] = (0, react_1.useState)(false);
|
|
62
|
+
const onButtonClick = (0, react_1.useCallback)((...args) => {
|
|
63
|
+
const result = onClick(...args);
|
|
64
|
+
if (typeof result === 'boolean') {
|
|
65
|
+
setClickResult(result ? 'success' : 'error');
|
|
66
|
+
setClickResultVisible(true);
|
|
67
|
+
}
|
|
68
|
+
}, [onClick]);
|
|
69
|
+
(0, react_1.useEffect)(() => {
|
|
70
|
+
if (!clickResultVisible) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const timeoutId = setTimeout(() => {
|
|
74
|
+
setClickResultVisible(false);
|
|
75
|
+
}, 1000);
|
|
76
|
+
return () => {
|
|
77
|
+
clearTimeout(timeoutId);
|
|
78
|
+
};
|
|
79
|
+
}, [clickResultVisible]);
|
|
80
|
+
return (react_1.default.createElement(compass_components_3.Button, { size: "xsmall", "aria-label": label, title: label, onClick: onButtonClick, className: actionButtonStyle },
|
|
81
|
+
react_1.default.createElement("div", { className: actionButtonContentStyle },
|
|
82
|
+
react_1.default.createElement("div", { className: (0, compass_components_1.cx)(actionButtonIconContainerStyle, clickResultVisible && actionButtonIconContainerHiddenStyle) }, typeof icon === 'string' ? (react_1.default.createElement(compass_components_3.Icon, { size: "small", role: "presentation", title: null, glyph: icon })) : (icon)),
|
|
83
|
+
react_1.default.createElement("div", { className: (0, compass_components_1.cx)(actionButtonClickResultIconStyle, !clickResultVisible && actionButtonClickResultIconHiddenStyle) },
|
|
84
|
+
react_1.default.createElement(compass_components_3.Icon, { size: "small", glyph: clickResult === 'success' ? 'Checkmark' : 'X' })))));
|
|
85
|
+
};
|
|
86
|
+
const FormatIcon = ({ size = 16, ...props }) => (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", width: size, height: size, viewBox: "0 0 16 16", ...props },
|
|
87
|
+
react_1.default.createElement("path", { fill: "currentColor", d: "M2 4a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm0 4a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H3a1 1 0 0 1-1-1Zm1 3a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H3Zm4-7a1 1 0 0 1 1-1h5a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1Zm4 4a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1Z" })));
|
|
88
|
+
const multilineEditorContainerStyle = (0, compass_components_2.css)({
|
|
89
|
+
position: 'relative',
|
|
90
|
+
height: '100%',
|
|
91
|
+
[`&:focus-within > .multiline-editor-actions,
|
|
92
|
+
&:hover > .multiline-editor-actions`]: {
|
|
93
|
+
display: 'flex',
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
const editorContainerStyle = (0, compass_components_2.css)({
|
|
97
|
+
overflow: 'auto',
|
|
98
|
+
paddingTop: compass_components_2.spacing[1],
|
|
99
|
+
height: `calc(100% - ${compass_components_2.spacing[1]}px)`,
|
|
100
|
+
});
|
|
101
|
+
const actionsContainerStyle = (0, compass_components_2.css)({
|
|
102
|
+
position: 'absolute',
|
|
103
|
+
top: compass_components_2.spacing[1],
|
|
104
|
+
right: compass_components_2.spacing[2],
|
|
105
|
+
display: 'none',
|
|
106
|
+
gap: compass_components_2.spacing[2],
|
|
107
|
+
});
|
|
108
|
+
const MultilineEditor = ({ copyable = true, formattable = true, customActions = [], onAction, onLoad, className, ...props }) => {
|
|
109
|
+
const editorRef = (0, react_1.useRef)();
|
|
110
|
+
const actions = (0, react_1.useMemo)(() => {
|
|
111
|
+
return [
|
|
112
|
+
copyable && (react_1.default.createElement(ActionButton, { label: "Copy", icon: "Copy", onClick: () => {
|
|
113
|
+
var _a;
|
|
114
|
+
(_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.execCommand('copy-all');
|
|
115
|
+
return true;
|
|
116
|
+
} })),
|
|
117
|
+
formattable && (react_1.default.createElement(ActionButton, { label: "Format", icon: react_1.default.createElement(FormatIcon, { size: 14, role: "presentation" }), onClick: () => {
|
|
118
|
+
var _a;
|
|
119
|
+
(_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.execCommand('prettify');
|
|
120
|
+
return true;
|
|
121
|
+
} })),
|
|
122
|
+
...customActions.map((action) => {
|
|
123
|
+
return (react_1.default.createElement(ActionButton, { key: action.action, icon: action.icon, label: action.label, onClick: () => {
|
|
124
|
+
onAction === null || onAction === void 0 ? void 0 : onAction(editorRef.current, action.action);
|
|
125
|
+
} }));
|
|
126
|
+
}),
|
|
127
|
+
];
|
|
128
|
+
}, [copyable, formattable, customActions, onAction]);
|
|
129
|
+
return (react_1.default.createElement("div", { className: (0, compass_components_1.cx)(multilineEditorContainerStyle, className) },
|
|
130
|
+
react_1.default.createElement("div", { className: editorContainerStyle },
|
|
131
|
+
react_1.default.createElement(base_editor_1.BaseEditor, { onLoad: (editor) => {
|
|
132
|
+
editorRef.current = editor;
|
|
133
|
+
onLoad === null || onLoad === void 0 ? void 0 : onLoad(editor);
|
|
134
|
+
}, ...props })),
|
|
135
|
+
actions.length > 0 && (react_1.default.createElement("div", { className: (0, compass_components_1.cx)('multiline-editor-actions', actionsContainerStyle) }, actions))));
|
|
136
|
+
};
|
|
137
|
+
exports.Editor = MultilineEditor;
|
|
138
|
+
//# sourceMappingURL=multiline-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiline-editor.js","sourceRoot":"","sources":["../src/multiline-editor.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uEAAoD;AACpD,uEAA8D;AAC9D,uEAA8D;AAE9D,+CAMe;AAEf,+CAA2C;AAE3C,MAAM,iBAAiB,GAAG,IAAA,wBAAG,EAAC;IAC5B,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,IAAA,wBAAG,EAAC;IACnC,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AAEH,MAAM,8BAA8B,GAAG,IAAA,wBAAG,EAAC;IACzC,OAAO,EAAE,CAAC;IAEV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,oBAAoB;CACjC,CAAC,CAAC;AAEH,MAAM,oCAAoC,GAAG,IAAA,wBAAG,EAAC;IAC/C,OAAO,EAAE,CAAC;CACX,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,IAAA,wBAAG,EAAC;IAC3C,QAAQ,EAAE,UAAU;IAEpB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,GAAG,EAAE,CAAC;IACN,aAAa,EAAE,MAAM;IACrB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,oBAAoB;CACjC,CAAC,CAAC;AAEH,MAAM,sCAAsC,GAAG,IAAA,wBAAG,EAAC;IACjD,OAAO,EAAE,CAAC;CACX,CAAC,CAAC;AAEH,MAAM,YAAY,GAMb,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAC5C,SAAS,CACV,CAAC;IACF,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,CAAC,GAAG,IAA4D,EAAE,EAAE;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;YAC/B,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7C,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAC7B;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO;SACR;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,OAAO,CACL,8BAAC,2BAAM,IACL,IAAI,EAAC,QAAQ,gBACD,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,iBAAiB;QAE5B,uCAAK,SAAS,EAAE,wBAAwB;YACtC,uCACE,SAAS,EAAE,IAAA,uBAAE,EACX,8BAA8B,EAC9B,kBAAkB,IAAI,oCAAoC,CAC3D,IAEA,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC1B,8BAAC,yBAAI,IACH,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,cAAc,EACnB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,GACL,CACT,CAAC,CAAC,CAAC,CACF,IAAI,CACL,CACG;YACN,uCACE,SAAS,EAAE,IAAA,uBAAE,EACX,gCAAgC,EAChC,CAAC,kBAAkB,IAAI,sCAAsC,CAC9D;gBAED,8BAAC,yBAAI,IACH,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAC9C,CACJ,CACF,CACC,CACV,CAAC;AACJ,CAAC,CAAC;AAeF,MAAM,UAAU,GAAG,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,GAAG,KAAK,EAC0C,EAAE,EAAE,CAAC,CACvD,uCACE,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,KACf,KAAK;IAET,wCACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,qPAAqP,GACvP,CACE,CACP,CAAC;AAEF,MAAM,6BAA6B,GAAG,IAAA,wBAAG,EAAC;IACxC,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,MAAM;IACd,CAAC;wCACqC,CAAC,EAAE;QACvC,OAAO,EAAE,MAAM;KAChB;CACF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAA,wBAAG,EAAC;IAC/B,QAAQ,EAAE,MAAM;IAGhB,UAAU,EAAE,4BAAO,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,eAAe,4BAAO,CAAC,CAAC,CAAC,KAAK;CACvC,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAA,wBAAG,EAAC;IAChC,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,4BAAO,CAAC,CAAC,CAAC;IACf,KAAK,EAAE,4BAAO,CAAC,CAAC,CAAC;IACjB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,4BAAO,CAAC,CAAC,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAyC,CAAC,EAC7D,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,IAAI,EAClB,aAAa,GAAG,EAAE,EAClB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,IAAA,cAAM,GAAc,CAAC;IAEvC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC3B,OAAO;YACL,QAAQ,IAAI,CACV,8BAAC,YAAY,IACX,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,GAAG,EAAE;;oBACZ,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC,GACa,CACjB;YACD,WAAW,IAAI,CACb,8BAAC,YAAY,IACX,KAAK,EAAC,QAAQ,EACd,IAAI,EACF,8BAAC,UAAU,IACT,IAAI,EAAyB,EAAE,EAC/B,IAAI,EAAC,cAAc,GACP,EAEhB,OAAO,EAAE,GAAG,EAAE;;oBACZ,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC,GACa,CACjB;YACD,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC9B,OAAO,CACL,8BAAC,YAAY,IACX,GAAG,EAAE,MAAM,CAAC,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,GAAG,EAAE;wBACZ,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/C,CAAC,GACa,CACjB,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErD,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,uBAAE,EAAC,6BAA6B,EAAE,SAAS,CAAC;QAG1D,uCAAK,SAAS,EAAE,oBAAoB;YAClC,8BAAC,wBAAU,IACT,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;oBACjB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC3B,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,MAAM,CAAC,CAAC;gBACnB,CAAC,KACG,KAAK,GACG,CACV;QACL,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,uCAAK,SAAS,EAAE,IAAA,uBAAE,EAAC,0BAA0B,EAAE,qBAAqB,CAAC,IAClE,OAAO,CACJ,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAE0B,iCAAM"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Options as PrettierFormatOptions } from 'prettier';
|
|
2
|
+
export declare type FormatOptions = Omit<PrettierFormatOptions, 'plugin' | 'parser'>;
|
|
3
|
+
export declare function prettify(code: string, parser?: 'javascript-expression' | 'javascript' | 'json', formatOptions?: FormatOptions): string;
|
|
4
|
+
//# sourceMappingURL=prettify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettify.d.ts","sourceRoot":"","sources":["../src/prettify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjE,oBAAY,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAE7E,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,MAAM,GACF,uBAAuB,GACvB,YAAY,GACZ,MAAgC,EACpC,aAAa,GAAE,aAAkB,UAoBlC"}
|
package/dist/prettify.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.prettify = void 0;
|
|
7
|
+
const standalone_1 = __importDefault(require("prettier/standalone"));
|
|
8
|
+
const parser_babel_1 = __importDefault(require("prettier/parser-babel"));
|
|
9
|
+
function prettify(code, parser = 'javascript-expression', formatOptions = {}) {
|
|
10
|
+
return standalone_1.default
|
|
11
|
+
.format(code, {
|
|
12
|
+
plugins: [parser_babel_1.default],
|
|
13
|
+
printWidth: 50,
|
|
14
|
+
parser: parser === 'javascript-expression'
|
|
15
|
+
?
|
|
16
|
+
'__js_expression'
|
|
17
|
+
: parser === 'json'
|
|
18
|
+
? 'json'
|
|
19
|
+
: 'babel',
|
|
20
|
+
...formatOptions,
|
|
21
|
+
})
|
|
22
|
+
.trim();
|
|
23
|
+
}
|
|
24
|
+
exports.prettify = prettify;
|
|
25
|
+
//# sourceMappingURL=prettify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettify.js","sourceRoot":"","sources":["../src/prettify.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA2C;AAC3C,yEAAgD;AAKhD,SAAgB,QAAQ,CACtB,IAAY,EACZ,SAGa,uBAAuB,EACpC,gBAA+B,EAAE;IAEjC,OAAO,oBAAQ;SACZ,MAAM,CAAC,IAAI,EAAE;QACZ,OAAO,EAAE,CAAC,sBAAW,CAAC;QACtB,UAAU,EAAE,EAAE;QACd,MAAM,EACJ,MAAM,KAAK,uBAAuB;YAChC,CAAC;gBAKC,iBAAiB;YACnB,CAAC,CAAC,MAAM,KAAK,MAAM;gBACnB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO;QACb,GAAG,aAAa;KACjB,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC;AA1BD,4BA0BC"}
|
package/package.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"email": "compass@mongodb.com"
|
|
14
14
|
},
|
|
15
15
|
"homepage": "https://github.com/mongodb-js/compass",
|
|
16
|
-
"version": "0.
|
|
16
|
+
"version": "0.3.0",
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
19
|
"url": "https://github.com/mongodb-js/compass.git"
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"@mongodb-js/tsconfig-compass": "^1.0.1",
|
|
53
53
|
"@types/chai": "^4.2.21",
|
|
54
54
|
"@types/mocha": "^9.0.0",
|
|
55
|
+
"@types/prettier": "^2.7.1",
|
|
55
56
|
"@types/sinon-chai": "^3.2.5",
|
|
56
57
|
"chai": "^4.3.6",
|
|
57
58
|
"depcheck": "^1.4.1",
|
|
@@ -63,12 +64,12 @@
|
|
|
63
64
|
"typescript": "^4.8.3"
|
|
64
65
|
},
|
|
65
66
|
"dependencies": {
|
|
66
|
-
"@mongodb-js/compass-components": "^1.
|
|
67
|
+
"@mongodb-js/compass-components": "^1.4.0",
|
|
67
68
|
"@mongodb-js/mongodb-constants": "^0.1.4",
|
|
68
69
|
"ace-builds": "^1.11.2",
|
|
69
70
|
"react": "^16.14.0",
|
|
70
71
|
"react-ace": "^9.5.0",
|
|
71
72
|
"semver": "^7.3.8"
|
|
72
73
|
},
|
|
73
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "7f786ed13b999a5c0831af6fde545154890df956"
|
|
74
75
|
}
|