@mongodb-js/compass-editor 0.2.0 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,uBAAuB,gBAAgB,CAAC;AAK9C,QAAA,MAAM,sBAAsB,QAiP3B,CAAC;AAgCF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,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,QA6Q3B,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 {
@@ -95,7 +99,8 @@ const mongodbAceThemeCssText = css `
95
99
  .ace-mongodb.ace_editor {
96
100
  color: var(--editor-color);
97
101
  background: var(--editor-background);
98
- line-height: ${compass_components_1.spacing[3]}px;
102
+ line-height: inherit;
103
+ min-height: inherit;
99
104
  }
100
105
  .inline-editor.ace-mongodb.ace_editor {
101
106
  background: transparent;
@@ -118,9 +123,36 @@ const mongodbAceThemeCssText = css `
118
123
  background: inherit;
119
124
  }
120
125
  .ace-mongodb .ace_gutter-cell {
121
- /* gutter left padding has to account for error annotation size */
122
- padding-left: 20px;
123
- padding-right: 10px;
126
+ /* gutter left padding has to account for error annotation icon size */
127
+ padding-left: ${compass_components_1.spacing[3]}px;
128
+ }
129
+ .ace-mongodb .ace_gutter-cell.ace_error {
130
+ /* leafygreen XWithCircle */
131
+ 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");
132
+ background-size: 12px;
133
+ background-repeat: no-repeat;
134
+ background-position: ${compass_components_1.spacing[1] / 2}px center;
135
+ }
136
+ /* To change svg foll color, we have to completely replace the background url, this can't be done with css custom properties */
137
+ .ace_dark.ace-mongodb .ace_gutter-cell.ace_error {
138
+ 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");
139
+ }
140
+ .ace-mongodb .ace_fold-widget {
141
+ /* leafygreen CaretDown */
142
+ 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");
143
+ background-size: 12px;
144
+ background-repeat: no-repeat;
145
+ background-position: center;
146
+ }
147
+ .ace_dark.ace-mongodb .ace_fold-widget {
148
+ 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");
149
+ }
150
+ .ace-mongodb .ace_fold-widget.ace_closed {
151
+ /* leafygreen CaretRight */
152
+ 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");
153
+ }
154
+ .ace_dark.ace-mongodb .ace_fold-widget.ace_closed {
155
+ 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
156
  }
125
157
  .ace-mongodb .ace_keyword {
126
158
  color: var(--keyword-color);
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ace/theme.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAElE,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAwTrC,0DAAuB;AAtThC,MAAM,UAAU,GAAG,kBAAkB,CAAC,4BAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,4BAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,SAAS,GAAG,kBAAkB,CAAC,4BAAO,CAAC,KAAK,CAAC,CAAC;AACpD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,4BAAO,CAAC,KAAK,CAAC,CAAC;AAG5D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;AAEvB,MAAM,sBAAsB,GAAG,GAAG,CAAA;;sBAEZ,4BAAO,CAAC,KAAK;2BACR,4BAAO,CAAC,IAAI,CAAC,MAAM;;sBAExB,4BAAO,CAAC,IAAI,CAAC,IAAI;2BACZ,4BAAO,CAAC,IAAI,CAAC,MAAM;uCACP,4BAAO,CAAC,IAAI,CAAC,MAAM;;sBAEpC,4BAAO,CAAC,IAAI,CAAC,IAAI;;iCAEN,4BAAO,CAAC,IAAI,CAAC,MAAM;;;yBAG3B,4BAAO,CAAC,IAAI,CAAC,MAAM;;uCAEL,4BAAO,CAAC,IAAI,CAAC,MAAM;6CACb,4BAAO,CAAC,IAAI,CAAC,MAAM;qCAC3B,4BAAO,CAAC,IAAI,CAAC,MAAM;gCACxB,4BAAO,CAAC,MAAM,CAAC,MAAM;iCACpB,4BAAO,CAAC,KAAK,CAAC,IAAI;qCACd,4BAAO,CAAC,IAAI,CAAC,MAAM;;;uBAGjC,4BAAO,CAAC,IAAI,CAAC,IAAI;sBAClB,4BAAO,CAAC,IAAI,CAAC,IAAI;6BACV,4BAAO,CAAC,IAAI,CAAC,IAAI;uBACvB,4BAAO,CAAC,IAAI,CAAC,IAAI;gCACR,4BAAO,CAAC,IAAI,CAAC,IAAI;gCACjB,4BAAO,CAAC,IAAI,CAAC,MAAM;8BACrB,4BAAO,CAAC,KAAK,CAAC,KAAK;iCAChB,4BAAO,CAAC,KAAK,CAAC,KAAK;iCACnB,4BAAO,CAAC,IAAI,CAAC,MAAM;gCACpB,4BAAO,CAAC,IAAI,CAAC,MAAM;uBAC5B,4BAAO,CAAC,IAAI,CAAC,IAAI;yBACf,4BAAO,CAAC,IAAI,CAAC,MAAM;;4BAEhB,4BAAO,CAAC,KAAK;iCACR,4BAAO,CAAC,IAAI,CAAC,MAAM;mCACjB,4BAAO,CAAC,IAAI,CAAC,MAAM;wCACd,4BAAO,CAAC,KAAK,CAAC,KAAK;sDACL,4BAAO,CAAC,IAAI,CAAC,MAAM;;;;sBAInD,4BAAO,CAAC,IAAI,CAAC,MAAM;2BACd,4BAAO,CAAC,IAAI,CAAC,KAAK;;sBAEvB,4BAAO,CAAC,IAAI,CAAC,MAAM;2BACd,4BAAO,CAAC,IAAI,CAAC,KAAK;uCACN,4BAAO,CAAC,IAAI,CAAC,KAAK;;sBAEnC,4BAAO,CAAC,KAAK,CAAC,IAAI;;iCAEP,4BAAO,CAAC,IAAI,CAAC,MAAM;;;yBAG3B,4BAAO,CAAC,IAAI,CAAC,MAAM;;uCAEL,4BAAO,CAAC,IAAI,CAAC,KAAK;6CACZ,4BAAO,CAAC,IAAI,CAAC,KAAK;qCAC1B,4BAAO,CAAC,IAAI,CAAC,KAAK;gCACvB,4BAAO,CAAC,MAAM,CAAC,MAAM;iCACpB,4BAAO,CAAC,KAAK,CAAC,IAAI;qCACd,4BAAO,CAAC,IAAI,CAAC,MAAM;;;;;;;;gCAQxB,4BAAO,CAAC,IAAI,CAAC,MAAM;;;iCAGlB,4BAAO,CAAC,IAAI,CAAC,MAAM;gCACpB,4BAAO,CAAC,IAAI,CAAC,MAAM;uBAC5B,4BAAO,CAAC,IAAI,CAAC,IAAI;yBACf,4BAAO,CAAC,IAAI,CAAC,KAAK;;4BAEf,4BAAO,CAAC,IAAI,CAAC,MAAM;iCACd,4BAAO,CAAC,IAAI,CAAC,KAAK;mCAChB,4BAAO,CAAC,IAAI,CAAC,KAAK;wCACb,4BAAO,CAAC,IAAI,CAAC,MAAM;sDACL,4BAAO,CAAC,IAAI,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA+BpD,4BAAO,CAAC,CAAC,CAAC;;;;0IAI4G,UAAU;;;2BAGzH,4BAAO,CAAC,CAAC,CAAC,GAAG,CAAC;;;;0IAIiG,kBAAkB;;;;0IAIlB,SAAS;;;;;;0IAMT,iBAAiB;;;;0IAIjB,SAAS;;;0IAGT,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8H1J,CAAC;AAgCgC,wDAAsB;AA9BxD,GAAG,CAAC,MAAM,CACR,mBAAmB,EACnB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC/C,UAAU,QAAQ,EAAE,OAAO;IACzB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,QAAQ,GAAG,uBAAuB,CAAC;IAC3C,OAAO,CAAC,OAAO,GAAG,sBAAsB,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC,CACF,CAAC;AAOF,GAAG,CAAC,MAAM,CACR,wBAAwB,EACxB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC/C,UAAU,QAAQ,EAAE,OAAO;IACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,QAAQ,GAAG,uBAAuB,CAAC;IAC3C,OAAO,CAAC,OAAO,GAAG,sBAAsB,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ace/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEzD,QAAA,MAAM,MAAM,YACD,MAAM,WACN,wBAAwB,EAAE,UAC3B,MAAM,+BAWf,CAAC;AAKF,QAAA,MAAM,iBAAiB,4BAGtB,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/ace/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEzD,QAAA,MAAM,MAAM,YACD,MAAM,WACN,wBAAwB,EAAE,UAC3B,MAAM,+BAYf,CAAC;AAKF,QAAA,MAAM,iBAAiB,4BAGtB,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC"}
package/dist/ace/util.js CHANGED
@@ -8,11 +8,14 @@ const mongodb_constants_1 = require("@mongodb-js/mongodb-constants");
8
8
  const semver_1 = __importDefault(require("semver"));
9
9
  const filter = (version, entries, prefix) => {
10
10
  const parsedVersion = semver_1.default.parse(version);
11
+ const cleanVersion = parsedVersion
12
+ ? [parsedVersion.major, parsedVersion.minor, parsedVersion.patch].join('.')
13
+ : version;
11
14
  return entries.filter((e) => {
12
- const cleanVersion = parsedVersion
13
- ? [parsedVersion.major, parsedVersion.minor, parsedVersion.patch].join('.')
14
- : version;
15
- return e.value.startsWith(prefix) && semver_1.default.gte(cleanVersion, e.version);
15
+ if (!e.name) {
16
+ return false;
17
+ }
18
+ return e.name.startsWith(prefix) && semver_1.default.gte(cleanVersion, e.version);
16
19
  });
17
20
  };
18
21
  exports.filter = filter;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ace/util.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4E;AAC5E,oDAA4B;AAG5B,MAAM,MAAM,GAAG,CACb,OAAe,EACf,OAAmC,EACnC,MAAc,EACd,EAAE;IACF,MAAM,aAAa,GAAG,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,YAAY,GAAG,aAAa;YAChC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAClE,GAAG,CACJ;YACH,CAAC,CAAC,OAAO,CAAC;QACZ,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,gBAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAUO,wBAAM;AALf,MAAM,iBAAiB,GAAI,EAAiC,CAAC,MAAM,CACjE,mCAAe,EACf,8BAAU,CACX,CAAC;AAEe,8CAAiB"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/ace/util.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4E;AAC5E,oDAA4B;AAG5B,MAAM,MAAM,GAAG,CACb,OAAe,EACf,OAAmC,EACnC,MAAc,EACd,EAAE;IACF,MAAM,aAAa,GAAG,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,aAAa;QAChC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3E,CAAC,CAAC,OAAO,CAAC;IACZ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YACX,OAAO,KAAK,CAAC;SACd;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,gBAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAUO,wBAAM;AALf,MAAM,iBAAiB,GAAI,EAAiC,CAAC,MAAM,CACjE,mCAAe,EACf,8BAAU,CACX,CAAC;AAEe,8CAAiB"}
@@ -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 as Editor, EditorVariant, EditorTextCompleter, setEditorValue, };
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;AAQhE,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI9D,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;AAG5C,OAAO,OAAO,CAAC;AAuBf,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;CACpB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;AAQ1D,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,GAAG,QAAQ,EACZ,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAmElC;AAUD,iBAAS,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQjE;AAED,QAAA,MAAM,mBAAmB,KAAsB,CAAC;AAGhD,OAAO,EACL,UAAU,IAAI,MAAM,EACpB,aAAa,EACb,mBAAmB,EACnB,cAAc,GACf,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;AAmD1D,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"}
@@ -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.Editor = void 0;
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: compass_components_1.fontFamilies.code,
56
+ fontFamily: compass_components_2.fontFamilies.code,
56
57
  fontSize: 13,
57
58
  };
58
59
  const EditorVariant = {
@@ -61,12 +62,47 @@ const EditorVariant = {
61
62
  Generic: 'Generic',
62
63
  };
63
64
  exports.EditorVariant = EditorVariant;
64
- const editorStyle = (0, compass_components_1.css)({
65
+ const editorStyle = (0, compass_components_2.css)({
66
+ lineHeight: `${compass_components_1.spacing[3]}px`,
67
+ minHeight: 'inherit',
65
68
  position: 'relative',
66
69
  width: '100%',
67
70
  zIndex: 0,
68
71
  });
69
- function BaseEditor({ text, variant, options, readOnly, id, name, commands: _commands, onChangeText, completer, 'data-testid': dataTestId, onFocus, darkMode: _darkMode, ...aceProps }) {
72
+ const defaultCommands = [
73
+ {
74
+ name: 'prettify',
75
+ exec(editor) {
76
+ try {
77
+ const mode = editor.session.getMode().$id;
78
+ const format = mode.endsWith('/json')
79
+ ? 'json'
80
+ : 'javascript-expression';
81
+ const code = (0, prettify_1.prettify)(editor.getValue(), format);
82
+ const currentSelection = editor.selection.toJSON();
83
+ editor.session.doc.setValue(code);
84
+ editor.selection.fromJSON(currentSelection);
85
+ }
86
+ catch (_a) {
87
+ }
88
+ },
89
+ bindKey: {
90
+ win: 'Ctrl-Shift-B',
91
+ mac: 'Ctrl-Shift-B',
92
+ },
93
+ },
94
+ {
95
+ name: 'copy-all',
96
+ exec(editor) {
97
+ void navigator.clipboard.writeText(editor.getValue());
98
+ },
99
+ bindKey: {
100
+ win: 'Ctrl-Shift-C',
101
+ mac: 'Ctrl-Shift-C',
102
+ },
103
+ },
104
+ ];
105
+ function BaseEditor({ text, variant, options, readOnly, id, name, commands: _commands, onChangeText, completer, 'data-testid': dataTestId, onFocus, darkMode: _darkMode, className, editorClassName, ...aceProps }) {
70
106
  const setOptions = {
71
107
  ...DEFAULT_OPTIONS,
72
108
  ...options,
@@ -75,7 +111,7 @@ function BaseEditor({ text, variant, options, readOnly, id, name, commands: _com
75
111
  ...(!!completer && { enableLiveAutocompletion: true }),
76
112
  };
77
113
  const editorRef = (0, react_1.useRef)(null);
78
- const providerDarkMode = (0, compass_components_1.useDarkMode)();
114
+ const providerDarkMode = (0, compass_components_2.useDarkMode)();
79
115
  const darkMode = _darkMode !== null && _darkMode !== void 0 ? _darkMode : providerDarkMode;
80
116
  (0, react_1.useLayoutEffect)(() => {
81
117
  if (!editorRef.current) {
@@ -88,11 +124,11 @@ function BaseEditor({ text, variant, options, readOnly, id, name, commands: _com
88
124
  editorRef.current.editor.textInput.getElement().id = id;
89
125
  }
90
126
  }, [id]);
91
- const editorName = (0, compass_components_1.useId)();
127
+ const editorName = (0, compass_components_2.useId)();
92
128
  const commands = (0, react_1.useMemo)(() => {
93
- return ext_beautify_1.default.commands.concat(_commands !== null && _commands !== void 0 ? _commands : []);
129
+ return defaultCommands.concat(_commands !== null && _commands !== void 0 ? _commands : []);
94
130
  }, [_commands]);
95
- return (react_1.default.createElement("div", { "data-testid": dataTestId, className: editorStyle },
131
+ return (react_1.default.createElement("div", { "data-testid": dataTestId, className: (0, compass_components_1.cx)(editorStyle, className) },
96
132
  react_1.default.createElement(react_ace_1.default, { ref: editorRef, mode: variant === 'Generic'
97
133
  ? undefined
98
134
  : variant === 'EJSON'
@@ -102,9 +138,9 @@ function BaseEditor({ text, variant, options, readOnly, id, name, commands: _com
102
138
  ext_language_tools_1.default.setCompleters([completer]);
103
139
  }
104
140
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(ev);
105
- }, ...aceProps })));
141
+ }, className: editorClassName, ...aceProps })));
106
142
  }
107
- exports.Editor = BaseEditor;
143
+ exports.BaseEditor = BaseEditor;
108
144
  function setEditorValue(element, value) {
109
145
  const container = element.querySelector('.ace_editor');
110
146
  if (!container) {
@@ -1 +1 @@
1
- {"version":3,"file":"base-editor.js","sourceRoot":"","sources":["../src/base-editor.tsx"],"names":[],"mappings":"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"}
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,9 @@ 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';
14
+ export { JSONEditor } from './json-editor';
15
+ export type { EditorView } from './json-editor';
11
16
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,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.JSONEditor = 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,10 @@ 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; } });
33
+ var json_editor_1 = require("./json-editor");
34
+ Object.defineProperty(exports, "JSONEditor", { enumerable: true, get: function () { return json_editor_1.JSONEditor; } });
29
35
  //# 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;AACf,6CAA2C;AAAlC,yGAAA,UAAU,OAAA"}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { EditorProps } from './base-editor';
3
- declare type InlineEditorProps = EditorProps & Omit<EditorProps['options'], 'showGutter' | 'highlightActiveLine' | 'highlightGutterLine' | 'minLines'>;
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":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,aAAK,iBAAiB,GAAG,WAAW,GAClC,IAAI,CACF,WAAW,CAAC,SAAS,CAAC,EACtB,YAAY,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,UAAU,CAC1E,CAAC;AAEJ,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAoB5D,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
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"}
@@ -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, className, ...props }) => {
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.Editor, { options: inlineEditorOptions, className: (0, compass_components_1.cx)('inline-editor', className), ...props }));
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,uEAAoD;AACpD,kDAA0B;AAE1B,+CAAuC;AAQvC,MAAM,YAAY,GAA+C,CAAC,EAChE,OAAO,EACP,SAAS,EACT,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,oBAAM,IACL,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,IAAA,uBAAE,EAAC,eAAe,EAAE,SAAS,CAAC,KACrC,KAAK,GACD,CACX,CAAC;AACJ,CAAC,CAAC;AAEO,oCAAY"}
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,30 @@
1
+ import React from 'react';
2
+ import type { Command } from '@codemirror/view';
3
+ import { EditorView } from '@codemirror/view';
4
+ import { unfoldAll } from '@codemirror/language';
5
+ declare type EditorLanguage = 'json' | 'javascript';
6
+ declare type EditorProps = {
7
+ language?: EditorLanguage;
8
+ onChangeText?: (text: string, event?: any) => void;
9
+ onLoad?: (editor: EditorView) => void;
10
+ darkMode?: boolean;
11
+ inline?: boolean;
12
+ showLineNumbers?: boolean;
13
+ readOnly?: boolean;
14
+ className?: string;
15
+ 'data-testid'?: string;
16
+ } & ({
17
+ text: string;
18
+ initialText?: never;
19
+ } | {
20
+ text?: never;
21
+ initialText: string;
22
+ });
23
+ declare const BaseEditor: React.FunctionComponent<EditorProps> & {
24
+ foldAll: typeof foldAll;
25
+ unfoldAll: typeof unfoldAll;
26
+ };
27
+ declare const foldAll: Command;
28
+ export type { EditorView };
29
+ export { BaseEditor as JSONEditor };
30
+ //# sourceMappingURL=json-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-editor.d.ts","sourceRoot":"","sources":["../src/json-editor.tsx"],"names":[],"mappings":"AAeA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAML,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAKL,SAAS,EAOV,MAAM,sBAAsB,CAAC;AA6N9B,aAAK,cAAc,GAAG,MAAM,GAAG,YAAY,CAAC;AAE5C,aAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,CACA;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,GACrC;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CACxC,CAAC;AAOF,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG;IACvD,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,SAAS,CAAC;CAgN7B,CAAC;AAYF,QAAA,MAAM,OAAO,EAAE,OAgCd,CAAC;AAMF,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,OAAO,EAAE,UAAU,IAAI,UAAU,EAAE,CAAC"}
@@ -0,0 +1,382 @@
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.JSONEditor = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const view_1 = require("@codemirror/view");
29
+ const language_1 = require("@codemirror/language");
30
+ const commands_1 = require("@codemirror/commands");
31
+ const autocomplete_1 = require("@codemirror/autocomplete");
32
+ const compass_components_1 = require("@mongodb-js/compass-components");
33
+ const lang_javascript_1 = require("@codemirror/lang-javascript");
34
+ const lang_json_1 = require("@codemirror/lang-json");
35
+ const state_1 = require("@codemirror/state");
36
+ const language_2 = require("@codemirror/language");
37
+ const highlight_1 = require("@lezer/highlight");
38
+ const polished_1 = require("polished");
39
+ const editorStyle = (0, compass_components_1.css)({
40
+ fontSize: 13,
41
+ fontFamily: compass_components_1.fontFamilies.code,
42
+ });
43
+ const editorPalette = {
44
+ light: {
45
+ color: compass_components_1.codePalette.light[3],
46
+ backgroundColor: compass_components_1.codePalette.light[0],
47
+ gutterColor: compass_components_1.palette.gray.base,
48
+ gutterBackgroundColor: compass_components_1.palette.gray.light3,
49
+ gutterActiveLineBackgroundColor: (0, polished_1.rgba)(compass_components_1.palette.gray.light2, 0.5),
50
+ gutterFoldButtonColor: compass_components_1.palette.black,
51
+ cursorColor: compass_components_1.palette.gray.base,
52
+ activeLineBackgroundColor: (0, polished_1.rgba)(compass_components_1.palette.gray.light2, 0.5),
53
+ selectionBackgroundColor: compass_components_1.palette.blue.light2,
54
+ bracketBorderColor: compass_components_1.palette.gray.light1,
55
+ },
56
+ dark: {
57
+ color: compass_components_1.codePalette.dark[3],
58
+ backgroundColor: compass_components_1.codePalette.dark[0],
59
+ gutterColor: compass_components_1.palette.gray.light3,
60
+ gutterBackgroundColor: compass_components_1.palette.gray.dark3,
61
+ gutterActiveLineBackgroundColor: (0, polished_1.rgba)(compass_components_1.palette.gray.dark2, 0.5),
62
+ gutterFoldButtonColor: compass_components_1.palette.white,
63
+ cursorColor: compass_components_1.palette.green.base,
64
+ activeLineBackgroundColor: (0, polished_1.rgba)(compass_components_1.palette.gray.dark2, 0.5),
65
+ selectionBackgroundColor: compass_components_1.palette.gray.dark1,
66
+ bracketBorderColor: compass_components_1.palette.gray.light1,
67
+ },
68
+ };
69
+ function getStylesForTheme(theme) {
70
+ return view_1.EditorView.theme({
71
+ '&': {
72
+ color: editorPalette[theme].color,
73
+ backgroundColor: editorPalette[theme].backgroundColor,
74
+ },
75
+ '& .cm-scroller': {
76
+ lineHeight: `${compass_components_1.spacing[3]}px`,
77
+ },
78
+ '&.cm-editor.cm-focused': {
79
+ outline: 'none',
80
+ },
81
+ '& .cm-content': {
82
+ caretColor: editorPalette[theme].cursorColor,
83
+ },
84
+ '& .cm-activeLine': {
85
+ background: 'none',
86
+ },
87
+ '&.cm-focused .cm-activeLine': {
88
+ backgroundColor: editorPalette[theme].activeLineBackgroundColor,
89
+ },
90
+ '& .cm-gutters': {
91
+ color: editorPalette[theme].gutterColor,
92
+ backgroundColor: editorPalette[theme].gutterBackgroundColor,
93
+ border: 'none',
94
+ },
95
+ '& .cm-gutters > .cm-gutter:first-child > .cm-gutterElement': {
96
+ paddingLeft: `${compass_components_1.spacing[2]}px`,
97
+ },
98
+ '& .cm-gutters > .cm-gutter:last-child > .cm-gutterElement': {
99
+ paddingRight: `${compass_components_1.spacing[2]}px`,
100
+ },
101
+ '& .cm-activeLineGutter': {
102
+ background: 'none',
103
+ },
104
+ '&.cm-focused .cm-activeLineGutter': {
105
+ backgroundColor: editorPalette[theme].gutterActiveLineBackgroundColor,
106
+ },
107
+ '& .foldMarker': {
108
+ width: `${compass_components_1.spacing[3]}px`,
109
+ height: `${compass_components_1.spacing[3]}px`,
110
+ display: 'flex',
111
+ alignItems: 'center',
112
+ justifyContent: 'center',
113
+ cursor: 'pointer',
114
+ },
115
+ '& .foldMarker > svg': {
116
+ width: '12px',
117
+ height: '12px',
118
+ display: 'block',
119
+ color: editorPalette[theme].gutterFoldButtonColor,
120
+ },
121
+ '& .cm-selectionBackground': {
122
+ backgroundColor: editorPalette[theme].selectionBackgroundColor,
123
+ },
124
+ '&.cm-focused .cm-matchingBracket': {
125
+ background: 'none',
126
+ boxShadow: `0 0 0 1px ${editorPalette[theme].bracketBorderColor}`,
127
+ borderRadius: '2px',
128
+ },
129
+ '& .cm-selectionBackground:first-child': {
130
+ borderTopLeftRadius: '3px',
131
+ borderTopRightRadius: '3px',
132
+ },
133
+ '& .cm-selectionBackground:last-child': {
134
+ borderBottomLeftRadius: '3px',
135
+ borderBottomRightRadius: '3px',
136
+ },
137
+ '& .cm-cursor': {
138
+ borderLeft: '2px solid',
139
+ borderColor: editorPalette[theme].cursorColor,
140
+ marginLeft: '-1px',
141
+ },
142
+ }, { dark: theme === 'dark' });
143
+ }
144
+ const themeStyles = {
145
+ light: getStylesForTheme('light'),
146
+ dark: getStylesForTheme('dark'),
147
+ };
148
+ function getHighlightStyleForTheme(theme) {
149
+ return language_2.HighlightStyle.define([
150
+ {
151
+ tag: [
152
+ highlight_1.tags.null,
153
+ highlight_1.tags.controlKeyword,
154
+ highlight_1.tags.operatorKeyword,
155
+ highlight_1.tags.definitionKeyword,
156
+ highlight_1.tags.moduleKeyword,
157
+ highlight_1.tags.keyword,
158
+ highlight_1.tags.modifier,
159
+ ],
160
+ color: compass_components_1.codePalette[theme][10],
161
+ },
162
+ {
163
+ tag: [highlight_1.tags.number, highlight_1.tags.bool, highlight_1.tags.function(highlight_1.tags.variableName), highlight_1.tags.regexp],
164
+ color: compass_components_1.codePalette[theme][9],
165
+ },
166
+ {
167
+ tag: [highlight_1.tags.string, highlight_1.tags.special(highlight_1.tags.string)],
168
+ color: compass_components_1.codePalette[theme][7],
169
+ fontWeight: 600,
170
+ },
171
+ {
172
+ tag: [highlight_1.tags.meta],
173
+ color: compass_components_1.codePalette[theme][6],
174
+ },
175
+ {
176
+ tag: [highlight_1.tags.propertyName, highlight_1.tags.atom, highlight_1.tags.self],
177
+ color: compass_components_1.codePalette[theme][5],
178
+ },
179
+ {
180
+ tag: [
181
+ highlight_1.tags.separator,
182
+ highlight_1.tags.squareBracket,
183
+ highlight_1.tags.brace,
184
+ highlight_1.tags.variableName,
185
+ highlight_1.tags.definition(highlight_1.tags.variableName),
186
+ highlight_1.tags.updateOperator,
187
+ highlight_1.tags.arithmeticOperator,
188
+ highlight_1.tags.logicOperator,
189
+ highlight_1.tags.bitwiseOperator,
190
+ highlight_1.tags.compareOperator,
191
+ highlight_1.tags.function(highlight_1.tags.punctuation),
192
+ highlight_1.tags.punctuation,
193
+ highlight_1.tags.paren,
194
+ highlight_1.tags.derefOperator,
195
+ ],
196
+ color: compass_components_1.codePalette[theme][3],
197
+ },
198
+ {
199
+ tag: [highlight_1.tags.lineComment, highlight_1.tags.blockComment],
200
+ color: compass_components_1.codePalette[theme][2],
201
+ fontStyle: 'italic',
202
+ },
203
+ ], { themeType: theme });
204
+ }
205
+ const highlightStyles = {
206
+ light: getHighlightStyleForTheme('light'),
207
+ dark: getHighlightStyleForTheme('dark'),
208
+ };
209
+ const languages = {
210
+ json: lang_json_1.json,
211
+ javascript: lang_javascript_1.javascript,
212
+ };
213
+ const BaseEditor = ({ initialText: _initialText, text, onChangeText = () => {
214
+ }, language = 'json', showLineNumbers = true, darkMode: _darkMode, className, readOnly = false, onLoad = () => {
215
+ }, ...props }) => {
216
+ const darkMode = (0, compass_components_1.useDarkMode)(_darkMode);
217
+ const onChangeTextRef = (0, react_1.useRef)(onChangeText);
218
+ const onLoadRef = (0, react_1.useRef)(onLoad);
219
+ const initialReadOnly = (0, react_1.useRef)(readOnly);
220
+ const initialTextProvided = (0, react_1.useRef)(!!_initialText);
221
+ const initialText = (0, react_1.useRef)(_initialText !== null && _initialText !== void 0 ? _initialText : text);
222
+ const initialLanguage = (0, react_1.useRef)(language);
223
+ const initialDarkMode = (0, react_1.useRef)(darkMode);
224
+ const initialShowLineNumbers = (0, react_1.useRef)(showLineNumbers);
225
+ const containerRef = (0, react_1.useRef)(null);
226
+ const languageConfigRef = (0, react_1.useRef)();
227
+ const readOnlyConfigRef = (0, react_1.useRef)();
228
+ const themeConfigRef = (0, react_1.useRef)();
229
+ const showLineNumbersConfigRef = (0, react_1.useRef)();
230
+ const editorViewRef = (0, react_1.useRef)();
231
+ onChangeTextRef.current = onChangeText;
232
+ onLoadRef.current = onLoad;
233
+ (0, react_1.useLayoutEffect)(() => {
234
+ if (!containerRef.current) {
235
+ throw new Error("Can't mount editor: DOM node is missing");
236
+ }
237
+ languageConfigRef.current = new state_1.Compartment();
238
+ readOnlyConfigRef.current = new state_1.Compartment();
239
+ themeConfigRef.current = new state_1.Compartment();
240
+ showLineNumbersConfigRef.current = new state_1.Compartment();
241
+ const editor = (editorViewRef.current = new view_1.EditorView({
242
+ doc: initialText.current,
243
+ extensions: [
244
+ showLineNumbersConfigRef.current.of(initialShowLineNumbers.current ? (0, view_1.lineNumbers)() : []),
245
+ (0, commands_1.history)(),
246
+ (0, language_1.foldGutter)({
247
+ markerDOM(open) {
248
+ const marker = document.createElement('span');
249
+ marker.className = `foldMarker foldMarker${open ? 'Open' : 'Closed'}`;
250
+ marker.ariaHidden = 'true';
251
+ marker.title = open ? 'Fold code block' : 'Unfold code block';
252
+ marker.innerHTML = open
253
+ ? `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path fill="currentColor" 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"/></svg>`
254
+ : `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path fill="currentColor" 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"/></svg>`;
255
+ return marker;
256
+ },
257
+ }),
258
+ (0, view_1.drawSelection)(),
259
+ (0, language_1.indentOnInput)(),
260
+ (0, language_1.bracketMatching)(),
261
+ (0, autocomplete_1.closeBrackets)(),
262
+ (0, view_1.highlightActiveLine)(),
263
+ (0, view_1.highlightActiveLineGutter)(),
264
+ languageConfigRef.current.of(languages[initialLanguage.current]()),
265
+ (0, language_2.syntaxHighlighting)(highlightStyles['light']),
266
+ (0, language_2.syntaxHighlighting)(highlightStyles['dark']),
267
+ themeConfigRef.current.of(themeStyles[initialDarkMode.current ? 'dark' : 'light']),
268
+ view_1.keymap.of([
269
+ ...commands_1.defaultKeymap,
270
+ ...autocomplete_1.closeBracketsKeymap,
271
+ ...commands_1.historyKeymap,
272
+ ...language_1.foldKeymap,
273
+ commands_1.indentWithTab,
274
+ ]),
275
+ readOnlyConfigRef.current.of(state_1.EditorState.readOnly.of(initialReadOnly.current)),
276
+ view_1.EditorView.updateListener.of((update) => {
277
+ var _a, _b;
278
+ if (update.docChanged) {
279
+ const text = (_b = (_a = editorViewRef.current) === null || _a === void 0 ? void 0 : _a.state.sliceDoc()) !== null && _b !== void 0 ? _b : '';
280
+ onChangeTextRef.current(text, update);
281
+ }
282
+ }),
283
+ ],
284
+ parent: containerRef.current,
285
+ }));
286
+ containerRef.current._cm = editor;
287
+ onLoadRef.current(editor);
288
+ if (editor && initialLanguage.current === 'json') {
289
+ const docLength = editor.state.doc.length;
290
+ const isSyntaxTreeAvailable = (0, language_1.syntaxTreeAvailable)(editor.state, docLength) ||
291
+ (0, language_1.forceParsing)(editor, docLength, 150);
292
+ if (isSyntaxTreeAvailable) {
293
+ foldAll(editor);
294
+ }
295
+ else {
296
+ }
297
+ }
298
+ return () => {
299
+ editor.destroy();
300
+ };
301
+ }, []);
302
+ (0, compass_components_1.useEffectOnChange)(() => {
303
+ var _a, _b;
304
+ (_a = editorViewRef.current) === null || _a === void 0 ? void 0 : _a.dispatch({
305
+ effects: (_b = languageConfigRef.current) === null || _b === void 0 ? void 0 : _b.reconfigure(languages[language]()),
306
+ });
307
+ }, language);
308
+ (0, compass_components_1.useEffectOnChange)(() => {
309
+ var _a, _b;
310
+ (_a = editorViewRef.current) === null || _a === void 0 ? void 0 : _a.dispatch({
311
+ effects: (_b = readOnlyConfigRef.current) === null || _b === void 0 ? void 0 : _b.reconfigure(state_1.EditorState.readOnly.of(readOnly)),
312
+ });
313
+ }, readOnly);
314
+ (0, compass_components_1.useEffectOnChange)(() => {
315
+ var _a, _b;
316
+ (_a = editorViewRef.current) === null || _a === void 0 ? void 0 : _a.dispatch({
317
+ effects: (_b = themeConfigRef.current) === null || _b === void 0 ? void 0 : _b.reconfigure(themeStyles[darkMode ? 'dark' : 'light']),
318
+ });
319
+ }, darkMode);
320
+ (0, compass_components_1.useEffectOnChange)(() => {
321
+ var _a, _b;
322
+ (_a = editorViewRef.current) === null || _a === void 0 ? void 0 : _a.dispatch({
323
+ effects: (_b = showLineNumbersConfigRef.current) === null || _b === void 0 ? void 0 : _b.reconfigure(showLineNumbers ? (0, view_1.lineNumbers)() : []),
324
+ });
325
+ }, showLineNumbers);
326
+ (0, react_1.useEffect)(() => {
327
+ var _a, _b;
328
+ if (initialTextProvided.current) {
329
+ return;
330
+ }
331
+ if (text !== ((_a = editorViewRef.current) === null || _a === void 0 ? void 0 : _a.state.sliceDoc())) {
332
+ (_b = editorViewRef.current) === null || _b === void 0 ? void 0 : _b.dispatch({
333
+ changes: {
334
+ from: 0,
335
+ to: editorViewRef.current.state.doc.length,
336
+ insert: text,
337
+ },
338
+ });
339
+ }
340
+ }, [text]);
341
+ return (react_1.default.createElement("div", { ref: containerRef, className: (0, compass_components_1.cx)(editorStyle, className), "data-codemirror": "true", ...props }));
342
+ };
343
+ exports.JSONEditor = BaseEditor;
344
+ function isTopNode(node) {
345
+ return !node
346
+ ? true
347
+ : node.name === 'Array' || node.name === 'Property'
348
+ ? false
349
+ : node.name === 'JsonText'
350
+ ? true
351
+ : isTopNode(node.parent);
352
+ }
353
+ const foldAll = (editor) => {
354
+ const foldableProperties = [];
355
+ (0, language_1.syntaxTree)(editor.state).iterate({
356
+ enter(nodeRef) {
357
+ if (['{', '['].includes(String(nodeRef.name)) &&
358
+ (0, language_1.foldable)(editor.state, nodeRef.from, nodeRef.to) &&
359
+ !isTopNode(nodeRef.node)) {
360
+ if (!nodeRef.node.parent) {
361
+ throw new Error('Trying to fold node without parent');
362
+ }
363
+ const range = (0, language_1.foldInside)(nodeRef.node.parent);
364
+ if (range) {
365
+ foldableProperties.push(range);
366
+ }
367
+ return false;
368
+ }
369
+ },
370
+ });
371
+ if (foldableProperties.length > 0) {
372
+ editor.dispatch({
373
+ effects: foldableProperties.map((range) => {
374
+ return language_1.foldEffect.of(range);
375
+ }),
376
+ });
377
+ }
378
+ return !!foldableProperties.length;
379
+ };
380
+ BaseEditor.foldAll = foldAll;
381
+ BaseEditor.unfoldAll = language_1.unfoldAll;
382
+ //# sourceMappingURL=json-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-editor.js","sourceRoot":"","sources":["../src/json-editor.tsx"],"names":[],"mappings":"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"}
@@ -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;AAiDF,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CA2EzD,CAAC;AAEF,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC"}
@@ -0,0 +1,139 @@
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
+ minHeight: 'inherit',
101
+ });
102
+ const actionsContainerStyle = (0, compass_components_2.css)({
103
+ position: 'absolute',
104
+ top: compass_components_2.spacing[1],
105
+ right: compass_components_2.spacing[2],
106
+ display: 'none',
107
+ gap: compass_components_2.spacing[2],
108
+ });
109
+ const MultilineEditor = ({ copyable = true, formattable = true, customActions = [], onAction, onLoad, className, ...props }) => {
110
+ const editorRef = (0, react_1.useRef)();
111
+ const actions = (0, react_1.useMemo)(() => {
112
+ return [
113
+ copyable && (react_1.default.createElement(ActionButton, { key: "Copy", label: "Copy", icon: "Copy", onClick: () => {
114
+ var _a;
115
+ (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.execCommand('copy-all');
116
+ return true;
117
+ } })),
118
+ formattable && (react_1.default.createElement(ActionButton, { key: "Format", label: "Format", icon: react_1.default.createElement(FormatIcon, { size: 14, role: "presentation" }), onClick: () => {
119
+ var _a;
120
+ (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.execCommand('prettify');
121
+ return true;
122
+ } })),
123
+ ...customActions.map((action) => {
124
+ return (react_1.default.createElement(ActionButton, { key: action.action, icon: action.icon, label: action.label, onClick: () => {
125
+ onAction === null || onAction === void 0 ? void 0 : onAction(editorRef.current, action.action);
126
+ } }));
127
+ }),
128
+ ];
129
+ }, [copyable, formattable, customActions, onAction]);
130
+ return (react_1.default.createElement("div", { className: (0, compass_components_1.cx)(multilineEditorContainerStyle, className) },
131
+ react_1.default.createElement("div", { className: editorContainerStyle },
132
+ react_1.default.createElement(base_editor_1.BaseEditor, { onLoad: (editor) => {
133
+ editorRef.current = editor;
134
+ onLoad === null || onLoad === void 0 ? void 0 : onLoad(editor);
135
+ }, ...props })),
136
+ actions.length > 0 && (react_1.default.createElement("div", { className: (0, compass_components_1.cx)('multiline-editor-actions', actionsContainerStyle) }, actions))));
137
+ };
138
+ exports.Editor = MultilineEditor;
139
+ //# 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;IAGtC,SAAS,EAAE,SAAS;CACrB,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,GAAG,EAAC,MAAM,EACV,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,GAAG,EAAC,QAAQ,EACZ,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"}
@@ -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.2.0",
16
+ "version": "0.4.0",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/compass.git"
@@ -45,13 +45,17 @@
45
45
  "test-ci": "npm run test-cov",
46
46
  "reformat": "npm run prettier -- --write ."
47
47
  },
48
+ "peerDependencies": {
49
+ "react": "^17.0.2"
50
+ },
48
51
  "devDependencies": {
49
- "@mongodb-js/eslint-config-compass": "^1.0.1",
50
- "@mongodb-js/mocha-config-compass": "^1.0.1",
52
+ "@mongodb-js/eslint-config-compass": "^1.0.2",
53
+ "@mongodb-js/mocha-config-compass": "^1.0.2",
51
54
  "@mongodb-js/prettier-config-compass": "^1.0.0",
52
55
  "@mongodb-js/tsconfig-compass": "^1.0.1",
53
56
  "@types/chai": "^4.2.21",
54
57
  "@types/mocha": "^9.0.0",
58
+ "@types/prettier": "^2.7.1",
55
59
  "@types/sinon-chai": "^3.2.5",
56
60
  "chai": "^4.3.6",
57
61
  "depcheck": "^1.4.1",
@@ -63,12 +67,20 @@
63
67
  "typescript": "^4.8.3"
64
68
  },
65
69
  "dependencies": {
66
- "@mongodb-js/compass-components": "^1.3.0",
67
- "@mongodb-js/mongodb-constants": "^0.1.4",
70
+ "@codemirror/autocomplete": "^6.4.0",
71
+ "@codemirror/commands": "^6.1.2",
72
+ "@codemirror/lang-javascript": "^6.1.2",
73
+ "@codemirror/lang-json": "^6.0.1",
74
+ "@codemirror/language": "^6.3.2",
75
+ "@codemirror/state": "^6.1.4",
76
+ "@codemirror/view": "^6.7.1",
77
+ "@lezer/highlight": "^1.1.3",
78
+ "@mongodb-js/compass-components": "^1.5.0",
79
+ "@mongodb-js/mongodb-constants": "^0.1.5",
68
80
  "ace-builds": "^1.11.2",
69
- "react": "^16.14.0",
81
+ "polished": "^4.2.2",
70
82
  "react-ace": "^9.5.0",
71
83
  "semver": "^7.3.8"
72
84
  },
73
- "gitHead": "10815be8fd57f3bfd89d061e1592eb7136d4a0fb"
85
+ "gitHead": "cfe9a829fd77fc84e090f2c7b38663167071ebc5"
74
86
  }