@theia/core 1.74.0-next.8 → 1.74.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 (209) hide show
  1. package/README.md +10 -10
  2. package/i18n/nls.cs.json +143 -16
  3. package/i18n/nls.de.json +143 -16
  4. package/i18n/nls.es.json +143 -16
  5. package/i18n/nls.fr.json +143 -16
  6. package/i18n/nls.hu.json +143 -16
  7. package/i18n/nls.it.json +143 -16
  8. package/i18n/nls.ja.json +143 -16
  9. package/i18n/nls.json +143 -16
  10. package/i18n/nls.ko.json +143 -16
  11. package/i18n/nls.pl.json +143 -16
  12. package/i18n/nls.pt-br.json +143 -16
  13. package/i18n/nls.ru.json +143 -16
  14. package/i18n/nls.tr.json +143 -16
  15. package/i18n/nls.zh-cn.json +143 -16
  16. package/i18n/nls.zh-tw.json +143 -16
  17. package/lib/browser/browser-clipboard-service.d.ts +3 -0
  18. package/lib/browser/browser-clipboard-service.d.ts.map +1 -1
  19. package/lib/browser/browser-clipboard-service.js +8 -1
  20. package/lib/browser/browser-clipboard-service.js.map +1 -1
  21. package/lib/browser/catalog.json +419 -41
  22. package/lib/browser/clipboard-service.d.ts +11 -0
  23. package/lib/browser/clipboard-service.d.ts.map +1 -1
  24. package/lib/browser/clipboard-service.js.map +1 -1
  25. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  26. package/lib/browser/common-frontend-contribution.js +7 -7
  27. package/lib/browser/common-frontend-contribution.js.map +1 -1
  28. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  29. package/lib/browser/frontend-application-module.js +9 -0
  30. package/lib/browser/frontend-application-module.js.map +1 -1
  31. package/lib/browser/frontend-application.d.ts.map +1 -1
  32. package/lib/browser/frontend-application.js +12 -2
  33. package/lib/browser/frontend-application.js.map +1 -1
  34. package/lib/browser/index.d.ts +1 -0
  35. package/lib/browser/index.d.ts.map +1 -1
  36. package/lib/browser/index.js +1 -0
  37. package/lib/browser/index.js.map +1 -1
  38. package/lib/browser/keybinding.d.ts.map +1 -1
  39. package/lib/browser/keybinding.js +12 -7
  40. package/lib/browser/keybinding.js.map +1 -1
  41. package/lib/browser/perspective-service.d.ts +173 -0
  42. package/lib/browser/perspective-service.d.ts.map +1 -0
  43. package/lib/browser/perspective-service.js +484 -0
  44. package/lib/browser/perspective-service.js.map +1 -0
  45. package/lib/browser/perspective-service.spec.d.ts +2 -0
  46. package/lib/browser/perspective-service.spec.d.ts.map +1 -0
  47. package/lib/browser/perspective-service.spec.js +1806 -0
  48. package/lib/browser/perspective-service.spec.js.map +1 -0
  49. package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
  50. package/lib/browser/preferences/preference-contribution.js +9 -1
  51. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  52. package/lib/browser/preferences/preference-service.spec.js +63 -0
  53. package/lib/browser/preferences/preference-service.spec.js.map +1 -1
  54. package/lib/browser/shell/application-shell.d.ts +7 -0
  55. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  56. package/lib/browser/shell/application-shell.js +38 -28
  57. package/lib/browser/shell/application-shell.js.map +1 -1
  58. package/lib/browser/shell/shell-layout-restorer.d.ts +9 -0
  59. package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
  60. package/lib/browser/shell/shell-layout-restorer.js +124 -14
  61. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  62. package/lib/browser/shell/shell-layout-restorer.spec.d.ts +2 -0
  63. package/lib/browser/shell/shell-layout-restorer.spec.d.ts.map +1 -0
  64. package/lib/browser/shell/shell-layout-restorer.spec.js +539 -0
  65. package/lib/browser/shell/shell-layout-restorer.spec.js.map +1 -0
  66. package/lib/browser/shell/view-contribution.d.ts +2 -0
  67. package/lib/browser/shell/view-contribution.d.ts.map +1 -1
  68. package/lib/browser/shell/view-contribution.js +5 -1
  69. package/lib/browser/shell/view-contribution.js.map +1 -1
  70. package/lib/browser/status-bar/status-bar.d.ts +2 -0
  71. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  72. package/lib/browser/status-bar/status-bar.js +11 -3
  73. package/lib/browser/status-bar/status-bar.js.map +1 -1
  74. package/lib/browser/tree/tree-widget.d.ts +7 -33
  75. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  76. package/lib/browser/tree/tree-widget.js +7 -54
  77. package/lib/browser/tree/tree-widget.js.map +1 -1
  78. package/lib/browser/widgets/index.d.ts +1 -0
  79. package/lib/browser/widgets/index.d.ts.map +1 -1
  80. package/lib/browser/widgets/index.js +1 -0
  81. package/lib/browser/widgets/index.js.map +1 -1
  82. package/lib/browser/widgets/select-component.d.ts +2 -2
  83. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  84. package/lib/browser/widgets/select-component.js +42 -12
  85. package/lib/browser/widgets/select-component.js.map +1 -1
  86. package/lib/browser/widgets/tab-bar-tracker.d.ts +23 -0
  87. package/lib/browser/widgets/tab-bar-tracker.d.ts.map +1 -0
  88. package/lib/browser/widgets/tab-bar-tracker.js +65 -0
  89. package/lib/browser/widgets/tab-bar-tracker.js.map +1 -0
  90. package/lib/browser/widgets/tab-bar-tracker.spec.d.ts +2 -0
  91. package/lib/browser/widgets/tab-bar-tracker.spec.d.ts.map +1 -0
  92. package/lib/browser/widgets/tab-bar-tracker.spec.js +109 -0
  93. package/lib/browser/widgets/tab-bar-tracker.spec.js.map +1 -0
  94. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +13 -2
  95. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -1
  96. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +31 -3
  97. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  98. package/lib/common/preferences/index.d.ts +1 -0
  99. package/lib/common/preferences/index.d.ts.map +1 -1
  100. package/lib/common/preferences/index.js +1 -0
  101. package/lib/common/preferences/index.js.map +1 -1
  102. package/lib/common/preferences/preference-provider.d.ts +15 -0
  103. package/lib/common/preferences/preference-provider.d.ts.map +1 -1
  104. package/lib/common/preferences/preference-provider.js +21 -1
  105. package/lib/common/preferences/preference-provider.js.map +1 -1
  106. package/lib/common/preferences/preference-provider.spec.js +17 -0
  107. package/lib/common/preferences/preference-provider.spec.js.map +1 -1
  108. package/lib/common/preferences/preference-scope.d.ts +6 -1
  109. package/lib/common/preferences/preference-scope.d.ts.map +1 -1
  110. package/lib/common/preferences/preference-scope.js +5 -0
  111. package/lib/common/preferences/preference-scope.js.map +1 -1
  112. package/lib/common/preferences/preference-scope.spec.js +5 -3
  113. package/lib/common/preferences/preference-scope.spec.js.map +1 -1
  114. package/lib/common/preferences/preference-service.d.ts +19 -0
  115. package/lib/common/preferences/preference-service.d.ts.map +1 -1
  116. package/lib/common/preferences/preference-service.js +34 -5
  117. package/lib/common/preferences/preference-service.js.map +1 -1
  118. package/lib/common/preferences/session-preference-provider.d.ts +17 -0
  119. package/lib/common/preferences/session-preference-provider.d.ts.map +1 -0
  120. package/lib/common/preferences/session-preference-provider.js +77 -0
  121. package/lib/common/preferences/session-preference-provider.js.map +1 -0
  122. package/lib/common/preferences/session-preference-provider.spec.d.ts +2 -0
  123. package/lib/common/preferences/session-preference-provider.spec.d.ts.map +1 -0
  124. package/lib/common/preferences/session-preference-provider.spec.js +71 -0
  125. package/lib/common/preferences/session-preference-provider.spec.js.map +1 -0
  126. package/lib/electron-browser/electron-clipboard-service.d.ts +3 -0
  127. package/lib/electron-browser/electron-clipboard-service.d.ts.map +1 -1
  128. package/lib/electron-browser/electron-clipboard-service.js +6 -0
  129. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  130. package/lib/electron-browser/preload.d.ts.map +1 -1
  131. package/lib/electron-browser/preload.js +2 -1
  132. package/lib/electron-browser/preload.js.map +1 -1
  133. package/lib/electron-common/electron-api.d.ts +2 -0
  134. package/lib/electron-common/electron-api.d.ts.map +1 -1
  135. package/lib/electron-common/electron-api.js +2 -1
  136. package/lib/electron-common/electron-api.js.map +1 -1
  137. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  138. package/lib/electron-main/electron-api-main.js +43 -0
  139. package/lib/electron-main/electron-api-main.js.map +1 -1
  140. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  141. package/lib/electron-main/electron-main-application.js +3 -0
  142. package/lib/electron-main/electron-main-application.js.map +1 -1
  143. package/lib/electron-node/hosting/electron-backend-hosting-module.d.ts.map +1 -1
  144. package/lib/electron-node/hosting/electron-backend-hosting-module.js +7 -0
  145. package/lib/electron-node/hosting/electron-backend-hosting-module.js.map +1 -1
  146. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts +2 -0
  147. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts.map +1 -0
  148. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js +39 -0
  149. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js.map +1 -0
  150. package/lib/node/hosting/backend-hosting-module.d.ts.map +1 -1
  151. package/lib/node/hosting/backend-hosting-module.js +4 -1
  152. package/lib/node/hosting/backend-hosting-module.js.map +1 -1
  153. package/lib/node/hosting/browser-connection-token.d.ts +29 -1
  154. package/lib/node/hosting/browser-connection-token.d.ts.map +1 -1
  155. package/lib/node/hosting/browser-connection-token.js +25 -1
  156. package/lib/node/hosting/browser-connection-token.js.map +1 -1
  157. package/lib/node/hosting/browser-connection-token.spec.js +70 -0
  158. package/lib/node/hosting/browser-connection-token.spec.js.map +1 -1
  159. package/lib/node/index.d.ts +1 -0
  160. package/lib/node/index.d.ts.map +1 -1
  161. package/lib/node/index.js +3 -1
  162. package/lib/node/index.js.map +1 -1
  163. package/package.json +11 -11
  164. package/src/browser/browser-clipboard-service.ts +7 -1
  165. package/src/browser/clipboard-service.ts +11 -0
  166. package/src/browser/common-frontend-contribution.ts +7 -7
  167. package/src/browser/frontend-application-module.ts +11 -1
  168. package/src/browser/frontend-application.ts +12 -4
  169. package/src/browser/index.ts +1 -0
  170. package/src/browser/keybinding.ts +12 -7
  171. package/src/browser/perspective-service.spec.ts +2270 -0
  172. package/src/browser/perspective-service.ts +625 -0
  173. package/src/browser/preferences/preference-contribution.ts +9 -1
  174. package/src/browser/preferences/preference-service.spec.ts +72 -0
  175. package/src/browser/shell/application-shell.ts +41 -26
  176. package/src/browser/shell/shell-layout-restorer.spec.ts +746 -0
  177. package/src/browser/shell/shell-layout-restorer.ts +134 -13
  178. package/src/browser/shell/view-contribution.ts +6 -1
  179. package/src/browser/status-bar/status-bar.tsx +13 -3
  180. package/src/browser/style/select-component.css +16 -0
  181. package/src/browser/style/sidepanel.css +5 -0
  182. package/src/browser/style/status-bar.css +1 -1
  183. package/src/browser/tree/tree-widget.tsx +12 -78
  184. package/src/browser/widgets/index.ts +1 -0
  185. package/src/browser/widgets/select-component.tsx +41 -12
  186. package/src/browser/widgets/tab-bar-tracker.spec.ts +121 -0
  187. package/src/browser/widgets/tab-bar-tracker.ts +68 -0
  188. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +32 -3
  189. package/src/common/i18n/nls.metadata.json +4149 -888
  190. package/src/common/preferences/index.ts +1 -0
  191. package/src/common/preferences/preference-provider.spec.ts +17 -0
  192. package/src/common/preferences/preference-provider.ts +22 -1
  193. package/src/common/preferences/preference-scope.spec.ts +5 -3
  194. package/src/common/preferences/preference-scope.ts +6 -1
  195. package/src/common/preferences/preference-service.ts +39 -5
  196. package/src/common/preferences/session-preference-provider.spec.ts +78 -0
  197. package/src/common/preferences/session-preference-provider.ts +69 -0
  198. package/src/electron-browser/electron-clipboard-service.ts +5 -0
  199. package/src/electron-browser/menu/electron-menu-style.css +3 -1
  200. package/src/electron-browser/preload.ts +5 -2
  201. package/src/electron-common/electron-api.ts +4 -0
  202. package/src/electron-main/electron-api-main.ts +56 -3
  203. package/src/electron-main/electron-main-application.ts +3 -0
  204. package/src/electron-node/hosting/electron-backend-hosting-module.spec.ts +42 -0
  205. package/src/electron-node/hosting/electron-backend-hosting-module.ts +8 -0
  206. package/src/node/hosting/backend-hosting-module.ts +5 -2
  207. package/src/node/hosting/browser-connection-token.spec.ts +92 -0
  208. package/src/node/hosting/browser-connection-token.ts +45 -1
  209. package/src/node/index.ts +1 -0
@@ -37,7 +37,7 @@ export declare class SelectComponent extends React.Component<SelectComponentProp
37
37
  protected resizeObserver: ResizeObserver | undefined;
38
38
  constructor(props: SelectComponentProps);
39
39
  protected getInitialSelectedIndex(props: SelectComponentProps): number;
40
- componentDidUpdate(prevProps: SelectComponentProps): void;
40
+ componentDidUpdate(prevProps: SelectComponentProps, prevState: SelectComponentState): void;
41
41
  get options(): readonly SelectOption[];
42
42
  get value(): string | number | undefined;
43
43
  set value(value: string | number | undefined);
@@ -47,7 +47,7 @@ export declare class SelectComponent extends React.Component<SelectComponentProp
47
47
  protected attachListeners(): void;
48
48
  componentWillUnmount(): void;
49
49
  render(): React.ReactNode;
50
- protected nextNotSeparator(direction: 'forwards' | 'backwards'): number;
50
+ protected nextNotSeparator(direction: 'forwards' | 'backwards', startFrom?: number): number;
51
51
  protected handleKeypress(ev: React.KeyboardEvent<HTMLDivElement>): void;
52
52
  protected handleClickEvent(event: React.MouseEvent<HTMLElement>): void;
53
53
  protected toggleVisibility(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"select-component.d.ts","sourceRoot":"","sources":["../../../src/browser/widgets/select-component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-component.d.ts","sourceRoot":"","sources":["../../../src/browser/widgets/select-component.tsx"],"names":[],"mappings":"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"}
@@ -56,7 +56,21 @@ class SelectComponent extends React.Component {
56
56
  }
57
57
  return selected;
58
58
  }
59
- componentDidUpdate(prevProps) {
59
+ componentDidUpdate(prevProps, prevState) {
60
+ if (prevState.selected !== this.state.selected && this.state.dimensions) {
61
+ const dropdownContainer = this.dropdownRef?.current;
62
+ const selectedOption = dropdownContainer?.querySelector(`[data-option-index="${this.state.selected}"]`);
63
+ if (dropdownContainer && selectedOption) {
64
+ const optionBottom = selectedOption.offsetTop + selectedOption.offsetHeight;
65
+ const visibleBottom = dropdownContainer.scrollTop + dropdownContainer.clientHeight;
66
+ if (optionBottom > visibleBottom) {
67
+ dropdownContainer.scrollTop = optionBottom - dropdownContainer.clientHeight;
68
+ }
69
+ else if (selectedOption.offsetTop < dropdownContainer.scrollTop) {
70
+ dropdownContainer.scrollTop = selectedOption.offsetTop;
71
+ }
72
+ }
73
+ }
60
74
  if (prevProps.defaultValue !== this.props.defaultValue || prevProps.options !== this.props.options) {
61
75
  const selected = this.getInitialSelectedIndex(this.props);
62
76
  this.setState({
@@ -179,8 +193,13 @@ class SelectComponent extends React.Component {
179
193
  selected = this.nextNotSeparator('forwards');
180
194
  }
181
195
  const selectedItemLabel = options[selected]?.label ?? options[selected]?.value;
196
+ // Expose when the currently shown option is disabled so consumers can style the field to match
197
+ // it (e.g. the option previewed while navigating), instead of a fixed committed-value class.
198
+ const selectionDisabled = !!options[selected]?.disabled;
199
+ const fieldClassName = `theia-select-component${this.props.className ? ` ${this.props.className}` : ''}`
200
+ + `${selectionDisabled ? ' theia-select-component-selection-disabled' : ''}`;
182
201
  return React.createElement(React.Fragment, null,
183
- React.createElement("div", { id: this.props.id, key: "select-component", ref: this.fieldRef, tabIndex: 0, className: `theia-select-component${this.props.className ? ` ${this.props.className}` : ''}`, onClick: e => this.handleClickEvent(e), onBlur: () => {
202
+ React.createElement("div", { id: this.props.id, key: "select-component", ref: this.fieldRef, tabIndex: 0, className: fieldClassName, onClick: e => this.handleClickEvent(e), onBlur: () => {
184
203
  this.hide();
185
204
  this.props.onBlur?.();
186
205
  }, onFocus: () => this.props.onFocus?.(), onKeyDown: e => this.handleKeypress(e) },
@@ -188,11 +207,11 @@ class SelectComponent extends React.Component {
188
207
  React.createElement("div", { key: "icon", className: `theia-select-component-chevron ${(0, widget_1.codicon)('chevron-down')}` })),
189
208
  ReactDOM.createPortal(this.renderDropdown(), this.dropdownElement));
190
209
  }
191
- nextNotSeparator(direction) {
210
+ nextNotSeparator(direction, startFrom) {
192
211
  const { options } = this.props;
193
212
  const step = direction === 'forwards' ? 1 : -1;
194
213
  const length = this.props.options.length;
195
- let selected = this.state.selected;
214
+ let selected = startFrom ?? this.state.selected;
196
215
  let count = 0;
197
216
  do {
198
217
  selected = (selected + step) % length;
@@ -200,7 +219,9 @@ class SelectComponent extends React.Component {
200
219
  selected = length - 1;
201
220
  }
202
221
  count++;
203
- } while (options[selected]?.separator && count < length);
222
+ }
223
+ // Skip separators and disabled options so keyboard navigation never lands on a non-selectable entry.
224
+ while ((options[selected]?.separator || options[selected]?.disabled) && count < length);
204
225
  return selected;
205
226
  }
206
227
  handleKeypress(ev) {
@@ -208,7 +229,7 @@ class SelectComponent extends React.Component {
208
229
  return;
209
230
  }
210
231
  if (ev.key === 'ArrowUp') {
211
- const selected = this.nextNotSeparator('backwards');
232
+ const selected = this.nextNotSeparator('backwards', this.state.hover);
212
233
  this.setState({
213
234
  selected,
214
235
  hover: selected
@@ -216,7 +237,7 @@ class SelectComponent extends React.Component {
216
237
  }
217
238
  else if (ev.key === 'ArrowDown') {
218
239
  if (this.state.dimensions) {
219
- const selected = this.nextNotSeparator('forwards');
240
+ const selected = this.nextNotSeparator('forwards', this.state.hover);
220
241
  this.setState({
221
242
  selected,
222
243
  hover: selected
@@ -224,9 +245,12 @@ class SelectComponent extends React.Component {
224
245
  }
225
246
  else {
226
247
  this.toggleVisibility();
248
+ // Start on the first selectable option (startFrom -1 evaluates index 0 first), so a
249
+ // leading separator or disabled option is skipped instead of becoming the active row.
250
+ const selected = this.nextNotSeparator('forwards', -1);
227
251
  this.setState({
228
- selected: 0,
229
- hover: 0,
252
+ selected,
253
+ hover: selected,
230
254
  });
231
255
  }
232
256
  }
@@ -236,7 +260,10 @@ class SelectComponent extends React.Component {
236
260
  }
237
261
  else {
238
262
  const selected = this.state.selected;
239
- this.selectOption(selected, this.props.options[selected]);
263
+ const option = this.props.options[selected];
264
+ if (!option?.disabled) {
265
+ this.selectOption(selected, option);
266
+ }
240
267
  }
241
268
  }
242
269
  else if (ev.key === 'Escape' || ev.key === 'Tab') {
@@ -328,12 +355,15 @@ class SelectComponent extends React.Component {
328
355
  return React.createElement("div", { key: index, className: "theia-select-component-separator" });
329
356
  }
330
357
  const selected = this.state.hover;
331
- return (React.createElement("div", { key: index, className: `theia-select-component-option${index === selected ? ' selected' : ''}`, onMouseOver: () => {
358
+ const disabled = !!option.disabled;
359
+ return (React.createElement("div", { key: index, "data-option-index": index, className: `theia-select-component-option${index === selected ? ' selected' : ''}${disabled ? ' disabled' : ''}`, onMouseOver: () => {
332
360
  this.setState({
333
361
  hover: index
334
362
  });
335
363
  }, onMouseDown: () => {
336
- this.selectOption(index, option);
364
+ if (!disabled) {
365
+ this.selectOption(index, option);
366
+ }
337
367
  } },
338
368
  React.createElement("div", { key: "value", className: "theia-select-component-option-value" }, option.label ?? option.value),
339
369
  option.detail && React.createElement("div", { key: "detail", className: "theia-select-component-option-detail" }, option.detail)));
@@ -1 +1 @@
1
- {"version":3,"file":"select-component.js","sourceRoot":"","sources":["../../../src/browser/widgets/select-component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-component.js","sourceRoot":"","sources":["../../../src/browser/widgets/select-component.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { TabBar, Widget } from '@lumino/widgets';
2
+ import { Disposable, DisposableCollection } from '../../common';
3
+ /**
4
+ * Detects when a widget is moved between the tab-bars of its enclosing {@link DockPanel} and
5
+ * notifies a callback with the previous and current tab-bar. Call {@link check} from the host
6
+ * widget's `onAfterAttach`.
7
+ */
8
+ export declare class TabBarTracker implements Disposable {
9
+ protected readonly widget: Widget;
10
+ protected readonly onTabBarChange: (oldTabBar?: TabBar<Widget>, newTabBar?: TabBar<Widget>) => void;
11
+ protected currentTabBar: TabBar<Widget> | undefined;
12
+ protected isDisposed: boolean;
13
+ protected readonly toDisposeOnTabBarChange: DisposableCollection;
14
+ constructor(widget: Widget, onTabBarChange: (oldTabBar?: TabBar<Widget>, newTabBar?: TabBar<Widget>) => void);
15
+ check(): void;
16
+ /**
17
+ * Forgets the current tab-bar so that the next {@link check} reports it again as
18
+ * `(undefined, currentTabBar)`. Listeners on the enclosing panel stay connected.
19
+ */
20
+ reset(): void;
21
+ dispose(): void;
22
+ }
23
+ //# sourceMappingURL=tab-bar-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-bar-tracker.d.ts","sourceRoot":"","sources":["../../../src/browser/widgets/tab-bar-tracker.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAa,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,aAAc,YAAW,UAAU;IAOxC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;IANvG,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,QAAQ,CAAC,uBAAuB,uBAA8B;gBAGjD,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI;IAGvG,KAAK,IAAI,IAAI;IAmBb;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,IAAI;CAIlB"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 JuliaHub, Inc. and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TabBarTracker = void 0;
19
+ const algorithm_1 = require("@lumino/algorithm");
20
+ const widgets_1 = require("@lumino/widgets");
21
+ const common_1 = require("../../common");
22
+ /**
23
+ * Detects when a widget is moved between the tab-bars of its enclosing {@link DockPanel} and
24
+ * notifies a callback with the previous and current tab-bar. Call {@link check} from the host
25
+ * widget's `onAfterAttach`.
26
+ */
27
+ class TabBarTracker {
28
+ constructor(widget, onTabBarChange) {
29
+ this.widget = widget;
30
+ this.onTabBarChange = onTabBarChange;
31
+ this.isDisposed = false;
32
+ this.toDisposeOnTabBarChange = new common_1.DisposableCollection();
33
+ }
34
+ check() {
35
+ if (this.isDisposed) {
36
+ return;
37
+ }
38
+ const parent = this.widget.parent;
39
+ if (parent instanceof widgets_1.DockPanel) {
40
+ const newTabBar = (0, algorithm_1.find)(parent.tabBars(), tabBar => !!tabBar.titles.find(title => title === this.widget.title));
41
+ if (this.currentTabBar !== newTabBar) {
42
+ this.toDisposeOnTabBarChange.dispose();
43
+ const listener = () => this.check();
44
+ parent.layoutModified.connect(listener);
45
+ this.toDisposeOnTabBarChange.push(common_1.Disposable.create(() => parent.layoutModified.disconnect(listener)));
46
+ const last = this.currentTabBar;
47
+ this.currentTabBar = newTabBar;
48
+ this.onTabBarChange(last, newTabBar);
49
+ }
50
+ }
51
+ }
52
+ /**
53
+ * Forgets the current tab-bar so that the next {@link check} reports it again as
54
+ * `(undefined, currentTabBar)`. Listeners on the enclosing panel stay connected.
55
+ */
56
+ reset() {
57
+ this.currentTabBar = undefined;
58
+ }
59
+ dispose() {
60
+ this.isDisposed = true;
61
+ this.toDisposeOnTabBarChange.dispose();
62
+ }
63
+ }
64
+ exports.TabBarTracker = TabBarTracker;
65
+ //# sourceMappingURL=tab-bar-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-bar-tracker.js","sourceRoot":"","sources":["../../../src/browser/widgets/tab-bar-tracker.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,gDAAgD;AAChD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,iDAAyC;AACzC,6CAA4D;AAC5D,yCAAgE;AAEhE;;;;GAIG;AACH,MAAa,aAAa;IAMtB,YACuB,MAAc,EACd,cAAgF;QADhF,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAkE;QAL7F,eAAU,GAAG,KAAK,CAAC;QACV,4BAAuB,GAAG,IAAI,6BAAoB,EAAE,CAAC;IAKpE,CAAC;IAEL,KAAK;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,MAAM,YAAY,mBAAS,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/G,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvG,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;gBAChC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK;QACD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;CACJ;AA1CD,sCA0CC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tab-bar-tracker.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-bar-tracker.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/widgets/tab-bar-tracker.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 JuliaHub, Inc. and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const jsdom_1 = require("../test/jsdom");
19
+ let disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ const chai_1 = require("chai");
21
+ const messaging_1 = require("@lumino/messaging");
22
+ const widgets_1 = require("@lumino/widgets");
23
+ const tab_bar_tracker_1 = require("./tab-bar-tracker");
24
+ disableJSDOM();
25
+ describe('TabBarTracker', () => {
26
+ before(() => {
27
+ disableJSDOM = (0, jsdom_1.enableJSDOM)();
28
+ });
29
+ after(() => {
30
+ disableJSDOM();
31
+ });
32
+ let panel;
33
+ afterEach(() => {
34
+ if (panel) {
35
+ widgets_1.Widget.detach(panel);
36
+ panel.dispose();
37
+ panel = undefined;
38
+ }
39
+ });
40
+ function attachInDockPanel() {
41
+ panel = new widgets_1.DockPanel();
42
+ widgets_1.Widget.attach(panel, document.body);
43
+ const widget = new widgets_1.Widget();
44
+ panel.addWidget(widget);
45
+ messaging_1.MessageLoop.flush();
46
+ return widget;
47
+ }
48
+ it('reports the enclosing tab-bar on the first check', () => {
49
+ const widget = attachInDockPanel();
50
+ const events = [];
51
+ const tracker = new tab_bar_tracker_1.TabBarTracker(widget, (oldTabBar, newTabBar) => events.push([oldTabBar, newTabBar]));
52
+ tracker.check();
53
+ (0, chai_1.expect)(events).lengthOf(1);
54
+ (0, chai_1.expect)(events[0][0]).undefined;
55
+ (0, chai_1.expect)(events[0][1]).not.undefined;
56
+ });
57
+ it('does not report again when the tab-bar has not changed', () => {
58
+ const widget = attachInDockPanel();
59
+ let count = 0;
60
+ const tracker = new tab_bar_tracker_1.TabBarTracker(widget, () => count++);
61
+ tracker.check();
62
+ tracker.check();
63
+ (0, chai_1.expect)(count).equal(1);
64
+ });
65
+ it('does nothing when the widget is not inside a DockPanel', () => {
66
+ let count = 0;
67
+ const tracker = new tab_bar_tracker_1.TabBarTracker(new widgets_1.Widget(), () => count++);
68
+ tracker.check();
69
+ (0, chai_1.expect)(count).equal(0);
70
+ });
71
+ it('stops reporting once disposed', () => {
72
+ const widget = attachInDockPanel();
73
+ let count = 0;
74
+ const tracker = new tab_bar_tracker_1.TabBarTracker(widget, () => count++);
75
+ tracker.dispose();
76
+ tracker.check();
77
+ (0, chai_1.expect)(count).equal(0);
78
+ });
79
+ it('reports a move between two tab-bars', () => {
80
+ panel = new widgets_1.DockPanel();
81
+ widgets_1.Widget.attach(panel, document.body);
82
+ const other = new widgets_1.Widget();
83
+ const widget = new widgets_1.Widget();
84
+ panel.addWidget(other);
85
+ panel.addWidget(widget, { mode: 'split-right', ref: other });
86
+ messaging_1.MessageLoop.flush();
87
+ const events = [];
88
+ const tracker = new tab_bar_tracker_1.TabBarTracker(widget, (oldTabBar, newTabBar) => events.push([oldTabBar, newTabBar]));
89
+ tracker.check();
90
+ panel.addWidget(widget, { mode: 'tab-after', ref: other });
91
+ messaging_1.MessageLoop.flush();
92
+ tracker.check();
93
+ (0, chai_1.expect)(events).lengthOf(2);
94
+ (0, chai_1.expect)(events[1][0]).not.undefined;
95
+ (0, chai_1.expect)(events[1][0]).not.equal(events[1][1]);
96
+ });
97
+ it('re-reports the current tab-bar after reset', () => {
98
+ const widget = attachInDockPanel();
99
+ const events = [];
100
+ const tracker = new tab_bar_tracker_1.TabBarTracker(widget, (oldTabBar, newTabBar) => events.push([oldTabBar, newTabBar]));
101
+ tracker.check();
102
+ tracker.reset();
103
+ tracker.check();
104
+ (0, chai_1.expect)(events).lengthOf(2);
105
+ (0, chai_1.expect)(events[1][0]).undefined;
106
+ (0, chai_1.expect)(events[1][1]).not.undefined;
107
+ });
108
+ });
109
+ //# sourceMappingURL=tab-bar-tracker.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-bar-tracker.spec.js","sourceRoot":"","sources":["../../../src/browser/widgets/tab-bar-tracker.spec.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,27 @@
1
- import { Event, RpcProxy, Channel } from '../../common';
1
+ import { Event, RpcProxy, Channel, RpcProxyFactory } from '../../common';
2
2
  import { ServiceConnectionProvider } from '../../browser/messaging/service-connection-provider';
3
3
  import { ILogger } from '../../common/logger';
4
4
  import { ConnectionSource } from '../../browser/messaging/connection-source';
5
5
  export declare class FrontendOnlyConnectionSource implements ConnectionSource {
6
6
  onConnectionDidOpen: Event<Channel>;
7
7
  }
8
+ /**
9
+ * Proxy factory for services without a frontend-only implementation. There is no backend,
10
+ * so no channel will ever open and requests would otherwise be queued forever, blocking
11
+ * any caller that awaits the result, e.g. during application startup.
12
+ * Instead, requests fail immediately and notifications (fire-and-forget) resolve silently.
13
+ */
14
+ export declare class FrontendOnlyRpcProxyFactory<T extends object> extends RpcProxyFactory<T> {
15
+ protected readonly path: string;
16
+ constructor(path: string, target?: object);
17
+ get(target: T, p: PropertyKey, receiver: unknown): unknown;
18
+ }
8
19
  export declare class FrontendOnlyServiceConnectionProvider extends ServiceConnectionProvider {
9
20
  protected readonly logger: ILogger;
10
21
  onSocketDidOpen: Event<any>;
11
22
  onSocketDidClose: Event<any>;
12
23
  onIncomingMessageActivity: Event<any>;
13
- createProxy<T extends object>(path: unknown, target?: unknown): RpcProxy<T>;
24
+ createProxy<T extends object>(path: string, target?: object): RpcProxy<T>;
14
25
  listen(path: string, handler: ServiceConnectionProvider.ConnectionHandler, reconnect: boolean): void;
15
26
  }
16
27
  //# sourceMappingURL=frontend-only-service-connection-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-only-service-connection-provider.d.ts","sourceRoot":"","sources":["../../../src/browser-only/messaging/frontend-only-service-connection-provider.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAA4B,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,qBACa,4BAA6B,YAAW,gBAAgB;IACjE,mBAAmB,iBAAgC;CACtD;AAED,qBACa,qCAAsC,SAAQ,yBAAyB;IAGhF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,eAAe,aAAc;IAC7B,gBAAgB,aAAc;IAC9B,yBAAyB,aAAc;IAC9B,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;IAK3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,CAAC,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;CAGhH"}
1
+ {"version":3,"file":"frontend-only-service-connection-provider.d.ts","sourceRoot":"","sources":["../../../src/browser-only/messaging/frontend-only-service-connection-provider.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAW,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,qBACa,4BAA6B,YAAW,gBAAgB;IACjE,mBAAmB,iBAAgC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,2BAA2B,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAErE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAInD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;CAatE;AAED,qBACa,qCAAsC,SAAQ,yBAAyB;IAGhF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,eAAe,aAAc;IAC7B,gBAAgB,aAAc;IAC9B,yBAAyB,aAAc;IAC9B,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAOzE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,CAAC,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;CAGhH"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FrontendOnlyServiceConnectionProvider = exports.FrontendOnlyConnectionSource = void 0;
3
+ exports.FrontendOnlyServiceConnectionProvider = exports.FrontendOnlyRpcProxyFactory = exports.FrontendOnlyConnectionSource = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  // *****************************************************************************
6
6
  // Copyright (C) 2023 EclipseSource and others.
@@ -30,6 +30,32 @@ exports.FrontendOnlyConnectionSource = FrontendOnlyConnectionSource;
30
30
  exports.FrontendOnlyConnectionSource = FrontendOnlyConnectionSource = tslib_1.__decorate([
31
31
  (0, inversify_1.injectable)()
32
32
  ], FrontendOnlyConnectionSource);
33
+ /**
34
+ * Proxy factory for services without a frontend-only implementation. There is no backend,
35
+ * so no channel will ever open and requests would otherwise be queued forever, blocking
36
+ * any caller that awaits the result, e.g. during application startup.
37
+ * Instead, requests fail immediately and notifications (fire-and-forget) resolve silently.
38
+ */
39
+ class FrontendOnlyRpcProxyFactory extends common_1.RpcProxyFactory {
40
+ constructor(path, target) {
41
+ super(target);
42
+ this.path = path;
43
+ }
44
+ get(target, p, receiver) {
45
+ if (typeof p !== 'string') {
46
+ return undefined;
47
+ }
48
+ // members handled by the base proxy without a connection
49
+ if (['setClient', 'getClient', 'onDidOpenConnection', 'onDidCloseConnection', 'then', 'toJSON'].includes(p)) {
50
+ return super.get(target, p, receiver);
51
+ }
52
+ if (this.isNotification(p)) {
53
+ return () => Promise.resolve();
54
+ }
55
+ return () => Promise.reject(new Error(`Request '${p}' on service '${this.path}' is unavailable: no backend in frontend-only mode.`));
56
+ }
57
+ }
58
+ exports.FrontendOnlyRpcProxyFactory = FrontendOnlyRpcProxyFactory;
33
59
  let FrontendOnlyServiceConnectionProvider = class FrontendOnlyServiceConnectionProvider extends service_connection_provider_1.ServiceConnectionProvider {
34
60
  constructor() {
35
61
  super(...arguments);
@@ -39,8 +65,10 @@ let FrontendOnlyServiceConnectionProvider = class FrontendOnlyServiceConnectionP
39
65
  }
40
66
  createProxy(path, target) {
41
67
  this.logger.debug(`[Frontend-Only Fallback] Created proxy connection for ${path}`);
42
- const factory = target instanceof common_1.RpcProxyFactory ? target : new common_1.RpcProxyFactory(target);
43
- return factory.createProxy();
68
+ if (target instanceof common_1.RpcProxyFactory) {
69
+ return target.createProxy();
70
+ }
71
+ return new FrontendOnlyRpcProxyFactory(path, target).createProxy();
44
72
  }
45
73
  listen(path, handler, reconnect) {
46
74
  this.logger.debug('[Frontend-Only Fallback] Listen to websocket connection requested');
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-only-service-connection-provider.js","sourceRoot":"","sources":["../../../src/browser-only/messaging/frontend-only-service-connection-provider.ts"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,yCAAkF;AAClF,yCAAsD;AACtD,qGAAgG;AAChG,gDAA8C;AAIvC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAAlC;QACH,wBAAmB,GAAG,IAAI,gBAAO,EAAW,CAAC,KAAK,CAAC;IACvD,CAAC;CAAA,CAAA;AAFY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAExC;AAGM,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,uDAAyB;IAA7E;;QAKH,oBAAe,GAAG,cAAK,CAAC,IAAI,CAAC;QAC7B,qBAAgB,GAAG,cAAK,CAAC,IAAI,CAAC;QAC9B,8BAAyB,GAAG,cAAK,CAAC,IAAI,CAAC;IAS3C,CAAC;IARY,WAAW,CAAmB,IAAa,EAAE,MAAgB;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,EAAE,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,MAAM,YAAY,wBAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,wBAAe,CAAI,MAAM,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IACQ,MAAM,CAAC,IAAY,EAAE,OAAoD,EAAE,SAAkB;QAClG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAC3F,CAAC;CACJ,CAAA;AAhBY,sFAAqC;AAG3B;IADlB,IAAA,kBAAM,EAAC,gBAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,4CAA4C,CAAC;;qEAClC;gDAH1B,qCAAqC;IADjD,IAAA,sBAAU,GAAE;GACA,qCAAqC,CAgBjD"}
1
+ {"version":3,"file":"frontend-only-service-connection-provider.js","sourceRoot":"","sources":["../../../src/browser-only/messaging/frontend-only-service-connection-provider.ts"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,yCAAkF;AAClF,yCAAsD;AACtD,qGAAgG;AAChG,gDAA8C;AAIvC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAAlC;QACH,wBAAmB,GAAG,IAAI,gBAAO,EAAW,CAAC,KAAK,CAAC;IACvD,CAAC;CAAA,CAAA;AAFY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAExC;AAED;;;;;GAKG;AACH,MAAa,2BAA8C,SAAQ,wBAAkB;IAEjF,YAA+B,IAAY,EAAE,MAAe;QACxD,KAAK,CAAC,MAAM,CAAC,CAAC;QADa,SAAI,GAAJ,IAAI,CAAQ;IAE3C,CAAC;IAEQ,GAAG,CAAC,MAAS,EAAE,CAAc,EAAE,QAAiB;QACrD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,yDAAyD;QACzD,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1G,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,iBAAiB,IAAI,CAAC,IAAI,qDAAqD,CAAC,CAAC,CAAC;IACzI,CAAC;CACJ;AAnBD,kEAmBC;AAGM,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,uDAAyB;IAA7E;;QAKH,oBAAe,GAAG,cAAK,CAAC,IAAI,CAAC;QAC7B,qBAAgB,GAAG,cAAK,CAAC,IAAI,CAAC;QAC9B,8BAAyB,GAAG,cAAK,CAAC,IAAI,CAAC;IAW3C,CAAC;IAVY,WAAW,CAAmB,IAAY,EAAE,MAAe;QAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,MAAM,YAAY,wBAAe,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,2BAA2B,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC;IACQ,MAAM,CAAC,IAAY,EAAE,OAAoD,EAAE,SAAkB;QAClG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAC3F,CAAC;CACJ,CAAA;AAlBY,sFAAqC;AAG3B;IADlB,IAAA,kBAAM,EAAC,gBAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,4CAA4C,CAAC;;qEAClC;gDAH1B,qCAAqC;IADjD,IAAA,sBAAU,GAAE;GACA,qCAAqC,CAkBjD"}
@@ -1,5 +1,6 @@
1
1
  export * from './defaults-preference-provider';
2
2
  export * from './preference-language-override-service';
3
+ export * from './session-preference-provider';
3
4
  export * from './preference-provider-impl';
4
5
  export * from './preference-provider';
5
6
  export * from './preference-schema-service';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/index.ts"],"names":[],"mappings":"AAgBA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/index.ts"],"names":[],"mappings":"AAgBA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const tslib_1 = require("tslib");
19
19
  tslib_1.__exportStar(require("./defaults-preference-provider"), exports);
20
20
  tslib_1.__exportStar(require("./preference-language-override-service"), exports);
21
+ tslib_1.__exportStar(require("./session-preference-provider"), exports);
21
22
  tslib_1.__exportStar(require("./preference-provider-impl"), exports);
22
23
  tslib_1.__exportStar(require("./preference-provider"), exports);
23
24
  tslib_1.__exportStar(require("./preference-schema-service"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/preferences/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,yEAA+C;AAC/C,iFAAuD;AACvD,qEAA2C;AAC3C,gEAAsC;AACtC,sEAA4C;AAC5C,8DAAoC;AACpC,6DAAmC;AACnC,+DAAqC;AACrC,wEAA8C;AAC9C,6DAAmC;AACnC,sEAA4C;AAC5C,6DAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/preferences/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,yEAA+C;AAC/C,iFAAuD;AACvD,wEAA8C;AAC9C,qEAA2C;AAC3C,gEAAsC;AACtC,sEAA4C;AAC5C,8DAAoC;AACpC,6DAAmC;AACnC,+DAAqC;AACrC,wEAA8C;AAC9C,6DAAmC;AACnC,sEAA4C;AAC5C,6DAAmC"}
@@ -103,6 +103,21 @@ export interface PreferenceProvider extends Disposable {
103
103
  getPreferences(resourceUri?: string): JSONObject;
104
104
  }
105
105
  export declare namespace PreferenceUtils {
106
+ /**
107
+ * Recursively merges the values of `target` into `source` and returns the merged result.
108
+ *
109
+ * Note the direction: `source` is the accumulator that is mutated and returned, while the
110
+ * values of `target` take precedence for conflicting primitive values. Nested objects are
111
+ * merged recursively and arrays are concatenated (`source` entries first, then `target`).
112
+ * If `source` is not a JSON object, a deep copy of `target` is returned instead.
113
+ *
114
+ * Only own properties are considered and reserved keys are ignored, so merged results are
115
+ * always plain data objects.
116
+ *
117
+ * @param source the accumulator to merge into; mutated and returned unless it is not an object
118
+ * @param target the values that are merged into `source` and take precedence on conflicts
119
+ * @returns the merged result (the mutated `source`, or a deep copy of `target`)
120
+ */
106
121
  function merge(source: JSONValue | undefined, target: JSONValue): JSONValue;
107
122
  /**
108
123
  * Handles deep equality with the possibility of `undefined`
@@ -1 +1 @@
1
- {"version":3,"file":"preference-provider.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/preference-provider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAW,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,yBAAiB,4BAA4B,CAAC;IAC1C,SAAgB,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAI3F;CACJ;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,CAAA;CACZ;AAED,MAAM,WAAW,6BAA6B;IAC1C,CAAC,cAAc,EAAE,MAAM,GAAG,4BAA4B,CAAC;CAC1D;AACD,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpB;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;IAEhD;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACpE;;;;;;;;;;OAUG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpF;;;;;;;;;OASG;IACH,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAErF;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IAC3E;;;;;;OAMG;IACH,sBAAsB,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IAErF;;OAEG;IACH,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CACpD;AAED,yBAAiB,eAAe,CAAC;IAC7B,SAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,CAqBjF;IAED;;OAEG;IACH,SAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAIrF;CAEJ"}
1
+ {"version":3,"file":"preference-provider.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/preference-provider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAW,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,yBAAiB,4BAA4B,CAAC;IAC1C,SAAgB,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAI3F;CACJ;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,CAAA;CACZ;AAED,MAAM,WAAW,6BAA6B;IAC1C,CAAC,cAAc,EAAE,MAAM,GAAG,4BAA4B,CAAC;CAC1D;AACD,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpB;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;IAEhD;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACpE;;;;;;;;;;OAUG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpF;;;;;;;;;OASG;IACH,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAErF;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IAC3E;;;;;;OAMG;IACH,sBAAsB,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IAErF;;OAEG;IACH,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CACpD;AAED,yBAAiB,eAAe,CAAC;IAG7B;;;;;;;;;;;;;;OAcG;IACH,SAAgB,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,CAyBjF;IAED;;OAEG;IACH,SAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAIrF;CAEJ"}