@opensumi/ide-design 2.27.3-rc-1711024024.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/LICENSE +21 -0
- package/lib/browser/design.contribution.d.ts +9 -0
- package/lib/browser/design.contribution.d.ts.map +1 -0
- package/lib/browser/design.contribution.js +35 -0
- package/lib/browser/design.contribution.js.map +1 -0
- package/lib/browser/index.d.ts +7 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +83 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/layout/tabbar.view.d.ts +18 -0
- package/lib/browser/layout/tabbar.view.d.ts.map +1 -0
- package/lib/browser/layout/tabbar.view.js +14 -0
- package/lib/browser/layout/tabbar.view.js.map +1 -0
- package/lib/browser/override/editor-tab.service.d.ts +7 -0
- package/lib/browser/override/editor-tab.service.d.ts.map +1 -0
- package/lib/browser/override/editor-tab.service.js +36 -0
- package/lib/browser/override/editor-tab.service.js.map +1 -0
- package/lib/browser/override/menu.service.d.ts +9 -0
- package/lib/browser/override/menu.service.d.ts.map +1 -0
- package/lib/browser/override/menu.service.js +51 -0
- package/lib/browser/override/menu.service.js.map +1 -0
- package/lib/browser/override/override.module.less +135 -0
- package/lib/browser/override/split-panel.service.d.ts +8 -0
- package/lib/browser/override/split-panel.service.d.ts.map +1 -0
- package/lib/browser/override/split-panel.service.js +14 -0
- package/lib/browser/override/split-panel.service.js.map +1 -0
- package/lib/browser/style/design.module.less +735 -0
- package/lib/browser/style/global.less +279 -0
- package/lib/browser/theme/default-theme.d.ts +328 -0
- package/lib/browser/theme/default-theme.d.ts.map +1 -0
- package/lib/browser/theme/default-theme.js +804 -0
- package/lib/browser/theme/default-theme.js.map +1 -0
- package/lib/browser/theme/file-system.provider.d.ts +16 -0
- package/lib/browser/theme/file-system.provider.d.ts.map +1 -0
- package/lib/browser/theme/file-system.provider.js +56 -0
- package/lib/browser/theme/file-system.provider.js.map +1 -0
- package/lib/browser/theme/light-theme.d.ts +329 -0
- package/lib/browser/theme/light-theme.d.ts.map +1 -0
- package/lib/browser/theme/light-theme.js +824 -0
- package/lib/browser/theme/light-theme.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/package.json +30 -0
- package/src/browser/design.contribution.ts +34 -0
- package/src/browser/index.ts +96 -0
- package/src/browser/layout/tabbar.view.tsx +48 -0
- package/src/browser/override/editor-tab.service.tsx +46 -0
- package/src/browser/override/menu.service.tsx +74 -0
- package/src/browser/override/override.module.less +135 -0
- package/src/browser/override/split-panel.service.tsx +18 -0
- package/src/browser/style/design.module.less +735 -0
- package/src/browser/style/global.less +279 -0
- package/src/browser/theme/default-theme.ts +803 -0
- package/src/browser/theme/file-system.provider.ts +69 -0
- package/src/browser/theme/light-theme.ts +823 -0
- package/src/index.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light-theme.js","sourceRoot":"","sources":["../../../src/browser/theme/light-theme.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/lib/index.js
ADDED
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@opensumi/ide-design",
|
|
3
|
+
"version": "2.27.3-rc-1711024024.0",
|
|
4
|
+
"files": [
|
|
5
|
+
"lib",
|
|
6
|
+
"src"
|
|
7
|
+
],
|
|
8
|
+
"main": "lib/index.js",
|
|
9
|
+
"typings": "lib/index.d.ts",
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public"
|
|
12
|
+
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"prepublishOnly": "yarn run build",
|
|
15
|
+
"build": "tsc --build ../../configs/ts/references/tsconfig.Design.json"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git@github.com:opensumi/core.git"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@opensumi/ide-core-common": "2.27.3-rc-1711024024.0",
|
|
23
|
+
"@opensumi/ide-core-node": "2.27.3-rc-1711024024.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@opensumi/ide-core-browser": "2.27.3-rc-1711024024.0",
|
|
27
|
+
"@opensumi/ide-dev-tool": "1.3.1"
|
|
28
|
+
},
|
|
29
|
+
"gitHead": "2b5368401ed5223fc1581bf807fdb0bbf720b04c"
|
|
30
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
|
+
import {
|
|
3
|
+
ClientAppContribution,
|
|
4
|
+
Domain,
|
|
5
|
+
SlotLocation,
|
|
6
|
+
SlotRendererContribution,
|
|
7
|
+
SlotRendererRegistry,
|
|
8
|
+
} from '@opensumi/ide-core-browser';
|
|
9
|
+
import { Schemes } from '@opensumi/ide-core-common';
|
|
10
|
+
import { IFileServiceClient } from '@opensumi/ide-file-service';
|
|
11
|
+
import { FileServiceClient } from '@opensumi/ide-file-service/lib/browser/file-service-client';
|
|
12
|
+
|
|
13
|
+
import { DesignBottomTabRenderer, DesignLeftTabRenderer, DesignRightTabRenderer } from './layout/tabbar.view';
|
|
14
|
+
import { DesignThemeFileSystemProvider } from './theme/file-system.provider';
|
|
15
|
+
|
|
16
|
+
@Injectable()
|
|
17
|
+
@Domain(ClientAppContribution, SlotRendererContribution)
|
|
18
|
+
export class DesignCoreContribution implements ClientAppContribution, SlotRendererContribution {
|
|
19
|
+
@Autowired(IFileServiceClient)
|
|
20
|
+
protected readonly fileSystem: FileServiceClient;
|
|
21
|
+
|
|
22
|
+
@Autowired()
|
|
23
|
+
private readonly designThemeFileSystemProvider: DesignThemeFileSystemProvider;
|
|
24
|
+
|
|
25
|
+
async initialize() {
|
|
26
|
+
this.fileSystem.registerProvider(Schemes.design, this.designThemeFileSystemProvider);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
registerRenderer(registry: SlotRendererRegistry): void {
|
|
30
|
+
registry.registerSlotRenderer(SlotLocation.left, DesignLeftTabRenderer);
|
|
31
|
+
registry.registerSlotRenderer(SlotLocation.bottom, DesignBottomTabRenderer);
|
|
32
|
+
registry.registerSlotRenderer(SlotLocation.right, DesignRightTabRenderer);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Injectable, Injector, Provider } from '@opensumi/di';
|
|
2
|
+
import { BrowserModule, URI } from '@opensumi/ide-core-browser';
|
|
3
|
+
import { ISplitPanelService } from '@opensumi/ide-core-browser/lib/components/layout/split-panel.service';
|
|
4
|
+
import { IDesignStyleService } from '@opensumi/ide-core-browser/lib/design';
|
|
5
|
+
import { IBrowserCtxMenu } from '@opensumi/ide-core-browser/lib/menu/next/renderer/ctxmenu/browser';
|
|
6
|
+
import {
|
|
7
|
+
AppLifeCycleServiceToken,
|
|
8
|
+
Event,
|
|
9
|
+
IAppLifeCycleService,
|
|
10
|
+
LifeCyclePhase,
|
|
11
|
+
Schemes,
|
|
12
|
+
} from '@opensumi/ide-core-common';
|
|
13
|
+
import { IEditorTabService } from '@opensumi/ide-editor/lib/browser';
|
|
14
|
+
import { IThemeContribution, IThemeService, IThemeStore } from '@opensumi/ide-theme';
|
|
15
|
+
import { ThemeStore } from '@opensumi/ide-theme/lib/browser/theme-store';
|
|
16
|
+
|
|
17
|
+
import { DesignCoreContribution } from './design.contribution';
|
|
18
|
+
import { DesignEditorTabService } from './override/editor-tab.service';
|
|
19
|
+
import { DesignBrowserCtxMenuService } from './override/menu.service';
|
|
20
|
+
import { DesignSplitPanelService } from './override/split-panel.service';
|
|
21
|
+
import designStyles from './style/design.module.less';
|
|
22
|
+
import defaultTheme from './theme/default-theme';
|
|
23
|
+
import lightTheme from './theme/light-theme';
|
|
24
|
+
|
|
25
|
+
@Injectable()
|
|
26
|
+
export class DesignModule extends BrowserModule {
|
|
27
|
+
providers: Provider[] = [DesignCoreContribution];
|
|
28
|
+
|
|
29
|
+
preferences = (injector: Injector) => {
|
|
30
|
+
import('./style/global.less');
|
|
31
|
+
|
|
32
|
+
const designStyleService: IDesignStyleService = injector.get(IDesignStyleService);
|
|
33
|
+
designStyleService.setStyles(designStyles);
|
|
34
|
+
|
|
35
|
+
const appLifeCycleService: IAppLifeCycleService = injector.get(AppLifeCycleServiceToken);
|
|
36
|
+
|
|
37
|
+
Event.once(Event.filter(appLifeCycleService.onDidLifeCyclePhaseChange, (phase) => phase === LifeCyclePhase.Ready))(
|
|
38
|
+
() => {
|
|
39
|
+
const themeService: IThemeService = injector.get(IThemeService);
|
|
40
|
+
|
|
41
|
+
[defaultTheme, lightTheme].forEach((theme) => {
|
|
42
|
+
themeService.registerThemes(
|
|
43
|
+
[
|
|
44
|
+
{
|
|
45
|
+
id: theme.id,
|
|
46
|
+
label: theme.name,
|
|
47
|
+
path: '',
|
|
48
|
+
extensionId: theme.id,
|
|
49
|
+
uiTheme: theme.base,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
URI.parse(`${theme.id}.json`).withQuery(theme.id).withScheme(Schemes.design),
|
|
53
|
+
);
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
injector.overrideProviders(
|
|
59
|
+
{
|
|
60
|
+
token: IThemeStore,
|
|
61
|
+
useClass: class extends ThemeStore {
|
|
62
|
+
override async getThemeData(contribution?: IThemeContribution, basePath?: URI) {
|
|
63
|
+
const newTheme = await super.getThemeData(contribution, basePath);
|
|
64
|
+
document.body.classList.remove(lightTheme.designThemeType);
|
|
65
|
+
document.body.classList.remove(defaultTheme.designThemeType);
|
|
66
|
+
|
|
67
|
+
if (defaultTheme.id === contribution?.id) {
|
|
68
|
+
document.body.classList.add(defaultTheme.designThemeType);
|
|
69
|
+
} else if (lightTheme.id === contribution?.id) {
|
|
70
|
+
document.body.classList.add(lightTheme.designThemeType);
|
|
71
|
+
}
|
|
72
|
+
return newTheme;
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
override: true,
|
|
76
|
+
isDefault: true,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
token: IEditorTabService,
|
|
80
|
+
useClass: DesignEditorTabService,
|
|
81
|
+
override: true,
|
|
82
|
+
isDefault: true,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
token: ISplitPanelService,
|
|
86
|
+
useClass: DesignSplitPanelService,
|
|
87
|
+
override: true,
|
|
88
|
+
isDefault: true,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
token: IBrowserCtxMenu,
|
|
92
|
+
useClass: DesignBrowserCtxMenuService,
|
|
93
|
+
},
|
|
94
|
+
);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import cls from 'classnames';
|
|
2
|
+
import React, { FC } from 'react';
|
|
3
|
+
|
|
4
|
+
import { ComponentRegistryInfo } from '@opensumi/ide-core-browser';
|
|
5
|
+
import {
|
|
6
|
+
BottomTabRenderer,
|
|
7
|
+
LeftTabRenderer,
|
|
8
|
+
RightTabRenderer,
|
|
9
|
+
} from '@opensumi/ide-main-layout/lib/browser/tabbar/renderer.view';
|
|
10
|
+
|
|
11
|
+
export const DesignLeftTabRenderer = ({
|
|
12
|
+
className,
|
|
13
|
+
components,
|
|
14
|
+
tabbarView,
|
|
15
|
+
}: {
|
|
16
|
+
className: string;
|
|
17
|
+
components: ComponentRegistryInfo[];
|
|
18
|
+
tabbarView?: React.FC;
|
|
19
|
+
}) => (
|
|
20
|
+
<LeftTabRenderer className={cls(className, 'design_left_slot')} components={components} tabbarView={tabbarView} />
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
export const DesignBottomTabRenderer = ({
|
|
24
|
+
className,
|
|
25
|
+
components,
|
|
26
|
+
}: {
|
|
27
|
+
className: string;
|
|
28
|
+
components: ComponentRegistryInfo[];
|
|
29
|
+
}) => <BottomTabRenderer className={cls(className, 'design_bottom_slot')} components={components} />;
|
|
30
|
+
|
|
31
|
+
export const DesignRightTabRenderer = ({
|
|
32
|
+
className,
|
|
33
|
+
components,
|
|
34
|
+
tabbarView,
|
|
35
|
+
tabpanelView,
|
|
36
|
+
}: {
|
|
37
|
+
components: ComponentRegistryInfo[];
|
|
38
|
+
className?: string;
|
|
39
|
+
tabbarView?: FC<{}>;
|
|
40
|
+
tabpanelView?: FC<{}>;
|
|
41
|
+
}) => (
|
|
42
|
+
<RightTabRenderer
|
|
43
|
+
className={cls(className, 'design_right_slot')}
|
|
44
|
+
components={components}
|
|
45
|
+
tabbarView={tabbarView}
|
|
46
|
+
tabpanelView={tabpanelView}
|
|
47
|
+
/>
|
|
48
|
+
);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import cls from 'classnames';
|
|
2
|
+
import React, { ReactNode, useCallback, useMemo } from 'react';
|
|
3
|
+
|
|
4
|
+
import { Injectable } from '@opensumi/di';
|
|
5
|
+
import { Popover } from '@opensumi/ide-core-browser/lib/components';
|
|
6
|
+
import { localize, uuid } from '@opensumi/ide-core-common';
|
|
7
|
+
import { EditorTabService } from '@opensumi/ide-editor/lib/browser/editor.tab.service';
|
|
8
|
+
|
|
9
|
+
import styles from './override.module.less';
|
|
10
|
+
|
|
11
|
+
const EditorTabCloseComponent = (props) => {
|
|
12
|
+
const { children } = props;
|
|
13
|
+
const [display, setDisplay] = React.useState(false);
|
|
14
|
+
|
|
15
|
+
const uid = useMemo(() => 'editor-tab-close-' + uuid(6), []);
|
|
16
|
+
|
|
17
|
+
const handleClick = useCallback(() => {
|
|
18
|
+
setDisplay(false);
|
|
19
|
+
}, []);
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Popover id={uid} title={localize('editor.title.context.close')} onClickAction={handleClick} display={display}>
|
|
23
|
+
{children}
|
|
24
|
+
</Popover>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
@Injectable()
|
|
29
|
+
export class DesignEditorTabService extends EditorTabService {
|
|
30
|
+
override renderEditorTab(component: ReactNode, isCurrent: boolean): ReactNode {
|
|
31
|
+
return (
|
|
32
|
+
<div
|
|
33
|
+
className={cls({
|
|
34
|
+
[styles['design-editor_tab_block_container']]: true,
|
|
35
|
+
[styles.active]: isCurrent,
|
|
36
|
+
})}
|
|
37
|
+
>
|
|
38
|
+
{component}
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
override renderTabCloseComponent(component: ReactNode): ReactNode {
|
|
44
|
+
return <EditorTabCloseComponent>{component}</EditorTabCloseComponent>;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import cls from 'classnames';
|
|
2
|
+
import React, { ReactNode, useMemo } from 'react';
|
|
3
|
+
|
|
4
|
+
import { Injectable } from '@opensumi/di';
|
|
5
|
+
import { Icon } from '@opensumi/ide-components';
|
|
6
|
+
import { strings, transformLabelWithCodicon, useInjectable } from '@opensumi/ide-core-browser';
|
|
7
|
+
import { MenuNode } from '@opensumi/ide-core-browser/lib/menu/next';
|
|
8
|
+
import { IBrowserCtxMenu, IMenuRenderProps } from '@opensumi/ide-core-browser/lib/menu/next/renderer/ctxmenu/browser';
|
|
9
|
+
import { BrowserCtxMenuService } from '@opensumi/ide-overlay/lib/browser/ctx-menu/ctx-menu.service';
|
|
10
|
+
import { IIconService } from '@opensumi/ide-theme';
|
|
11
|
+
import { IconService } from '@opensumi/ide-theme/lib/browser';
|
|
12
|
+
|
|
13
|
+
import styles from './override.module.less';
|
|
14
|
+
|
|
15
|
+
const MenuComponent = (props: { data: MenuNode } & IMenuRenderProps) => {
|
|
16
|
+
const iconService = useInjectable<IconService>(IIconService);
|
|
17
|
+
const { data, disabled, hasSubmenu } = props;
|
|
18
|
+
|
|
19
|
+
const renderIcon = useMemo(() => {
|
|
20
|
+
if (data.checked) {
|
|
21
|
+
return <Icon icon='check' />;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (data.icon) {
|
|
25
|
+
return <Icon iconClass={data.icon} />;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return null;
|
|
29
|
+
}, [data]);
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<div
|
|
33
|
+
className={cls(
|
|
34
|
+
styles.menuAction__sub_menu_action_container,
|
|
35
|
+
{
|
|
36
|
+
[styles.disabled]: disabled,
|
|
37
|
+
[styles.checked]: data.checked,
|
|
38
|
+
},
|
|
39
|
+
data.className,
|
|
40
|
+
)}
|
|
41
|
+
>
|
|
42
|
+
<div className={styles.icon}>{renderIcon}</div>
|
|
43
|
+
<div className={styles.label}>
|
|
44
|
+
{data.label
|
|
45
|
+
? transformLabelWithCodicon(
|
|
46
|
+
strings.mnemonicButtonLabel(data.label, true),
|
|
47
|
+
{ margin: '0 3px' },
|
|
48
|
+
iconService?.fromString.bind(iconService),
|
|
49
|
+
)
|
|
50
|
+
: ''}
|
|
51
|
+
</div>
|
|
52
|
+
<div className={styles.tip}>
|
|
53
|
+
{data.keybinding ? <div className={styles.shortcut}>{data.keybinding}</div> : null}
|
|
54
|
+
{hasSubmenu ? (
|
|
55
|
+
<div className={styles.submenuIcon}>
|
|
56
|
+
<Icon icon='right-arrow' />
|
|
57
|
+
</div>
|
|
58
|
+
) : null}
|
|
59
|
+
{!data.keybinding && !hasSubmenu && data.extraDesc && <div className={styles.extraDesc}>{data.extraDesc}</div>}
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
@Injectable()
|
|
66
|
+
export class DesignBrowserCtxMenuService extends BrowserCtxMenuService implements IBrowserCtxMenu {
|
|
67
|
+
renderSubMenuTitle(node: MenuNode, props: IMenuRenderProps): ReactNode | undefined | null {
|
|
68
|
+
return <MenuComponent data={node} {...props} />;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
renderMenuItem(node: MenuNode, props: IMenuRenderProps): ReactNode | undefined | null {
|
|
72
|
+
return <MenuComponent data={node} {...props} />;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
.design-editor_tab_block_container {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
height: 36px;
|
|
5
|
+
border-radius: 12px 12px 0 0;
|
|
6
|
+
padding: 0 8px;
|
|
7
|
+
margin-right: 0 !important;
|
|
8
|
+
|
|
9
|
+
&::before {
|
|
10
|
+
content: '';
|
|
11
|
+
position: absolute;
|
|
12
|
+
left: 0;
|
|
13
|
+
top: 12px;
|
|
14
|
+
display: inline-block;
|
|
15
|
+
width: 1px;
|
|
16
|
+
height: 12px;
|
|
17
|
+
background-color: var(--editorGroup-border);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
> div:first-child {
|
|
21
|
+
margin-right: 4px !important;
|
|
22
|
+
flex-shrink: 0;
|
|
23
|
+
flex-grow: 0;
|
|
24
|
+
|
|
25
|
+
&::before {
|
|
26
|
+
font-size: 14px;
|
|
27
|
+
background-size: 14px;
|
|
28
|
+
background-position: 2px;
|
|
29
|
+
filter: grayscale(1);
|
|
30
|
+
color: var(--design-icon-color);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&.active {
|
|
35
|
+
background-color: var(--tab-activeBackground);
|
|
36
|
+
color: var(--tab-activeForeground);
|
|
37
|
+
|
|
38
|
+
&::before {
|
|
39
|
+
content: none;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
div:first-child {
|
|
43
|
+
&::before {
|
|
44
|
+
filter: grayscale(0);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.menuAction__sub_menu_action_container {
|
|
51
|
+
display: flex;
|
|
52
|
+
justify-content: space-between;
|
|
53
|
+
align-items: center;
|
|
54
|
+
width: 100%;
|
|
55
|
+
user-select: none;
|
|
56
|
+
padding-left: 12px;
|
|
57
|
+
padding-right: 12px;
|
|
58
|
+
min-width: 150px;
|
|
59
|
+
|
|
60
|
+
.icon {
|
|
61
|
+
filter: grayscale(1);
|
|
62
|
+
|
|
63
|
+
span {
|
|
64
|
+
margin-right: 8px;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.extraDesc,
|
|
69
|
+
.shortcut {
|
|
70
|
+
justify-content: right;
|
|
71
|
+
text-align: center;
|
|
72
|
+
color: var(--kt-menu-descriptionForeground);
|
|
73
|
+
font-size: 12px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.icon,
|
|
77
|
+
.submenuIcon {
|
|
78
|
+
text-align: center;
|
|
79
|
+
display: flex;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
align-items: center;
|
|
82
|
+
|
|
83
|
+
:global(.kt-icon) {
|
|
84
|
+
color: var(--design-text-color-normal);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.label {
|
|
89
|
+
flex: 1;
|
|
90
|
+
padding-right: 16px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&.disabled {
|
|
94
|
+
.shortcut {
|
|
95
|
+
color: var(--kt-menu-disableForeground);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&:not(.disabled):hover {
|
|
100
|
+
.shortcut {
|
|
101
|
+
color: var(--menu-selectionForeground);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&:focus {
|
|
106
|
+
.shortcut {
|
|
107
|
+
color: var(--menu-selectionForeground);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.label {
|
|
112
|
+
font-size: 12px;
|
|
113
|
+
display: flex;
|
|
114
|
+
align-items: center;
|
|
115
|
+
// stop Flexbox removing trailing whitespace
|
|
116
|
+
// see https://www.mattstobbs.com/flexbox-removing-trailing-whitespace/
|
|
117
|
+
white-space: pre-wrap;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.submenuIcon {
|
|
121
|
+
span {
|
|
122
|
+
font-size: 16px;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
:global(.design-light) {
|
|
128
|
+
.editor_tab_block_container {
|
|
129
|
+
> div:first-child {
|
|
130
|
+
&::before {
|
|
131
|
+
filter: grayscale(0);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FunctionComponentElement, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
import { SplitPanelProps } from '@opensumi/ide-core-browser/lib/components';
|
|
4
|
+
import { SplitPanelService } from '@opensumi/ide-core-browser/lib/components/layout/split-panel.service';
|
|
5
|
+
|
|
6
|
+
export class DesignSplitPanelService extends SplitPanelService {
|
|
7
|
+
override renderSplitPanel(
|
|
8
|
+
component: JSX.Element,
|
|
9
|
+
children: ReactNode[],
|
|
10
|
+
props: SplitPanelProps,
|
|
11
|
+
): FunctionComponentElement<any> {
|
|
12
|
+
return super.renderSplitPanel(component, children, props);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
override interceptProps(props: SplitPanelProps): SplitPanelProps {
|
|
16
|
+
return props;
|
|
17
|
+
}
|
|
18
|
+
}
|