@theia/core 1.74.0-next.9 → 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.
- package/README.md +10 -10
- package/i18n/nls.cs.json +143 -16
- package/i18n/nls.de.json +143 -16
- package/i18n/nls.es.json +143 -16
- package/i18n/nls.fr.json +143 -16
- package/i18n/nls.hu.json +143 -16
- package/i18n/nls.it.json +143 -16
- package/i18n/nls.ja.json +143 -16
- package/i18n/nls.json +143 -16
- package/i18n/nls.ko.json +143 -16
- package/i18n/nls.pl.json +143 -16
- package/i18n/nls.pt-br.json +143 -16
- package/i18n/nls.ru.json +143 -16
- package/i18n/nls.tr.json +143 -16
- package/i18n/nls.zh-cn.json +143 -16
- package/i18n/nls.zh-tw.json +143 -16
- package/lib/browser/browser-clipboard-service.d.ts +3 -0
- package/lib/browser/browser-clipboard-service.d.ts.map +1 -1
- package/lib/browser/browser-clipboard-service.js +8 -1
- package/lib/browser/browser-clipboard-service.js.map +1 -1
- package/lib/browser/catalog.json +419 -41
- package/lib/browser/clipboard-service.d.ts +11 -0
- package/lib/browser/clipboard-service.d.ts.map +1 -1
- package/lib/browser/clipboard-service.js.map +1 -1
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +7 -7
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js +9 -0
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/frontend-application.d.ts.map +1 -1
- package/lib/browser/frontend-application.js +12 -2
- package/lib/browser/frontend-application.js.map +1 -1
- package/lib/browser/index.d.ts +1 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +1 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/keybinding.d.ts.map +1 -1
- package/lib/browser/keybinding.js +12 -7
- package/lib/browser/keybinding.js.map +1 -1
- package/lib/browser/perspective-service.d.ts +173 -0
- package/lib/browser/perspective-service.d.ts.map +1 -0
- package/lib/browser/perspective-service.js +484 -0
- package/lib/browser/perspective-service.js.map +1 -0
- package/lib/browser/perspective-service.spec.d.ts +2 -0
- package/lib/browser/perspective-service.spec.d.ts.map +1 -0
- package/lib/browser/perspective-service.spec.js +1806 -0
- package/lib/browser/perspective-service.spec.js.map +1 -0
- package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
- package/lib/browser/preferences/preference-contribution.js +9 -1
- package/lib/browser/preferences/preference-contribution.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +63 -0
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +7 -0
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +38 -28
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts +9 -0
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +124 -14
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.spec.d.ts +2 -0
- package/lib/browser/shell/shell-layout-restorer.spec.d.ts.map +1 -0
- package/lib/browser/shell/shell-layout-restorer.spec.js +539 -0
- package/lib/browser/shell/shell-layout-restorer.spec.js.map +1 -0
- package/lib/browser/shell/view-contribution.d.ts +2 -0
- package/lib/browser/shell/view-contribution.d.ts.map +1 -1
- package/lib/browser/shell/view-contribution.js +5 -1
- package/lib/browser/shell/view-contribution.js.map +1 -1
- package/lib/browser/status-bar/status-bar.d.ts +2 -0
- package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
- package/lib/browser/status-bar/status-bar.js +11 -3
- package/lib/browser/status-bar/status-bar.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +7 -33
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +7 -54
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/widgets/index.d.ts +1 -0
- package/lib/browser/widgets/index.d.ts.map +1 -1
- package/lib/browser/widgets/index.js +1 -0
- package/lib/browser/widgets/index.js.map +1 -1
- package/lib/browser/widgets/select-component.d.ts +2 -2
- package/lib/browser/widgets/select-component.d.ts.map +1 -1
- package/lib/browser/widgets/select-component.js +42 -12
- package/lib/browser/widgets/select-component.js.map +1 -1
- package/lib/browser/widgets/tab-bar-tracker.d.ts +23 -0
- package/lib/browser/widgets/tab-bar-tracker.d.ts.map +1 -0
- package/lib/browser/widgets/tab-bar-tracker.js +65 -0
- package/lib/browser/widgets/tab-bar-tracker.js.map +1 -0
- package/lib/browser/widgets/tab-bar-tracker.spec.d.ts +2 -0
- package/lib/browser/widgets/tab-bar-tracker.spec.d.ts.map +1 -0
- package/lib/browser/widgets/tab-bar-tracker.spec.js +109 -0
- package/lib/browser/widgets/tab-bar-tracker.spec.js.map +1 -0
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +13 -2
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -1
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +31 -3
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
- package/lib/common/preferences/index.d.ts +1 -0
- package/lib/common/preferences/index.d.ts.map +1 -1
- package/lib/common/preferences/index.js +1 -0
- package/lib/common/preferences/index.js.map +1 -1
- package/lib/common/preferences/preference-provider.d.ts +15 -0
- package/lib/common/preferences/preference-provider.d.ts.map +1 -1
- package/lib/common/preferences/preference-provider.js +21 -1
- package/lib/common/preferences/preference-provider.js.map +1 -1
- package/lib/common/preferences/preference-provider.spec.js +17 -0
- package/lib/common/preferences/preference-provider.spec.js.map +1 -1
- package/lib/common/preferences/preference-scope.d.ts +6 -1
- package/lib/common/preferences/preference-scope.d.ts.map +1 -1
- package/lib/common/preferences/preference-scope.js +5 -0
- package/lib/common/preferences/preference-scope.js.map +1 -1
- package/lib/common/preferences/preference-scope.spec.js +5 -3
- package/lib/common/preferences/preference-scope.spec.js.map +1 -1
- package/lib/common/preferences/preference-service.d.ts +19 -0
- package/lib/common/preferences/preference-service.d.ts.map +1 -1
- package/lib/common/preferences/preference-service.js +34 -5
- package/lib/common/preferences/preference-service.js.map +1 -1
- package/lib/common/preferences/session-preference-provider.d.ts +17 -0
- package/lib/common/preferences/session-preference-provider.d.ts.map +1 -0
- package/lib/common/preferences/session-preference-provider.js +77 -0
- package/lib/common/preferences/session-preference-provider.js.map +1 -0
- package/lib/common/preferences/session-preference-provider.spec.d.ts +2 -0
- package/lib/common/preferences/session-preference-provider.spec.d.ts.map +1 -0
- package/lib/common/preferences/session-preference-provider.spec.js +71 -0
- package/lib/common/preferences/session-preference-provider.spec.js.map +1 -0
- package/lib/electron-browser/electron-clipboard-service.d.ts +3 -0
- package/lib/electron-browser/electron-clipboard-service.d.ts.map +1 -1
- package/lib/electron-browser/electron-clipboard-service.js +6 -0
- package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
- package/lib/electron-browser/preload.d.ts.map +1 -1
- package/lib/electron-browser/preload.js +2 -1
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +2 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-common/electron-api.js +2 -1
- package/lib/electron-common/electron-api.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +43 -0
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +3 -0
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-node/hosting/electron-backend-hosting-module.d.ts.map +1 -1
- package/lib/electron-node/hosting/electron-backend-hosting-module.js +7 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.js.map +1 -1
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts +2 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts.map +1 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js +39 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js.map +1 -0
- package/lib/node/hosting/backend-hosting-module.d.ts.map +1 -1
- package/lib/node/hosting/backend-hosting-module.js +4 -1
- package/lib/node/hosting/backend-hosting-module.js.map +1 -1
- package/lib/node/hosting/browser-connection-token.d.ts +29 -1
- package/lib/node/hosting/browser-connection-token.d.ts.map +1 -1
- package/lib/node/hosting/browser-connection-token.js +25 -1
- package/lib/node/hosting/browser-connection-token.js.map +1 -1
- package/lib/node/hosting/browser-connection-token.spec.js +70 -0
- package/lib/node/hosting/browser-connection-token.spec.js.map +1 -1
- package/lib/node/index.d.ts +1 -0
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +3 -1
- package/lib/node/index.js.map +1 -1
- package/package.json +11 -11
- package/src/browser/browser-clipboard-service.ts +7 -1
- package/src/browser/clipboard-service.ts +11 -0
- package/src/browser/common-frontend-contribution.ts +7 -7
- package/src/browser/frontend-application-module.ts +11 -1
- package/src/browser/frontend-application.ts +12 -4
- package/src/browser/index.ts +1 -0
- package/src/browser/keybinding.ts +12 -7
- package/src/browser/perspective-service.spec.ts +2270 -0
- package/src/browser/perspective-service.ts +625 -0
- package/src/browser/preferences/preference-contribution.ts +9 -1
- package/src/browser/preferences/preference-service.spec.ts +72 -0
- package/src/browser/shell/application-shell.ts +41 -26
- package/src/browser/shell/shell-layout-restorer.spec.ts +746 -0
- package/src/browser/shell/shell-layout-restorer.ts +134 -13
- package/src/browser/shell/view-contribution.ts +6 -1
- package/src/browser/status-bar/status-bar.tsx +13 -3
- package/src/browser/style/select-component.css +16 -0
- package/src/browser/style/sidepanel.css +5 -0
- package/src/browser/style/status-bar.css +1 -1
- package/src/browser/tree/tree-widget.tsx +12 -78
- package/src/browser/widgets/index.ts +1 -0
- package/src/browser/widgets/select-component.tsx +41 -12
- package/src/browser/widgets/tab-bar-tracker.spec.ts +121 -0
- package/src/browser/widgets/tab-bar-tracker.ts +68 -0
- package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +32 -3
- package/src/common/i18n/nls.metadata.json +4149 -888
- package/src/common/preferences/index.ts +1 -0
- package/src/common/preferences/preference-provider.spec.ts +17 -0
- package/src/common/preferences/preference-provider.ts +22 -1
- package/src/common/preferences/preference-scope.spec.ts +5 -3
- package/src/common/preferences/preference-scope.ts +6 -1
- package/src/common/preferences/preference-service.ts +39 -5
- package/src/common/preferences/session-preference-provider.spec.ts +78 -0
- package/src/common/preferences/session-preference-provider.ts +69 -0
- package/src/electron-browser/electron-clipboard-service.ts +5 -0
- package/src/electron-browser/menu/electron-menu-style.css +3 -1
- package/src/electron-browser/preload.ts +5 -2
- package/src/electron-common/electron-api.ts +4 -0
- package/src/electron-main/electron-api-main.ts +56 -3
- package/src/electron-main/electron-main-application.ts +3 -0
- package/src/electron-node/hosting/electron-backend-hosting-module.spec.ts +42 -0
- package/src/electron-node/hosting/electron-backend-hosting-module.ts +8 -0
- package/src/node/hosting/backend-hosting-module.ts +5 -2
- package/src/node/hosting/browser-connection-token.spec.ts +92 -0
- package/src/node/hosting/browser-connection-token.ts +45 -1
- 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":"AAgBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,iDAAiD,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE,qBAAa,eAAgB,SAAQ,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAC5F,SAAS,CAAC,eAAe,EAAE,WAAW,CAAC;IACvC,SAAS,CAAC,QAAQ,kCAAqC;IACvD,SAAS,CAAC,WAAW,kCAAqC;IAC1D,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAa;IACxF,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,aAAa,SAAK;IAC5B,SAAS,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;gBAEzC,KAAK,EAAE,oBAAoB;IAmBvC,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM;IAU7D,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;
|
|
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:
|
|
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
|
-
}
|
|
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
|
|
229
|
-
hover:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 @@
|
|
|
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:
|
|
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,
|
|
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
|
-
|
|
43
|
-
|
|
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;
|
|
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;
|
|
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"}
|