@mongodb-js/compass-components 1.68.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.
Files changed (114) hide show
  1. package/dist/components/breadcrumb.d.ts.map +1 -1
  2. package/dist/components/breadcrumb.js +3 -2
  3. package/dist/components/bson-value.d.ts +23 -12
  4. package/dist/components/bson-value.d.ts.map +1 -1
  5. package/dist/components/bson-value.js +43 -63
  6. package/dist/components/compass-components-provider.d.ts +6 -8
  7. package/dist/components/compass-components-provider.d.ts.map +1 -1
  8. package/dist/components/compass-components-provider.js +5 -5
  9. package/dist/components/context-menu.d.ts +1 -2
  10. package/dist/components/context-menu.d.ts.map +1 -1
  11. package/dist/components/context-menu.js +5 -2
  12. package/dist/components/document-list/bson-display-options-context.d.ts +13 -0
  13. package/dist/components/document-list/bson-display-options-context.d.ts.map +1 -0
  14. package/dist/components/document-list/bson-display-options-context.js +56 -0
  15. package/dist/components/document-list/bson-utils.d.ts +10 -0
  16. package/dist/components/document-list/bson-utils.d.ts.map +1 -0
  17. package/dist/components/document-list/bson-utils.js +63 -0
  18. package/dist/components/document-list/date-time-picker.d.ts +6 -0
  19. package/dist/components/document-list/date-time-picker.d.ts.map +1 -0
  20. package/dist/components/document-list/date-time-picker.js +112 -0
  21. package/dist/components/document-list/date-with-timezone-hint.d.ts +11 -0
  22. package/dist/components/document-list/date-with-timezone-hint.d.ts.map +1 -0
  23. package/dist/components/document-list/date-with-timezone-hint.js +95 -0
  24. package/dist/components/document-list/document-edit-actions-footer.d.ts +1 -0
  25. package/dist/components/document-list/document-edit-actions-footer.d.ts.map +1 -1
  26. package/dist/components/document-list/document-edit-actions-footer.js +2 -5
  27. package/dist/components/document-list/document.d.ts.map +1 -1
  28. package/dist/components/document-list/document.js +8 -0
  29. package/dist/components/document-list/editors/date-editor.d.ts +4 -0
  30. package/dist/components/document-list/editors/date-editor.d.ts.map +1 -0
  31. package/dist/components/document-list/editors/date-editor.js +135 -0
  32. package/dist/components/document-list/editors/default-editor.d.ts +4 -0
  33. package/dist/components/document-list/editors/default-editor.d.ts.map +1 -0
  34. package/dist/components/document-list/editors/default-editor.js +46 -0
  35. package/dist/components/document-list/editors/editor-with-label.d.ts +7 -0
  36. package/dist/components/document-list/editors/editor-with-label.d.ts.map +1 -0
  37. package/dist/components/document-list/editors/editor-with-label.js +28 -0
  38. package/dist/components/document-list/editors/input-editor.d.ts +4 -0
  39. package/dist/components/document-list/editors/input-editor.d.ts.map +1 -0
  40. package/dist/components/document-list/editors/input-editor.js +24 -0
  41. package/dist/components/document-list/editors/shared.d.ts +16 -0
  42. package/dist/components/document-list/editors/shared.d.ts.map +1 -0
  43. package/dist/components/document-list/editors/shared.js +34 -0
  44. package/dist/components/document-list/editors/text-editor.d.ts +4 -0
  45. package/dist/components/document-list/editors/text-editor.d.ts.map +1 -0
  46. package/dist/components/document-list/editors/text-editor.js +85 -0
  47. package/dist/components/document-list/editors/uuid-editor.d.ts +4 -0
  48. package/dist/components/document-list/editors/uuid-editor.d.ts.map +1 -0
  49. package/dist/components/document-list/editors/uuid-editor.js +54 -0
  50. package/dist/components/document-list/element-editors.d.ts +1 -1
  51. package/dist/components/document-list/element-editors.d.ts.map +1 -1
  52. package/dist/components/document-list/element-editors.js +56 -135
  53. package/dist/components/document-list/element.d.ts.map +1 -1
  54. package/dist/components/document-list/element.js +114 -39
  55. package/dist/components/document-list/field-drag.d.ts +27 -0
  56. package/dist/components/document-list/field-drag.d.ts.map +1 -0
  57. package/dist/components/document-list/field-drag.js +40 -0
  58. package/dist/components/document-list/index.d.ts +2 -1
  59. package/dist/components/document-list/index.d.ts.map +1 -1
  60. package/dist/components/document-list/index.js +8 -3
  61. package/dist/components/document-list/visible-field-toggle.d.ts.map +1 -1
  62. package/dist/components/document-list/visible-field-toggle.js +2 -0
  63. package/dist/components/drawer-portal.d.ts +4 -2
  64. package/dist/components/drawer-portal.d.ts.map +1 -1
  65. package/dist/components/error-boundary.d.ts +1 -0
  66. package/dist/components/error-boundary.d.ts.map +1 -1
  67. package/dist/components/file-picker-dialog.d.ts +1 -0
  68. package/dist/components/file-picker-dialog.d.ts.map +1 -1
  69. package/dist/components/guide-cue/guide-cue.d.ts +2 -1
  70. package/dist/components/guide-cue/guide-cue.d.ts.map +1 -1
  71. package/dist/components/guide-cue/guide-cue.js +10 -0
  72. package/dist/components/inline-definition.js +2 -2
  73. package/dist/components/leafygreen.d.ts +1 -35
  74. package/dist/components/leafygreen.d.ts.map +1 -1
  75. package/dist/components/links/link.d.ts +1 -1
  76. package/dist/components/links/link.d.ts.map +1 -1
  77. package/dist/components/modals/form-modal.d.ts +2 -1
  78. package/dist/components/modals/form-modal.d.ts.map +1 -1
  79. package/dist/components/modals/form-modal.js +2 -2
  80. package/dist/components/modals/modal-body.d.ts.map +1 -1
  81. package/dist/components/modals/modal-body.js +7 -0
  82. package/dist/components/resize-handle.d.ts.map +1 -1
  83. package/dist/components/resize-handle.js +5 -8
  84. package/dist/components/select-list.d.ts.map +1 -1
  85. package/dist/components/select-list.js +2 -2
  86. package/dist/components/signal-popover.d.ts +1 -1
  87. package/dist/components/signal-popover.d.ts.map +1 -1
  88. package/dist/components/signal-popover.js +2 -1
  89. package/dist/components/workspace-container.d.ts +2 -2
  90. package/dist/components/workspace-container.d.ts.map +1 -1
  91. package/dist/components/workspace-tabs/workspace-tabs.d.ts.map +1 -1
  92. package/dist/components/workspace-tabs/workspace-tabs.js +1 -1
  93. package/dist/hooks/use-confirmation.d.ts +3 -1
  94. package/dist/hooks/use-confirmation.d.ts.map +1 -1
  95. package/dist/hooks/use-confirmation.js +25 -15
  96. package/dist/hooks/use-copy-paste-context-menu.d.ts +1 -1
  97. package/dist/hooks/use-copy-paste-context-menu.d.ts.map +1 -1
  98. package/dist/hooks/use-stacked-component.d.ts.map +1 -1
  99. package/dist/hooks/use-theme.d.ts.map +1 -1
  100. package/dist/hooks/use-toast.d.ts +3 -1
  101. package/dist/hooks/use-toast.d.ts.map +1 -1
  102. package/dist/index.d.ts +2 -0
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +8 -4
  105. package/dist/utils/format-date.d.ts +17 -0
  106. package/dist/utils/format-date.d.ts.map +1 -1
  107. package/dist/utils/format-date.js +33 -2
  108. package/dist/utils/nbsp.d.ts +9 -0
  109. package/dist/utils/nbsp.d.ts.map +1 -0
  110. package/dist/utils/nbsp.js +19 -0
  111. package/package.json +17 -17
  112. package/dist/components/document-list/legacy-uuid-format-context.d.ts +0 -4
  113. package/dist/components/document-list/legacy-uuid-format-context.d.ts.map +0 -1
  114. package/dist/components/document-list/legacy-uuid-format-context.js +0 -9
@@ -40,6 +40,7 @@ exports.HadronElement = exports.getNestedKeyPathForElement = exports.calculateSh
40
40
  const react_1 = __importStar(require("react"));
41
41
  const hadron_document_1 = require("hadron-document");
42
42
  const bson_value_1 = __importDefault(require("../bson-value"));
43
+ const bson_utils_1 = require("./bson-utils");
43
44
  const tokens_1 = require("@leafygreen-ui/tokens");
44
45
  const element_editors_1 = require("./element-editors");
45
46
  const element_actions_1 = require("./element-actions");
@@ -53,7 +54,8 @@ const visible_field_toggle_1 = __importDefault(require("./visible-field-toggle")
53
54
  const mongodb_query_util_1 = require("mongodb-query-util");
54
55
  const context_menu_1 = require("../context-menu");
55
56
  const use_sync_state_on_prop_change_1 = require("../../hooks/use-sync-state-on-prop-change");
56
- const legacy_uuid_format_context_1 = require("./legacy-uuid-format-context");
57
+ const bson_display_options_context_1 = require("./bson-display-options-context");
58
+ const field_drag_1 = require("./field-drag");
57
59
  function useElementEditor(el, displayType) {
58
60
  return (0, react_1.useMemo)(() => {
59
61
  const Editor = (0, hadron_document_1.getEditorByType)(displayType);
@@ -62,8 +64,8 @@ function useElementEditor(el, displayType) {
62
64
  }
63
65
  function useHadronElement(el) {
64
66
  const forceUpdate = (0, use_force_update_1.useForceUpdate)();
65
- const legacyUUIDEncoding = (0, legacy_uuid_format_context_1.useLegacyUUIDDisplayContext)();
66
- const displayType = (0, hadron_document_1.getDisplayType)(el, legacyUUIDEncoding);
67
+ const { legacyUUIDDisplayEncoding } = (0, bson_display_options_context_1.useBSONDisplayOptions)();
68
+ const displayType = (0, hadron_document_1.getDisplayType)(el, legacyUUIDDisplayEncoding);
67
69
  const editor = useElementEditor(el, displayType);
68
70
  // NB: Duplicate key state is kept local to the component and not derived on
69
71
  // every change so that only the changed key is highlighed as duplicate
@@ -167,6 +169,7 @@ function useHadronElement(el) {
167
169
  visibleChildren: el.getVisibleElements(),
168
170
  level: el.level,
169
171
  parentType: el.parent?.currentType,
172
+ modified: el.isModified(),
170
173
  removed: el.isRemoved(),
171
174
  internal: el.isInternalField(),
172
175
  expanded: el.expanded,
@@ -212,6 +215,7 @@ const elementRemovedLightMode = (0, emotion_1.css)({
212
215
  backgroundColor: palette_1.palette.red.light2,
213
216
  },
214
217
  });
218
+ const elementModifiedLightMode = elementInvalidLightMode;
215
219
  const elementInvalidDarkMode = (0, emotion_1.css)({
216
220
  backgroundColor: palette_1.palette.yellow.dark3,
217
221
  '&:hover': {
@@ -224,16 +228,19 @@ const elementRemovedDarkMode = (0, emotion_1.css)({
224
228
  backgroundColor: palette_1.palette.red.dark2,
225
229
  },
226
230
  });
231
+ const elementModifiedDarkMode = elementInvalidDarkMode;
227
232
  const elementActions = (0, emotion_1.css)({
228
233
  flex: 'none',
229
234
  width: tokens_1.spacing[300],
230
235
  position: 'relative',
236
+ userSelect: 'none',
231
237
  });
232
238
  const elementLineNumber = (0, emotion_1.css)({
233
239
  flex: 'none',
234
240
  position: 'relative',
235
241
  marginLeft: tokens_1.spacing[100],
236
242
  boxSizing: 'content-box',
243
+ userSelect: 'none',
237
244
  });
238
245
  const addFieldActionsContainer = (0, emotion_1.css)({
239
246
  position: 'absolute',
@@ -278,22 +285,43 @@ const lineNumberRemovedDarkMode = (0, emotion_1.css)({
278
285
  });
279
286
  const elementSpacer = (0, emotion_1.css)({
280
287
  flex: 'none',
288
+ userSelect: 'none',
281
289
  });
282
290
  const elementExpand = (0, emotion_1.css)({
283
291
  width: tokens_1.spacing[400],
284
292
  flex: 'none',
285
293
  display: 'flex',
286
294
  alignItems: 'center',
295
+ userSelect: 'none',
287
296
  });
288
297
  const elementKey = (0, emotion_1.css)({
289
298
  flex: 'none',
290
299
  fontWeight: 'bold',
300
+ minWidth: '1em',
291
301
  maxWidth: '60%',
292
302
  });
303
+ const elementKeyInline = (0, emotion_1.css)({
304
+ // Inline-block to keep the key's own max width and ellipsis, aligned to the
305
+ // bottom for the box's baseline.
306
+ display: 'inline-block',
307
+ verticalAlign: 'bottom',
308
+ overflow: 'hidden',
309
+ textOverflow: 'ellipsis',
310
+ });
311
+ const elementKeyDraggable = (0, emotion_1.css)({
312
+ cursor: 'grab',
313
+ '&:active': {
314
+ cursor: 'grabbing',
315
+ },
316
+ });
293
317
  const elementKeyInternal = (0, emotion_1.css)({
294
318
  color: palette_1.palette.gray.base,
295
319
  });
296
320
  const elementDivider = (0, emotion_1.css)({
321
+ flex: 'none',
322
+ display: 'inline',
323
+ });
324
+ const elementDecryptedIcon = (0, emotion_1.css)({
297
325
  flex: 'none',
298
326
  userSelect: 'none',
299
327
  });
@@ -301,10 +329,27 @@ const elementValue = (0, emotion_1.css)({
301
329
  flex: 1,
302
330
  minWidth: 0,
303
331
  maxWidth: '100%',
332
+ display: 'inline',
333
+ });
334
+ const elementContent = (0, emotion_1.css)({
335
+ display: 'flex',
336
+ flex: 1,
337
+ minWidth: 0,
338
+ });
339
+ // When not editing we want the key and value inline for copy-ability.
340
+ const elementContentInline = (0, emotion_1.css)({
341
+ display: 'block',
342
+ flex: 1,
343
+ minWidth: 0,
344
+ whiteSpace: 'nowrap',
345
+ overflow: 'hidden',
346
+ textOverflow: 'ellipsis',
347
+ [bson_utils_1.bsonValueDisplayVar]: 'inline',
304
348
  });
305
349
  const elementType = (0, emotion_1.css)({
306
350
  flex: 'none',
307
351
  marginLeft: tokens_1.spacing[100],
352
+ userSelect: 'none',
308
353
  });
309
354
  const actions = (0, emotion_1.css)({
310
355
  display: 'none',
@@ -385,7 +430,7 @@ exports.getNestedKeyPathForElement = getNestedKeyPathForElement;
385
430
  const HadronElement = ({ value: element, editable, editingEnabled, onEditStart, lineNumberSize, onAddElement, extraGutterWidth = 0, onUpdateQuery, query, }) => {
386
431
  const darkMode = (0, use_theme_1.useDarkMode)();
387
432
  const autoFocus = (0, auto_focus_context_1.useAutoFocusContext)();
388
- const { id, key, value, type, revert, remove, expandable, children, visibleChildren, level, parentType, removed, internal, expanded, expand, collapse, } = useHadronElement(element);
433
+ const { id, key, value, type, revert, remove, expandable, children, visibleChildren, level, parentType, modified, removed, internal, expanded, expand, collapse, } = useHadronElement(element);
389
434
  // Function to check if a field is in the query
390
435
  // TODO: COMPASS-9541 Improve the functionality when checking for nested objects.
391
436
  const isFieldInQuery = (0, react_1.useCallback)((field, fieldValue) => {
@@ -406,10 +451,16 @@ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart,
406
451
  },
407
452
  }
408
453
  : undefined,
454
+ {
455
+ label: 'Copy value',
456
+ onAction: () => {
457
+ void navigator.clipboard.writeText(element.toShellSyntax());
458
+ },
459
+ },
409
460
  {
410
461
  label: 'Copy field & value',
411
462
  onAction: () => {
412
- void navigator.clipboard.writeText(`${key.value}: ${element.toEJSON()}`);
463
+ void navigator.clipboard.writeText(`${key.value}: ${element.toShellSyntax()}`);
413
464
  },
414
465
  },
415
466
  type.value === 'String' && isValidUrl(value.value)
@@ -423,6 +474,24 @@ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart,
423
474
  ],
424
475
  },
425
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]);
426
495
  const toggleExpanded = () => {
427
496
  if (expanded) {
428
497
  collapse();
@@ -466,11 +535,16 @@ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart,
466
535
  : elementInvalidLightMode;
467
536
  const elementProps = {
468
537
  ref: fieldContextMenuRef,
469
- className: (0, emotion_1.cx)(hadronElement, darkMode ? hadronElementDarkMode : hadronElementLightMode, removed ? elementRemoved : editingEnabled && !isValid && elementInvalid),
538
+ className: (0, emotion_1.cx)(hadronElement, darkMode ? hadronElementDarkMode : hadronElementLightMode, modified &&
539
+ !expanded &&
540
+ (darkMode ? elementModifiedDarkMode : elementModifiedLightMode), removed ? elementRemoved : editingEnabled && !isValid && elementInvalid),
470
541
  onClick: toggleExpanded,
471
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;
472
546
  const keyProps = {
473
- className: (0, emotion_1.cx)(elementKey, internal && elementKeyInternal, darkMode && elementKeyDarkMode),
547
+ className: (0, emotion_1.cx)(elementKey, !editingEnabled && elementKeyInline, internal && elementKeyInternal, darkMode && elementKeyDarkMode, keyDraggable && elementKeyDraggable),
474
548
  };
475
549
  const lineNumberRemoved = darkMode
476
550
  ? lineNumberRemovedDarkMode
@@ -508,38 +582,39 @@ const HadronElement = ({ value: element, editable, editingEnabled, onEditStart,
508
582
  toggleExpanded();
509
583
  } },
510
584
  react_1.default.createElement(leafygreen_1.Icon, { size: "xsmall", glyph: expanded ? 'CaretDown' : 'CaretRight' })))),
511
- 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) => {
512
- key.change(newVal);
513
- },
514
- // This autofocus will only trigger after user deliberately
515
- // double-clicked on a field and so auto focusing the input is
516
- // expected in this case
517
- // eslint-disable-next-line jsx-a11y/no-autofocus
518
- autoFocus: autoFocus?.id === id && autoFocus?.type === 'key', editing: editingEnabled, onEditStart: () => {
519
- onEditStart?.(element.uuid, 'key');
520
- } })) : (react_1.default.createElement("span", null, key.value))),
521
- react_1.default.createElement("div", { className: elementDivider, role: "presentation" }, ":\u00A0"),
522
- react_1.default.createElement("div", { className: elementDivider, role: "presentation" }, value.decrypted && (react_1.default.createElement("span", { "data-testid": "hadron-document-element-decrypted-icon", title: "Encrypted Field" },
523
- react_1.default.createElement(leafygreen_1.Icon, { glyph: "Key", size: "small" })))),
524
- react_1.default.createElement("div", { className: elementValue, "data-testid": "hadron-document-element-value" }, value.editable ? (react_1.default.createElement(element_editors_1.ValueEditor, { type: type.value, originalValue: value.originalValue, value: value.value, valid: value.valid, validationMessage: value.validationMessage, onChange: (newVal) => {
525
- value.change(newVal);
526
- },
527
- // See above
528
- // eslint-disable-next-line jsx-a11y/no-autofocus
529
- autoFocus: autoFocus?.id === id && autoFocus?.type === 'value', editing: editingEnabled, onEditStart: () => {
530
- onEditStart?.(element.uuid, 'value');
531
- }, onFocus: () => {
532
- value.startEdit();
533
- }, onBlur: () => {
534
- value.completeEdit();
535
- } })) : (react_1.default.createElement("div", { "data-testid": editable && !editingEnabled
536
- ? 'hadron-document-clickable-value'
537
- : undefined, onDoubleClick: () => {
538
- if (editable && !editingEnabled) {
539
- onEditStart?.(element.uuid, 'type');
540
- }
541
- } },
542
- react_1.default.createElement(bson_value_1.default, { type: type.value, value: value.originalValue })))),
585
+ react_1.default.createElement("div", { className: editingEnabled ? elementContent : elementContentInline },
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) => {
587
+ key.change(newVal);
588
+ },
589
+ // This autofocus will only trigger after user deliberately
590
+ // double-clicked on a field and so auto focusing the input is
591
+ // expected in this case
592
+ // eslint-disable-next-line jsx-a11y/no-autofocus
593
+ autoFocus: autoFocus?.id === id && autoFocus?.type === 'key', editing: editingEnabled, onEditStart: () => {
594
+ onEditStart?.(element.uuid, 'key');
595
+ } })) : (react_1.default.createElement("span", null, key.value))),
596
+ react_1.default.createElement("div", { className: elementDivider, role: "presentation" }, ":\u00A0"),
597
+ value.decrypted && (react_1.default.createElement("span", { className: elementDecryptedIcon, "data-testid": "hadron-document-element-decrypted-icon", title: "Encrypted Field" },
598
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "Key", size: "small" }))),
599
+ react_1.default.createElement("div", { className: elementValue, "data-testid": "hadron-document-element-value" }, value.editable ? (react_1.default.createElement(element_editors_1.ValueEditor, { type: type.value, originalValue: value.originalValue, value: value.value, valid: value.valid, validationMessage: value.validationMessage, onChange: (newVal) => {
600
+ value.change(newVal);
601
+ },
602
+ // See above
603
+ // eslint-disable-next-line jsx-a11y/no-autofocus
604
+ autoFocus: autoFocus?.id === id && autoFocus?.type === 'value', editing: editingEnabled, onEditStart: () => {
605
+ onEditStart?.(element.uuid, 'value');
606
+ }, onFocus: () => {
607
+ value.startEdit();
608
+ }, onBlur: () => {
609
+ value.completeEdit();
610
+ } })) : (react_1.default.createElement("span", { "data-testid": editable && !editingEnabled
611
+ ? 'hadron-document-clickable-value'
612
+ : undefined, onDoubleClick: () => {
613
+ if (editable && !editingEnabled) {
614
+ onEditStart?.(element.uuid, 'type');
615
+ }
616
+ } },
617
+ react_1.default.createElement(bson_value_1.default, { type: type.value, value: value.originalValue }))))),
543
618
  editable && (react_1.default.createElement("div", { className: elementType, "data-testid": "hadron-document-element-type" },
544
619
  react_1.default.createElement(element_editors_1.TypeEditor, { editing: editingEnabled, type: type.value,
545
620
  // See above
@@ -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 { LegacyUUIDDisplayContext, type LegacyUUIDDisplay, } from './legacy-uuid-format-context';
5
+ export { DOCUMENT_FIELD_DRAG_TYPE, setDraggedDocumentField, getDraggedDocumentField, type DraggedDocumentField, } from './field-drag';
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,wBAAwB,EACxB,KAAK,iBAAiB,GACvB,MAAM,8BAA8B,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.LegacyUUIDDisplayContext = 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,5 +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 legacy_uuid_format_context_1 = require("./legacy-uuid-format-context");
16
- Object.defineProperty(exports, "LegacyUUIDDisplayContext", { enumerable: true, get: function () { return legacy_uuid_format_context_1.LegacyUUIDDisplayContext; } });
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; } });
19
+ var bson_display_options_context_1 = require("./bson-display-options-context");
20
+ Object.defineProperty(exports, "BSONDisplayOptionsProvider", { enumerable: true, get: function () { return bson_display_options_context_1.BSONDisplayOptionsProvider; } });
21
+ Object.defineProperty(exports, "useBSONDisplayOptions", { enumerable: true, get: function () { return bson_display_options_context_1.useBSONDisplayOptions; } });
@@ -1 +1 @@
1
- {"version":3,"file":"visible-field-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/visible-field-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AA0BpD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CA4EA,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"visible-field-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/visible-field-toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AA4BpD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CA4EA,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -42,6 +42,8 @@ const container = (0, emotion_1.css)({
42
42
  display: 'flex',
43
43
  gap: tokens_1.spacing[200],
44
44
  paddingTop: tokens_1.spacing[200],
45
+ // Not a part of the document, keep it out of selectable/copied text.
46
+ userSelect: 'none',
45
47
  });
46
48
  const linkButtonStyles = (0, emotion_1.css)({
47
49
  border: 'none',
@@ -63,12 +63,14 @@ export declare const DrawerContentProvider: React.FunctionComponent<{
63
63
  * DrawerAnchor component will render the drawer in any place it is rendered.
64
64
  * This component has to wrap any content that Drawer will be shown near
65
65
  */
66
- export declare const DrawerAnchor: React.FunctionComponent;
66
+ export declare const DrawerAnchor: React.FunctionComponent<{
67
+ children?: React.ReactNode;
68
+ }>;
67
69
  /**
68
70
  * DrawerSection allows to declaratively render sections inside the drawer
69
71
  * independantly from the Drawer itself
70
72
  */
71
- export declare const DrawerSection: React.FunctionComponent<DrawerSectionProps>;
73
+ export declare const DrawerSection: React.FunctionComponent<React.PropsWithChildren<DrawerSectionProps>>;
72
74
  export { DrawerDisplayMode };
73
75
  export declare function useDrawerActions(): {
74
76
  openDrawer: (id: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-portal.d.ts","sourceRoot":"","sources":["../../src/components/drawer-portal.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,WAAW,IAAI,iBAAiB,EAEhC,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMrE,KAAK,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC;AAE9D,KAAK,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAEvC,KAAK,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IAKnE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAE5C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAoEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAwGA,CAAC;AAgGF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBA8QhC,CAAC;AAWF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAgFrE,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,wBAAgB,gBAAgB;qBAUX,MAAM;;EAmD1B;AAED,eAAO,MAAM,cAAc;;CAS1B,CAAC;AAEF,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"drawer-portal.d.ts","sourceRoot":"","sources":["../../src/components/drawer-portal.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,WAAW,IAAI,iBAAiB,EAEhC,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMrE,KAAK,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC;AAE9D,KAAK,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAEvC,KAAK,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IAKnE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAE5C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAoEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC1D,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAwGA,CAAC;AAkGF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CA8QA,CAAC;AAWF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CACjD,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CA8E5C,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,wBAAgB,gBAAgB;qBAUX,MAAM;;EAmD1B;AAED,eAAO,MAAM,cAAc;;CAS1B,CAAC;AAEF,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -4,6 +4,7 @@ type Props = {
4
4
  className?: string;
5
5
  displayName?: string;
6
6
  onError?: (error: Error, errorInfo: ErrorInfo) => void;
7
+ children?: React.ReactNode;
7
8
  };
8
9
  declare const _ErrorBoundary: React.FunctionComponent<Props>;
9
10
  export { _ErrorBoundary as ErrorBoundary };
@@ -1 +1 @@
1
- {"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../src/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CACxD,CAAC;AAqCF,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CASlD,CAAC;AAEF,OAAO,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"error-boundary.d.ts","sourceRoot":"","sources":["../../src/components/error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAqCF,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CASlD,CAAC;AAEF,OAAO,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC"}
@@ -39,6 +39,7 @@ export type ElectronWebUtilsProvider = {
39
39
  };
40
40
  export declare const FileInputBackendProvider: React.FunctionComponent<{
41
41
  createFileInputBackend: (() => FileInputBackend) | null;
42
+ children?: React.ReactNode;
42
43
  }>;
43
44
  export declare function createJSDomFileInputDummyBackend(): () => FileInputBackend;
44
45
  export declare function createElectronFileInputBackend<ElectronWindow>(electron: ElectronShowFileDialogProvider<ElectronWindow>, webUtils: ElectronWebUtilsProvider | null): () => FileInputBackend;
@@ -1 +1 @@
1
- {"version":3,"file":"file-picker-dialog.d.ts","sourceRoot":"","sources":["../../src/components/file-picker-dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-picker-dialog.d.ts","sourceRoot":"","sources":["../../src/components/file-picker-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAmIf,KAAK,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAGzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,yBAAyB,CAAC;AAK9B,MAAM,MAAM,gBAAgB,GAAG;IAE7B,eAAe,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAGvD,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAEnE,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,uBAC3B,gBAAgB,SAClB,CAAC;AAeR,MAAM,MAAM,8BAA8B,CAAC,cAAc,IAAI;IAC3D,gBAAgB,IAAI,cAAc,CAAC;IACnC,MAAM,EAAE;QACN,cAAc,CACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,OAAO,CAAC;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD,cAAc,CACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,OAAO,CAAC;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAErC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC7D,sBAAsB,EAAE,CAAC,MAAM,gBAAgB,CAAC,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAUA,CAAC;AAEF,wBAAgB,gCAAgC,IAAI,MAAM,gBAAgB,CAYzE;AASD,wBAAgB,8BAA8B,CAAC,cAAc,EAC3D,QAAQ,EAAE,8BAA8B,CAAC,cAAc,CAAC,EACxD,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GACxC,MAAM,gBAAgB,CA2ExB;AAWD;;;;;;;;;GASG;AACH,iBAAS,gBAAgB,CAAC,EACxB,QAAgB,EAChB,EAAE,EACF,KAAK,EACL,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,eAAe,EACf,KAAa,EACb,YAAY,EACZ,OAAmB,EACnB,iBAAyB,EACzB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,SAAS,EAET,KAAa,EACb,IAAa,EACb,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,UAAU,GACX,EAAE;IACD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAqM1C;AAED,eAAe,gBAAgB,CAAC"}
@@ -11,11 +11,12 @@ export type GroupCue = Cue & {
11
11
  groupId: GroupName;
12
12
  };
13
13
  type GuideCueContextValue = {
14
+ onShow?: (cue: Cue) => void;
14
15
  onNext?: (cue: Cue) => void;
15
16
  onNextGroup?: (groupCue: GroupCue) => void;
16
17
  disabled?: boolean;
17
18
  };
18
- export declare const GuideCueProvider: React.FC<GuideCueContextValue>;
19
+ export declare const GuideCueProvider: React.FC<React.PropsWithChildren<GuideCueContextValue>>;
19
20
  type LGGuideCueProps = React.ComponentProps<typeof LGGuideCue>;
20
21
  type GroupAndStep = {
21
22
  groupId: GroupName;
@@ -1 +1 @@
1
- {"version":3,"file":"guide-cue.d.ts","sourceRoot":"","sources":["../../../src/components/guide-cue/guide-cue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAUpD,MAAM,MAAM,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuB3D,CAAC;AAYF,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,KAAK,YAAY,GACb;IACE,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAGN,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,IAAI,CACjC,eAAe,EACf,aAAa,GAAG,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAC5E,GACC,YAAY,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IACjE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEJ,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,WAAW,EAAE,+HAW7C,aAAa,CAAC,CAAC,CAAC,sBAqLlB,CAAC"}
1
+ {"version":3,"file":"guide-cue.d.ts","sourceRoot":"","sources":["../../../src/components/guide-cue/guide-cue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAWpD,MAAM,MAAM,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CACrC,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAuB9C,CAAC;AAYF,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,KAAK,YAAY,GACb;IACE,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAGN,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,IAAI,CACjC,eAAe,EACf,aAAa,GAAG,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAC5E,GACC,YAAY,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IACjE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEJ,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,WAAW,EAAE,+HAW7C,aAAa,CAAC,CAAC,CAAC,sBA4LlB,CAAC"}
@@ -40,6 +40,7 @@ const guide_cue_1 = require("@leafygreen-ui/guide-cue");
40
40
  const guide_cue_groups_1 = require("./guide-cue-groups");
41
41
  const __1 = require("../..");
42
42
  const rafraf_1 = require("../../utils/rafraf");
43
+ const use_effect_on_change_1 = require("../../hooks/use-effect-on-change");
43
44
  const hiddenPopoverStyles = (0, __1.css)({
44
45
  display: 'none !important',
45
46
  opacity: '0 !important',
@@ -49,6 +50,9 @@ const GuideCueContext = react_1.default.createContext({});
49
50
  const GuideCueProvider = ({ children, disabled = false, ...callbacks }) => {
50
51
  const callbacksRef = (0, __1.useCurrentValueRef)(callbacks);
51
52
  const value = (0, react_1.useMemo)(() => ({
53
+ onShow(cue) {
54
+ callbacksRef.current.onShow?.(cue);
55
+ },
52
56
  onNext(cue) {
53
57
  callbacksRef.current.onNext?.(cue);
54
58
  },
@@ -181,6 +185,12 @@ const GuideCue = ({ description, trigger, triggerNode, cueId, groupId, step, onP
181
185
  };
182
186
  }, [isCueOpen, cueData, onNext, setOpen]);
183
187
  const isCueDisabled = context.disabled;
188
+ const isCueShown = readyToRender && !isCueDisabled && isCueOpen;
189
+ (0, use_effect_on_change_1.useEffectOnChange)(() => {
190
+ if (isCueShown) {
191
+ context.onShow?.(cueData);
192
+ }
193
+ }, isCueShown);
184
194
  return (react_1.default.createElement(react_1.default.Fragment, null,
185
195
  readyToRender && (react_1.default.createElement(guide_cue_1.GuideCue, { ...restOfCueProps, open: !isCueDisabled && isCueOpen, numberOfSteps: guide_cue_service_1.guideCueService.getCountOfSteps(cueData.groupId), onDismiss: () => {
186
196
  onDismiss?.();
@@ -17,8 +17,8 @@ const underline = (0, emotion_1.css)({
17
17
  const maxWidth = (0, emotion_1.css)({
18
18
  maxWidth: '360px',
19
19
  });
20
- const InlineDefinition = ({ children, definition, tooltipProps, ...props }) => {
21
- return (react_1.default.createElement(leafygreen_1.Tooltip, { justify: "middle", spacing: 5, trigger: react_1.default.createElement("span", { className: underline, ...props }, children), ...tooltipProps },
20
+ const InlineDefinition = ({ children, definition, tooltipProps, className, ...props }) => {
21
+ return (react_1.default.createElement(leafygreen_1.Tooltip, { justify: "middle", spacing: 5, trigger: react_1.default.createElement("span", { className: (0, emotion_1.cx)(underline, className), ...props }, children), ...tooltipProps },
22
22
  react_1.default.createElement(leafygreen_1.Body, { className: maxWidth }, definition)));
23
23
  };
24
24
  exports.InlineDefinition = InlineDefinition;
@@ -34,41 +34,7 @@ export { useMergeRefs } from '@leafygreen-ui/hooks';
34
34
  import { Toggle } from '@leafygreen-ui/toggle';
35
35
  import { H1, H2, H3, Subtitle, Body, InlineCode, InlineKeyCode, Disclaimer, Overline, Label, Description } from '@leafygreen-ui/typography';
36
36
  import { Combobox, ComboboxOption, ComboboxGroup } from '@leafygreen-ui/combobox';
37
- declare const Tooltip: React.FC<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "justify" | "className" | "onClick" | "spacing" | "onEnter" | "onEntering" | "onEntered" | "onExit" | "onExiting" | "onExited" | "maxHeight" | "maxWidth" | "popoverZIndex" | "refEl" | "renderMode" | "portalClassName" | "portalContainer" | "portalRef" | "scrollContainer"> & {
38
- justify?: import("@leafygreen-ui/menu").Justify | undefined;
39
- className?: string | undefined;
40
- onClick?: React.MouseEventHandler | undefined;
41
- spacing?: number | undefined;
42
- onEnter?: ((isAppearing: boolean) => void) | undefined;
43
- onEntering?: ((isAppearing: boolean) => void) | undefined;
44
- onEntered?: ((isAppearing: boolean) => void) | undefined;
45
- onExit?: (() => void) | undefined;
46
- onExiting?: (() => void) | undefined;
47
- onExited?: (() => void) | undefined;
48
- maxHeight?: number | undefined;
49
- maxWidth?: number | undefined;
50
- popoverZIndex?: number | undefined;
51
- refEl?: React.RefObject<HTMLElement> | undefined;
52
- renderMode?: "inline" | "portal" | "top-layer" | undefined;
53
- portalClassName?: string | undefined;
54
- portalContainer?: HTMLElement | null | undefined;
55
- portalRef?: React.MutableRefObject<HTMLElement | null> | undefined;
56
- scrollContainer?: HTMLElement | null | undefined;
57
- } & {
58
- align?: import("@leafygreen-ui/info-sprinkle").Align;
59
- trigger?: React.ReactElement | ((props: any) => React.ReactElement);
60
- triggerEvent?: import("@leafygreen-ui/tooltip").TriggerEvent;
61
- initialOpen?: boolean;
62
- open?: boolean;
63
- setOpen?: React.Dispatch<React.SetStateAction<boolean>>;
64
- darkMode?: boolean;
65
- id?: string;
66
- shouldClose?: () => boolean;
67
- enabled?: boolean;
68
- onClose?: () => void;
69
- baseFontSize?: import("@leafygreen-ui/chip").BaseFontSize;
70
- variant?: import("@leafygreen-ui/tooltip").TooltipVariant;
71
- }>;
37
+ declare const Tooltip: React.FC<import("@leafygreen-ui/tooltip").TooltipProps>;
72
38
  declare const Icon: {
73
39
  ({ size, ...rest }: Omit<React.ComponentProps<typeof LeafyGreenIcon>, "size"> & {
74
40
  size?: LeafyGreenIconSize | "xsmall" | number;
@@ -1 +1 @@
1
- {"version":3,"file":"leafygreen.d.ts","sourceRoot":"","sources":["../../src/components/leafygreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"leafygreen.d.ts","sourceRoot":"","sources":["../../src/components/leafygreen.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ type RequiredURLSearchParamsContextValue = {
6
6
  utmSource?: string;
7
7
  utmMedium?: string;
8
8
  };
9
- export declare const RequiredURLSearchParamsProvider: React.FC<RequiredURLSearchParamsContextValue>;
9
+ export declare const RequiredURLSearchParamsProvider: React.FC<React.PropsWithChildren<RequiredURLSearchParamsContextValue>>;
10
10
  export declare const urlWithUtmParams: (urlString: string, { utmSource, utmMedium }: {
11
11
  utmSource?: string;
12
12
  utmMedium?: string;