@deephaven/console 1.10.2-lerna-v9.0 → 1.11.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.
@@ -64,6 +64,10 @@
64
64
  text-link-foreground: var(--dh-color-editor-link-foreground);
65
65
  text-link-active-foreground: var(--dh-color-editor-link-active-fg);
66
66
  editor-link-active-foreground: var(--dh-color-editor-link-active-fg);
67
+ diff-editor-inserted-text-background: var(--dh-color-editor-diff-inserted-text-bg);
68
+ diff-editor-removed-text-background: var(--dh-color-editor-diff-removed-text-bg);
69
+ diff-editor-inserted-line-background: var(--dh-color-editor-diff-inserted-line-bg);
70
+ diff-editor-removed-line-background: var(--dh-color-editor-diff-removed-line-bg);
67
71
  }
68
72
 
69
73
  /*# sourceMappingURL=MonacoTheme.module.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/monaco/MonacoTheme.module.scss","../../../../node_modules/@deephaven/components/scss/custom.scss","../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAAA;ACAA;AC6LA;AF1LA;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EAGA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAKA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EAGA;EAGA;EAGA;EAGA;EACA;EACA","file":"MonacoTheme.module.css","sourcesContent":["/* stylelint-disable */\n@import '@deephaven/components/scss/custom.scss';\n\n:export {\n // iris dark theme\n error-foreground: var(--dh-color-editor-error-fg);\n background: var(--dh-color-editor-bg);\n foreground: var(--dh-color-editor-fg);\n line-height: 19px; // 19 is the line height in the default monaco theme\n\n //code rules\n string: var(--dh-color-editor-string);\n string-delim: var(--dh-color-editor-string-delim);\n delimiter: var(--dh-color-editor-delimiter);\n predefined: var(--dh-color-editor-predefined);\n keyword: var(--dh-color-editor-keyword);\n storage: var(--dh-color-editor-storage);\n number: var(--dh-color-editor-number);\n operator: var(--dh-color-editor-operator);\n identifier: var(--dh-color-editor-identifier);\n namespace-identifier: var(--dh-color-editor-identifier-namespace);\n identifier-js: var(--dh-color-editor-identifier-js);\n comment: var(--dh-color-editor-comment);\n\n // brackets\n editor-bracket-foreground1: var(--dh-color-editor-bracket-fg1);\n editor-bracket-foreground2: var(--dh-color-editor-bracket-fg2);\n editor-bracket-foreground3: var(--dh-color-editor-bracket-fg3);\n editor-bracket-foreground4: var(--dh-color-editor-bracket-fg4);\n editor-bracket-foreground5: var(--dh-color-editor-bracket-fg5);\n editor-bracket-foreground6: var(--dh-color-editor-bracket-fg6);\n editor-unexpected-bracket-foreground: var(\n --dh-color-editor-unexpected-bracket-fg\n );\n\n //input\n input-option-active-border: var(--dh-color-editor-input-option-active-border);\n focus-border: var(--dh-color-editor-focus-border);\n input-background: var(--dh-color-editor-input-bg);\n input-foreground: var(--dh-color-editor-input-fg);\n input-border: var(--dh-color-editor-input-border);\n\n //editor\n editor-line-number-foreground: var(--dh-color-editor-line-number-fg);\n editor-line-number-active-foreground: var(\n --dh-color-editor-line-number-active-fg\n );\n editor-selection-background: var(--dh-color-editor-selection-bg);\n editor-inactive-selection-background: var(\n --dh-color-editor-inactive-selection-bg\n );\n editor-selection-highlight-background: var(\n --dh-color-editor-selection-highlight-bg\n );\n editor-line-highlight-background: var(--dh-color-editor-line-highlight-bg);\n editor-word-highlight-background: var(--dh-color-editor-word-highlight-bg);\n\n //context menu\n context-menu-background: var(--dh-color-editor-context-menu-bg);\n context-menu-foreground: var(--dh-color-editor-context-menu-fg);\n menu-selection-background: var(--dh-color-editor-menu-selection-bg);\n menu-selection-foreground: var(--dh-color-editor-menu-selection-fg);\n\n //log items\n log-date: var(--dh-color-editor-log-date);\n log-error: var(--dh-color-editor-log-error);\n log-info: var(--dh-color-editor-log-info);\n log-stdout: var(--dh-color-editor-log-stdout);\n log-warn: var(--dh-color-editor-log-warn);\n log-debug: var(--dh-color-editor-log-debug);\n log-trace: var(--dh-color-editor-log-trace);\n\n // find matches\n editor-find-match-background: var(--dh-color-editor-find-match-bg);\n editor-find-match-highlight-background: var(\n --dh-color-editor-find-match-highlight-bg\n );\n\n // find widget\n editor-widget-background: var(--dh-color-editor-find-bg);\n input-option-active-background: var(--dh-color-editor-find-option-active-bg);\n input-option-active-foreground: var(--dh-color-editor-find-option-active-fg);\n\n // suggest widget\n editor-suggest-widget-background: var(--dh-color-editor-suggest-bg);\n editor-suggest-widget-border: var(--dh-color-editor-suggest-border);\n editor-suggest-widget-foreground: var(--dh-color-editor-suggest-fg);\n editor-suggest-widget-selected-background: var(\n --dh-color-editor-suggest-selected-bg\n );\n editor-suggest-widget-selected-foreground: var(\n --dh-color-editor-suggest-selected-fg\n );\n editor-suggest-widget-highlightForeground: var(\n --dh-color-editor-suggest-highlight-fg\n );\n editor-suggest-widget-focus-highlight-foreground: var(\n --dh-color-editor-suggest-focus-highlight-fg\n );\n list-hover-background: var(--dh-color-editor-suggest-hover-bg);\n\n // links\n text-link-foreground: var(--dh-color-editor-link-foreground);\n text-link-active-foreground: var(--dh-color-editor-link-active-fg);\n editor-link-active-foreground: var(--dh-color-editor-link-active-fg);\n}\n","/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n@import './util.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n 'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n in (\n 'primary',\n 'secondary',\n 'success',\n 'info',\n 'warning',\n 'danger',\n 'light',\n 'dark'\n )\n{\n $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n 'primary': 'accent',\n 'secondary': 'neutral',\n 'success': 'positive',\n 'info': 'info',\n 'warning': 'notice',\n 'danger': 'negative',\n // We shouldn't be using these, but mapping so they work with our custom\n // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n // defined in Bootstrap _variables.scss, we should remove these\n 'light': 'neutral',\n 'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n 'primary-hover': $primary-hover,\n 'primary-dark': $primary-dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n 'secondary-hover': $secondary-hover,\n 'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n 'Fira Sans',\n -apple-system,\n blinkmacsystemfont,\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n arial,\n sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n color 0.12s ease-in-out,\n background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out,\n box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: color-mix(\n in srgb,\n var(--dh-color-accent) 35%,\n transparent\n);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-text-disabled);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/monaco/MonacoTheme.module.scss","../../../../node_modules/@deephaven/components/scss/custom.scss","../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAAA;ACAA;AC6LA;AF1LA;EAEE;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EAGA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAKA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EAGA;EAGA;EAGA;EAGA;EACA;EACA;EAGA;EAGA;EAGA;EAGA","file":"MonacoTheme.module.css","sourcesContent":["/* stylelint-disable */\n@import '@deephaven/components/scss/custom.scss';\n\n:export {\n // iris dark theme\n error-foreground: var(--dh-color-editor-error-fg);\n background: var(--dh-color-editor-bg);\n foreground: var(--dh-color-editor-fg);\n line-height: 19px; // 19 is the line height in the default monaco theme\n\n //code rules\n string: var(--dh-color-editor-string);\n string-delim: var(--dh-color-editor-string-delim);\n delimiter: var(--dh-color-editor-delimiter);\n predefined: var(--dh-color-editor-predefined);\n keyword: var(--dh-color-editor-keyword);\n storage: var(--dh-color-editor-storage);\n number: var(--dh-color-editor-number);\n operator: var(--dh-color-editor-operator);\n identifier: var(--dh-color-editor-identifier);\n namespace-identifier: var(--dh-color-editor-identifier-namespace);\n identifier-js: var(--dh-color-editor-identifier-js);\n comment: var(--dh-color-editor-comment);\n\n // brackets\n editor-bracket-foreground1: var(--dh-color-editor-bracket-fg1);\n editor-bracket-foreground2: var(--dh-color-editor-bracket-fg2);\n editor-bracket-foreground3: var(--dh-color-editor-bracket-fg3);\n editor-bracket-foreground4: var(--dh-color-editor-bracket-fg4);\n editor-bracket-foreground5: var(--dh-color-editor-bracket-fg5);\n editor-bracket-foreground6: var(--dh-color-editor-bracket-fg6);\n editor-unexpected-bracket-foreground: var(\n --dh-color-editor-unexpected-bracket-fg\n );\n\n //input\n input-option-active-border: var(--dh-color-editor-input-option-active-border);\n focus-border: var(--dh-color-editor-focus-border);\n input-background: var(--dh-color-editor-input-bg);\n input-foreground: var(--dh-color-editor-input-fg);\n input-border: var(--dh-color-editor-input-border);\n\n //editor\n editor-line-number-foreground: var(--dh-color-editor-line-number-fg);\n editor-line-number-active-foreground: var(\n --dh-color-editor-line-number-active-fg\n );\n editor-selection-background: var(--dh-color-editor-selection-bg);\n editor-inactive-selection-background: var(\n --dh-color-editor-inactive-selection-bg\n );\n editor-selection-highlight-background: var(\n --dh-color-editor-selection-highlight-bg\n );\n editor-line-highlight-background: var(--dh-color-editor-line-highlight-bg);\n editor-word-highlight-background: var(--dh-color-editor-word-highlight-bg);\n\n //context menu\n context-menu-background: var(--dh-color-editor-context-menu-bg);\n context-menu-foreground: var(--dh-color-editor-context-menu-fg);\n menu-selection-background: var(--dh-color-editor-menu-selection-bg);\n menu-selection-foreground: var(--dh-color-editor-menu-selection-fg);\n\n //log items\n log-date: var(--dh-color-editor-log-date);\n log-error: var(--dh-color-editor-log-error);\n log-info: var(--dh-color-editor-log-info);\n log-stdout: var(--dh-color-editor-log-stdout);\n log-warn: var(--dh-color-editor-log-warn);\n log-debug: var(--dh-color-editor-log-debug);\n log-trace: var(--dh-color-editor-log-trace);\n\n // find matches\n editor-find-match-background: var(--dh-color-editor-find-match-bg);\n editor-find-match-highlight-background: var(\n --dh-color-editor-find-match-highlight-bg\n );\n\n // find widget\n editor-widget-background: var(--dh-color-editor-find-bg);\n input-option-active-background: var(--dh-color-editor-find-option-active-bg);\n input-option-active-foreground: var(--dh-color-editor-find-option-active-fg);\n\n // suggest widget\n editor-suggest-widget-background: var(--dh-color-editor-suggest-bg);\n editor-suggest-widget-border: var(--dh-color-editor-suggest-border);\n editor-suggest-widget-foreground: var(--dh-color-editor-suggest-fg);\n editor-suggest-widget-selected-background: var(\n --dh-color-editor-suggest-selected-bg\n );\n editor-suggest-widget-selected-foreground: var(\n --dh-color-editor-suggest-selected-fg\n );\n editor-suggest-widget-highlightForeground: var(\n --dh-color-editor-suggest-highlight-fg\n );\n editor-suggest-widget-focus-highlight-foreground: var(\n --dh-color-editor-suggest-focus-highlight-fg\n );\n list-hover-background: var(--dh-color-editor-suggest-hover-bg);\n\n // links\n text-link-foreground: var(--dh-color-editor-link-foreground);\n text-link-active-foreground: var(--dh-color-editor-link-active-fg);\n editor-link-active-foreground: var(--dh-color-editor-link-active-fg);\n\n // diff editor\n diff-editor-inserted-text-background: var(\n --dh-color-editor-diff-inserted-text-bg\n );\n diff-editor-removed-text-background: var(\n --dh-color-editor-diff-removed-text-bg\n );\n diff-editor-inserted-line-background: var(\n --dh-color-editor-diff-inserted-line-bg\n );\n diff-editor-removed-line-background: var(\n --dh-color-editor-diff-removed-line-bg\n );\n}\n","/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n@import './util.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n 'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n in (\n 'primary',\n 'secondary',\n 'success',\n 'info',\n 'warning',\n 'danger',\n 'light',\n 'dark'\n )\n{\n $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n 'primary': 'accent',\n 'secondary': 'neutral',\n 'success': 'positive',\n 'info': 'info',\n 'warning': 'notice',\n 'danger': 'negative',\n // We shouldn't be using these, but mapping so they work with our custom\n // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n // defined in Bootstrap _variables.scss, we should remove these\n 'light': 'neutral',\n 'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n 'primary-hover': $primary-hover,\n 'primary-dark': $primary-dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n 'secondary-hover': $secondary-hover,\n 'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n 'Fira Sans',\n -apple-system,\n blinkmacsystemfont,\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n arial,\n sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n color 0.12s ease-in-out,\n background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out,\n box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: color-mix(\n in srgb,\n var(--dh-color-accent) 35%,\n transparent\n);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-text-disabled);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoUtils.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoUtils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,OAAO,EAEL,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAOhD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,CAAC,EAAE,WAAW,CAAC;KACjC;CACF;AAED,cAAM,WAAW;IACf;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,EACV,SAAS,GACV,GAAE;QAAE,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;KAAO,GAAG,IAAI;IAmDvD;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,IAAI;IAkKxB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI;IAOnE;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAI5C,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;IAkBrD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAUjD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,WAAW,kCAAqC,GAC/C,IAAI;IAIP;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,OAAO,EAAE,EAAE,CAAC,UAAU,GACrB,MAAM,CAAC,WAAW;IAwDrB,MAAM,CAAC,aAAa,CAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,OAAO,EAAE,EAAE,CAAC,UAAU,GACrB,IAAI;IAWP;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAC1C,IAAI;IA0BP,MAAM,CAAC,aAAa,IAAI,OAAO;IAK/B;;;;;OAKG;IACH,MAAM,CAAC,4BAA4B,IAAI,IAAI;IA2B3C;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI;IAUP,MAAM,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IA8B/D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG;QACpD,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACjC;IA2BD;;;OAGG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,GAAG;IAIvC;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO;IAI/D;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAAG,OAAO;IAMtE;;;OAGG;WACU,cAAc,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAC1C,OAAO,CAAC,IAAI,CAAC;CAGjB;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MonacoUtils.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoUtils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,OAAO,EAEL,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAOhD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,CAAC,EAAE,WAAW,CAAC;KACjC;CACF;AAED,cAAM,WAAW;IACf;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,EACV,SAAS,GACV,GAAE;QAAE,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;KAAO,GAAG,IAAI;IAmDvD;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,IAAI;IA0KxB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI;IAOnE;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAI5C,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;IAkBrD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAUjD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,WAAW,kCAAqC,GAC/C,IAAI;IAIP;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,OAAO,EAAE,EAAE,CAAC,UAAU,GACrB,MAAM,CAAC,WAAW;IAwDrB,MAAM,CAAC,aAAa,CAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,OAAO,EAAE,EAAE,CAAC,UAAU,GACrB,IAAI;IAWP;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAC1C,IAAI;IA0BP,MAAM,CAAC,aAAa,IAAI,OAAO;IAK/B;;;;;OAKG;IACH,MAAM,CAAC,4BAA4B,IAAI,IAAI;IA2B3C;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC3C,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI;IAUP,MAAM,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IA8B/D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG;QACpD,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KACjC;IA2BD;;;OAGG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,GAAG;IAIvC;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO;IAI/D;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAAG,OAAO;IAMtE;;;OAGG;WACU,cAAc,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAC1C,OAAO,CAAC,IAAI,CAAC;CAGjB;AAED,eAAe,WAAW,CAAC"}
@@ -192,7 +192,11 @@ class MonacoUtils {
192
192
  'editorBracketHighlight.foreground4': MonacoTheme['editor-bracket-foreground4'],
193
193
  'editorBracketHighlight.foreground5': MonacoTheme['editor-bracket-foreground5'],
194
194
  'editorBracketHighlight.foreground6': MonacoTheme['editor-bracket-foreground6'],
195
- 'editorBracketHighlight.unexpectedBracket.foreground': MonacoTheme['editor-unexpected-bracket-foreground']
195
+ 'editorBracketHighlight.unexpectedBracket.foreground': MonacoTheme['editor-unexpected-bracket-foreground'],
196
+ 'diffEditor.insertedTextBackground': MonacoTheme['diff-editor-inserted-text-background'],
197
+ 'diffEditor.removedTextBackground': MonacoTheme['diff-editor-removed-text-background'],
198
+ 'diffEditor.insertedLineBackground': MonacoTheme['diff-editor-inserted-line-background'],
199
+ 'diffEditor.removedLineBackground': MonacoTheme['diff-editor-removed-line-background']
196
200
  };
197
201
  monaco.editor.defineTheme('dh-dark', {
198
202
  base: 'vs-dark',
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoUtils.js","names":["nanoid","throttle","resolveCssVariablesInRecord","assertNotNull","find","linkifyFind","monaco","KeyCodeUtils","Log","MonacoThemeRaw","PyLang","GroovyLang","ScalaLang","DbLang","LogLang","MonacoProviders","log","module","CONSOLE_URI_PREFIX","MonacoUtils","init","getWorker","arguments","length","undefined","debug","registerGetWorker","initTheme","registerLanguages","languages","onLanguage","registerCodeActionProvider","provideCodeActions","handlePythonCodeActionRequest","providedCodeActionKinds","registerDocumentFormattingEditProvider","provideDocumentFormattingEdits","handlePythonFormatRequest","editor","onDidCreateModel","model","getLanguageId","ruffWorkspace","lintPython","throttledLint","m","onDidChangeContent","removeConflictingKeybindings","_MonacoTheme$logErro","_MonacoTheme$logErro2","removeHashtag","MonacoTheme","debug2","dhDarkRules","token","foreground","string","keyword","delimiter","comment","number","storage","identifier","operator","predefined","substring","dhDarkColors","errorForeground","background","focusBorder","defineTheme","base","inherit","rules","colors","setTheme","err","error","window","MonacoEnvironment","_objectSpread","color","_color$substring","languageIds","map","_ref","id","getLanguages","filter","_ref2","includes","forEach","languageParam","language","registerLanguage","register","setLanguageConfiguration","conf","setMonarchTokensProvider","setEOL","_editor$getModel","eolSequence","EndOfLineSequence","LF","getModel","openDocument","session","didOpenDocumentParams","textDocument","uri","concat","languageId","version","getVersionId","text","getValue","dispose","onDidChangeModelContent","changedEvent","changes","versionId","contentChanges","i","change","range","rangeLength","contentChange","start","line","startLineNumber","character","startColumn","end","endLineNumber","endColumn","push","didChangeDocumentParams","changeDocument","closeDocument","didCloseDocumentParams","registerPasteHandler","onDidPaste","pasteEvent","smartQuotes","invalidChars","invalidSpaces","editorModel","pastedText","getValueInRange","test","applyEdits","replace","isMacPlatform","platform","navigator","startsWith","addKeybindingRule","keybinding","KeyMod","CtrlCmd","KeyCode","KeyD","command","KeyH","disableKeyBindings","keybindings","addAction","label","run","getMonacoKeyCodeFromShortcut","shortcut","keyState","keyValue","isMac","metaKey","shiftKey","Shift","altKey","Alt","ctrlKey","WinCtrl","fromString","provideLinks","newTokens","_loop","lineText","getLineContent","originalTokens","tokens","type","value","url","href","Range","getLineCount","links","generateConsoleUri","Uri","parse","isConsoleModel","toString","canFormat","_editor$getAction","getAction","isSupported","formatDocument","_asyncToGenerator","_editor$getAction2"],"sources":["../../src/monaco/MonacoUtils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { nanoid } from 'nanoid';\nimport throttle from 'lodash.throttle';\n/**\n * Exports a function for initializing monaco with the deephaven theme/config\n */\nimport {\n resolveCssVariablesInRecord,\n type Shortcut,\n} from '@deephaven/components';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { assertNotNull } from '@deephaven/utils';\nimport { find as linkifyFind } from 'linkifyjs';\nimport * as monaco from 'monaco-editor';\nimport type { Environment } from 'monaco-editor';\n// @ts-ignore\nimport { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';\nimport Log from '@deephaven/log';\nimport MonacoThemeRaw from './MonacoTheme.module.scss';\nimport PyLang from './lang/python';\nimport GroovyLang from './lang/groovy';\nimport ScalaLang from './lang/scala';\nimport DbLang from './lang/db';\nimport LogLang from './lang/log';\nimport { type Language } from './lang/Language';\nimport MonacoProviders from './MonacoProviders';\n\nconst log = Log.module('MonacoUtils');\n\nconst CONSOLE_URI_PREFIX = 'inmemory://dh-console/';\n\ndeclare global {\n interface Window {\n MonacoEnvironment?: Environment;\n }\n}\n\nclass MonacoUtils {\n /**\n * Initializes Monaco for the environment\n * @param getWorker The getWorker function Monaco should use\n * The workers should be provided by the caller and bundled by their build system (e.g. Vite, Webpack)\n */\n static init({\n getWorker,\n }: { getWorker?: Environment['getWorker'] } = {}): void {\n log.debug('Initializing Monaco...');\n\n if (getWorker !== undefined) {\n MonacoUtils.registerGetWorker(getWorker);\n }\n\n const { initTheme, registerLanguages } = MonacoUtils;\n\n initTheme();\n\n registerLanguages([DbLang, PyLang, GroovyLang, LogLang, ScalaLang]);\n\n monaco.languages.onLanguage('python', () => {\n monaco.languages.registerCodeActionProvider(\n 'python',\n {\n provideCodeActions: MonacoProviders.handlePythonCodeActionRequest,\n },\n { providedCodeActionKinds: ['quickfix'] }\n );\n\n monaco.languages.registerDocumentFormattingEditProvider('python', {\n provideDocumentFormattingEdits:\n MonacoProviders.handlePythonFormatRequest,\n });\n });\n\n monaco.editor.onDidCreateModel(model => {\n // Lint Python models on creation and on change\n if (model.getLanguageId() === 'python') {\n if (MonacoProviders.ruffWorkspace != null) {\n MonacoProviders.lintPython(model);\n }\n\n const throttledLint = throttle(\n (m: monaco.editor.ITextModel) => MonacoProviders.lintPython(m),\n 250\n );\n\n model.onDidChangeContent(() => {\n throttledLint(model);\n });\n }\n });\n\n MonacoUtils.removeConflictingKeybindings();\n\n log.debug('Monaco initialized.');\n }\n\n /**\n * Initialize current Monaco theme based on the current DH theme.\n */\n static initTheme(): void {\n const { removeHashtag } = MonacoUtils;\n\n const MonacoTheme = resolveCssVariablesInRecord(MonacoThemeRaw);\n log.debug2('Monaco theme:', MonacoThemeRaw);\n log.debug2('Monaco theme derived:', MonacoTheme);\n\n const dhDarkRules = [\n { token: '', foreground: removeHashtag(MonacoTheme.foreground) },\n { token: 'string', foreground: removeHashtag(MonacoTheme.string) },\n {\n token: 'string.delim',\n foreground: removeHashtag(MonacoTheme['string-delim']),\n },\n { token: 'keyword', foreground: removeHashtag(MonacoTheme.keyword) },\n {\n token: 'identifier.js',\n foreground: removeHashtag(MonacoTheme['identifier-js']),\n },\n {\n token: 'delimiter',\n foreground: removeHashtag(MonacoTheme.delimiter),\n },\n { token: 'comment', foreground: removeHashtag(MonacoTheme.comment) },\n { token: 'number', foreground: removeHashtag(MonacoTheme.number) },\n { token: 'storage', foreground: removeHashtag(MonacoTheme.storage) },\n {\n token: 'identifier',\n foreground: removeHashtag(MonacoTheme.identifier),\n },\n {\n token: 'namespace.identifier',\n foreground: removeHashtag(MonacoTheme['namespace-identifier']),\n },\n { token: 'operator', foreground: removeHashtag(MonacoTheme.operator) },\n {\n token: 'predefined',\n foreground: removeHashtag(MonacoTheme.predefined),\n },\n {\n token: 'error.log',\n foreground: MonacoTheme['log-error']?.substring(1) ?? '',\n },\n {\n token: 'warn.log',\n foreground: removeHashtag(MonacoTheme['log-warn']),\n },\n {\n token: 'info.log',\n foreground: removeHashtag(MonacoTheme['log-info']),\n },\n {\n token: 'stdout.log',\n foreground: removeHashtag(MonacoTheme['log-stdout']),\n },\n {\n token: 'trace.log',\n foreground: removeHashtag(MonacoTheme['log-trace']),\n },\n {\n token: 'debug.log',\n foreground: removeHashtag(MonacoTheme['log-debug']),\n },\n {\n token: 'date.log',\n foreground: removeHashtag(MonacoTheme['log-date']),\n },\n ];\n\n const dhDarkColors = {\n foreground: MonacoTheme.foreground,\n errorForeground: MonacoTheme['error-foreground'],\n 'inputOption.activeBorder': MonacoTheme['input-option-active-border'],\n 'editor.background': MonacoTheme.background,\n 'editor.foreground': MonacoTheme.foreground,\n 'editor.lineHighlightBackground':\n MonacoTheme['editor-line-highlight-background'],\n 'editorLineNumber.foreground':\n MonacoTheme['editor-line-number-foreground'],\n 'editorLineNumber.activeForeground':\n MonacoTheme['editor-line-number-active-foreground'],\n 'editor.selectionBackground': MonacoTheme['editor-selection-background'],\n 'editor.inactiveSelectionBackground':\n MonacoTheme['editor-inactive-selection-background'],\n 'editor.selectionHighlightBackground':\n MonacoTheme['editor-selection-highlight-background'],\n 'editor.wordHighlightBackground':\n MonacoTheme['editor-word-highlight-background'],\n 'editor.findMatchBackground': MonacoTheme['editor-find-match-background'],\n 'editor.findMatchHighlightBackground':\n MonacoTheme['editor-find-match-highlight-background'],\n 'editorSuggestWidget.background':\n MonacoTheme['editor-suggest-widget-background'],\n 'editorSuggestWidget.border': MonacoTheme['editor-suggest-widget-border'],\n 'editorSuggestWidget.foreground':\n MonacoTheme['editor-suggest-widget-foreground'],\n 'editorSuggestWidget.selectedBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'list.activeSelectionBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'editorSuggestWidget.selectedForeground':\n MonacoTheme['editor-suggest-widget-selected-foreground'],\n 'list.activeSelectionForeground':\n MonacoTheme['editor-suggest-widget-selected-foreground'],\n 'editorSuggestWidget.highlightForeground':\n MonacoTheme['editor-suggest-widget-highlightForeground'],\n 'editorSuggestWidget.focusHighlightForeground':\n MonacoTheme['editor-suggest-widget-focus-highlight-foreground'],\n 'list.hoverBackground': MonacoTheme['list-hover-background'],\n 'dropdown.background': MonacoTheme['context-menu-background'],\n 'dropdown.foreground': MonacoTheme['context-menu-foreground'],\n 'menu.selectionBackground': MonacoTheme['menu-selection-background'],\n 'menu.selectionForeground': MonacoTheme['menu-selection-foreground'],\n 'keybindingLabel.foreground': MonacoTheme['menu-selection-foreground'],\n 'list.focusBackground': MonacoTheme['menu-selection-background'],\n 'editorWidget.background': MonacoTheme['editor-widget-background'],\n 'inputOption.activeBackground':\n MonacoTheme['input-option-active-background'],\n 'inputOption.activeForeground':\n MonacoTheme['input-option-active-foreground'],\n focusBorder: MonacoTheme['focus-border'],\n 'input.background': MonacoTheme['input-background'],\n 'input.foreground': MonacoTheme['input-foreground'],\n 'input.border': MonacoTheme['input-border'],\n 'textLink.foreground': MonacoTheme['text-link-foreground'],\n 'textLink.activeForeground': MonacoTheme['text-link-active-foreground'],\n 'editorLink.activeForeground':\n MonacoTheme['editor-link-active-foreground'],\n 'editorBracketHighlight.foreground1':\n MonacoTheme['editor-bracket-foreground1'],\n 'editorBracketHighlight.foreground2':\n MonacoTheme['editor-bracket-foreground2'],\n 'editorBracketHighlight.foreground3':\n MonacoTheme['editor-bracket-foreground3'],\n 'editorBracketHighlight.foreground4':\n MonacoTheme['editor-bracket-foreground4'],\n 'editorBracketHighlight.foreground5':\n MonacoTheme['editor-bracket-foreground5'],\n 'editorBracketHighlight.foreground6':\n MonacoTheme['editor-bracket-foreground6'],\n 'editorBracketHighlight.unexpectedBracket.foreground':\n MonacoTheme['editor-unexpected-bracket-foreground'],\n };\n\n monaco.editor.defineTheme('dh-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: dhDarkRules,\n colors: dhDarkColors,\n });\n\n try {\n monaco.editor.setTheme('dh-dark');\n } catch (err) {\n log.error(\n `Failed to set 'dh-dark' Monaco theme, falling back to vs-dark`,\n err\n );\n monaco.editor.setTheme('vs-dark');\n }\n }\n\n /**\n * Register the getWorker function for Monaco\n * @param getWorker The getWorker function for Monaco\n */\n static registerGetWorker(getWorker: Environment['getWorker']): void {\n window.MonacoEnvironment = {\n ...window.MonacoEnvironment,\n getWorker,\n };\n }\n\n /**\n * Remove the hashtag prefix from a CSS color string.\n * Monaco expects colors to be the value only, no hashtag.\n * @param color The hex color string to remove the hashtag from, eg. '#ffffff'\n */\n static removeHashtag(color?: string): string {\n return color?.substring(1) ?? '';\n }\n\n static registerLanguages(languages: Language[]): void {\n // First override the default loader for any language we have a custom definition for\n // https://github.com/Microsoft/monaco-editor/issues/252#issuecomment-482786867\n const languageIds = languages.map(({ id }) => id);\n monaco.languages\n .getLanguages()\n .filter(({ id }) => languageIds.includes(id))\n .forEach(languageParam => {\n const language = languageParam;\n log.debug2('Overriding default language loader:', language.id);\n });\n\n // Then register our language definitions\n languages.forEach(language => {\n MonacoUtils.registerLanguage(language);\n });\n }\n\n static registerLanguage(language: Language): void {\n log.debug2('Registering language: ', language.id);\n monaco.languages.register(language);\n\n monaco.languages.onLanguage(language.id, () => {\n monaco.languages.setLanguageConfiguration(language.id, language.conf);\n monaco.languages.setMonarchTokensProvider(language.id, language.language);\n });\n }\n\n /**\n * Set EOL preference for the editor\n * @param editor The editor to set the EOL for\n * @param eolSequence EOL sequence\n */\n static setEOL(\n editor: monaco.editor.IStandaloneCodeEditor,\n eolSequence = monaco.editor.EndOfLineSequence.LF\n ): void {\n editor.getModel()?.setEOL(eolSequence);\n }\n\n /**\n * Links an editor with a provided session to provide completion items.\n * @param session The IdeSession to link\n * @param editor The editor to link the session to\n * @returns A cleanup function for disposing of the created listeners\n */\n static openDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: dh.IdeSession\n ): monaco.IDisposable {\n const model = editor.getModel();\n assertNotNull(model);\n const didOpenDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n languageId: model.getLanguageId(),\n version: model.getVersionId(),\n text: model.getValue(),\n },\n };\n log.debug2('didOpenDocumentParams: ', didOpenDocumentParams);\n\n session.openDocument(didOpenDocumentParams);\n\n const dispose = editor.onDidChangeModelContent(changedEvent => {\n const { changes, versionId } = changedEvent;\n\n const contentChanges = [];\n for (let i = 0; i < changes.length; i += 1) {\n const change = changes[i];\n const { range, rangeLength, text } = change;\n const contentChange = {\n range: {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1,\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1,\n },\n },\n rangeLength,\n text,\n };\n\n contentChanges.push(contentChange);\n }\n\n if (contentChanges.length > 0) {\n const didChangeDocumentParams = {\n textDocument: {\n version: versionId,\n uri: `${model.uri}`,\n },\n contentChanges,\n };\n log.debug2('didChangeDocumentParams', didChangeDocumentParams);\n session.changeDocument(didChangeDocumentParams);\n }\n });\n\n return dispose;\n }\n\n static closeDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: dh.IdeSession\n ): void {\n const model = editor.getModel();\n assertNotNull(model);\n const didCloseDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n },\n };\n session.closeDocument(didCloseDocumentParams);\n }\n\n /**\n * Register a paste handle to clean up any garbage code pasted.\n * Most of this comes from copying from Slack, which has a bad habit of injecting their own characters in your code snippets.\n * I've emailed Slack about the issue and they're working on it. I can't reference a ticket number because their ticket system is entirely internally facing.\n * @param editor The editor the register the paste handler for\n */\n static registerPasteHandler(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n editor.onDidPaste(pasteEvent => {\n const smartQuotes = /“|”/g;\n const invalidChars = /\\u200b/g; // zero width space\n const invalidSpaces = /\\u00A0/g; // non-breaking space\n const editorModel = editor.getModel();\n assertNotNull(editorModel);\n const pastedText = editorModel.getValueInRange(pasteEvent.range);\n if (\n smartQuotes.test(pastedText) ||\n invalidChars.test(pastedText) ||\n invalidSpaces.test(pastedText)\n ) {\n editorModel.applyEdits([\n {\n range: pasteEvent.range,\n text: pastedText\n .replace(smartQuotes, '\"')\n .replace(invalidChars, '')\n .replace(invalidSpaces, ' '),\n },\n ]);\n }\n });\n }\n\n static isMacPlatform(): boolean {\n const { platform } = window.navigator;\n return platform.startsWith('Mac');\n }\n\n /**\n * Remove any keybindings which are used for our own shortcuts.\n * This allows the key events to bubble up so a component higher up can capture\n * them. Note that this is a global configuration, so all editor instances will\n * be impacted.\n */\n static removeConflictingKeybindings(): void {\n // All editor instances share a global keybinding registry which is where\n // default keybindings are set. There doesn't appear to be a way to remove\n // default bindings, but we can add new ones that will override the existing\n // ones and set `command` to null. This will treat the key events as unhandled\n // and allow them to bubble up.\n monaco.editor.addKeybindingRule(\n // Restart console in Enterprise (see Shortcuts.ts)\n {\n /* eslint-disable-next-line no-bitwise */\n keybinding: monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyD,\n command: null,\n }\n );\n\n // Ctrl+H is used to focus Community console history in Windows + Linux.\n // An alternate shortcut is used for Mac, so no need to override it\n // (See ConsoleShortcuts.ts)\n if (!MonacoUtils.isMacPlatform()) {\n monaco.editor.addKeybindingRule({\n /* eslint-disable-next-line no-bitwise */\n keybinding: monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyH,\n command: null,\n });\n }\n }\n\n /**\n * Creates actions with a `noop` run function to disable specified keybindings.\n * Note that this will swallow the events. To disable default keybindings in a\n * way that allows events to propagate upward, see `removeConflictingKeybindings`\n * @param editor Editor to disable keybindings for\n * @param keybindings List of monaco keybindings to disable. Often a bitwise\n * combination like `monaco.KeyMod.Alt | monaco.KeyMod.KeyJ`\n */\n static disableKeyBindings(\n editor: monaco.editor.IStandaloneCodeEditor,\n keybindings: number[]\n ): void {\n editor.addAction({\n // This shouldn't be referenced by anything so using an arbitrary unique id\n id: `disable-keybindings-${nanoid()}`,\n label: '', // This action won't be shown in the UI so no need for a label\n keybindings,\n run: () => undefined,\n });\n }\n\n static getMonacoKeyCodeFromShortcut(shortcut: Shortcut): number {\n const { keyState } = shortcut;\n const { keyValue } = keyState;\n if (keyValue === null) {\n return 0;\n }\n\n const isMac = MonacoUtils.isMacPlatform();\n\n if (isMac) {\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.metaKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.ctrlKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.ctrlKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.metaKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n static provideLinks(model: monaco.editor.ITextModel): {\n links: monaco.languages.ILink[];\n } {\n const newTokens: monaco.languages.ILink[] = [];\n\n for (let i = 1; i <= model.getLineCount(); i += 1) {\n const lineText = model.getLineContent(i);\n const originalTokens = linkifyFind(lineText);\n\n const tokens = originalTokens.filter(token => {\n if (token.type === 'url') {\n return /^https?:\\/\\//.test(token.value);\n }\n return true;\n });\n // map the tokens to the ranges - you know the line number now, use the token start/end as the startColumn/endColumn\n tokens.forEach(token => {\n newTokens.push({\n url: token.href,\n range: new monaco.Range(i, token.start + 1, i, token.end + 1),\n });\n });\n }\n\n return {\n links: newTokens,\n };\n }\n\n /**\n * Generates a console URI for use with monaco.\n * @returns A new console URI\n */\n static generateConsoleUri(): monaco.Uri {\n return monaco.Uri.parse(`${CONSOLE_URI_PREFIX}${nanoid()}`);\n }\n\n /**\n * Checks if a model is a console model based on its URI.\n * @param model The monaco model to check\n * @returns If the model is a console model\n */\n static isConsoleModel(model: monaco.editor.ITextModel): boolean {\n return model.uri.toString().startsWith(CONSOLE_URI_PREFIX);\n }\n\n /**\n * Checks if the editor has the formatDocument action registered.\n * @param editor The monaco editor to check\n * @returns If the editor has a document formatter registered\n */\n static canFormat(editor: monaco.editor.IStandaloneCodeEditor): boolean {\n return (\n editor.getAction('editor.action.formatDocument')?.isSupported() === true\n );\n }\n\n /**\n * Runs the formatDocument action on the editor.\n * @param editor The editor to format\n */\n static async formatDocument(\n editor: monaco.editor.IStandaloneCodeEditor\n ): Promise<void> {\n await editor.getAction('editor.action.formatDocument')?.run();\n }\n}\n\nexport default MonacoUtils;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MonacoUtils.js","names":["nanoid","throttle","resolveCssVariablesInRecord","assertNotNull","find","linkifyFind","monaco","KeyCodeUtils","Log","MonacoThemeRaw","PyLang","GroovyLang","ScalaLang","DbLang","LogLang","MonacoProviders","log","module","CONSOLE_URI_PREFIX","MonacoUtils","init","getWorker","arguments","length","undefined","debug","registerGetWorker","initTheme","registerLanguages","languages","onLanguage","registerCodeActionProvider","provideCodeActions","handlePythonCodeActionRequest","providedCodeActionKinds","registerDocumentFormattingEditProvider","provideDocumentFormattingEdits","handlePythonFormatRequest","editor","onDidCreateModel","model","getLanguageId","ruffWorkspace","lintPython","throttledLint","m","onDidChangeContent","removeConflictingKeybindings","_MonacoTheme$logErro","_MonacoTheme$logErro2","removeHashtag","MonacoTheme","debug2","dhDarkRules","token","foreground","string","keyword","delimiter","comment","number","storage","identifier","operator","predefined","substring","dhDarkColors","errorForeground","background","focusBorder","defineTheme","base","inherit","rules","colors","setTheme","err","error","window","MonacoEnvironment","_objectSpread","color","_color$substring","languageIds","map","_ref","id","getLanguages","filter","_ref2","includes","forEach","languageParam","language","registerLanguage","register","setLanguageConfiguration","conf","setMonarchTokensProvider","setEOL","_editor$getModel","eolSequence","EndOfLineSequence","LF","getModel","openDocument","session","didOpenDocumentParams","textDocument","uri","concat","languageId","version","getVersionId","text","getValue","dispose","onDidChangeModelContent","changedEvent","changes","versionId","contentChanges","i","change","range","rangeLength","contentChange","start","line","startLineNumber","character","startColumn","end","endLineNumber","endColumn","push","didChangeDocumentParams","changeDocument","closeDocument","didCloseDocumentParams","registerPasteHandler","onDidPaste","pasteEvent","smartQuotes","invalidChars","invalidSpaces","editorModel","pastedText","getValueInRange","test","applyEdits","replace","isMacPlatform","platform","navigator","startsWith","addKeybindingRule","keybinding","KeyMod","CtrlCmd","KeyCode","KeyD","command","KeyH","disableKeyBindings","keybindings","addAction","label","run","getMonacoKeyCodeFromShortcut","shortcut","keyState","keyValue","isMac","metaKey","shiftKey","Shift","altKey","Alt","ctrlKey","WinCtrl","fromString","provideLinks","newTokens","_loop","lineText","getLineContent","originalTokens","tokens","type","value","url","href","Range","getLineCount","links","generateConsoleUri","Uri","parse","isConsoleModel","toString","canFormat","_editor$getAction","getAction","isSupported","formatDocument","_asyncToGenerator","_editor$getAction2"],"sources":["../../src/monaco/MonacoUtils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { nanoid } from 'nanoid';\nimport throttle from 'lodash.throttle';\n/**\n * Exports a function for initializing monaco with the deephaven theme/config\n */\nimport {\n resolveCssVariablesInRecord,\n type Shortcut,\n} from '@deephaven/components';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { assertNotNull } from '@deephaven/utils';\nimport { find as linkifyFind } from 'linkifyjs';\nimport * as monaco from 'monaco-editor';\nimport type { Environment } from 'monaco-editor';\n// @ts-ignore\nimport { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';\nimport Log from '@deephaven/log';\nimport MonacoThemeRaw from './MonacoTheme.module.scss';\nimport PyLang from './lang/python';\nimport GroovyLang from './lang/groovy';\nimport ScalaLang from './lang/scala';\nimport DbLang from './lang/db';\nimport LogLang from './lang/log';\nimport { type Language } from './lang/Language';\nimport MonacoProviders from './MonacoProviders';\n\nconst log = Log.module('MonacoUtils');\n\nconst CONSOLE_URI_PREFIX = 'inmemory://dh-console/';\n\ndeclare global {\n interface Window {\n MonacoEnvironment?: Environment;\n }\n}\n\nclass MonacoUtils {\n /**\n * Initializes Monaco for the environment\n * @param getWorker The getWorker function Monaco should use\n * The workers should be provided by the caller and bundled by their build system (e.g. Vite, Webpack)\n */\n static init({\n getWorker,\n }: { getWorker?: Environment['getWorker'] } = {}): void {\n log.debug('Initializing Monaco...');\n\n if (getWorker !== undefined) {\n MonacoUtils.registerGetWorker(getWorker);\n }\n\n const { initTheme, registerLanguages } = MonacoUtils;\n\n initTheme();\n\n registerLanguages([DbLang, PyLang, GroovyLang, LogLang, ScalaLang]);\n\n monaco.languages.onLanguage('python', () => {\n monaco.languages.registerCodeActionProvider(\n 'python',\n {\n provideCodeActions: MonacoProviders.handlePythonCodeActionRequest,\n },\n { providedCodeActionKinds: ['quickfix'] }\n );\n\n monaco.languages.registerDocumentFormattingEditProvider('python', {\n provideDocumentFormattingEdits:\n MonacoProviders.handlePythonFormatRequest,\n });\n });\n\n monaco.editor.onDidCreateModel(model => {\n // Lint Python models on creation and on change\n if (model.getLanguageId() === 'python') {\n if (MonacoProviders.ruffWorkspace != null) {\n MonacoProviders.lintPython(model);\n }\n\n const throttledLint = throttle(\n (m: monaco.editor.ITextModel) => MonacoProviders.lintPython(m),\n 250\n );\n\n model.onDidChangeContent(() => {\n throttledLint(model);\n });\n }\n });\n\n MonacoUtils.removeConflictingKeybindings();\n\n log.debug('Monaco initialized.');\n }\n\n /**\n * Initialize current Monaco theme based on the current DH theme.\n */\n static initTheme(): void {\n const { removeHashtag } = MonacoUtils;\n\n const MonacoTheme = resolveCssVariablesInRecord(MonacoThemeRaw);\n log.debug2('Monaco theme:', MonacoThemeRaw);\n log.debug2('Monaco theme derived:', MonacoTheme);\n\n const dhDarkRules = [\n { token: '', foreground: removeHashtag(MonacoTheme.foreground) },\n { token: 'string', foreground: removeHashtag(MonacoTheme.string) },\n {\n token: 'string.delim',\n foreground: removeHashtag(MonacoTheme['string-delim']),\n },\n { token: 'keyword', foreground: removeHashtag(MonacoTheme.keyword) },\n {\n token: 'identifier.js',\n foreground: removeHashtag(MonacoTheme['identifier-js']),\n },\n {\n token: 'delimiter',\n foreground: removeHashtag(MonacoTheme.delimiter),\n },\n { token: 'comment', foreground: removeHashtag(MonacoTheme.comment) },\n { token: 'number', foreground: removeHashtag(MonacoTheme.number) },\n { token: 'storage', foreground: removeHashtag(MonacoTheme.storage) },\n {\n token: 'identifier',\n foreground: removeHashtag(MonacoTheme.identifier),\n },\n {\n token: 'namespace.identifier',\n foreground: removeHashtag(MonacoTheme['namespace-identifier']),\n },\n { token: 'operator', foreground: removeHashtag(MonacoTheme.operator) },\n {\n token: 'predefined',\n foreground: removeHashtag(MonacoTheme.predefined),\n },\n {\n token: 'error.log',\n foreground: MonacoTheme['log-error']?.substring(1) ?? '',\n },\n {\n token: 'warn.log',\n foreground: removeHashtag(MonacoTheme['log-warn']),\n },\n {\n token: 'info.log',\n foreground: removeHashtag(MonacoTheme['log-info']),\n },\n {\n token: 'stdout.log',\n foreground: removeHashtag(MonacoTheme['log-stdout']),\n },\n {\n token: 'trace.log',\n foreground: removeHashtag(MonacoTheme['log-trace']),\n },\n {\n token: 'debug.log',\n foreground: removeHashtag(MonacoTheme['log-debug']),\n },\n {\n token: 'date.log',\n foreground: removeHashtag(MonacoTheme['log-date']),\n },\n ];\n\n const dhDarkColors = {\n foreground: MonacoTheme.foreground,\n errorForeground: MonacoTheme['error-foreground'],\n 'inputOption.activeBorder': MonacoTheme['input-option-active-border'],\n 'editor.background': MonacoTheme.background,\n 'editor.foreground': MonacoTheme.foreground,\n 'editor.lineHighlightBackground':\n MonacoTheme['editor-line-highlight-background'],\n 'editorLineNumber.foreground':\n MonacoTheme['editor-line-number-foreground'],\n 'editorLineNumber.activeForeground':\n MonacoTheme['editor-line-number-active-foreground'],\n 'editor.selectionBackground': MonacoTheme['editor-selection-background'],\n 'editor.inactiveSelectionBackground':\n MonacoTheme['editor-inactive-selection-background'],\n 'editor.selectionHighlightBackground':\n MonacoTheme['editor-selection-highlight-background'],\n 'editor.wordHighlightBackground':\n MonacoTheme['editor-word-highlight-background'],\n 'editor.findMatchBackground': MonacoTheme['editor-find-match-background'],\n 'editor.findMatchHighlightBackground':\n MonacoTheme['editor-find-match-highlight-background'],\n 'editorSuggestWidget.background':\n MonacoTheme['editor-suggest-widget-background'],\n 'editorSuggestWidget.border': MonacoTheme['editor-suggest-widget-border'],\n 'editorSuggestWidget.foreground':\n MonacoTheme['editor-suggest-widget-foreground'],\n 'editorSuggestWidget.selectedBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'list.activeSelectionBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'editorSuggestWidget.selectedForeground':\n MonacoTheme['editor-suggest-widget-selected-foreground'],\n 'list.activeSelectionForeground':\n MonacoTheme['editor-suggest-widget-selected-foreground'],\n 'editorSuggestWidget.highlightForeground':\n MonacoTheme['editor-suggest-widget-highlightForeground'],\n 'editorSuggestWidget.focusHighlightForeground':\n MonacoTheme['editor-suggest-widget-focus-highlight-foreground'],\n 'list.hoverBackground': MonacoTheme['list-hover-background'],\n 'dropdown.background': MonacoTheme['context-menu-background'],\n 'dropdown.foreground': MonacoTheme['context-menu-foreground'],\n 'menu.selectionBackground': MonacoTheme['menu-selection-background'],\n 'menu.selectionForeground': MonacoTheme['menu-selection-foreground'],\n 'keybindingLabel.foreground': MonacoTheme['menu-selection-foreground'],\n 'list.focusBackground': MonacoTheme['menu-selection-background'],\n 'editorWidget.background': MonacoTheme['editor-widget-background'],\n 'inputOption.activeBackground':\n MonacoTheme['input-option-active-background'],\n 'inputOption.activeForeground':\n MonacoTheme['input-option-active-foreground'],\n focusBorder: MonacoTheme['focus-border'],\n 'input.background': MonacoTheme['input-background'],\n 'input.foreground': MonacoTheme['input-foreground'],\n 'input.border': MonacoTheme['input-border'],\n 'textLink.foreground': MonacoTheme['text-link-foreground'],\n 'textLink.activeForeground': MonacoTheme['text-link-active-foreground'],\n 'editorLink.activeForeground':\n MonacoTheme['editor-link-active-foreground'],\n 'editorBracketHighlight.foreground1':\n MonacoTheme['editor-bracket-foreground1'],\n 'editorBracketHighlight.foreground2':\n MonacoTheme['editor-bracket-foreground2'],\n 'editorBracketHighlight.foreground3':\n MonacoTheme['editor-bracket-foreground3'],\n 'editorBracketHighlight.foreground4':\n MonacoTheme['editor-bracket-foreground4'],\n 'editorBracketHighlight.foreground5':\n MonacoTheme['editor-bracket-foreground5'],\n 'editorBracketHighlight.foreground6':\n MonacoTheme['editor-bracket-foreground6'],\n 'editorBracketHighlight.unexpectedBracket.foreground':\n MonacoTheme['editor-unexpected-bracket-foreground'],\n 'diffEditor.insertedTextBackground':\n MonacoTheme['diff-editor-inserted-text-background'],\n 'diffEditor.removedTextBackground':\n MonacoTheme['diff-editor-removed-text-background'],\n 'diffEditor.insertedLineBackground':\n MonacoTheme['diff-editor-inserted-line-background'],\n 'diffEditor.removedLineBackground':\n MonacoTheme['diff-editor-removed-line-background'],\n };\n\n monaco.editor.defineTheme('dh-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: dhDarkRules,\n colors: dhDarkColors,\n });\n\n try {\n monaco.editor.setTheme('dh-dark');\n } catch (err) {\n log.error(\n `Failed to set 'dh-dark' Monaco theme, falling back to vs-dark`,\n err\n );\n monaco.editor.setTheme('vs-dark');\n }\n }\n\n /**\n * Register the getWorker function for Monaco\n * @param getWorker The getWorker function for Monaco\n */\n static registerGetWorker(getWorker: Environment['getWorker']): void {\n window.MonacoEnvironment = {\n ...window.MonacoEnvironment,\n getWorker,\n };\n }\n\n /**\n * Remove the hashtag prefix from a CSS color string.\n * Monaco expects colors to be the value only, no hashtag.\n * @param color The hex color string to remove the hashtag from, eg. '#ffffff'\n */\n static removeHashtag(color?: string): string {\n return color?.substring(1) ?? '';\n }\n\n static registerLanguages(languages: Language[]): void {\n // First override the default loader for any language we have a custom definition for\n // https://github.com/Microsoft/monaco-editor/issues/252#issuecomment-482786867\n const languageIds = languages.map(({ id }) => id);\n monaco.languages\n .getLanguages()\n .filter(({ id }) => languageIds.includes(id))\n .forEach(languageParam => {\n const language = languageParam;\n log.debug2('Overriding default language loader:', language.id);\n });\n\n // Then register our language definitions\n languages.forEach(language => {\n MonacoUtils.registerLanguage(language);\n });\n }\n\n static registerLanguage(language: Language): void {\n log.debug2('Registering language: ', language.id);\n monaco.languages.register(language);\n\n monaco.languages.onLanguage(language.id, () => {\n monaco.languages.setLanguageConfiguration(language.id, language.conf);\n monaco.languages.setMonarchTokensProvider(language.id, language.language);\n });\n }\n\n /**\n * Set EOL preference for the editor\n * @param editor The editor to set the EOL for\n * @param eolSequence EOL sequence\n */\n static setEOL(\n editor: monaco.editor.IStandaloneCodeEditor,\n eolSequence = monaco.editor.EndOfLineSequence.LF\n ): void {\n editor.getModel()?.setEOL(eolSequence);\n }\n\n /**\n * Links an editor with a provided session to provide completion items.\n * @param session The IdeSession to link\n * @param editor The editor to link the session to\n * @returns A cleanup function for disposing of the created listeners\n */\n static openDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: dh.IdeSession\n ): monaco.IDisposable {\n const model = editor.getModel();\n assertNotNull(model);\n const didOpenDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n languageId: model.getLanguageId(),\n version: model.getVersionId(),\n text: model.getValue(),\n },\n };\n log.debug2('didOpenDocumentParams: ', didOpenDocumentParams);\n\n session.openDocument(didOpenDocumentParams);\n\n const dispose = editor.onDidChangeModelContent(changedEvent => {\n const { changes, versionId } = changedEvent;\n\n const contentChanges = [];\n for (let i = 0; i < changes.length; i += 1) {\n const change = changes[i];\n const { range, rangeLength, text } = change;\n const contentChange = {\n range: {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1,\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1,\n },\n },\n rangeLength,\n text,\n };\n\n contentChanges.push(contentChange);\n }\n\n if (contentChanges.length > 0) {\n const didChangeDocumentParams = {\n textDocument: {\n version: versionId,\n uri: `${model.uri}`,\n },\n contentChanges,\n };\n log.debug2('didChangeDocumentParams', didChangeDocumentParams);\n session.changeDocument(didChangeDocumentParams);\n }\n });\n\n return dispose;\n }\n\n static closeDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: dh.IdeSession\n ): void {\n const model = editor.getModel();\n assertNotNull(model);\n const didCloseDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n },\n };\n session.closeDocument(didCloseDocumentParams);\n }\n\n /**\n * Register a paste handle to clean up any garbage code pasted.\n * Most of this comes from copying from Slack, which has a bad habit of injecting their own characters in your code snippets.\n * I've emailed Slack about the issue and they're working on it. I can't reference a ticket number because their ticket system is entirely internally facing.\n * @param editor The editor the register the paste handler for\n */\n static registerPasteHandler(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n editor.onDidPaste(pasteEvent => {\n const smartQuotes = /“|”/g;\n const invalidChars = /\\u200b/g; // zero width space\n const invalidSpaces = /\\u00A0/g; // non-breaking space\n const editorModel = editor.getModel();\n assertNotNull(editorModel);\n const pastedText = editorModel.getValueInRange(pasteEvent.range);\n if (\n smartQuotes.test(pastedText) ||\n invalidChars.test(pastedText) ||\n invalidSpaces.test(pastedText)\n ) {\n editorModel.applyEdits([\n {\n range: pasteEvent.range,\n text: pastedText\n .replace(smartQuotes, '\"')\n .replace(invalidChars, '')\n .replace(invalidSpaces, ' '),\n },\n ]);\n }\n });\n }\n\n static isMacPlatform(): boolean {\n const { platform } = window.navigator;\n return platform.startsWith('Mac');\n }\n\n /**\n * Remove any keybindings which are used for our own shortcuts.\n * This allows the key events to bubble up so a component higher up can capture\n * them. Note that this is a global configuration, so all editor instances will\n * be impacted.\n */\n static removeConflictingKeybindings(): void {\n // All editor instances share a global keybinding registry which is where\n // default keybindings are set. There doesn't appear to be a way to remove\n // default bindings, but we can add new ones that will override the existing\n // ones and set `command` to null. This will treat the key events as unhandled\n // and allow them to bubble up.\n monaco.editor.addKeybindingRule(\n // Restart console in Enterprise (see Shortcuts.ts)\n {\n /* eslint-disable-next-line no-bitwise */\n keybinding: monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyD,\n command: null,\n }\n );\n\n // Ctrl+H is used to focus Community console history in Windows + Linux.\n // An alternate shortcut is used for Mac, so no need to override it\n // (See ConsoleShortcuts.ts)\n if (!MonacoUtils.isMacPlatform()) {\n monaco.editor.addKeybindingRule({\n /* eslint-disable-next-line no-bitwise */\n keybinding: monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyH,\n command: null,\n });\n }\n }\n\n /**\n * Creates actions with a `noop` run function to disable specified keybindings.\n * Note that this will swallow the events. To disable default keybindings in a\n * way that allows events to propagate upward, see `removeConflictingKeybindings`\n * @param editor Editor to disable keybindings for\n * @param keybindings List of monaco keybindings to disable. Often a bitwise\n * combination like `monaco.KeyMod.Alt | monaco.KeyMod.KeyJ`\n */\n static disableKeyBindings(\n editor: monaco.editor.IStandaloneCodeEditor,\n keybindings: number[]\n ): void {\n editor.addAction({\n // This shouldn't be referenced by anything so using an arbitrary unique id\n id: `disable-keybindings-${nanoid()}`,\n label: '', // This action won't be shown in the UI so no need for a label\n keybindings,\n run: () => undefined,\n });\n }\n\n static getMonacoKeyCodeFromShortcut(shortcut: Shortcut): number {\n const { keyState } = shortcut;\n const { keyValue } = keyState;\n if (keyValue === null) {\n return 0;\n }\n\n const isMac = MonacoUtils.isMacPlatform();\n\n if (isMac) {\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.metaKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.ctrlKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.ctrlKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.metaKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n static provideLinks(model: monaco.editor.ITextModel): {\n links: monaco.languages.ILink[];\n } {\n const newTokens: monaco.languages.ILink[] = [];\n\n for (let i = 1; i <= model.getLineCount(); i += 1) {\n const lineText = model.getLineContent(i);\n const originalTokens = linkifyFind(lineText);\n\n const tokens = originalTokens.filter(token => {\n if (token.type === 'url') {\n return /^https?:\\/\\//.test(token.value);\n }\n return true;\n });\n // map the tokens to the ranges - you know the line number now, use the token start/end as the startColumn/endColumn\n tokens.forEach(token => {\n newTokens.push({\n url: token.href,\n range: new monaco.Range(i, token.start + 1, i, token.end + 1),\n });\n });\n }\n\n return {\n links: newTokens,\n };\n }\n\n /**\n * Generates a console URI for use with monaco.\n * @returns A new console URI\n */\n static generateConsoleUri(): monaco.Uri {\n return monaco.Uri.parse(`${CONSOLE_URI_PREFIX}${nanoid()}`);\n }\n\n /**\n * Checks if a model is a console model based on its URI.\n * @param model The monaco model to check\n * @returns If the model is a console model\n */\n static isConsoleModel(model: monaco.editor.ITextModel): boolean {\n return model.uri.toString().startsWith(CONSOLE_URI_PREFIX);\n }\n\n /**\n * Checks if the editor has the formatDocument action registered.\n * @param editor The monaco editor to check\n * @returns If the editor has a document formatter registered\n */\n static canFormat(editor: monaco.editor.IStandaloneCodeEditor): boolean {\n return (\n editor.getAction('editor.action.formatDocument')?.isSupported() === true\n );\n }\n\n /**\n * Runs the formatDocument action on the editor.\n * @param editor The editor to format\n */\n static async formatDocument(\n editor: monaco.editor.IStandaloneCodeEditor\n ): Promise<void> {\n await editor.getAction('editor.action.formatDocument')?.run();\n }\n}\n\nexport default MonacoUtils;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/console",
3
- "version": "1.10.2-lerna-v9.0+1568223",
3
+ "version": "1.11.0",
4
4
  "description": "Deephaven Console",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -24,16 +24,16 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@astral-sh/ruff-wasm-web": "0.6.4",
27
- "@deephaven/chart": "^1.10.2-lerna-v9.0+1568223",
28
- "@deephaven/components": "^1.10.2-lerna-v9.0+1568223",
29
- "@deephaven/icons": "^1.10.2-lerna-v9.0+1568223",
30
- "@deephaven/jsapi-bootstrap": "^1.10.2-lerna-v9.0+1568223",
27
+ "@deephaven/chart": "^1.11.0",
28
+ "@deephaven/components": "^1.11.0",
29
+ "@deephaven/icons": "^1.2.0",
30
+ "@deephaven/jsapi-bootstrap": "^1.11.0",
31
31
  "@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
32
- "@deephaven/jsapi-utils": "^1.10.2-lerna-v9.0+1568223",
33
- "@deephaven/log": "^1.10.2-lerna-v9.0+1568223",
34
- "@deephaven/react-hooks": "^1.10.2-lerna-v9.0+1568223",
35
- "@deephaven/storage": "^1.10.2-lerna-v9.0+1568223",
36
- "@deephaven/utils": "^1.10.2-lerna-v9.0+1568223",
32
+ "@deephaven/jsapi-utils": "^1.10.1",
33
+ "@deephaven/log": "^1.8.0",
34
+ "@deephaven/react-hooks": "^1.10.0",
35
+ "@deephaven/storage": "^1.8.0",
36
+ "@deephaven/utils": "^1.10.0",
37
37
  "@fortawesome/react-fontawesome": "^0.2.0",
38
38
  "classnames": "^2.3.1",
39
39
  "linkifyjs": "^4.1.0",
@@ -52,9 +52,9 @@
52
52
  "react-dom": ">=16.8.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@deephaven/jsapi-shim": "^1.10.2-lerna-v9.0+1568223",
56
- "@deephaven/mocks": "^1.10.2-lerna-v9.0+1568223",
57
- "@deephaven/test-utils": "^1.10.2-lerna-v9.0+1568223"
55
+ "@deephaven/jsapi-shim": "^1.9.0",
56
+ "@deephaven/mocks": "^1.1.0",
57
+ "@deephaven/test-utils": "^1.8.0"
58
58
  },
59
59
  "files": [
60
60
  "dist"
@@ -65,5 +65,5 @@
65
65
  "publishConfig": {
66
66
  "access": "public"
67
67
  },
68
- "gitHead": "1568223787092458ea660371adb5c7fc8613e6a4"
68
+ "gitHead": "7b2a23ea3b33c11f136e7b9d44a204880c674866"
69
69
  }