@mongodb-js/compass-components 1.69.0 → 1.70.1

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":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/components/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAOxC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AA2CF,eAAO,MAAM,WAAW,GAAI,uBAGzB;IACD,KAAK,EACD,cAAc,EAAE,GAChB,CAAC,GAAG,cAAc,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sBAqDA,CAAC"}
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/components/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AA2CF,eAAO,MAAM,WAAW,GAAI,uBAGzB;IACD,KAAK,EACD,cAAc,EAAE,GAChB,CAAC,GAAG,cAAc,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sBAqDA,CAAC"}
@@ -40,6 +40,7 @@ const emotion_1 = require("@leafygreen-ui/emotion");
40
40
  const palette_1 = require("@leafygreen-ui/palette");
41
41
  const use_theme_1 = require("../hooks/use-theme");
42
42
  const leafygreen_1 = require("./leafygreen");
43
+ const nbsp_1 = require("../utils/nbsp");
43
44
  const breadcrumbStyles = (0, emotion_1.css)({
44
45
  display: 'flex',
45
46
  gap: tokens_1.spacing[100],
@@ -84,9 +85,9 @@ const Breadcrumbs = ({ items, className, }) => {
84
85
  clickableItems.map((item, index) => {
85
86
  return (react_1.default.createElement(react_1.Fragment, { key: `${index}-${item.name}` },
86
87
  react_1.default.createElement(leafygreen_1.Link, { as: "button", hideExternalIcon: true, className: (0, emotion_1.cx)(breadcrumbButtonStyles, textStyles), onClick: item.onClick, title: item.name },
87
- react_1.default.createElement(leafygreen_1.Body, { className: (0, emotion_1.cx)(textStyles, darkMode ? itemDarkStyles : itemLightStyles) }, item.name)),
88
+ react_1.default.createElement(leafygreen_1.Body, { className: (0, emotion_1.cx)(textStyles, darkMode ? itemDarkStyles : itemLightStyles) }, (0, nbsp_1.nbsp)(item.name))),
88
89
  react_1.default.createElement(leafygreen_1.Icon, { glyph: "ChevronRight", size: "small", color: palette_1.palette.gray.light1, className: iconStyles })));
89
90
  }),
90
- react_1.default.createElement(leafygreen_1.Body, { key: [items.length - 1, lastItem.name].join(''), className: (0, emotion_1.cx)(textStyles, darkMode ? lastItemStylesDark : lastItemStylesLight) }, lastItem.name)));
91
+ react_1.default.createElement(leafygreen_1.Body, { key: [items.length - 1, lastItem.name].join(''), className: (0, emotion_1.cx)(textStyles, darkMode ? lastItemStylesDark : lastItemStylesLight) }, (0, nbsp_1.nbsp)(lastItem.name))));
91
92
  };
92
93
  exports.Breadcrumbs = Breadcrumbs;
@@ -1 +1 @@
1
- {"version":3,"file":"bson-value.d.ts","sourceRoot":"","sources":["../../src/components/bson-value.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAalC,KAAK,YAAY,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEnD,KAAK,UAAU,GAAG,MAAM,YAAY,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACxB,CAAC;AAgDF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CACtD,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG;IACjC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAoBF,CAAC;AAqbF,iBAAS,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,qBAqDnE;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"bson-value.d.ts","sourceRoot":"","sources":["../../src/components/bson-value.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAYlC,KAAK,YAAY,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEnD,KAAK,UAAU,GAAG,MAAM,YAAY,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACxB,CAAC;AAgDF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CACtD,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG;IACjC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAoBF,CAAC;AA+cF,iBAAS,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,qBAqDnE;AAED,eAAe,SAAS,CAAC"}
@@ -37,7 +37,6 @@ exports.BSONValueContainer = void 0;
37
37
  const react_1 = __importStar(require("react"));
38
38
  const hadron_type_checker_1 = require("hadron-type-checker");
39
39
  const bson_1 = require("bson");
40
- const mongodb_query_parser_1 = require("mongodb-query-parser");
41
40
  const leafygreen_1 = require("./leafygreen");
42
41
  const tokens_1 = require("@leafygreen-ui/tokens");
43
42
  const emotion_1 = require("@leafygreen-ui/emotion");
@@ -297,9 +296,34 @@ const KeyValue = ({ type }) => {
297
296
  }, [type]);
298
297
  return (react_1.default.createElement(exports.BSONValueContainer, { type: type, title: stringifiedValue }, stringifiedValue));
299
298
  };
299
+ function stringifyValue(value) {
300
+ if (value === undefined) {
301
+ return 'undefined';
302
+ }
303
+ if ((0, hadron_type_checker_1.isBsonValue)(value)) {
304
+ return value.inspect().replace(/^new /, '');
305
+ }
306
+ if (Array.isArray(value)) {
307
+ return `[${value.map(stringifyValue).join(',')}]`;
308
+ }
309
+ if (value !== null && typeof value === 'object') {
310
+ return `{${Object.entries(value)
311
+ .map(([k, v]) => `${JSON.stringify(k)}:${stringifyValue(v)}`)
312
+ .join(',')}}`;
313
+ }
314
+ return JSON.stringify(value);
315
+ }
300
316
  const DBRefValue = ({ value, }) => {
301
317
  const stringifiedValue = (0, react_1.useMemo)(() => {
302
- return (0, mongodb_query_parser_1.toJSString)(value, 0);
318
+ const args = [JSON.stringify(value.collection), stringifyValue(value.oid)];
319
+ const hasFields = Object.keys(value.fields ?? {}).length > 0;
320
+ if (value.db || hasFields) {
321
+ args.push(stringifyValue(value.db));
322
+ }
323
+ if (hasFields) {
324
+ args.push(stringifyValue(value.fields));
325
+ }
326
+ return `DBRef(${args.join(', ')})`;
303
327
  }, [value]);
304
328
  return (react_1.default.createElement(exports.BSONValueContainer, { type: "DBRef", title: stringifiedValue }, stringifiedValue));
305
329
  };
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAEV,OAAO,IAAI,iBAAiB,EAC7B,MAAM,iBAAiB,CAAC;AAiazB,eAAO,MAAM,6BAA6B,GAAI,mEAK3C;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB,EAAE,OAAO,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,WAeA,CAAC;AAYF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,iBAAiB,KACzB,MAcF,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClD,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAqaA,CAAC"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAEV,OAAO,IAAI,iBAAiB,EAC7B,MAAM,iBAAiB,CAAC;AAyazB,eAAO,MAAM,6BAA6B,GAAI,mEAK3C;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB,EAAE,OAAO,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,WAeA,CAAC;AAYF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,iBAAiB,KACzB,MAcF,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClD,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAwcA,CAAC"}
@@ -55,6 +55,7 @@ const mongodb_query_util_1 = require("mongodb-query-util");
55
55
  const context_menu_1 = require("../context-menu");
56
56
  const use_sync_state_on_prop_change_1 = require("../../hooks/use-sync-state-on-prop-change");
57
57
  const bson_display_options_context_1 = require("./bson-display-options-context");
58
+ const field_drag_1 = require("./field-drag");
58
59
  function useElementEditor(el, displayType) {
59
60
  return (0, react_1.useMemo)(() => {
60
61
  const Editor = (0, hadron_document_1.getEditorByType)(displayType);
@@ -307,6 +308,12 @@ const elementKeyInline = (0, emotion_1.css)({
307
308
  overflow: 'hidden',
308
309
  textOverflow: 'ellipsis',
309
310
  });
311
+ const elementKeyDraggable = (0, emotion_1.css)({
312
+ cursor: 'grab',
313
+ '&:active': {
314
+ cursor: 'grabbing',
315
+ },
316
+ });
310
317
  const elementKeyInternal = (0, emotion_1.css)({
311
318
  color: palette_1.palette.gray.base,
312
319
  });
@@ -467,6 +474,24 @@ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart,
467
474
  ],
468
475
  },
469
476
  ], [element, key.value, value.value, type.value, onUpdateQuery, isFieldInQuery]);
477
+ // Dragging a field name puts "field: value" on the drag data, so it can be
478
+ // dropped into an aggregation stage or any editor outside Compass. The
479
+ // text/plain payload is deliberately identical to the "Copy field & value"
480
+ // context menu action, which remains the keyboard accessible way to do this.
481
+ //
482
+ // The same field also goes on the event in structured form, so that drop
483
+ // targets inside Compass (the query bar) can use the BSON value rather than
484
+ // parsing the display string back.
485
+ const onKeyDragStart = (0, react_1.useCallback)((evt) => {
486
+ // The row toggles expansion on click; dragging a field is not that.
487
+ evt.stopPropagation();
488
+ evt.dataTransfer.effectAllowed = 'copy';
489
+ evt.dataTransfer.setData('text/plain', `${key.value}: ${element.toShellSyntax()}`);
490
+ (0, field_drag_1.setDraggedDocumentField)(evt.dataTransfer, {
491
+ field: (0, exports.getNestedKeyPathForElement)(element),
492
+ value: element.generateObject(),
493
+ });
494
+ }, [element, key.value]);
470
495
  const toggleExpanded = () => {
471
496
  if (expanded) {
472
497
  collapse();
@@ -515,8 +540,11 @@ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart,
515
540
  (darkMode ? elementModifiedDarkMode : elementModifiedLightMode), removed ? elementRemoved : editingEnabled && !isValid && elementInvalid),
516
541
  onClick: toggleExpanded,
517
542
  };
543
+ // While editing, the key is a text input and dragging it would fight with
544
+ // selecting the text inside it.
545
+ const keyDraggable = !editingEnabled;
518
546
  const keyProps = {
519
- className: (0, emotion_1.cx)(elementKey, !editingEnabled && elementKeyInline, internal && elementKeyInternal, darkMode && elementKeyDarkMode),
547
+ className: (0, emotion_1.cx)(elementKey, !editingEnabled && elementKeyInline, internal && elementKeyInternal, darkMode && elementKeyDarkMode, keyDraggable && elementKeyDraggable),
520
548
  };
521
549
  const lineNumberRemoved = darkMode
522
550
  ? lineNumberRemovedDarkMode
@@ -555,7 +583,7 @@ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart,
555
583
  } },
556
584
  react_1.default.createElement(leafygreen_1.Icon, { size: "xsmall", glyph: expanded ? 'CaretDown' : 'CaretRight' })))),
557
585
  react_1.default.createElement("div", { className: editingEnabled ? elementContent : elementContentInline },
558
- react_1.default.createElement("div", { ...keyProps, "data-testid": "hadron-document-element-key" }, key.editable ? (react_1.default.createElement(element_editors_1.KeyEditor, { value: key.value, valid: key.valid, validationMessage: key.validationMessage, onChange: (newVal) => {
586
+ react_1.default.createElement("div", { ...keyProps, "data-testid": "hadron-document-element-key", draggable: keyDraggable, onDragStart: keyDraggable ? onKeyDragStart : undefined }, key.editable ? (react_1.default.createElement(element_editors_1.KeyEditor, { value: key.value, valid: key.valid, validationMessage: key.validationMessage, onChange: (newVal) => {
559
587
  key.change(newVal);
560
588
  },
561
589
  // This autofocus will only trigger after user deliberately
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Drag data type set when a field is dragged out of the document list.
3
+ *
4
+ * Dragging a field always puts a human readable `text/plain` representation on
5
+ * the drag event so that it can be dropped into any editor. This type carries
6
+ * the same field in structured form, so that drop targets inside Compass can
7
+ * act on the actual BSON value instead of parsing the display string back.
8
+ */
9
+ export declare const DOCUMENT_FIELD_DRAG_TYPE = "application/x-mongodb-compass-field";
10
+ export type DraggedDocumentField = {
11
+ /** Dot notation path of the dragged field. Array indexes are skipped. */
12
+ field: string;
13
+ /** Value of the dragged field. */
14
+ value: unknown;
15
+ };
16
+ /**
17
+ * Values are serialised as canonical extended JSON so that BSON types survive
18
+ * the round trip through the drag event, which can only carry strings.
19
+ */
20
+ export declare function setDraggedDocumentField(dataTransfer: DataTransfer, dragged: DraggedDocumentField): void;
21
+ /**
22
+ * Reads a field dragged from the document list, or returns null when the drag
23
+ * did not come from there. Drops come from user input, so malformed data is
24
+ * treated as "not ours" rather than as an error.
25
+ */
26
+ export declare function getDraggedDocumentField(dataTransfer: DataTransfer): DraggedDocumentField | null;
27
+ //# sourceMappingURL=field-drag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-drag.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/field-drag.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,wCAAwC,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG;IACjC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,GACzB,oBAAoB,GAAG,IAAI,CAW7B"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DOCUMENT_FIELD_DRAG_TYPE = void 0;
4
+ exports.setDraggedDocumentField = setDraggedDocumentField;
5
+ exports.getDraggedDocumentField = getDraggedDocumentField;
6
+ const bson_1 = require("bson");
7
+ /**
8
+ * Drag data type set when a field is dragged out of the document list.
9
+ *
10
+ * Dragging a field always puts a human readable `text/plain` representation on
11
+ * the drag event so that it can be dropped into any editor. This type carries
12
+ * the same field in structured form, so that drop targets inside Compass can
13
+ * act on the actual BSON value instead of parsing the display string back.
14
+ */
15
+ exports.DOCUMENT_FIELD_DRAG_TYPE = 'application/x-mongodb-compass-field';
16
+ /**
17
+ * Values are serialised as canonical extended JSON so that BSON types survive
18
+ * the round trip through the drag event, which can only carry strings.
19
+ */
20
+ function setDraggedDocumentField(dataTransfer, dragged) {
21
+ dataTransfer.setData(exports.DOCUMENT_FIELD_DRAG_TYPE, bson_1.EJSON.stringify(dragged, { relaxed: false }));
22
+ }
23
+ /**
24
+ * Reads a field dragged from the document list, or returns null when the drag
25
+ * did not come from there. Drops come from user input, so malformed data is
26
+ * treated as "not ours" rather than as an error.
27
+ */
28
+ function getDraggedDocumentField(dataTransfer) {
29
+ const raw = dataTransfer.getData(exports.DOCUMENT_FIELD_DRAG_TYPE);
30
+ if (!raw) {
31
+ return null;
32
+ }
33
+ try {
34
+ const parsed = bson_1.EJSON.parse(raw, { relaxed: false });
35
+ return typeof parsed?.field === 'string' ? parsed : null;
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ }
@@ -2,5 +2,6 @@ export { default as DocumentActionsGroup } from './document-actions-group';
2
2
  export { default as VisibleFieldsToggle } from './visible-field-toggle';
3
3
  export { default as Document } from './document';
4
4
  export { default as DocumentEditActionsFooter } from './document-edit-actions-footer';
5
+ export { DOCUMENT_FIELD_DRAG_TYPE, setDraggedDocumentField, getDraggedDocumentField, type DraggedDocumentField, } from './field-drag';
5
6
  export { BSONDisplayOptionsProvider, useBSONDisplayOptions, type BSONDisplayOptions, type LegacyUUIDDisplay, } from './bson-display-options-context';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,gCAAgC,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useBSONDisplayOptions = exports.BSONDisplayOptionsProvider = exports.DocumentEditActionsFooter = exports.Document = exports.VisibleFieldsToggle = exports.DocumentActionsGroup = void 0;
6
+ exports.useBSONDisplayOptions = exports.BSONDisplayOptionsProvider = exports.getDraggedDocumentField = exports.setDraggedDocumentField = exports.DOCUMENT_FIELD_DRAG_TYPE = exports.DocumentEditActionsFooter = exports.Document = exports.VisibleFieldsToggle = exports.DocumentActionsGroup = void 0;
7
7
  var document_actions_group_1 = require("./document-actions-group");
8
8
  Object.defineProperty(exports, "DocumentActionsGroup", { enumerable: true, get: function () { return __importDefault(document_actions_group_1).default; } });
9
9
  var visible_field_toggle_1 = require("./visible-field-toggle");
@@ -12,6 +12,10 @@ var document_1 = require("./document");
12
12
  Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return __importDefault(document_1).default; } });
13
13
  var document_edit_actions_footer_1 = require("./document-edit-actions-footer");
14
14
  Object.defineProperty(exports, "DocumentEditActionsFooter", { enumerable: true, get: function () { return __importDefault(document_edit_actions_footer_1).default; } });
15
+ var field_drag_1 = require("./field-drag");
16
+ Object.defineProperty(exports, "DOCUMENT_FIELD_DRAG_TYPE", { enumerable: true, get: function () { return field_drag_1.DOCUMENT_FIELD_DRAG_TYPE; } });
17
+ Object.defineProperty(exports, "setDraggedDocumentField", { enumerable: true, get: function () { return field_drag_1.setDraggedDocumentField; } });
18
+ Object.defineProperty(exports, "getDraggedDocumentField", { enumerable: true, get: function () { return field_drag_1.getDraggedDocumentField; } });
15
19
  var bson_display_options_context_1 = require("./bson-display-options-context");
16
20
  Object.defineProperty(exports, "BSONDisplayOptionsProvider", { enumerable: true, get: function () { return bson_display_options_context_1.BSONDisplayOptionsProvider; } });
17
21
  Object.defineProperty(exports, "useBSONDisplayOptions", { enumerable: true, get: function () { return bson_display_options_context_1.useBSONDisplayOptions; } });
@@ -1 +1 @@
1
- {"version":3,"file":"use-confirmation.d.ts","sourceRoot":"","sources":["../../src/hooks/use-confirmation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AAQxE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAEpC,KAAK,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7E,KAAK,sBAAsB,GAAG,OAAO,CACnC,IAAI,CACF,sBAAsB,EACpB,OAAO,GACP,SAAS,GACT,mBAAmB,GACnB,cAAc,GACd,oBAAoB,CACvB,CACF,GAAG;IACF,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AA+BF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,eAAO,MAAM,gBAAgB,UAnDH,sBAAsB,qBAqD/C,CAAC;AA2HF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAUA,CAAC;AAEF,wBAAsB,UAAU,CAC9B,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,GAAG;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB"}
1
+ {"version":3,"file":"use-confirmation.d.ts","sourceRoot":"","sources":["../../src/hooks/use-confirmation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AAOxE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAEpC,KAAK,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7E,KAAK,sBAAsB,GAAG,OAAO,CACnC,IAAI,CACF,sBAAsB,EACpB,OAAO,GACP,SAAS,GACT,mBAAmB,GACnB,cAAc,GACd,oBAAoB,CACvB,CACF,GAAG;IACF,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAmDF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,eAAO,MAAM,gBAAgB,UA1DH,sBAAsB,qBA4D/C,CAAC;AAkHF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAUA,CAAC;AAEF,wBAAsB,UAAU,CAC9B,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,GAAG;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB"}
@@ -46,19 +46,33 @@ const emotion_1 = require("@leafygreen-ui/emotion");
46
46
  const form_field_container_1 = __importDefault(require("../components/form-field-container"));
47
47
  const leafygreen_1 = require("../components/leafygreen");
48
48
  const tokens_1 = require("@leafygreen-ui/tokens");
49
- const use_initial_value_1 = require("./use-initial-value");
50
49
  const utils_1 = require("@react-aria/utils");
51
50
  class GlobalConfirmationModalState {
52
51
  confirmationId = 0;
53
52
  onShowCallback = null;
53
+ registerHandler(callback) {
54
+ this.onShowCallback = callback;
55
+ return () => {
56
+ if (this.onShowCallback !== callback) {
57
+ return;
58
+ }
59
+ this.onShowCallback = null;
60
+ };
61
+ }
54
62
  showConfirmation(props) {
55
63
  return new Promise((resolve, reject) => {
56
- this.onShowCallback?.({
64
+ const request = {
57
65
  props,
58
66
  resolve,
59
67
  reject,
60
68
  confirmationId: ++this.confirmationId,
61
- });
69
+ };
70
+ if (this.onShowCallback) {
71
+ this.onShowCallback(request);
72
+ }
73
+ else {
74
+ request?.reject(new Error('Confirmation modal is not registered to show confirmation'));
75
+ }
62
76
  });
63
77
  }
64
78
  }
@@ -112,8 +126,8 @@ const ConfirmationModalStateHandler = ({ children }) => {
112
126
  confirmationId: -1,
113
127
  });
114
128
  const callbackRef = (0, react_1.useRef)();
115
- const _confirmationModalState = (0, use_initial_value_1.useInitialValue)(() => {
116
- confirmationModalState.onShowCallback = ({ props, resolve, reject, confirmationId, }) => {
129
+ (0, react_1.useEffect)(() => {
130
+ const unregister = confirmationModalState.registerHandler(({ props, resolve, reject, confirmationId }) => {
117
131
  setConfirmationProps({ open: true, confirmationId, ...props });
118
132
  const onAbort = () => {
119
133
  setConfirmationProps((state) => {
@@ -126,17 +140,13 @@ const ConfirmationModalStateHandler = ({ children }) => {
126
140
  resolve(confirmed);
127
141
  };
128
142
  props.signal?.addEventListener('abort', onAbort);
129
- };
130
- return confirmationModalState;
131
- });
132
- (0, react_1.useEffect)(() => {
143
+ });
133
144
  return () => {
134
145
  callbackRef.current?.(false);
135
- if (_confirmationModalState) {
136
- _confirmationModalState.onShowCallback = null;
137
- }
146
+ callbackRef.current = undefined;
147
+ unregister();
138
148
  };
139
- }, [_confirmationModalState]);
149
+ }, []);
140
150
  const onUserAction = (0, react_1.useCallback)((value) => {
141
151
  setConfirmationProps((state) => {
142
152
  return { ...state, open: false };
package/dist/index.d.ts CHANGED
@@ -105,6 +105,7 @@ export { urlWithUtmParams, RequiredURLSearchParamsProvider, useRequiredURLSearch
105
105
  export { ChevronCollapse } from './components/chevron-collapse-icon';
106
106
  export { formatDate, formatDuration } from './utils/format-date';
107
107
  export { compactBytes, compactNumber } from './utils/format';
108
+ export { nbsp } from './utils/nbsp';
108
109
  export { VirtualList, type VirtualListRef, type VirtualListProps, type ItemRenderer as VirtualListItemRenderer, } from './components/virtual-list';
109
110
  export { SelectList } from './components/select-list';
110
111
  export { ParagraphSkeleton } from '@leafygreen-ui/skeleton-loader';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -41,8 +41,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  exports.spacing = exports.breakpoints = exports.ToastArea = exports.closeToast = exports.openToast = exports.VisuallyHidden = exports.useId = exports.SelectSize = exports.RadioBoxSize = exports.Portal = exports.transparentize = exports.lighten = exports.rgba = exports.palette = exports.LeafyGreenProvider = exports.SplitButton = exports.ButtonVariant = exports.ButtonSize = exports.BannerVariant = exports.BadgeVariant = exports.LGGuideCue = exports.PngIcon = exports.NoSavedItemsIcon = exports.ServerIcon = exports.FavoriteIcon = exports.DocumentIcon = exports.AssistantSparkleIcon = exports.DropdownMenuButton = exports.ItemActionMenu = exports.ItemActionGroup = exports.ItemActionControls = exports.splitBySeparator = exports.useTabTheme = exports.TabThemeProvider = exports.WorkspaceTab = exports.ProgressLoaderWithCancel = exports.CancelLoader = exports.SpinLoaderWithLabel = exports.SpinLoader = exports.cache = exports.sheet = exports.css = exports.keyframes = exports.injectGlobal = exports.getRegisteredStyles = exports.merge = exports.cx = exports.hydrate = exports.flush = exports.emotion = void 0;
43
43
  exports.ListEditor = exports.InteractivePopover = exports.InlineInfoLink = exports.WorkspaceContainer = exports.TabNavBar = exports.FeedbackPopover = exports.ErrorBoundary = exports.EmptyContent = exports.SignalHooksProvider = exports.SignalPopover = exports.createIconComponent = exports.createGlyphComponent = exports.InlineDefinition = exports.useThrottledProps = exports.ThemeProvider = exports.Themes = exports.useDarkMode = exports.withDarkMode = exports.useScrollbars = exports.getScrollbarStyles = exports.resetGlobalCSS = exports.FocusStates = exports.useHoverState = exports.useFocusStateIncludingUnfocused = exports.useFocusState = exports.MarketingModal = exports.createJSDomFileInputDummyBackend = exports.createElectronFileInputBackend = exports.defaultSidebarWidth = exports.WorkspaceTabs = exports.WarningSummary = exports.ResizableSidebar = exports.ResizeDirection = exports.ResizeHandle = exports.RadioBoxGroup = exports.OptionsToggle = exports.IndexIcon = exports.FileInputBackendProvider = exports.FilePickerDialog = exports.ErrorSummary = exports.ConfirmationModal = exports.CollapsibleFieldSet = exports.Accordion = exports.useContextMenuGroups = exports.InfoModal = exports.FormModal = exports.ModalHeader = exports.ModalBody = exports.Modal = exports.FormFieldContainer = void 0;
44
- exports.Diagram = exports.DiagramProvider = exports.FileSelector = exports.InsightsChip = exports.ParagraphSkeleton = exports.SelectList = exports.VirtualList = exports.compactNumber = exports.compactBytes = exports.formatDuration = exports.formatDate = exports.ChevronCollapse = exports.useRequiredURLSearchParams = exports.RequiredURLSearchParamsProvider = exports.urlWithUtmParams = exports.Breadcrumbs = exports.CompassComponentsProvider = exports.ToastBody = exports.PerformanceSignals = exports.GuideCueProvider = exports.GuideCue = exports.usePersistedState = exports.ComboboxWithCustomOption = exports.rafraf = exports.KeyboardShortcut = exports.formatHotkey = exports.useHotkeys = exports.showErrorDetails = exports.showPrompt = exports.showConfirmation = exports.ConfirmationModalArea = exports.ConfirmationModalVariant = exports.IndexKeysBadge = exports.IndexBadge = exports.HorizontalRule = exports.useEffectOnChange = exports.codePalette = exports.KeylineCard = exports.DocumentList = exports.BSONValue = exports.fontFamilies = exports.useSortedItems = exports.useSortControls = exports.useDefaultAction = exports.useFocusRing = exports.focusRing = exports.mergeProps = exports.VirtualGrid = exports.useDOMRect = exports.Placeholder = void 0;
45
- exports.useSyncStateOnPropChange = exports.useCurrentValueRef = exports.useInitialValue = exports.getCoordinatesForNewNode = exports.applyLayout = exports.getViewportForBounds = exports.getNodesBounds = exports.useDiagram = void 0;
44
+ exports.DiagramProvider = exports.FileSelector = exports.InsightsChip = exports.ParagraphSkeleton = exports.SelectList = exports.VirtualList = exports.nbsp = exports.compactNumber = exports.compactBytes = exports.formatDuration = exports.formatDate = exports.ChevronCollapse = exports.useRequiredURLSearchParams = exports.RequiredURLSearchParamsProvider = exports.urlWithUtmParams = exports.Breadcrumbs = exports.CompassComponentsProvider = exports.ToastBody = exports.PerformanceSignals = exports.GuideCueProvider = exports.GuideCue = exports.usePersistedState = exports.ComboboxWithCustomOption = exports.rafraf = exports.KeyboardShortcut = exports.formatHotkey = exports.useHotkeys = exports.showErrorDetails = exports.showPrompt = exports.showConfirmation = exports.ConfirmationModalArea = exports.ConfirmationModalVariant = exports.IndexKeysBadge = exports.IndexBadge = exports.HorizontalRule = exports.useEffectOnChange = exports.codePalette = exports.KeylineCard = exports.DocumentList = exports.BSONValue = exports.fontFamilies = exports.useSortedItems = exports.useSortControls = exports.useDefaultAction = exports.useFocusRing = exports.focusRing = exports.mergeProps = exports.VirtualGrid = exports.useDOMRect = exports.Placeholder = void 0;
45
+ exports.useSyncStateOnPropChange = exports.useCurrentValueRef = exports.useInitialValue = exports.getCoordinatesForNewNode = exports.applyLayout = exports.getViewportForBounds = exports.getNodesBounds = exports.useDiagram = exports.Diagram = void 0;
46
46
  // IMPORTANT: this import should always be the first one in compass-component
47
47
  // main entrypoint to ensure that emotion is reconfigured before any component
48
48
  // modules generate their stylesheets
@@ -287,6 +287,8 @@ Object.defineProperty(exports, "formatDuration", { enumerable: true, get: functi
287
287
  var format_1 = require("./utils/format");
288
288
  Object.defineProperty(exports, "compactBytes", { enumerable: true, get: function () { return format_1.compactBytes; } });
289
289
  Object.defineProperty(exports, "compactNumber", { enumerable: true, get: function () { return format_1.compactNumber; } });
290
+ var nbsp_1 = require("./utils/nbsp");
291
+ Object.defineProperty(exports, "nbsp", { enumerable: true, get: function () { return nbsp_1.nbsp; } });
290
292
  var virtual_list_1 = require("./components/virtual-list");
291
293
  Object.defineProperty(exports, "VirtualList", { enumerable: true, get: function () { return virtual_list_1.VirtualList; } });
292
294
  var select_list_1 = require("./components/select-list");
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Replace leading/trailing spaces and internal runs of 2+ spaces with
3
+ * non-breaking spaces so the original text is preserved when rendered in the
4
+ * DOM. Browsers collapse consecutive whitespace and strip edges, so a run of
5
+ * N spaces renders as 1 (or 0 at edges). Single internal spaces are left as
6
+ * regular spaces so the text can still wrap.
7
+ */
8
+ export declare function nbsp(text: string): string;
9
+ //# sourceMappingURL=nbsp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nbsp.d.ts","sourceRoot":"","sources":["../../src/utils/nbsp.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIzC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nbsp = nbsp;
4
+ const NBSP = '\u00A0';
5
+ function toNbsp(spaces) {
6
+ return spaces.replace(/\u0020/g, NBSP);
7
+ }
8
+ /**
9
+ * Replace leading/trailing spaces and internal runs of 2+ spaces with
10
+ * non-breaking spaces so the original text is preserved when rendered in the
11
+ * DOM. Browsers collapse consecutive whitespace and strip edges, so a run of
12
+ * N spaces renders as 1 (or 0 at edges). Single internal spaces are left as
13
+ * regular spaces so the text can still wrap.
14
+ */
15
+ function nbsp(text) {
16
+ return text
17
+ .replace(/^\u0020+|\u0020+$/g, toNbsp)
18
+ .replace(/\u0020{2,}/g, toNbsp);
19
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongodb-js/compass-components",
3
- "version": "1.69.0",
3
+ "version": "1.70.1",
4
4
  "description": "React Components used in Compass",
5
5
  "license": "SSPL",
6
6
  "main": "dist/index.js",
@@ -35,70 +35,69 @@
35
35
  "@dnd-kit/core": "^6.0.7",
36
36
  "@dnd-kit/sortable": "^7.0.2",
37
37
  "@dnd-kit/utilities": "^3.2.1",
38
- "@leafygreen-ui/avatar": "^3.3.0",
39
- "@leafygreen-ui/badge": "^10.2.4",
40
- "@leafygreen-ui/banner": "^10.2.5",
41
- "@leafygreen-ui/button": "^25.2.1",
42
- "@leafygreen-ui/card": "^13.3.1",
43
- "@leafygreen-ui/checkbox": "^18.1.5",
44
- "@leafygreen-ui/chip": "^4.2.1",
45
- "@leafygreen-ui/code": "^20.2.8",
46
- "@leafygreen-ui/combobox": "^12.5.1",
47
- "@leafygreen-ui/confirmation-modal": "^11.0.1",
48
- "@leafygreen-ui/copyable": "^12.0.3",
49
- "@leafygreen-ui/drawer": "^5.2.3",
50
- "@leafygreen-ui/emotion": "^5.2.0",
51
- "@leafygreen-ui/guide-cue": "^8.2.0",
52
- "@leafygreen-ui/hooks": "^9.3.1",
53
- "@leafygreen-ui/icon": "^14.9.0",
54
- "@leafygreen-ui/icon-button": "^17.1.5",
55
- "@leafygreen-ui/info-sprinkle": "^5.0.11",
56
- "@leafygreen-ui/input-option": "^4.1.5",
57
- "@leafygreen-ui/leafygreen-provider": "^5.0.4",
58
- "@leafygreen-ui/logo": "^11.1.0",
59
- "@leafygreen-ui/marketing-modal": "^8.2.1",
60
- "@leafygreen-ui/menu": "^33.2.1",
61
- "@leafygreen-ui/modal": "^22.0.1",
62
- "@leafygreen-ui/palette": "^5.0.2",
63
- "@leafygreen-ui/pipeline": "^8.0.10",
64
- "@leafygreen-ui/polymorphic": "^3.1.0",
65
- "@leafygreen-ui/popover": "^14.3.2",
66
- "@leafygreen-ui/portal": "^7.1.0",
67
- "@leafygreen-ui/progress-bar": "^1.0.8",
68
- "@leafygreen-ui/radio-box-group": "^15.0.11",
69
- "@leafygreen-ui/radio-group": "^13.0.12",
70
- "@leafygreen-ui/search-input": "^6.1.3",
71
- "@leafygreen-ui/segmented-control": "^11.1.0",
72
- "@leafygreen-ui/select": "^17.1.0",
73
- "@leafygreen-ui/skeleton-loader": "^3.0.11",
74
- "@leafygreen-ui/split-button": "^6.3.1",
75
- "@leafygreen-ui/table": "^15.2.3",
76
- "@leafygreen-ui/tabs": "^17.0.11",
77
- "@leafygreen-ui/text-area": "^12.1.5",
78
- "@leafygreen-ui/text-input": "^16.2.3",
79
- "@leafygreen-ui/toast": "^8.1.3",
80
- "@leafygreen-ui/toggle": "^12.1.5",
81
- "@leafygreen-ui/tokens": "^4.2.2",
82
- "@leafygreen-ui/tooltip": "^14.3.2",
83
- "@leafygreen-ui/typography": "^22.2.4",
84
- "@lg-chat/chat-window": "^6.0.2",
85
- "@lg-chat/input-bar": "^12.2.2",
86
- "@lg-chat/leafygreen-chat-provider": "^6.0.0",
87
- "@lg-chat/message": "^12.0.0",
88
- "@lg-chat/message-prompts": "^4.2.2",
89
- "@mongodb-js/compass-context-menu": "^0.3.16",
38
+ "@leafygreen-ui/avatar": "^3.3.1",
39
+ "@leafygreen-ui/badge": "^10.2.5",
40
+ "@leafygreen-ui/banner": "^10.2.6",
41
+ "@leafygreen-ui/button": "^25.2.2",
42
+ "@leafygreen-ui/card": "^13.3.2",
43
+ "@leafygreen-ui/checkbox": "^18.1.6",
44
+ "@leafygreen-ui/chip": "^4.2.2",
45
+ "@leafygreen-ui/code": "^20.2.9",
46
+ "@leafygreen-ui/combobox": "^12.5.2",
47
+ "@leafygreen-ui/confirmation-modal": "^11.0.2",
48
+ "@leafygreen-ui/copyable": "^12.0.4",
49
+ "@leafygreen-ui/drawer": "^5.2.4",
50
+ "@leafygreen-ui/emotion": "^5.2.1",
51
+ "@leafygreen-ui/guide-cue": "^8.2.1",
52
+ "@leafygreen-ui/hooks": "^9.3.2",
53
+ "@leafygreen-ui/icon": "^14.9.1",
54
+ "@leafygreen-ui/icon-button": "^17.1.6",
55
+ "@leafygreen-ui/info-sprinkle": "^5.0.12",
56
+ "@leafygreen-ui/input-option": "^4.1.6",
57
+ "@leafygreen-ui/leafygreen-provider": "^5.0.5",
58
+ "@leafygreen-ui/logo": "^11.1.1",
59
+ "@leafygreen-ui/marketing-modal": "^8.2.2",
60
+ "@leafygreen-ui/menu": "^33.2.2",
61
+ "@leafygreen-ui/modal": "^22.0.2",
62
+ "@leafygreen-ui/palette": "^5.0.3",
63
+ "@leafygreen-ui/pipeline": "^8.0.11",
64
+ "@leafygreen-ui/polymorphic": "^3.1.1",
65
+ "@leafygreen-ui/popover": "^14.3.3",
66
+ "@leafygreen-ui/portal": "^7.1.1",
67
+ "@leafygreen-ui/progress-bar": "^1.0.9",
68
+ "@leafygreen-ui/radio-box-group": "^15.0.12",
69
+ "@leafygreen-ui/radio-group": "^13.0.13",
70
+ "@leafygreen-ui/search-input": "^6.1.4",
71
+ "@leafygreen-ui/segmented-control": "^11.1.1",
72
+ "@leafygreen-ui/select": "^17.1.1",
73
+ "@leafygreen-ui/skeleton-loader": "^3.0.12",
74
+ "@leafygreen-ui/split-button": "^6.3.2",
75
+ "@leafygreen-ui/table": "^15.2.4",
76
+ "@leafygreen-ui/tabs": "^17.0.12",
77
+ "@leafygreen-ui/text-area": "^12.1.6",
78
+ "@leafygreen-ui/text-input": "^16.2.4",
79
+ "@leafygreen-ui/toast": "^8.1.4",
80
+ "@leafygreen-ui/toggle": "^12.1.6",
81
+ "@leafygreen-ui/tokens": "^4.2.3",
82
+ "@leafygreen-ui/tooltip": "^14.3.3",
83
+ "@leafygreen-ui/typography": "^22.2.5",
84
+ "@lg-chat/chat-window": "^6.0.3",
85
+ "@lg-chat/input-bar": "^12.2.3",
86
+ "@lg-chat/leafygreen-chat-provider": "^6.0.1",
87
+ "@lg-chat/message": "^12.0.1",
88
+ "@lg-chat/message-prompts": "^4.2.3",
89
+ "@mongodb-js/compass-context-menu": "^0.3.18",
90
90
  "@mongodb-js/diagramming": "^2.4.1",
91
91
  "@react-aria/interactions": "^3.9.1",
92
92
  "@react-aria/utils": "^3.13.1",
93
93
  "@react-aria/visually-hidden": "^3.3.1",
94
94
  "bson": "^7.3.2",
95
95
  "focus-trap-react": "^9.0.2",
96
- "hadron-document": "^8.12.0",
97
- "hadron-type-checker": "^7.5.9",
96
+ "hadron-document": "^8.12.2",
97
+ "hadron-type-checker": "^7.5.11",
98
98
  "is-electron-renderer": "^2.0.1",
99
99
  "lodash": "^4.18.1",
100
- "mongodb-query-parser": "^5.0.5",
101
- "mongodb-query-util": "^2.6.9",
100
+ "mongodb-query-util": "^2.6.11",
102
101
  "polished": "^4.2.2",
103
102
  "react": "^18.3.1",
104
103
  "react-dom": "^18.3.1",
@@ -109,11 +108,11 @@
109
108
  },
110
109
  "devDependencies": {
111
110
  "@emotion/css": "^11.13.5",
112
- "@leafygreen-ui/lib": "^15.7.0",
113
- "@mongodb-js/eslint-config-compass": "^1.4.26",
111
+ "@leafygreen-ui/lib": "^15.7.1",
112
+ "@mongodb-js/eslint-config-compass": "^1.4.28",
114
113
  "@mongodb-js/mocha-config-compass": "^1.8.1",
115
114
  "@mongodb-js/prettier-config-compass": "^1.2.9",
116
- "@mongodb-js/testing-library-compass": "^1.7.0",
115
+ "@mongodb-js/testing-library-compass": "^1.7.2",
117
116
  "@mongodb-js/tsconfig-compass": "^1.3.1",
118
117
  "@types/chai": "^4.2.21",
119
118
  "@types/chai-dom": "^0.0.10",
@@ -133,5 +132,5 @@
133
132
  "publishConfig": {
134
133
  "access": "public"
135
134
  },
136
- "gitHead": "18b9284c2de5c1daef72e6fa187efb016f597539"
135
+ "gitHead": "ef7b44ec5ff794f83d167daa4146b0bdcab5e0a3"
137
136
  }