@mongodb-js/compass-components 1.69.0 → 1.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb.js +3 -2
- package/dist/components/document-list/element.d.ts.map +1 -1
- package/dist/components/document-list/element.js +30 -2
- package/dist/components/document-list/field-drag.d.ts +27 -0
- package/dist/components/document-list/field-drag.d.ts.map +1 -0
- package/dist/components/document-list/field-drag.js +40 -0
- package/dist/components/document-list/index.d.ts +1 -0
- package/dist/components/document-list/index.d.ts.map +1 -1
- package/dist/components/document-list/index.js +5 -1
- package/dist/hooks/use-confirmation.d.ts.map +1 -1
- package/dist/hooks/use-confirmation.js +23 -13
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/utils/nbsp.d.ts +9 -0
- package/dist/utils/nbsp.d.ts.map +1 -0
- package/dist/utils/nbsp.js +19 -0
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/components/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,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":"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;
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
116
|
-
|
|
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
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
146
|
+
callbackRef.current = undefined;
|
|
147
|
+
unregister();
|
|
138
148
|
};
|
|
139
|
-
}, [
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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.
|
|
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.
|
|
3
|
+
"version": "1.70.0",
|
|
4
4
|
"description": "React Components used in Compass",
|
|
5
5
|
"license": "SSPL",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -86,19 +86,19 @@
|
|
|
86
86
|
"@lg-chat/leafygreen-chat-provider": "^6.0.0",
|
|
87
87
|
"@lg-chat/message": "^12.0.0",
|
|
88
88
|
"@lg-chat/message-prompts": "^4.2.2",
|
|
89
|
-
"@mongodb-js/compass-context-menu": "^0.3.
|
|
89
|
+
"@mongodb-js/compass-context-menu": "^0.3.17",
|
|
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.
|
|
97
|
-
"hadron-type-checker": "^7.5.
|
|
96
|
+
"hadron-document": "^8.12.1",
|
|
97
|
+
"hadron-type-checker": "^7.5.10",
|
|
98
98
|
"is-electron-renderer": "^2.0.1",
|
|
99
99
|
"lodash": "^4.18.1",
|
|
100
100
|
"mongodb-query-parser": "^5.0.5",
|
|
101
|
-
"mongodb-query-util": "^2.6.
|
|
101
|
+
"mongodb-query-util": "^2.6.10",
|
|
102
102
|
"polished": "^4.2.2",
|
|
103
103
|
"react": "^18.3.1",
|
|
104
104
|
"react-dom": "^18.3.1",
|
|
@@ -110,10 +110,10 @@
|
|
|
110
110
|
"devDependencies": {
|
|
111
111
|
"@emotion/css": "^11.13.5",
|
|
112
112
|
"@leafygreen-ui/lib": "^15.7.0",
|
|
113
|
-
"@mongodb-js/eslint-config-compass": "^1.4.
|
|
113
|
+
"@mongodb-js/eslint-config-compass": "^1.4.27",
|
|
114
114
|
"@mongodb-js/mocha-config-compass": "^1.8.1",
|
|
115
115
|
"@mongodb-js/prettier-config-compass": "^1.2.9",
|
|
116
|
-
"@mongodb-js/testing-library-compass": "^1.7.
|
|
116
|
+
"@mongodb-js/testing-library-compass": "^1.7.1",
|
|
117
117
|
"@mongodb-js/tsconfig-compass": "^1.3.1",
|
|
118
118
|
"@types/chai": "^4.2.21",
|
|
119
119
|
"@types/chai-dom": "^0.0.10",
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
"publishConfig": {
|
|
134
134
|
"access": "public"
|
|
135
135
|
},
|
|
136
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "13069dd486790839d988fbef8ff12c1056fa86c8"
|
|
137
137
|
}
|