@opensumi/ide-main-layout 2.12.1-next-079c1930

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 (80) hide show
  1. package/README.md +296 -0
  2. package/lib/browser/accordion/accordion.service.d.ts +85 -0
  3. package/lib/browser/accordion/accordion.service.d.ts.map +1 -0
  4. package/lib/browser/accordion/accordion.service.js +538 -0
  5. package/lib/browser/accordion/accordion.service.js.map +1 -0
  6. package/lib/browser/accordion/accordion.view.d.ts +19 -0
  7. package/lib/browser/accordion/accordion.view.d.ts.map +1 -0
  8. package/lib/browser/accordion/accordion.view.js +43 -0
  9. package/lib/browser/accordion/accordion.view.js.map +1 -0
  10. package/lib/browser/accordion/section.view.d.ts +24 -0
  11. package/lib/browser/accordion/section.view.d.ts.map +1 -0
  12. package/lib/browser/accordion/section.view.js +58 -0
  13. package/lib/browser/accordion/section.view.js.map +1 -0
  14. package/lib/browser/accordion/styles.module.less +189 -0
  15. package/lib/browser/accordion/titlebar.view.d.ts +6 -0
  16. package/lib/browser/accordion/titlebar.view.d.ts.map +1 -0
  17. package/lib/browser/accordion/titlebar.view.js +13 -0
  18. package/lib/browser/accordion/titlebar.view.js.map +1 -0
  19. package/lib/browser/default-config.d.ts +3 -0
  20. package/lib/browser/default-config.d.ts.map +1 -0
  21. package/lib/browser/default-config.js +32 -0
  22. package/lib/browser/default-config.js.map +1 -0
  23. package/lib/browser/index.d.ts +7 -0
  24. package/lib/browser/index.d.ts.map +1 -0
  25. package/lib/browser/index.js +52 -0
  26. package/lib/browser/index.js.map +1 -0
  27. package/lib/browser/input/index.d.ts +6 -0
  28. package/lib/browser/input/index.d.ts.map +1 -0
  29. package/lib/browser/input/index.js +33 -0
  30. package/lib/browser/input/index.js.map +1 -0
  31. package/lib/browser/layout.service.d.ts +58 -0
  32. package/lib/browser/layout.service.d.ts.map +1 -0
  33. package/lib/browser/layout.service.js +431 -0
  34. package/lib/browser/layout.service.js.map +1 -0
  35. package/lib/browser/main-layout.contribution.d.ts +41 -0
  36. package/lib/browser/main-layout.contribution.d.ts.map +1 -0
  37. package/lib/browser/main-layout.contribution.js +304 -0
  38. package/lib/browser/main-layout.contribution.js.map +1 -0
  39. package/lib/browser/tabbar/bar.view.d.ts +28 -0
  40. package/lib/browser/tabbar/bar.view.d.ts.map +1 -0
  41. package/lib/browser/tabbar/bar.view.js +150 -0
  42. package/lib/browser/tabbar/bar.view.js.map +1 -0
  43. package/lib/browser/tabbar/panel.view.d.ts +16 -0
  44. package/lib/browser/tabbar/panel.view.d.ts.map +1 -0
  45. package/lib/browser/tabbar/panel.view.js +108 -0
  46. package/lib/browser/tabbar/panel.view.js.map +1 -0
  47. package/lib/browser/tabbar/renderer.view.d.ts +34 -0
  48. package/lib/browser/tabbar/renderer.view.d.ts.map +1 -0
  49. package/lib/browser/tabbar/renderer.view.js +64 -0
  50. package/lib/browser/tabbar/renderer.view.js.map +1 -0
  51. package/lib/browser/tabbar/styles.module.less +367 -0
  52. package/lib/browser/tabbar/tabbar.service.d.ts +100 -0
  53. package/lib/browser/tabbar/tabbar.service.d.ts.map +1 -0
  54. package/lib/browser/tabbar/tabbar.service.js +675 -0
  55. package/lib/browser/tabbar/tabbar.service.js.map +1 -0
  56. package/lib/browser/tabbar-handler.d.ts +91 -0
  57. package/lib/browser/tabbar-handler.d.ts.map +1 -0
  58. package/lib/browser/tabbar-handler.js +172 -0
  59. package/lib/browser/tabbar-handler.js.map +1 -0
  60. package/lib/browser/views-registry.d.ts +33 -0
  61. package/lib/browser/views-registry.d.ts.map +1 -0
  62. package/lib/browser/views-registry.js +131 -0
  63. package/lib/browser/views-registry.js.map +1 -0
  64. package/lib/browser/welcome.view.d.ts +11 -0
  65. package/lib/browser/welcome.view.d.ts.map +1 -0
  66. package/lib/browser/welcome.view.js +106 -0
  67. package/lib/browser/welcome.view.js.map +1 -0
  68. package/lib/common/index.d.ts +2 -0
  69. package/lib/common/index.d.ts.map +1 -0
  70. package/lib/common/index.js +5 -0
  71. package/lib/common/index.js.map +1 -0
  72. package/lib/common/main-layout.defination.d.ts +101 -0
  73. package/lib/common/main-layout.defination.d.ts.map +1 -0
  74. package/lib/common/main-layout.defination.js +18 -0
  75. package/lib/common/main-layout.defination.js.map +1 -0
  76. package/lib/index.d.ts +2 -0
  77. package/lib/index.d.ts.map +1 -0
  78. package/lib/index.js +5 -0
  79. package/lib/index.js.map +1 -0
  80. package/package.json +28 -0
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { Layout } from '@opensumi/ide-core-browser/lib/components';
3
+ import { IMenu, IContextMenu } from '@opensumi/ide-core-browser/lib/menu/next';
4
+ export interface CollapsePanelProps extends React.PropsWithChildren<any> {
5
+ header: string;
6
+ headerClass?: string;
7
+ onItemClick?: any;
8
+ onContextMenuHandler: any;
9
+ weight?: number;
10
+ priority?: number;
11
+ size?: {
12
+ width: number;
13
+ height: number;
14
+ };
15
+ headerSize?: number;
16
+ viewId: string;
17
+ alignment?: Layout.alignment;
18
+ index: number;
19
+ initialProps?: any;
20
+ noHeader?: boolean;
21
+ titleMenu: IMenu | IContextMenu;
22
+ }
23
+ export declare const AccordionSection: ({ header, headerClass, onItemClick, noHeader, children, expanded, onResize, size, headerSize, viewId, index, alignment, initialProps, titleMenu, titleMenuContext, onContextMenuHandler, }: CollapsePanelProps) => JSX.Element;
24
+ //# sourceMappingURL=section.view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.view.d.ts","sourceRoot":"","sources":["../../../src/browser/accordion/section.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,MAAM,EAAgB,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAW,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAIxF,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAEtE,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC;IAE1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,KAAK,GAAG,YAAY,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,+LAkBxB,kBAAkB,gBA0EtB,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccordionSection = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
7
+ const styles_module_less_1 = (0, tslib_1.__importDefault)(require("./styles.module.less"));
8
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
9
+ const components_1 = require("@opensumi/ide-core-browser/lib/components");
10
+ const ide_core_browser_2 = require("@opensumi/ide-core-browser");
11
+ const actions_1 = require("@opensumi/ide-core-browser/lib/components/actions");
12
+ const next_1 = require("@opensumi/ide-core-browser/lib/menu/next");
13
+ const progress_1 = require("@opensumi/ide-core-browser/lib/progress");
14
+ const progress_bar_1 = require("@opensumi/ide-core-browser/lib/progress/progress-bar");
15
+ const AccordionSection = ({ header, headerClass, onItemClick, noHeader, children, expanded, onResize, size, headerSize, viewId, index, alignment = 'vertical', initialProps, titleMenu, titleMenuContext, onContextMenuHandler, }) => {
16
+ const contentRef = react_1.default.useRef(null);
17
+ const [headerFocused, setHeaderFocused] = react_1.default.useState(false);
18
+ const { getSize, setSize } = react_1.default.useContext(components_1.PanelContext);
19
+ const clickHandler = () => {
20
+ const currentSize = getSize(false);
21
+ onItemClick((targetSize) => setSize(targetSize, false), currentSize);
22
+ };
23
+ const attrs = {
24
+ tabIndex: 0,
25
+ };
26
+ react_1.default.useEffect(() => {
27
+ if (onResize) {
28
+ onResize(size);
29
+ }
30
+ }, [size]);
31
+ const headerFocusHandler = () => {
32
+ setHeaderFocused(true);
33
+ };
34
+ const headerBlurHandler = () => {
35
+ setHeaderFocused(false);
36
+ };
37
+ const viewState = (0, ide_core_browser_1.useViewState)(viewId, contentRef, true);
38
+ const progressService = (0, ide_core_browser_2.useInjectable)(progress_1.IProgressService);
39
+ const indicator = progressService.getIndicator(viewId);
40
+ const bodyStyle = {
41
+ overflow: expanded ? 'auto' : 'hidden',
42
+ };
43
+ const Component = children;
44
+ return (react_1.default.createElement("div", { className: styles_module_less_1.default.kt_split_panel, "data-view-id": viewId },
45
+ !noHeader && react_1.default.createElement("div", Object.assign({ onFocus: headerFocusHandler, onBlur: headerBlurHandler }, attrs, { className: (0, classnames_1.default)(styles_module_less_1.default.kt_split_panel_header, headerFocused ? styles_module_less_1.default.kt_panel_focused : '', headerClass), onClick: clickHandler, onContextMenu: (e) => onContextMenuHandler(e, viewId), style: { height: headerSize + 'px', lineHeight: headerSize + 'px' } }),
46
+ react_1.default.createElement("div", { className: styles_module_less_1.default.label_wrap },
47
+ react_1.default.createElement("i", { className: (0, classnames_1.default)((0, ide_core_browser_1.getIcon)('arrow-down'), styles_module_less_1.default.arrow_icon, expanded ? '' : styles_module_less_1.default.kt_mod_collapsed) }),
48
+ react_1.default.createElement("div", { className: styles_module_less_1.default.section_label, style: { lineHeight: headerSize + 'px' } }, header)),
49
+ expanded && titleMenu && react_1.default.createElement("div", { className: styles_module_less_1.default.actions_wrap }, (0, next_1.isIMenu)(titleMenu)
50
+ ? react_1.default.createElement(actions_1.InlineActionBar, { menus: titleMenu, context: titleMenuContext })
51
+ : react_1.default.createElement(actions_1.InlineMenuBar, { menus: titleMenu }))),
52
+ react_1.default.createElement("div", { className: (0, classnames_1.default)([styles_module_less_1.default.kt_split_panel_body, { [styles_module_less_1.default.hide]: !expanded }]), style: bodyStyle, ref: contentRef },
53
+ react_1.default.createElement(progress_bar_1.ProgressBar, { className: styles_module_less_1.default.progressBar, progressModel: indicator.progressModel }),
54
+ react_1.default.createElement(ide_core_browser_1.ErrorBoundary, null,
55
+ react_1.default.createElement(Component, Object.assign({}, initialProps, { viewState: viewState }))))));
56
+ };
57
+ exports.AccordionSection = AccordionSection;
58
+ //# sourceMappingURL=section.view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.view.js","sourceRoot":"","sources":["../../../src/browser/accordion/section.view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ :global {
2
+ .resize-ease {
3
+ transition: height .1s ease-out;
4
+ }
5
+ }
6
+
7
+ .kt_split_panel_container {
8
+ display: flex;
9
+ width: 100%;
10
+ height: 100%;
11
+ white-space: nowrap;
12
+ flex-direction: column;
13
+ }
14
+
15
+ .kt_split_panel {
16
+ overflow: hidden;
17
+ width: 100%;
18
+ height: 100%;
19
+ display: flex;
20
+ flex-direction: column;
21
+ position: relative;
22
+ &:hover .actions_wrap {
23
+ display: block;
24
+ }
25
+ }
26
+
27
+ .kt_split_panel_header {
28
+ background-color: var(--sideBarSectionHeader-background);
29
+ font-size: 12px;
30
+ text-transform: uppercase;
31
+ display: flex;
32
+ cursor: pointer;
33
+ color: var(--sideBarSectionHeader-foreground);
34
+ justify-content: space-between;
35
+ border-top: 1px solid var(--sideBar-border);
36
+ &:focus {
37
+ outline-color: rgba(14, 99, 156, 0.8);
38
+ outline-width: 1px;
39
+ outline-style: solid;
40
+ outline-offset: -1px;
41
+ opacity: 1!important;
42
+ }
43
+ }
44
+
45
+ .label_wrap {
46
+ display: flex;
47
+ flex-direction: row;
48
+ flex-shrink: 1;
49
+ overflow: hidden;
50
+ }
51
+
52
+ .kt_split_panel_body {
53
+ overflow: hidden;
54
+ flex: 1;
55
+ font-size: 12px;
56
+ position: relative;
57
+ user-select: none;
58
+ .progressBar {
59
+ top: -1px;
60
+ }
61
+ }
62
+
63
+ .kt_split_overlay {
64
+ width: 100%;
65
+ white-space: normal;
66
+ flex: none;
67
+ position: relative;
68
+ transition: height .2s ease;
69
+ }
70
+
71
+ .kt_panel_toolbar {
72
+ position: absolute;
73
+ right: 0;
74
+ top: 0;
75
+ height: 22px;
76
+ display: none;
77
+ .kt_panel_toolbar_container {
78
+ margin: 0 auto;
79
+ padding: 0;
80
+ width: 100%;
81
+ height: 22px;
82
+ }
83
+ .kt_panel_toolbar_item {
84
+ cursor: pointer;
85
+ display: inline-block;
86
+ position: relative;
87
+ width: 28px;
88
+ height: 22px;
89
+ background-size: 16px;
90
+ background-position: 50%;
91
+ background-repeat: no-repeat;
92
+ margin-right: 0;
93
+ &:active {
94
+ transform: scale(1.2);
95
+ }
96
+ }
97
+ }
98
+
99
+ .kt_panel_focused {
100
+ outline-color: var(--focusBorder);
101
+ }
102
+
103
+ .section_label {
104
+ overflow: hidden;
105
+ text-overflow: ellipsis;
106
+ white-space: nowrap;
107
+ font-weight: 400;
108
+ color: var(--sideBarSectionHeader-foreground);
109
+ // font-size: 80%;
110
+ text-transform: uppercase;
111
+ cursor: pointer;
112
+ user-select: none;
113
+ }
114
+
115
+ i.arrow_icon {
116
+ font-size: 16px;
117
+ margin: 0 4px;
118
+ color: var(--descriptionForeground);
119
+ &.kt_mod_collapsed {
120
+ transform: rotate(-90deg);
121
+ }
122
+ }
123
+
124
+ .actions_wrap {
125
+ margin-right: 8px;
126
+ display: none;
127
+ }
128
+
129
+ .titlebar {
130
+ background-color: var(--sideBar-background);
131
+ display: flex;
132
+ flex-direction: row;
133
+ user-select: none;
134
+ justify-content: space-between;
135
+ align-items: center;
136
+ padding: 0 8px;
137
+ border-top: 1px solid var(--sideBar-border);
138
+ box-sizing: border-box;
139
+ height: var(--tabBar-height);
140
+ line-height: var(--tabBar-height);
141
+ h1 {
142
+ color: var(--sideBarTitle-foreground);
143
+ font-weight: 400;
144
+ margin: 0;
145
+ text-transform: uppercase;
146
+ font-size: 12px;
147
+ overflow: hidden;
148
+ text-overflow: ellipsis;
149
+ white-space: nowrap;
150
+ }
151
+ }
152
+
153
+ .hide {
154
+ display: none;
155
+ }
156
+ .welcome {
157
+ height: 100%;
158
+ display: flex;
159
+ flex-direction: column;
160
+ padding: 0 20px 1em;
161
+ box-sizing: border-box;
162
+ align-items: center;
163
+ &>* {
164
+ margin-block-start: 1em;
165
+ margin-block-end: 0;
166
+ margin-inline-start: 0;
167
+ margin-inline-end: 0;
168
+ }
169
+ p {
170
+ width: 100%;
171
+ text-align: left;
172
+ }
173
+ :global(.button-container) {
174
+ width: 100%;
175
+ max-width: 300px;
176
+ transition: max-width .2s ease-out;
177
+ :global(.kt-button) {
178
+ box-sizing: border-box;
179
+ display: flex;
180
+ width: 100%;
181
+ padding: 4px;
182
+ text-align: center;
183
+ cursor: pointer;
184
+ justify-content: center;
185
+ align-items: center;
186
+ max-width: 300px;
187
+ }
188
+ }
189
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const TitleBar: React.FC<{
3
+ title: string;
4
+ menubar?: React.ReactNode;
5
+ }>;
6
+ //# sourceMappingURL=titlebar.view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"titlebar.view.d.ts","sourceRoot":"","sources":["../../../src/browser/accordion/titlebar.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAOA,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TitleBar = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const styles_module_less_1 = (0, tslib_1.__importDefault)(require("./styles.module.less"));
7
+ const TitleBar = (props) => {
8
+ return (react_1.default.createElement("div", { className: styles_module_less_1.default.titlebar },
9
+ react_1.default.createElement("h1", null, props.title),
10
+ props.menubar || null));
11
+ };
12
+ exports.TitleBar = TitleBar;
13
+ //# sourceMappingURL=titlebar.view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"titlebar.view.js","sourceRoot":"","sources":["../../../src/browser/accordion/titlebar.view.tsx"],"names":[],"mappings":";;;;AAAA,+DAA0B;AAE1B,2FAA0C;AAEnC,MAAM,QAAQ,GAGhB,CAAC,KAAK,EAAE,EAAE;IACb,OAAO,CACL,uCAAK,SAAS,EAAE,4BAAM,CAAC,QAAQ;QAC7B,0CAAK,KAAK,CAAC,KAAK,CAAM;QACrB,KAAK,CAAC,OAAO,IAAI,IAAI,CAClB,CACP,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB"}
@@ -0,0 +1,3 @@
1
+ import { LayoutConfig } from '@opensumi/ide-core-browser';
2
+ export declare const defaultConfig: LayoutConfig;
3
+ //# sourceMappingURL=default-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../src/browser/default-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAgB,MAAM,4BAA4B,CAAC;AAExE,eAAO,MAAM,aAAa,EAAE,YAyB3B,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultConfig = void 0;
4
+ /* istanbul ignore file */
5
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
6
+ exports.defaultConfig = {
7
+ [ide_core_browser_1.SlotLocation.top]: {
8
+ modules: ['@opensumi/ide-menu-bar'],
9
+ },
10
+ [ide_core_browser_1.SlotLocation.action]: {
11
+ modules: ['@opensumi/ide-toolbar-action'],
12
+ },
13
+ [ide_core_browser_1.SlotLocation.left]: {
14
+ modules: ['@opensumi/ide-explorer', '@opensumi/ide-search', '@opensumi/ide-scm', '@opensumi/ide-extension-manager', '@opensumi/ide-debug'],
15
+ },
16
+ [ide_core_browser_1.SlotLocation.right]: {
17
+ modules: [],
18
+ },
19
+ [ide_core_browser_1.SlotLocation.main]: {
20
+ modules: ['@opensumi/ide-editor'],
21
+ },
22
+ [ide_core_browser_1.SlotLocation.bottom]: {
23
+ modules: ['@opensumi/ide-terminal-next', '@opensumi/ide-output', 'debug-console', '@opensumi/ide-markers', '@opensumi/ide-refactor-preview'],
24
+ },
25
+ [ide_core_browser_1.SlotLocation.statusBar]: {
26
+ modules: ['@opensumi/ide-status-bar'],
27
+ },
28
+ [ide_core_browser_1.SlotLocation.extra]: {
29
+ modules: ['breadcrumb-menu'],
30
+ },
31
+ };
32
+ //# sourceMappingURL=default-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../src/browser/default-config.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,iEAAwE;AAE3D,QAAA,aAAa,GAAiB;IACzC,CAAC,+BAAY,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,EAAE,CAAC,wBAAwB,CAAC;KACpC;IACD,CAAC,+BAAY,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC,8BAA8B,CAAC;KAC1C;IACD,CAAC,+BAAY,CAAC,IAAI,CAAC,EAAE;QACnB,OAAO,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,qBAAqB,CAAC;KAC3I;IACD,CAAC,+BAAY,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,EAAE,EAAE;KACZ;IACD,CAAC,+BAAY,CAAC,IAAI,CAAC,EAAE;QACnB,OAAO,EAAE,CAAC,sBAAsB,CAAC;KAClC;IACD,CAAC,+BAAY,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC,6BAA6B,EAAE,sBAAsB,EAAE,eAAe,EAAE,uBAAuB,EAAE,gCAAgC,CAAC;KAC7I;IACD,CAAC,+BAAY,CAAC,SAAS,CAAC,EAAE;QACxB,OAAO,EAAE,CAAC,0BAA0B,CAAC;KACtC;IACD,CAAC,+BAAY,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,EAAE,CAAC,iBAAiB,CAAC;KAC7B;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Provider } from '@opensumi/di';
2
+ import { BrowserModule } from '@opensumi/ide-core-browser';
3
+ export declare class MainLayoutModule extends BrowserModule {
4
+ providers: Provider[];
5
+ contributionProvider: symbol;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO3D,qBACa,gBAAiB,SAAQ,aAAa;IACjD,SAAS,EAAE,QAAQ,EAAE,CA4BnB;IACF,oBAAoB,SAA0B;CAC/C"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MainLayoutModule = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const main_layout_contribution_1 = require("./main-layout.contribution");
7
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
+ const common_1 = require("../common");
9
+ const tabbar_service_1 = require("./tabbar/tabbar.service");
10
+ const layout_service_1 = require("./layout.service");
11
+ const accordion_service_1 = require("./accordion/accordion.service");
12
+ const views_registry_1 = require("./views-registry");
13
+ let MainLayoutModule = class MainLayoutModule extends ide_core_browser_1.BrowserModule {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.providers = [
17
+ main_layout_contribution_1.MainLayoutModuleContribution,
18
+ {
19
+ token: common_1.IMainLayoutService,
20
+ useClass: layout_service_1.LayoutService,
21
+ },
22
+ {
23
+ token: common_1.IViewsRegistry,
24
+ useClass: views_registry_1.ViewsRegistry,
25
+ },
26
+ {
27
+ token: tabbar_service_1.TabbarServiceFactory,
28
+ useFactory: (injector) => {
29
+ return (location) => {
30
+ const manager = injector.get(common_1.IMainLayoutService);
31
+ return manager.getTabbarService(location);
32
+ };
33
+ },
34
+ },
35
+ {
36
+ token: accordion_service_1.AccordionServiceFactory,
37
+ useFactory: (injector) => {
38
+ return (containerId, noRestore) => {
39
+ const manager = injector.get(common_1.IMainLayoutService);
40
+ return manager.getAccordionService(containerId, noRestore);
41
+ };
42
+ },
43
+ },
44
+ ];
45
+ this.contributionProvider = common_1.MainLayoutContribution;
46
+ }
47
+ };
48
+ MainLayoutModule = (0, tslib_1.__decorate)([
49
+ (0, di_1.Injectable)()
50
+ ], MainLayoutModule);
51
+ exports.MainLayoutModule = MainLayoutModule;
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":";;;;AAAA,qCAA8D;AAC9D,yEAA0E;AAC1E,iEAA2D;AAC3D,sCAAuF;AACvF,4DAA+D;AAC/D,qDAAiD;AACjD,qEAAwE;AACxE,qDAAiD;AAGjD,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,gCAAa;IAAnD;;QACE,cAAS,GAAe;YACtB,uDAA4B;YAC5B;gBACE,KAAK,EAAE,2BAAkB;gBACzB,QAAQ,EAAE,8BAAa;aACxB;YACD;gBACE,KAAK,EAAE,uBAAc;gBACrB,QAAQ,EAAE,8BAAa;aACxB;YACD;gBACE,KAAK,EAAE,qCAAoB;gBAC3B,UAAU,EAAE,CAAC,QAAkB,EAAE,EAAE;oBACjC,OAAO,CAAC,QAAgB,EAAE,EAAE;wBAC1B,MAAM,OAAO,GAAuB,QAAQ,CAAC,GAAG,CAAC,2BAAkB,CAAC,CAAC;wBACrE,OAAO,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAC5C,CAAC,CAAC;gBACJ,CAAC;aACF;YACD;gBACE,KAAK,EAAE,2CAAuB;gBAC9B,UAAU,EAAE,CAAC,QAAkB,EAAE,EAAE;oBACjC,OAAO,CAAC,WAAmB,EAAE,SAAmB,EAAE,EAAE;wBAClD,MAAM,OAAO,GAAuB,QAAQ,CAAC,GAAG,CAAC,2BAAkB,CAAC,CAAC;wBACrE,OAAO,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBAC7D,CAAC,CAAC;gBACJ,CAAC;aACF;SACF,CAAC;QACF,yBAAoB,GAAG,+BAAsB,CAAC;IAChD,CAAC;CAAA,CAAA;AA/BY,gBAAgB;IAD5B,IAAA,eAAU,GAAE;GACA,gBAAgB,CA+B5B;AA/BY,4CAAgB"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare const AutoFocusedInput: ({ containerId, ...inputProps }: {
3
+ [x: string]: any;
4
+ containerId: any;
5
+ }) => JSX.Element;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/input/index.tsx"],"names":[],"mappings":";AAMA,eAAO,MAAM,gBAAgB;;;iBAuB5B,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AutoFocusedInput = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ const react_2 = require("react");
7
+ const ide_components_1 = require("@opensumi/ide-components");
8
+ const react_hooks_1 = require("@opensumi/ide-core-browser/lib/react-hooks");
9
+ const common_1 = require("../../common");
10
+ const AutoFocusedInput = (_a) => {
11
+ var { containerId } = _a, inputProps = (0, tslib_1.__rest)(_a, ["containerId"]);
12
+ const layoutService = (0, react_hooks_1.useInjectable)(common_1.IMainLayoutService);
13
+ const inputRef = (0, react_2.useRef)(null);
14
+ const doFocus = react_1.default.useCallback(() => {
15
+ if (inputRef && inputRef.current) {
16
+ setTimeout(() => {
17
+ var _a;
18
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
19
+ }, 0);
20
+ }
21
+ }, [inputRef.current]);
22
+ (0, react_2.useEffect)(() => {
23
+ doFocus();
24
+ const handler = layoutService.getTabbarHandler(containerId);
25
+ const disposable = handler === null || handler === void 0 ? void 0 : handler.onActivate(doFocus);
26
+ return () => {
27
+ disposable === null || disposable === void 0 ? void 0 : disposable.dispose();
28
+ };
29
+ }, [layoutService]);
30
+ return react_1.default.createElement(ide_components_1.Input, Object.assign({ ref: inputRef }, inputProps));
31
+ };
32
+ exports.AutoFocusedInput = AutoFocusedInput;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/input/index.tsx"],"names":[],"mappings":";;;;AAAA,+DAA0B;AAC1B,iCAA0C;AAC1C,6DAAiD;AACjD,4EAA2E;AAC3E,yCAAkD;AAE3C,MAAM,gBAAgB,GAAG,CAAC,EAA8B,EAAE,EAAE;QAAlC,EAAE,WAAW,OAAiB,EAAZ,UAAU,2BAA5B,eAA8B,CAAF;IAC3D,MAAM,aAAa,GAAG,IAAA,2BAAa,EAAqB,2BAAkB,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAA,cAAM,EAA0B,IAAI,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;YAChC,UAAU,CAAC,GAAG,EAAE;;gBACd,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC;QAEV,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE;YACV,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACpB,OAAO,8BAAC,sBAAK,kBAAC,GAAG,EAAE,QAAQ,IAAM,UAAU,EAAI,CAAC;AAClD,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B"}
@@ -0,0 +1,58 @@
1
+ import { WithEventBus, View, ViewContainerOptions } from '@opensumi/ide-core-browser';
2
+ import { IMainLayoutService, ViewComponentOptions } from '../common';
3
+ import { TabBarHandler } from './tabbar-handler';
4
+ import { TabbarService } from './tabbar/tabbar.service';
5
+ import { IMenuRegistry, AbstractContextMenuService, AbstractMenuService, IContextMenu } from '@opensumi/ide-core-browser/lib/menu/next';
6
+ import { AccordionService } from './accordion/accordion.service';
7
+ import { Deferred } from '@opensumi/ide-core-common';
8
+ import { ThemeChangedEvent } from '@opensumi/ide-theme';
9
+ export declare class LayoutService extends WithEventBus implements IMainLayoutService {
10
+ private injector;
11
+ private readonly contributions;
12
+ menus: IMenuRegistry;
13
+ private readonly commandRegistry;
14
+ private readonly commandService;
15
+ private layoutState;
16
+ private appConfig;
17
+ private contextKeyService;
18
+ private componentRegistry;
19
+ private logger;
20
+ private handleMap;
21
+ private tabbarServices;
22
+ private accordionServices;
23
+ private pendingViewsMap;
24
+ private viewToContainerMap;
25
+ private disposableMap;
26
+ private state;
27
+ private customViews;
28
+ protected menuService: AbstractMenuService;
29
+ protected contextmenuService: AbstractContextMenuService;
30
+ viewReady: Deferred<void>;
31
+ constructor();
32
+ didMount(): void;
33
+ setFloatSize(size: number): void;
34
+ storeState(service: TabbarService, currentId: string): void;
35
+ onThemeChange(e: ThemeChangedEvent): void;
36
+ restoreState(): void;
37
+ isVisible(location: string): boolean;
38
+ isViewVisible(viewId: string): boolean;
39
+ toggleSlot(location: string, show?: boolean | undefined, size?: number | undefined): void;
40
+ getTabbarService(location: string): TabbarService;
41
+ getAccordionService(containerId: string, noRestore?: boolean): AccordionService;
42
+ getTabbarHandler(viewOrContainerId: string): TabBarHandler | undefined;
43
+ getExtraMenu(): IContextMenu;
44
+ protected doGetTabbarHandler(containerId: string): TabBarHandler | undefined;
45
+ private holdTabbarComponent;
46
+ collectTabbarComponent(views: View[], options: ViewContainerOptions, side: string, Fc?: any): string;
47
+ collectViewComponent(view: View, containerId: string, props?: any, options?: ViewComponentOptions): string;
48
+ private ensureViewReady;
49
+ private tabbarUpdateSet;
50
+ private tryUpdateTabbar;
51
+ replaceViewComponent(view: View, props?: any): void;
52
+ disposeViewComponent(viewId: string): void;
53
+ revealView(viewId: string): void;
54
+ disposeContainer(containerId: string): void;
55
+ expandBottom(expand: boolean): void;
56
+ get bottomExpanded(): boolean;
57
+ }
58
+ //# sourceMappingURL=layout.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.service.d.ts","sourceRoot":"","sources":["../../src/browser/layout.service.ts"],"names":[],"mappings":"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"}