@mongodb-js/compass-components 1.67.1 → 1.69.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 (312) hide show
  1. package/dist/components/accordion.js +0 -1
  2. package/dist/components/actions/action-glyph.js +0 -1
  3. package/dist/components/actions/constants.js +0 -1
  4. package/dist/components/actions/dropdown-menu-button.js +0 -1
  5. package/dist/components/actions/item-action-button.js +0 -1
  6. package/dist/components/actions/item-action-controls.js +0 -1
  7. package/dist/components/actions/item-action-group.js +0 -1
  8. package/dist/components/actions/item-action-menu.js +0 -1
  9. package/dist/components/actions/small-icon-button.js +0 -1
  10. package/dist/components/actions/types.js +0 -1
  11. package/dist/components/actions/utils.js +0 -1
  12. package/dist/components/breadcrumb.js +0 -1
  13. package/dist/components/bson-value.d.ts +23 -12
  14. package/dist/components/bson-value.d.ts.map +1 -1
  15. package/dist/components/bson-value.js +53 -65
  16. package/dist/components/chevron-collapse-icon.js +0 -1
  17. package/dist/components/collapsible-field-set.js +1 -4
  18. package/dist/components/combobox-with-custom-option.js +0 -1
  19. package/dist/components/compass-components-provider.d.ts +6 -8
  20. package/dist/components/compass-components-provider.d.ts.map +1 -1
  21. package/dist/components/compass-components-provider.js +5 -6
  22. package/dist/components/context-menu.d.ts +1 -2
  23. package/dist/components/context-menu.d.ts.map +1 -1
  24. package/dist/components/context-menu.js +5 -3
  25. package/dist/components/document-list/auto-focus-context.js +0 -1
  26. package/dist/components/document-list/bson-display-options-context.d.ts +13 -0
  27. package/dist/components/document-list/bson-display-options-context.d.ts.map +1 -0
  28. package/dist/components/document-list/bson-display-options-context.js +56 -0
  29. package/dist/components/document-list/bson-utils.d.ts +10 -0
  30. package/dist/components/document-list/bson-utils.d.ts.map +1 -0
  31. package/dist/components/document-list/bson-utils.js +63 -0
  32. package/dist/components/document-list/date-time-picker.d.ts +6 -0
  33. package/dist/components/document-list/date-time-picker.d.ts.map +1 -0
  34. package/dist/components/document-list/date-time-picker.js +112 -0
  35. package/dist/components/document-list/date-with-timezone-hint.d.ts +11 -0
  36. package/dist/components/document-list/date-with-timezone-hint.d.ts.map +1 -0
  37. package/dist/components/document-list/date-with-timezone-hint.js +95 -0
  38. package/dist/components/document-list/document-actions-group.js +0 -1
  39. package/dist/components/document-list/document-edit-actions-footer.d.ts +1 -0
  40. package/dist/components/document-list/document-edit-actions-footer.d.ts.map +1 -1
  41. package/dist/components/document-list/document-edit-actions-footer.js +2 -6
  42. package/dist/components/document-list/document.d.ts.map +1 -1
  43. package/dist/components/document-list/document.js +8 -1
  44. package/dist/components/document-list/editors/date-editor.d.ts +4 -0
  45. package/dist/components/document-list/editors/date-editor.d.ts.map +1 -0
  46. package/dist/components/document-list/editors/date-editor.js +135 -0
  47. package/dist/components/document-list/editors/default-editor.d.ts +4 -0
  48. package/dist/components/document-list/editors/default-editor.d.ts.map +1 -0
  49. package/dist/components/document-list/editors/default-editor.js +46 -0
  50. package/dist/components/document-list/editors/editor-with-label.d.ts +7 -0
  51. package/dist/components/document-list/editors/editor-with-label.d.ts.map +1 -0
  52. package/dist/components/document-list/editors/editor-with-label.js +28 -0
  53. package/dist/components/document-list/editors/input-editor.d.ts +4 -0
  54. package/dist/components/document-list/editors/input-editor.d.ts.map +1 -0
  55. package/dist/components/document-list/editors/input-editor.js +24 -0
  56. package/dist/components/document-list/editors/shared.d.ts +16 -0
  57. package/dist/components/document-list/editors/shared.d.ts.map +1 -0
  58. package/dist/components/document-list/editors/shared.js +34 -0
  59. package/dist/components/document-list/editors/text-editor.d.ts +4 -0
  60. package/dist/components/document-list/editors/text-editor.d.ts.map +1 -0
  61. package/dist/components/document-list/editors/text-editor.js +85 -0
  62. package/dist/components/document-list/editors/uuid-editor.d.ts +4 -0
  63. package/dist/components/document-list/editors/uuid-editor.d.ts.map +1 -0
  64. package/dist/components/document-list/editors/uuid-editor.js +54 -0
  65. package/dist/components/document-list/element-actions.d.ts.map +1 -1
  66. package/dist/components/document-list/element-actions.js +11 -11
  67. package/dist/components/document-list/element-editors.d.ts +1 -1
  68. package/dist/components/document-list/element-editors.d.ts.map +1 -1
  69. package/dist/components/document-list/element-editors.js +56 -141
  70. package/dist/components/document-list/element.d.ts.map +1 -1
  71. package/dist/components/document-list/element.js +104 -41
  72. package/dist/components/document-list/index.d.ts +1 -1
  73. package/dist/components/document-list/index.d.ts.map +1 -1
  74. package/dist/components/document-list/index.js +4 -4
  75. package/dist/components/document-list/typography.js +0 -1
  76. package/dist/components/document-list/use-force-update.js +0 -1
  77. package/dist/components/document-list/visible-field-toggle.d.ts.map +1 -1
  78. package/dist/components/document-list/visible-field-toggle.js +2 -1
  79. package/dist/components/drawer-portal.d.ts +4 -2
  80. package/dist/components/drawer-portal.d.ts.map +1 -1
  81. package/dist/components/drawer-portal.js +0 -1
  82. package/dist/components/empty-content.js +0 -1
  83. package/dist/components/error-boundary.d.ts +1 -0
  84. package/dist/components/error-boundary.d.ts.map +1 -1
  85. package/dist/components/error-boundary.js +0 -1
  86. package/dist/components/error-warning-summary.js +0 -1
  87. package/dist/components/feedback-popover.js +0 -1
  88. package/dist/components/file-picker-dialog.d.ts +1 -0
  89. package/dist/components/file-picker-dialog.d.ts.map +1 -1
  90. package/dist/components/file-picker-dialog.js +0 -1
  91. package/dist/components/file-selector.js +0 -1
  92. package/dist/components/form-field-container.js +0 -1
  93. package/dist/components/guide-cue/guide-cue-exceptions.js +0 -1
  94. package/dist/components/guide-cue/guide-cue-groups.js +0 -1
  95. package/dist/components/guide-cue/guide-cue-service.js +0 -1
  96. package/dist/components/guide-cue/guide-cue-storage.js +0 -1
  97. package/dist/components/guide-cue/guide-cue.d.ts +2 -1
  98. package/dist/components/guide-cue/guide-cue.d.ts.map +1 -1
  99. package/dist/components/guide-cue/guide-cue.js +10 -1
  100. package/dist/components/horizontal-rule.js +0 -1
  101. package/dist/components/icons/document-icon.js +0 -1
  102. package/dist/components/icons/favorite-icon.js +0 -1
  103. package/dist/components/icons/logo-icon.js +0 -1
  104. package/dist/components/icons/no-saved-items-icon.js +0 -1
  105. package/dist/components/icons/png-icon.js +0 -1
  106. package/dist/components/icons/server-icon.js +0 -1
  107. package/dist/components/index-icon.js +0 -1
  108. package/dist/components/index-keys-badge.js +0 -1
  109. package/dist/components/inline-definition.js +2 -3
  110. package/dist/components/inline-info-link.js +0 -1
  111. package/dist/components/insights-chip.js +0 -1
  112. package/dist/components/interactive-popover.js +0 -1
  113. package/dist/components/keyline-card.js +0 -1
  114. package/dist/components/leafygreen.d.ts +1 -35
  115. package/dist/components/leafygreen.d.ts.map +1 -1
  116. package/dist/components/leafygreen.js +0 -1
  117. package/dist/components/links/link.d.ts +1 -1
  118. package/dist/components/links/link.d.ts.map +1 -1
  119. package/dist/components/links/link.js +0 -1
  120. package/dist/components/list-editor.js +0 -1
  121. package/dist/components/loader.js +0 -1
  122. package/dist/components/modals/confirmation-modal.js +0 -1
  123. package/dist/components/modals/form-modal.d.ts +2 -1
  124. package/dist/components/modals/form-modal.d.ts.map +1 -1
  125. package/dist/components/modals/form-modal.js +2 -3
  126. package/dist/components/modals/info-modal.js +0 -1
  127. package/dist/components/modals/marketing-modal.js +0 -1
  128. package/dist/components/modals/modal-body.d.ts.map +1 -1
  129. package/dist/components/modals/modal-body.js +7 -1
  130. package/dist/components/modals/modal-header.js +0 -1
  131. package/dist/components/modals/modal.js +0 -1
  132. package/dist/components/options-toggle.js +0 -1
  133. package/dist/components/placeholder.js +0 -1
  134. package/dist/components/radio-box-group.js +0 -1
  135. package/dist/components/resize-handle.d.ts.map +1 -1
  136. package/dist/components/resize-handle.js +5 -9
  137. package/dist/components/resizeable-sidebar.js +0 -1
  138. package/dist/components/select-list.d.ts.map +1 -1
  139. package/dist/components/select-list.js +2 -3
  140. package/dist/components/signal-popover.d.ts +1 -1
  141. package/dist/components/signal-popover.d.ts.map +1 -1
  142. package/dist/components/signal-popover.js +2 -4
  143. package/dist/components/signals.js +0 -1
  144. package/dist/components/tab-nav-bar.js +0 -1
  145. package/dist/components/toast-body.js +0 -1
  146. package/dist/components/virtual-grid.js +0 -1
  147. package/dist/components/virtual-list.js +1 -7
  148. package/dist/components/workspace-container.d.ts +2 -2
  149. package/dist/components/workspace-container.d.ts.map +1 -1
  150. package/dist/components/workspace-container.js +0 -1
  151. package/dist/components/workspace-tabs/tab.js +0 -1
  152. package/dist/components/workspace-tabs/use-tab-theme.js +0 -1
  153. package/dist/components/workspace-tabs/workspace-tabs.d.ts.map +1 -1
  154. package/dist/components/workspace-tabs/workspace-tabs.js +1 -2
  155. package/dist/force-emotion-speedy.js +0 -1
  156. package/dist/hooks/use-confirmation.d.ts +3 -1
  157. package/dist/hooks/use-confirmation.d.ts.map +1 -1
  158. package/dist/hooks/use-confirmation.js +2 -3
  159. package/dist/hooks/use-copy-paste-context-menu.d.ts +1 -1
  160. package/dist/hooks/use-copy-paste-context-menu.d.ts.map +1 -1
  161. package/dist/hooks/use-copy-paste-context-menu.js +0 -1
  162. package/dist/hooks/use-current-value-ref.js +0 -1
  163. package/dist/hooks/use-default-action.js +0 -1
  164. package/dist/hooks/use-dom-rect.js +0 -1
  165. package/dist/hooks/use-effect-on-change.js +0 -1
  166. package/dist/hooks/use-error-details.js +0 -1
  167. package/dist/hooks/use-focus-hover.js +0 -1
  168. package/dist/hooks/use-focus-ring.js +0 -1
  169. package/dist/hooks/use-formatted-date.js +0 -1
  170. package/dist/hooks/use-hotkeys.js +0 -1
  171. package/dist/hooks/use-initial-value.js +0 -1
  172. package/dist/hooks/use-persisted-state.js +0 -1
  173. package/dist/hooks/use-scrollbars.js +0 -1
  174. package/dist/hooks/use-sort.js +0 -1
  175. package/dist/hooks/use-stacked-component.d.ts.map +1 -1
  176. package/dist/hooks/use-stacked-component.js +0 -1
  177. package/dist/hooks/use-sync-state-on-prop-change.js +0 -1
  178. package/dist/hooks/use-theme.d.ts.map +1 -1
  179. package/dist/hooks/use-theme.js +0 -1
  180. package/dist/hooks/use-throttled-props.js +0 -1
  181. package/dist/hooks/use-toast.d.ts +3 -1
  182. package/dist/hooks/use-toast.d.ts.map +1 -1
  183. package/dist/hooks/use-toast.js +0 -1
  184. package/dist/hooks/use-virtual-grid.js +0 -1
  185. package/dist/hooks/use-virtual-list-item-observer.js +0 -1
  186. package/dist/index.d.ts +1 -0
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +6 -5
  189. package/dist/utils/format-date.d.ts +17 -0
  190. package/dist/utils/format-date.d.ts.map +1 -1
  191. package/dist/utils/format-date.js +33 -3
  192. package/dist/utils/format.js +0 -1
  193. package/dist/utils/merge-props.js +0 -1
  194. package/dist/utils/rafraf.js +0 -1
  195. package/dist/utils/reset-global-css.js +0 -1
  196. package/package.json +19 -19
  197. package/dist/components/accordion.js.map +0 -1
  198. package/dist/components/actions/action-glyph.js.map +0 -1
  199. package/dist/components/actions/constants.js.map +0 -1
  200. package/dist/components/actions/dropdown-menu-button.js.map +0 -1
  201. package/dist/components/actions/item-action-button.js.map +0 -1
  202. package/dist/components/actions/item-action-controls.js.map +0 -1
  203. package/dist/components/actions/item-action-group.js.map +0 -1
  204. package/dist/components/actions/item-action-menu.js.map +0 -1
  205. package/dist/components/actions/small-icon-button.js.map +0 -1
  206. package/dist/components/actions/types.js.map +0 -1
  207. package/dist/components/actions/utils.js.map +0 -1
  208. package/dist/components/breadcrumb.js.map +0 -1
  209. package/dist/components/bson-value.js.map +0 -1
  210. package/dist/components/chevron-collapse-icon.js.map +0 -1
  211. package/dist/components/collapsible-field-set.js.map +0 -1
  212. package/dist/components/combobox-with-custom-option.js.map +0 -1
  213. package/dist/components/compass-components-provider.js.map +0 -1
  214. package/dist/components/context-menu.js.map +0 -1
  215. package/dist/components/document-list/auto-focus-context.js.map +0 -1
  216. package/dist/components/document-list/document-actions-group.js.map +0 -1
  217. package/dist/components/document-list/document-edit-actions-footer.js.map +0 -1
  218. package/dist/components/document-list/document.js.map +0 -1
  219. package/dist/components/document-list/element-actions.js.map +0 -1
  220. package/dist/components/document-list/element-editors.js.map +0 -1
  221. package/dist/components/document-list/element.js.map +0 -1
  222. package/dist/components/document-list/index.js.map +0 -1
  223. package/dist/components/document-list/legacy-uuid-format-context.d.ts +0 -4
  224. package/dist/components/document-list/legacy-uuid-format-context.d.ts.map +0 -1
  225. package/dist/components/document-list/legacy-uuid-format-context.js +0 -10
  226. package/dist/components/document-list/legacy-uuid-format-context.js.map +0 -1
  227. package/dist/components/document-list/typography.js.map +0 -1
  228. package/dist/components/document-list/use-force-update.js.map +0 -1
  229. package/dist/components/document-list/visible-field-toggle.js.map +0 -1
  230. package/dist/components/drawer-portal.js.map +0 -1
  231. package/dist/components/empty-content.js.map +0 -1
  232. package/dist/components/error-boundary.js.map +0 -1
  233. package/dist/components/error-warning-summary.js.map +0 -1
  234. package/dist/components/feedback-popover.js.map +0 -1
  235. package/dist/components/file-picker-dialog.js.map +0 -1
  236. package/dist/components/file-selector.js.map +0 -1
  237. package/dist/components/form-field-container.js.map +0 -1
  238. package/dist/components/guide-cue/guide-cue-exceptions.js.map +0 -1
  239. package/dist/components/guide-cue/guide-cue-groups.js.map +0 -1
  240. package/dist/components/guide-cue/guide-cue-service.js.map +0 -1
  241. package/dist/components/guide-cue/guide-cue-storage.js.map +0 -1
  242. package/dist/components/guide-cue/guide-cue.js.map +0 -1
  243. package/dist/components/horizontal-rule.js.map +0 -1
  244. package/dist/components/icons/document-icon.js.map +0 -1
  245. package/dist/components/icons/favorite-icon.js.map +0 -1
  246. package/dist/components/icons/logo-icon.js.map +0 -1
  247. package/dist/components/icons/no-saved-items-icon.js.map +0 -1
  248. package/dist/components/icons/png-icon.js.map +0 -1
  249. package/dist/components/icons/server-icon.js.map +0 -1
  250. package/dist/components/index-icon.js.map +0 -1
  251. package/dist/components/index-keys-badge.js.map +0 -1
  252. package/dist/components/inline-definition.js.map +0 -1
  253. package/dist/components/inline-info-link.js.map +0 -1
  254. package/dist/components/insights-chip.js.map +0 -1
  255. package/dist/components/interactive-popover.js.map +0 -1
  256. package/dist/components/keyline-card.js.map +0 -1
  257. package/dist/components/leafygreen.js.map +0 -1
  258. package/dist/components/links/link.js.map +0 -1
  259. package/dist/components/list-editor.js.map +0 -1
  260. package/dist/components/loader.js.map +0 -1
  261. package/dist/components/modals/confirmation-modal.js.map +0 -1
  262. package/dist/components/modals/form-modal.js.map +0 -1
  263. package/dist/components/modals/info-modal.js.map +0 -1
  264. package/dist/components/modals/marketing-modal.js.map +0 -1
  265. package/dist/components/modals/modal-body.js.map +0 -1
  266. package/dist/components/modals/modal-header.js.map +0 -1
  267. package/dist/components/modals/modal.js.map +0 -1
  268. package/dist/components/options-toggle.js.map +0 -1
  269. package/dist/components/placeholder.js.map +0 -1
  270. package/dist/components/radio-box-group.js.map +0 -1
  271. package/dist/components/resize-handle.js.map +0 -1
  272. package/dist/components/resizeable-sidebar.js.map +0 -1
  273. package/dist/components/select-list.js.map +0 -1
  274. package/dist/components/signal-popover.js.map +0 -1
  275. package/dist/components/signals.js.map +0 -1
  276. package/dist/components/tab-nav-bar.js.map +0 -1
  277. package/dist/components/toast-body.js.map +0 -1
  278. package/dist/components/virtual-grid.js.map +0 -1
  279. package/dist/components/virtual-list.js.map +0 -1
  280. package/dist/components/workspace-container.js.map +0 -1
  281. package/dist/components/workspace-tabs/tab.js.map +0 -1
  282. package/dist/components/workspace-tabs/use-tab-theme.js.map +0 -1
  283. package/dist/components/workspace-tabs/workspace-tabs.js.map +0 -1
  284. package/dist/force-emotion-speedy.js.map +0 -1
  285. package/dist/hooks/use-confirmation.js.map +0 -1
  286. package/dist/hooks/use-copy-paste-context-menu.js.map +0 -1
  287. package/dist/hooks/use-current-value-ref.js.map +0 -1
  288. package/dist/hooks/use-default-action.js.map +0 -1
  289. package/dist/hooks/use-dom-rect.js.map +0 -1
  290. package/dist/hooks/use-effect-on-change.js.map +0 -1
  291. package/dist/hooks/use-error-details.js.map +0 -1
  292. package/dist/hooks/use-focus-hover.js.map +0 -1
  293. package/dist/hooks/use-focus-ring.js.map +0 -1
  294. package/dist/hooks/use-formatted-date.js.map +0 -1
  295. package/dist/hooks/use-hotkeys.js.map +0 -1
  296. package/dist/hooks/use-initial-value.js.map +0 -1
  297. package/dist/hooks/use-persisted-state.js.map +0 -1
  298. package/dist/hooks/use-scrollbars.js.map +0 -1
  299. package/dist/hooks/use-sort.js.map +0 -1
  300. package/dist/hooks/use-stacked-component.js.map +0 -1
  301. package/dist/hooks/use-sync-state-on-prop-change.js.map +0 -1
  302. package/dist/hooks/use-theme.js.map +0 -1
  303. package/dist/hooks/use-throttled-props.js.map +0 -1
  304. package/dist/hooks/use-toast.js.map +0 -1
  305. package/dist/hooks/use-virtual-grid.js.map +0 -1
  306. package/dist/hooks/use-virtual-list-item-observer.js.map +0 -1
  307. package/dist/index.js.map +0 -1
  308. package/dist/utils/format-date.js.map +0 -1
  309. package/dist/utils/format.js.map +0 -1
  310. package/dist/utils/merge-props.js.map +0 -1
  311. package/dist/utils/rafraf.js.map +0 -1
  312. package/dist/utils/reset-global-css.js.map +0 -1
@@ -118,4 +118,3 @@ function Accordion({ text, hintText, textClassName, buttonTextClassName, open: _
118
118
  hintText && (react_1.default.createElement(leafygreen_1.Description, { className: buttonHintStyles }, hintText)))),
119
119
  open && (react_1.default.createElement("div", { role: "region", "aria-labelledby": labelId, id: regionId }, props.children))));
120
120
  }
121
- //# sourceMappingURL=accordion.js.map
@@ -16,4 +16,3 @@ const ActionGlyph = ({ glyph, size, ...props }) => {
16
16
  return null;
17
17
  };
18
18
  exports.ActionGlyph = ActionGlyph;
19
- //# sourceMappingURL=action-glyph.js.map
@@ -6,4 +6,3 @@ exports.ItemActionButtonSize = {
6
6
  Small: 'small',
7
7
  Default: 'default',
8
8
  };
9
- //# sourceMappingURL=constants.js.map
@@ -85,4 +85,3 @@ function DropdownMenuButton({ isVisible = true, actions, onAction, renderMode, a
85
85
  : undefined }, label));
86
86
  })));
87
87
  }
88
- //# sourceMappingURL=dropdown-menu-button.js.map
@@ -11,4 +11,3 @@ const small_icon_button_1 = require("./small-icon-button");
11
11
  function ItemActionButton({ action, icon = react_1.default.createElement(react_1.default.Fragment, null), label, tooltip, iconSize = constants_1.ItemActionButtonSize.Default, onClick, iconClassName, className, iconStyle, isDisabled, 'data-testid': dataTestId, }) {
12
12
  return (react_1.default.createElement(small_icon_button_1.SmallIconButton, { key: action, glyph: icon, label: label, title: !tooltip ? label : undefined, size: iconSize, "data-action": action, "data-testid": dataTestId, onClick: onClick, className: (0, emotion_1.cx)(iconClassName, className), style: iconStyle, disabled: isDisabled }));
13
13
  }
14
- //# sourceMappingURL=item-action-button.js.map
@@ -79,4 +79,3 @@ function ItemActionControls({ isVisible = true, actions, onAction, className, me
79
79
  }
80
80
  return react_1.default.createElement(item_action_group_1.ItemActionGroup, { actions: actions, ...sharedProps });
81
81
  }
82
- //# sourceMappingURL=item-action-controls.js.map
@@ -78,4 +78,3 @@ function ItemActionGroup({ actions, onAction, isVisible = true, setHidable, clas
78
78
  return item;
79
79
  })));
80
80
  }
81
- //# sourceMappingURL=item-action-group.js.map
@@ -88,4 +88,3 @@ function ItemActionMenu({ actions, isVisible = true, setHidable, onAction, class
88
88
  return (react_1.default.createElement(leafygreen_1.MenuItem, { key: action, "data-testid": (0, utils_1.actionTestId)(dataTestId, action), "data-action": action, "data-menuitem": true, glyph: react_1.default.createElement(action_glyph_1.ActionGlyph, { glyph: icon, size: iconSize }), onClick: onClick, variant: variant || 'default', disabled: isDisabled, description: isDisabled ? disabledDescription : '' }, label));
89
89
  }))));
90
90
  }
91
- //# sourceMappingURL=item-action-menu.js.map
@@ -67,4 +67,3 @@ exports.SmallIconButton = (0, react_1.forwardRef)(function SmallIconButton({ gly
67
67
  react_1.default.createElement(action_glyph_1.ActionGlyph, { glyph: glyph, size: size })),
68
68
  children));
69
69
  });
70
- //# sourceMappingURL=small-icon-button.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -31,4 +31,3 @@ function splitBySeparator(actions) {
31
31
  }
32
32
  return result;
33
33
  }
34
- //# sourceMappingURL=utils.js.map
@@ -90,4 +90,3 @@ const Breadcrumbs = ({ items, className, }) => {
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
91
  };
92
92
  exports.Breadcrumbs = Breadcrumbs;
93
- //# sourceMappingURL=breadcrumb.js.map
@@ -1,20 +1,31 @@
1
1
  import React from 'react';
2
2
  import type { TypeCastMap } from 'hadron-type-checker';
3
3
  import type { DBRef } from 'bson';
4
- type ValueProps = {
5
- [type in keyof TypeCastMap]: {
6
- type: type;
7
- value: TypeCastMap[type];
8
- };
9
- }[keyof TypeCastMap] | {
10
- type: 'DBRef';
11
- value: DBRef;
4
+ type ValueTypeMap = TypeCastMap & {
5
+ DBRef: DBRef;
12
6
  };
13
- type ValueTypes = ValueProps['type'];
14
- export declare const BSONValueContainer: React.FunctionComponent<React.HTMLProps<HTMLDivElement> & {
7
+ type ValueTypes = keyof ValueTypeMap;
8
+ /**
9
+ * ValueProps external interface is meant to provide a correlation between type
10
+ * and the type of value.
11
+ *
12
+ * So `T` is used to capture the type name and pick the corresponding type
13
+ * out of ValueTypeMap.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * function x<T extends ValueTypes>(props: ValueProps<T>) {}
18
+ * x({ type: 'String', value: 'example' });
19
+ * x({ type: 'Decimal128', value: 'test' }); // Error
20
+ * ```
21
+ */
22
+ type ValueProps<T extends ValueTypes = ValueTypes> = {
23
+ type: T;
24
+ value: ValueTypeMap[T];
25
+ };
26
+ export declare const BSONValueContainer: React.FunctionComponent<React.HTMLProps<HTMLSpanElement> & {
15
27
  type?: ValueTypes;
16
- chidren?: React.ReactChildren;
17
28
  }>;
18
- declare const BSONValue: React.FunctionComponent<ValueProps>;
29
+ declare function BSONValue<T extends ValueTypes>(genericProps: ValueProps<T>): React.JSX.Element;
19
30
  export default BSONValue;
20
31
  //# sourceMappingURL=bson-value.d.ts.map
@@ -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;AAWlC,KAAK,UAAU,GACX;KACG,IAAI,IAAI,MAAM,WAAW,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;KAAE;CACtE,CAAC,MAAM,WAAW,CAAC,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAOpC,KAAK,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAyCrC,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CACtD,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B,CA+BF,CAAC;AA2aF,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAkDlD,CAAC;AAEF,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;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"}
@@ -38,60 +38,42 @@ 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
40
  const mongodb_query_parser_1 = require("mongodb-query-parser");
41
- const code_1 = require("@leafygreen-ui/code");
42
41
  const leafygreen_1 = require("./leafygreen");
43
42
  const tokens_1 = require("@leafygreen-ui/tokens");
44
43
  const emotion_1 = require("@leafygreen-ui/emotion");
45
- const use_theme_1 = require("../hooks/use-theme");
46
- const legacy_uuid_format_context_1 = require("./document-list/legacy-uuid-format-context");
44
+ const bson_utils_1 = require("./document-list/bson-utils");
45
+ const bson_display_options_context_1 = require("./document-list/bson-display-options-context");
46
+ const date_with_timezone_hint_1 = require("./document-list/date-with-timezone-hint");
47
47
  function truncate(str, length = 70) {
48
48
  const truncated = str.slice(0, length);
49
49
  return length < str.length ? `${truncated}…` : str;
50
50
  }
51
- const VALUE_COLOR_BY_THEME_AND_TYPE = {
52
- [use_theme_1.Themes.Dark]: {
53
- Int32: code_1.variantColors.dark[9],
54
- Double: code_1.variantColors.dark[9],
55
- Decimal128: code_1.variantColors.dark[9],
56
- Date: code_1.variantColors.dark[9],
57
- Boolean: code_1.variantColors.dark[10],
58
- String: code_1.variantColors.dark[7],
59
- ObjectId: code_1.variantColors.dark[5],
60
- },
61
- [use_theme_1.Themes.Light]: {
62
- Int32: code_1.variantColors.light[9],
63
- Double: code_1.variantColors.light[9],
64
- Decimal128: code_1.variantColors.light[9],
65
- Date: code_1.variantColors.light[9],
66
- Boolean: code_1.variantColors.light[10],
67
- String: code_1.variantColors.light[7],
68
- ObjectId: code_1.variantColors.light[5],
69
- },
70
- };
51
+ function truncateLines(str, lines = 3) {
52
+ let index = -1;
53
+ for (let i = 0; i < lines; i++) {
54
+ const next = str.indexOf('\n', index + 1);
55
+ if (next === -1)
56
+ return str;
57
+ index = next;
58
+ }
59
+ return `${str.slice(0, index)}…`;
60
+ }
71
61
  const bsonValue = (0, emotion_1.css)({
62
+ display: `var(${bson_utils_1.bsonValueDisplayVar}, block)`,
72
63
  whiteSpace: 'nowrap',
73
64
  overflow: 'hidden',
74
65
  textOverflow: 'ellipsis',
75
66
  });
76
67
  const bsonValuePrewrap = (0, emotion_1.css)({
77
- whiteSpace: 'pre-wrap',
68
+ whiteSpace: 'pre',
78
69
  });
70
+ // A span so that it stays valid markup whatever `bsonValueDisplayVar` resolves
71
+ // the display to, including inside the inline document list layout.
79
72
  const BSONValueContainer = ({ type, children, className, ...props }) => {
80
- const darkMode = (0, use_theme_1.useDarkMode)();
81
- const colorStyle = (0, react_1.useMemo)(() => {
82
- if (!type) {
83
- return;
84
- }
85
- return {
86
- color: VALUE_COLOR_BY_THEME_AND_TYPE[darkMode ? use_theme_1.Themes.Dark : use_theme_1.Themes.Light][type],
87
- };
88
- }, [type, darkMode]);
89
- return (react_1.default.createElement("div", { ...props, className: (0, emotion_1.cx)(className, bsonValue, type === 'String' && bsonValuePrewrap, `element-value element-value-is-${type ? type.toLowerCase() : 'unknown'}`), style: colorStyle }, children));
73
+ const bsonStyles = (0, bson_utils_1.useBsonThemeStyles)(type);
74
+ return (react_1.default.createElement("span", { ...props, className: (0, emotion_1.cx)(className, bsonValue, type === 'String' && bsonValuePrewrap, `element-value element-value-is-${type ? type.toLowerCase() : 'unknown'}`), style: bsonStyles }, children));
90
75
  };
91
76
  exports.BSONValueContainer = BSONValueContainer;
92
- const nonSelectable = (0, emotion_1.css)({
93
- userSelect: 'none',
94
- });
95
77
  const encryptedHelpLinkStyle = (0, emotion_1.css)({
96
78
  color: 'inherit',
97
79
  marginLeft: tokens_1.spacing[100],
@@ -100,28 +82,25 @@ const ObjectIdValue = ({ value, }) => {
100
82
  const stringifiedValue = (0, react_1.useMemo)(() => {
101
83
  return String(value);
102
84
  }, [value]);
103
- return (react_1.default.createElement(exports.BSONValueContainer, { type: "ObjectId", title: stringifiedValue },
104
- react_1.default.createElement("span", { className: nonSelectable }, "ObjectId('"),
105
- stringifiedValue,
106
- react_1.default.createElement("span", { className: nonSelectable }, "')")));
85
+ return (react_1.default.createElement(exports.BSONValueContainer, { type: "ObjectId", title: stringifiedValue }, (0, bson_utils_1.wrapValueWithBsonLabel)('ObjectId', stringifiedValue)));
107
86
  };
108
87
  const toLegacyJavaUUID = ({ value }) => {
109
88
  const hex = value.toString('hex');
110
89
  const reversedHex = (0, hadron_type_checker_1.reverseJavaUUIDBytes)(hex);
111
- return "LegacyJavaUUID('" + (0, hadron_type_checker_1.uuidHexToString)(reversedHex) + "')";
90
+ return (0, bson_utils_1.wrapValueWithBsonLabel)('LegacyJavaUUID', (0, hadron_type_checker_1.uuidHexToString)(reversedHex));
112
91
  };
113
92
  const toLegacyCSharpUUID = ({ value }) => {
114
93
  const hex = value.toString('hex');
115
94
  const reversedHex = (0, hadron_type_checker_1.reverseCSharpUUIDBytes)(hex);
116
- return "LegacyCSharpUUID('" + (0, hadron_type_checker_1.uuidHexToString)(reversedHex) + "')";
95
+ return (0, bson_utils_1.wrapValueWithBsonLabel)('LegacyCSharpUUID', (0, hadron_type_checker_1.uuidHexToString)(reversedHex));
117
96
  };
118
97
  const toLegacyPythonUUID = ({ value }) => {
119
98
  const hex = value.toString('hex');
120
- return "LegacyPythonUUID('" + (0, hadron_type_checker_1.uuidHexToString)(hex) + "')";
99
+ return (0, bson_utils_1.wrapValueWithBsonLabel)('LegacyPythonUUID', (0, hadron_type_checker_1.uuidHexToString)(hex));
121
100
  };
122
101
  // Binary sub_type 3.
123
102
  const LegacyUUIDValue = (bsonValue) => {
124
- const legacyUUIDDisplayEncoding = (0, legacy_uuid_format_context_1.useLegacyUUIDDisplayContext)();
103
+ const { legacyUUIDDisplayEncoding } = (0, bson_display_options_context_1.useBSONDisplayOptions)();
125
104
  const stringifiedValue = (0, react_1.useMemo)(() => {
126
105
  // UUID must be exactly 16 bytes.
127
106
  if (bsonValue.value.buffer.length === 16) {
@@ -167,17 +146,14 @@ const UUIDValue = ({ value, }) => {
167
146
  return value.toString('hex');
168
147
  }
169
148
  }, [value]);
170
- return (react_1.default.createElement(exports.BSONValueContainer, { type: "Binary", title: stringifiedValue },
171
- react_1.default.createElement("span", { className: nonSelectable }, "UUID('"),
172
- stringifiedValue,
173
- react_1.default.createElement("span", { className: nonSelectable }, "')")));
149
+ return (react_1.default.createElement(exports.BSONValueContainer, { type: "Binary", title: stringifiedValue }, (0, bson_utils_1.wrapValueWithBsonLabel)('UUID', stringifiedValue)));
174
150
  };
175
151
  // Legacy Java UUID value component
176
152
  const LegacyJavaUUIDValue = ({ value }) => {
177
153
  const stringifiedValue = (0, react_1.useMemo)(() => {
178
154
  // During editing, value might be a string
179
155
  if (typeof value === 'string') {
180
- return `LegacyJavaUUID('${value}')`;
156
+ return (0, bson_utils_1.wrapValueWithBsonLabel)('LegacyJavaUUID', value);
181
157
  }
182
158
  if (!value || !value.buffer) {
183
159
  return String(value);
@@ -191,7 +167,7 @@ const LegacyCSharpUUIDValue = ({ value }) => {
191
167
  const stringifiedValue = (0, react_1.useMemo)(() => {
192
168
  // During editing, value might be a string
193
169
  if (typeof value === 'string') {
194
- return `LegacyCSharpUUID('${value}')`;
170
+ return (0, bson_utils_1.wrapValueWithBsonLabel)('LegacyCSharpUUID', value);
195
171
  }
196
172
  if (!value || !value.buffer) {
197
173
  return String(value);
@@ -205,7 +181,7 @@ const LegacyPythonUUIDValue = ({ value }) => {
205
181
  const stringifiedValue = (0, react_1.useMemo)(() => {
206
182
  // During editing, value might be a string
207
183
  if (typeof value === 'string') {
208
- return `LegacyPythonUUID('${value}')`;
184
+ return (0, bson_utils_1.wrapValueWithBsonLabel)('LegacyPythonUUID', value);
209
185
  }
210
186
  if (!value || !value.buffer) {
211
187
  return String(value);
@@ -285,19 +261,20 @@ const DateValue = ({ value, }) => {
285
261
  return String(value);
286
262
  }
287
263
  }, [value]);
288
- return (react_1.default.createElement(exports.BSONValueContainer, { type: "Date", title: stringifiedValue }, stringifiedValue));
264
+ return (react_1.default.createElement(date_with_timezone_hint_1.DateWithTimezoneHint, { value: value },
265
+ react_1.default.createElement(exports.BSONValueContainer, { type: "Date", title: stringifiedValue }, (0, bson_utils_1.wrapValueWithBsonLabel)('Date', stringifiedValue))));
289
266
  };
290
267
  const NumberValue = ({ type, value }) => {
291
268
  const stringifiedValue = (0, react_1.useMemo)(() => {
292
- return String(value.valueOf());
293
- }, [value]);
269
+ return (0, bson_utils_1.wrapValueWithBsonLabel)(type, String(value));
270
+ }, [value, type]);
294
271
  return (react_1.default.createElement(exports.BSONValueContainer, { type: type, title: stringifiedValue }, stringifiedValue));
295
272
  };
296
273
  const StringValue = ({ value, }) => {
297
274
  const truncatedValue = (0, react_1.useMemo)(() => {
298
- return truncate(value, 70);
275
+ return truncateLines(truncate(value, 1000));
299
276
  }, [value]);
300
- return (react_1.default.createElement(exports.BSONValueContainer, { type: "String", title: value },
277
+ return (react_1.default.createElement(exports.BSONValueContainer, { type: "String", title: truncatedValue },
301
278
  "\"",
302
279
  truncatedValue,
303
280
  "\""));
@@ -322,8 +299,8 @@ const KeyValue = ({ type }) => {
322
299
  };
323
300
  const DBRefValue = ({ value, }) => {
324
301
  const stringifiedValue = (0, react_1.useMemo)(() => {
325
- return `DBRef('${value.collection}', ${(0, mongodb_query_parser_1.stringify)(value.oid)}${value?.db ? `, '${value.db}'` : ''})`;
326
- }, [value.collection, value.oid, value.db]);
302
+ return (0, mongodb_query_parser_1.toJSString)(value, 0);
303
+ }, [value]);
327
304
  return (react_1.default.createElement(exports.BSONValueContainer, { type: "DBRef", title: stringifiedValue }, stringifiedValue));
328
305
  };
329
306
  const SymbolValue = ({ value, }) => {
@@ -332,11 +309,11 @@ const SymbolValue = ({ value, }) => {
332
309
  }, [value]);
333
310
  return (react_1.default.createElement(exports.BSONValueContainer, { type: "BSONSymbol", title: stringifiedValue }, stringifiedValue));
334
311
  };
335
- const UnknownValue = ({ value }) => {
312
+ const UnknownValue = ({ value, type }) => {
336
313
  const stringifiedValue = (0, react_1.useMemo)(() => {
337
314
  return String(value);
338
315
  }, [value]);
339
- return (react_1.default.createElement(exports.BSONValueContainer, { title: stringifiedValue }, stringifiedValue));
316
+ return (react_1.default.createElement(exports.BSONValueContainer, { type: type, title: stringifiedValue }, stringifiedValue));
340
317
  };
341
318
  const ArrayValue = ({ value, }) => {
342
319
  const lengthString = (0, react_1.useMemo)(() => {
@@ -346,7 +323,17 @@ const ArrayValue = ({ value, }) => {
346
323
  "Array ",
347
324
  lengthString));
348
325
  };
349
- const BSONValue = (props) => {
326
+ const ObjectValue = ({ value, }) => {
327
+ const lengthString = (0, react_1.useMemo)(() => {
328
+ const keys = Object.keys(value ?? {});
329
+ return `(${keys.length === 0 ? 'empty' : keys.length})`;
330
+ }, [value]);
331
+ return (react_1.default.createElement(exports.BSONValueContainer, { title: `Object ${lengthString}` },
332
+ "Object ",
333
+ lengthString));
334
+ };
335
+ function BSONValue(genericProps) {
336
+ const props = genericProps;
350
337
  switch (props.type) {
351
338
  case 'ObjectId':
352
339
  return react_1.default.createElement(ObjectIdValue, { value: props.value });
@@ -367,6 +354,8 @@ const BSONValue = (props) => {
367
354
  return (react_1.default.createElement(LegacyPythonUUIDValue, { value: props.value }));
368
355
  case 'Int32':
369
356
  case 'Double':
357
+ case 'Int64':
358
+ case 'Decimal128':
370
359
  return react_1.default.createElement(NumberValue, { type: props.type, value: props.value });
371
360
  case 'String':
372
361
  return react_1.default.createElement(StringValue, { value: props.value });
@@ -386,10 +375,9 @@ const BSONValue = (props) => {
386
375
  case 'Array':
387
376
  return react_1.default.createElement(ArrayValue, { value: props.value });
388
377
  case 'Object':
389
- return react_1.default.createElement(UnknownValue, { type: props.type, value: props.type });
378
+ return react_1.default.createElement(ObjectValue, { value: props.value });
390
379
  default:
391
380
  return (react_1.default.createElement(UnknownValue, { type: props.type, value: props.value }));
392
381
  }
393
- };
382
+ }
394
383
  exports.default = BSONValue;
395
- //# sourceMappingURL=bson-value.js.map
@@ -12,4 +12,3 @@ exports.ChevronCollapse = (0, __1.createGlyphComponent)('ChevronCollapse', (prop
12
12
  return (react_1.default.createElement("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props },
13
13
  react_1.default.createElement("path", { d: "M4.25 3.25L8 6.5L11.75 3.25M4.25 12.75L8 9.5L11.75 12.75", stroke: strokeColor, strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })));
14
14
  });
15
- //# sourceMappingURL=chevron-collapse-icon.js.map
@@ -26,11 +26,8 @@ const CollapsibleFieldSet = ({ description, disabled, helpUrl, label, onToggle,
26
26
  ? ''
27
27
  : (react_1.default.createElement(react_1.default.Fragment, null,
28
28
  description,
29
- !!helpUrl && (
30
- // @ts-expect-error leafygreen doesn't allow non-string descriptions
31
- react_1.default.createElement(leafygreen_1.Link, { className: infoLinkStyles, href: helpUrl, "aria-label": label }, "Learn More")))) // LG Checkbox expects a string description, but we use Description component to include helpUrl.
29
+ !!helpUrl && (react_1.default.createElement(leafygreen_1.Link, { className: infoLinkStyles, href: helpUrl, "aria-label": label }, "Learn More")))) // LG Checkbox expects a string description, but we use Description component to include helpUrl.
32
30
  , checked: toggled, id: id }),
33
31
  toggled && react_1.default.createElement("fieldset", { className: fieldsetStyles }, children)));
34
32
  };
35
33
  exports.CollapsibleFieldSet = CollapsibleFieldSet;
36
- //# sourceMappingURL=collapsible-field-set.js.map
@@ -75,4 +75,3 @@ const ComboboxWithCustomOption = ({ onChange, options: userOptions, multiselect
75
75
  }, onChange: selectValueAndRunOnChange }, comboboxOptions));
76
76
  };
77
77
  exports.ComboboxWithCustomOption = ComboboxWithCustomOption;
78
- //# sourceMappingURL=combobox-with-custom-option.js.map
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { GuideCueProvider } from './guide-cue/guide-cue';
3
3
  import { SignalHooksProvider } from './signal-popover';
4
4
  import { type ContextMenuItem, type ContextMenuItemGroup } from './context-menu';
5
- import { type LegacyUUIDDisplay } from './document-list/legacy-uuid-format-context';
5
+ import { type BSONDisplayOptions } from './document-list/bson-display-options-context';
6
6
  type GuideCueProviderProps = React.ComponentProps<typeof GuideCueProvider>;
7
7
  type CompassComponentsProviderProps = {
8
8
  /**
@@ -10,7 +10,8 @@ type CompassComponentsProviderProps = {
10
10
  * value will be derived from the system settings
11
11
  */
12
12
  darkMode?: boolean;
13
- legacyUUIDDisplayEncoding?: LegacyUUIDDisplay;
13
+ legacyUUIDDisplayEncoding?: BSONDisplayOptions['legacyUUIDDisplayEncoding'];
14
+ timezone?: BSONDisplayOptions['timezone'];
14
15
  popoverPortalContainer?: HTMLElement;
15
16
  /**
16
17
  * Either React children or a render callback that will get the darkMode
@@ -25,15 +26,12 @@ type CompassComponentsProviderProps = {
25
26
  * zIndex for the stacked elements (modal, toast, popover)
26
27
  */
27
28
  stackedElementsZIndex?: number;
28
- /**
29
- * Set to disable context menus in the application.
30
- */
31
- disableContextMenus?: boolean;
32
29
  /**
33
30
  * Set to disable guide cues in the application
34
31
  */
35
32
  disableGuideCues?: boolean;
36
33
  } & {
34
+ onGuideCueShown?: GuideCueProviderProps['onShow'];
37
35
  onNextGuideGue?: GuideCueProviderProps['onNext'];
38
36
  onNextGuideCueGroup?: GuideCueProviderProps['onNextGroup'];
39
37
  } & {
@@ -50,7 +48,7 @@ type CompassComponentsProviderProps = {
50
48
  } & {
51
49
  onDrawerSectionOpen?: (drawerSectionId: string) => void;
52
50
  onDrawerSectionHide?: (drawerSectionId: string) => void;
53
- } & React.ComponentProps<typeof SignalHooksProvider>;
51
+ } & Omit<React.ComponentProps<typeof SignalHooksProvider>, 'children'>;
54
52
  /**
55
53
  * This component combines most of the existing compass-component providers into
56
54
  * one for the purposes of being reused between compass-main (electron) and
@@ -63,6 +61,6 @@ type CompassComponentsProviderProps = {
63
61
  * whether or not it can be used completely interchangeably between electron and
64
62
  * browser environment.
65
63
  */
66
- export declare const CompassComponentsProvider: ({ darkMode: _darkMode, children, legacyUUIDDisplayEncoding, onNextGuideGue, onNextGuideCueGroup, onContextMenuOpen, onContextMenuItemClick, onDrawerSectionOpen, onDrawerSectionHide, utmSource, utmMedium, stackedElementsZIndex, popoverPortalContainer: _popoverPortalContainer, disableContextMenus, disableGuideCues, ...signalHooksProviderProps }: CompassComponentsProviderProps) => React.JSX.Element;
64
+ export declare const CompassComponentsProvider: ({ darkMode: _darkMode, children, legacyUUIDDisplayEncoding, timezone, onGuideCueShown, onNextGuideGue, onNextGuideCueGroup, onContextMenuOpen, onContextMenuItemClick, onDrawerSectionOpen, onDrawerSectionHide, utmSource, utmMedium, stackedElementsZIndex, popoverPortalContainer: _popoverPortalContainer, disableGuideCues, ...signalHooksProviderProps }: CompassComponentsProviderProps) => React.JSX.Element;
67
65
  export {};
68
66
  //# sourceMappingURL=compass-components-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compass-components-provider.d.ts","sourceRoot":"","sources":["../../src/components/compass-components-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAE1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,4CAA4C,CAAC;AAEpD,KAAK,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE3E,KAAK,8BAA8B,GAAG;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,iBAAiB,CAAC;IAC9C,sBAAsB,CAAC,EAAE,WAAW,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,EACL,KAAK,CAAC,SAAS,GACf,CAAC,CAAC,EACA,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,OAAO,CAAC;QAClB,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC5C,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACrC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG;IACF,cAAc,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACjD,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;CAC5D,GAAG;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,sBAAsB,CAAC,EAAE,CACvB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,eAAe,KAClB,IAAI,CAAC;CACX,GAAG;IACF,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAuCrD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,GAAI,0VAiBvC,8BAA8B,sBAqEhC,CAAC"}
1
+ {"version":3,"file":"compass-components-provider.d.ts","sourceRoot":"","sources":["../../src/components/compass-components-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAE1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,8CAA8C,CAAC;AAEtD,KAAK,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE3E,KAAK,8BAA8B,GAAG;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;IAC5E,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1C,sBAAsB,CAAC,EAAE,WAAW,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,EACL,KAAK,CAAC,SAAS,GACf,CAAC,CAAC,EACA,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,OAAO,CAAC;QAClB,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC5C,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACrC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG;IACF,eAAe,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAClD,cAAc,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACjD,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;CAC5D,GAAG;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,sBAAsB,CAAC,EAAE,CACvB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,eAAe,KAClB,IAAI,CAAC;CACX,GAAG;IACF,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,mBAAmB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,EAAE,UAAU,CAAC,CAAC;AAuCvE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,GAAI,gWAkBvC,8BAA8B,sBAsEhC,CAAC"}
@@ -48,7 +48,7 @@ const use_stacked_component_1 = require("../hooks/use-stacked-component");
48
48
  const context_menu_1 = require("./context-menu");
49
49
  const drawer_portal_1 = require("./drawer-portal");
50
50
  const use_copy_paste_context_menu_1 = require("../hooks/use-copy-paste-context-menu");
51
- const legacy_uuid_format_context_1 = require("./document-list/legacy-uuid-format-context");
51
+ const bson_display_options_context_1 = require("./document-list/bson-display-options-context");
52
52
  const darkModeMediaQuery = (() => {
53
53
  return typeof window !== 'undefined' && window.matchMedia
54
54
  ? window.matchMedia('(prefers-color-scheme: dark)')
@@ -91,7 +91,7 @@ function useDarkMode(_darkMode) {
91
91
  * whether or not it can be used completely interchangeably between electron and
92
92
  * browser environment.
93
93
  */
94
- const CompassComponentsProvider = ({ darkMode: _darkMode, children, legacyUUIDDisplayEncoding, onNextGuideGue, onNextGuideCueGroup, onContextMenuOpen, onContextMenuItemClick, onDrawerSectionOpen, onDrawerSectionHide, utmSource, utmMedium, stackedElementsZIndex, popoverPortalContainer: _popoverPortalContainer, disableContextMenus, disableGuideCues, ...signalHooksProviderProps }) => {
94
+ const CompassComponentsProvider = ({ darkMode: _darkMode, children, legacyUUIDDisplayEncoding, timezone, onGuideCueShown, onNextGuideGue, onNextGuideCueGroup, onContextMenuOpen, onContextMenuItemClick, onDrawerSectionOpen, onDrawerSectionHide, utmSource, utmMedium, stackedElementsZIndex, popoverPortalContainer: _popoverPortalContainer, disableGuideCues, ...signalHooksProviderProps }) => {
95
95
  const darkMode = useDarkMode(_darkMode);
96
96
  // Leafygreen doesn't accept refs for dom elements so we are required to
97
97
  // trigger a state update when the popover ref is resolved. This is very
@@ -104,14 +104,14 @@ const CompassComponentsProvider = ({ darkMode: _darkMode, children, legacyUUIDDi
104
104
  return { portalContainer, scrollContainer };
105
105
  }, [portalContainer, scrollContainer]);
106
106
  return (react_1.default.createElement(leafygreen_provider_1.default, { darkMode: darkMode, popoverPortalContainer: popoverPortalContainer },
107
- react_1.default.createElement(legacy_uuid_format_context_1.LegacyUUIDDisplayContext.Provider, { value: legacyUUIDDisplayEncoding ?? '' },
107
+ react_1.default.createElement(bson_display_options_context_1.BSONDisplayOptionsProvider, { legacyUUIDDisplayEncoding: legacyUUIDDisplayEncoding, timezone: timezone },
108
108
  react_1.default.createElement(drawer_portal_1.DrawerContentProvider, { onDrawerSectionOpen: onDrawerSectionOpen, onDrawerSectionHide: onDrawerSectionHide },
109
109
  react_1.default.createElement(use_stacked_component_1.StackedComponentProvider, { zIndex: stackedElementsZIndex },
110
110
  react_1.default.createElement(link_1.RequiredURLSearchParamsProvider, { utmSource: utmSource, utmMedium: utmMedium },
111
- react_1.default.createElement(guide_cue_1.GuideCueProvider, { onNext: onNextGuideGue, onNextGroup: onNextGuideCueGroup, disabled: disableGuideCues },
111
+ react_1.default.createElement(guide_cue_1.GuideCueProvider, { onShow: onGuideCueShown, onNext: onNextGuideGue, onNextGroup: onNextGuideCueGroup, disabled: disableGuideCues },
112
112
  react_1.default.createElement(signal_popover_1.SignalHooksProvider, { ...signalHooksProviderProps },
113
113
  react_1.default.createElement(use_confirmation_1.ConfirmationModalArea, null,
114
- react_1.default.createElement(context_menu_1.ContextMenuProvider, { disabled: disableContextMenus, onContextMenuOpen: onContextMenuOpen, onContextMenuItemClick: onContextMenuItemClick },
114
+ react_1.default.createElement(context_menu_1.ContextMenuProvider, { onContextMenuOpen: onContextMenuOpen, onContextMenuItemClick: onContextMenuItemClick },
115
115
  react_1.default.createElement(use_copy_paste_context_menu_1.CopyPasteContextMenu, null,
116
116
  react_1.default.createElement(use_toast_1.ToastArea, null, typeof children === 'function'
117
117
  ? children({
@@ -122,4 +122,3 @@ const CompassComponentsProvider = ({ darkMode: _darkMode, children, legacyUUIDDi
122
122
  : children))))))))))));
123
123
  };
124
124
  exports.CompassComponentsProvider = CompassComponentsProvider;
125
- //# sourceMappingURL=compass-components-provider.js.map
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import { type ContextMenuItem, type ContextMenuItemGroup, type ContextMenuWrapperProps } from '@mongodb-js/compass-context-menu';
3
3
  export type { ContextMenuItem, ContextMenuItemGroup, } from '@mongodb-js/compass-context-menu';
4
- export declare function ContextMenuProvider({ children, disabled, onContextMenuItemClick, onContextMenuOpen, }: {
4
+ export declare function ContextMenuProvider({ children, onContextMenuItemClick, onContextMenuOpen, }: {
5
5
  children: React.ReactNode;
6
- disabled?: boolean;
7
6
  onContextMenuOpen?: (itemGroups: ContextMenuItemGroup[]) => void;
8
7
  onContextMenuItemClick?: (itemGroup: ContextMenuItemGroup, item: ContextMenuItem) => void;
9
8
  }): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu.d.ts","sourceRoot":"","sources":["../../src/components/context-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAKhE,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAE7B,MAAM,kCAAkC,CAAC;AAG1C,YAAY,EACV,eAAe,EACf,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAe1C,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IACjE,sBAAsB,CAAC,EAAE,CACvB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,eAAe,KAClB,IAAI,CAAC;CACX,qBAeA;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,sBAAsB,GACvB,EAAE,uBAAuB,GAAG;IAC3B,sBAAsB,CAAC,EAAE,CACvB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,eAAe,KAClB,IAAI,CAAC;CACX,qBAoFA;AAED,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,CACb,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG;IACrC,KAAK,EAAE,SAAS,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,EAAE,CAAC;CACpD,CAAC,GACF,SAAS,CACZ,EAAE,EACH,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CA2BhC"}
1
+ {"version":3,"file":"context-menu.d.ts","sourceRoot":"","sources":["../../src/components/context-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAKhE,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAE7B,MAAM,kCAAkC,CAAC;AAG1C,YAAY,EACV,eAAe,EACf,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAkB1C,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IACjE,sBAAsB,CAAC,EAAE,CACvB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,eAAe,KAClB,IAAI,CAAC;CACX,qBAcA;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,sBAAsB,GACvB,EAAE,uBAAuB,GAAG;IAC3B,sBAAsB,CAAC,EAAE,CACvB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,eAAe,KAClB,IAAI,CAAC;CACX,qBAoFA;AAED,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,CACb,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG;IACrC,KAAK,EAAE,SAAS,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,EAAE,CAAC;CACpD,CAAC,GACF,SAAS,CACZ,EAAE,EACH,YAAY,GAAE,KAAK,CAAC,cAAmB,GACtC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CA2BhC"}
@@ -46,14 +46,17 @@ const use_current_value_ref_1 = require("../hooks/use-current-value-ref");
46
46
  const menuStyles = (0, emotion_1.css)({
47
47
  paddingTop: tokens_1.spacing[150],
48
48
  paddingBottom: tokens_1.spacing[150],
49
+ width: 'max-content',
50
+ // LG default width for menu
51
+ minWidth: 210,
49
52
  });
50
53
  const itemStyles = (0, emotion_1.css)({
51
54
  paddingTop: 0,
52
55
  paddingBottom: 0,
53
56
  fontSize: '.8em',
54
57
  });
55
- function ContextMenuProvider({ children, disabled, onContextMenuItemClick, onContextMenuOpen, }) {
56
- return (react_1.default.createElement(compass_context_menu_1.ContextMenuProvider, { disabled: disabled, menuWrapper: (props) => (react_1.default.createElement(ContextMenu, { ...props, onContextMenuItemClick: onContextMenuItemClick })), onContextMenuOpen: onContextMenuOpen }, children));
58
+ function ContextMenuProvider({ children, onContextMenuItemClick, onContextMenuOpen, }) {
59
+ return (react_1.default.createElement(compass_context_menu_1.ContextMenuProvider, { menuWrapper: (props) => (react_1.default.createElement(ContextMenu, { ...props, onContextMenuItemClick: onContextMenuItemClick })), onContextMenuOpen: onContextMenuOpen }, children));
57
60
  }
58
61
  function ContextMenu({ menu, onContextMenuItemClick, }) {
59
62
  const menuRef = (0, react_1.useRef)(null);
@@ -116,4 +119,3 @@ function useContextMenuGroups(getGroups, dependencies = []) {
116
119
  const contextMenu = (0, compass_context_menu_1.useContextMenu)();
117
120
  return contextMenu.registerItemGroups(memoizedGroups);
118
121
  }
119
- //# sourceMappingURL=context-menu.js.map
@@ -7,4 +7,3 @@ exports.AutoFocusContext = (0, react_1.createContext)(null);
7
7
  function useAutoFocusContext() {
8
8
  return (0, react_1.useContext)(exports.AutoFocusContext);
9
9
  }
10
- //# sourceMappingURL=auto-focus-context.js.map
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ export type LegacyUUIDDisplay = '' | 'LegacyJavaUUID' | 'LegacyCSharpUUID' | 'LegacyPythonUUID';
3
+ export type BSONDisplayOptions = {
4
+ legacyUUIDDisplayEncoding: LegacyUUIDDisplay;
5
+ timezone: string;
6
+ };
7
+ export declare const DEFAULT_BSON_DISPLAY_OPTIONS: BSONDisplayOptions;
8
+ export declare const BSONDisplayOptionsContext: React.Context<BSONDisplayOptions>;
9
+ export declare function useBSONDisplayOptions(): BSONDisplayOptions;
10
+ export declare const BSONDisplayOptionsProvider: React.FunctionComponent<Partial<BSONDisplayOptions> & {
11
+ children?: React.ReactNode;
12
+ }>;
13
+ //# sourceMappingURL=bson-display-options-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bson-display-options-context.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/bson-display-options-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAElE,MAAM,MAAM,iBAAiB,GACzB,EAAE,GACF,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yBAAyB,EAAE,iBAAiB,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAG1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,mCAErC,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,kBAAkB,CAE1D;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,iBAAiB,CAC9D,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAkB7D,CAAC"}