Skip to content

Commit 878e721

Browse files
committed
update to react 18.3
1 parent 9d31829 commit 878e721

31 files changed

+116
-84
lines changed

.npmignore

+1
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,4 @@ build
2727
/yarn.lock
2828
/yarn-error.log
2929
/.parcel-cache
30+
/typedoc.json

es/DockDropLayer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export class DockDropSquare extends React.PureComponent {
1313
targetElement = targetElement.parentElement;
1414
}
1515
if (panelData.group === placeHolderStyle && direction !== 'float') {
16-
// place holder panel should always have full size drop rect
16+
// placeholder panel should always have full size drop rect
1717
this.context.setDropRect(targetElement, 'middle', this, e);
1818
}
1919
else {

es/DockLayout.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -315,9 +315,12 @@ export class DockLayout extends DockPortalManager {
315315
let { dropRect } = this.state;
316316
if (dropRect) {
317317
if (direction === 'remove') {
318-
if (dropRect.source === source) {
319-
this.setState({ dropRect: null });
320-
}
318+
this.setState((oldStates) => {
319+
if (oldStates.dropRect.source === source) {
320+
return { dropRect: null };
321+
}
322+
return {};
323+
});
321324
return;
322325
}
323326
else if (dropRect.element === element && dropRect.direction === direction && direction !== 'float') {

es/DockTabBar.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ interface DockTabBarProps extends TabNavListProps {
88
onDragEnd?: DragManager.DragHandler;
99
TabNavList: React.ComponentType<TabNavListProps>;
1010
}
11-
export declare function DockTabBar(props: DockTabBarProps): JSX.Element;
11+
export declare function DockTabBar(props: DockTabBarProps): React.JSX.Element;
1212
export {};

es/DockTabPane.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default class DockTabPane extends React.PureComponent<DockTabPaneProps, a
1313
updateCache(): void;
1414
visited: boolean;
1515
_cache: TabPaneCache;
16-
render(): JSX.Element;
16+
render(): React.JSX.Element;
1717
componentDidMount(): void;
1818
componentDidUpdate(prevProps: Readonly<DockTabPaneProps>, prevState: Readonly<any>, snapshot?: any): void;
1919
componentWillUnmount(): void;

es/DockTabs.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ export declare class DockTabs extends React.PureComponent<Props> {
3535
updateTabs(tabs: TabData[]): void;
3636
onMaximizeClick: (e: React.MouseEvent) => void;
3737
onNewWindowClick: () => void;
38-
addNewWindowMenu(element: React.ReactElement, showWithLeftClick: boolean): JSX.Element;
38+
addNewWindowMenu(element: React.ReactElement, showWithLeftClick: boolean): React.JSX.Element;
3939
onCloseAll: () => void;
40-
renderTabBar: (props: any, TabNavList: React.ComponentType) => JSX.Element;
40+
renderTabBar: (props: any, TabNavList: React.ComponentType) => React.JSX.Element;
4141
onTabChange: (activeId: string) => void;
4242
render(): React.ReactNode;
4343
}

example/adv-save-layout.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -123,4 +124,4 @@ class Demo extends React.Component {
123124
}
124125
}
125126

126-
ReactDOM.render(<Demo/>, document.getElementById('app'));
127+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/adv-tab-update.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -84,4 +85,4 @@ class Demo extends React.Component {
8485
}
8586
}
8687

87-
ReactDOM.render(<Demo/>, document.getElementById('app'));
88+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/basic.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {jsxTab, htmlTab} from './prism-tabs';
45
import {DockLayout, DockContextType} from '../lib';
56

@@ -94,4 +95,4 @@ class Demo extends React.Component {
9495
}
9596
}
9697

97-
ReactDOM.render(<Demo/>, document.getElementById('app'));
98+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/controlled-layout.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -82,4 +83,4 @@ class Demo extends React.Component {
8283
}
8384
}
8485

85-
ReactDOM.render(<Demo/>, document.getElementById('app'));
86+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/disable-dock.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {jsxTab, htmlTab} from './prism-tabs';
45
import {DockLayout, DockContextType} from '../lib';
56

@@ -45,4 +46,4 @@ class Demo extends React.Component {
4546
}
4647
}
4748

48-
ReactDOM.render(<Demo/>, document.getElementById('app'));
49+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/divider-box.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {jsxTab, htmlTab} from './prism-tabs';
45
import {DockLayout, DividerBox} from '../lib';
56

@@ -49,4 +50,4 @@ class Demo extends React.Component {
4950
}
5051
}
5152

52-
ReactDOM.render(<Demo/>, document.getElementById('app'));
53+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/drag-new-tab.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout, DragDropDiv} from '../lib';
56

@@ -64,4 +65,4 @@ class Demo extends React.Component {
6465
}
6566
}
6667

67-
ReactDOM.render(<Demo/>, document.getElementById('app'));
68+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/drop-mode.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -49,4 +50,4 @@ class Demo extends React.Component {
4950
}
5051
}
5152

52-
ReactDOM.render(<Demo/>, document.getElementById('app'));
53+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/gesture.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {jsxTab} from "./prism-tabs";
45
import {DragDropDiv, GestureState} from '../lib';
56

@@ -35,5 +36,5 @@ class Demo extends React.PureComponent {
3536
}
3637
}
3738

38-
ReactDOM.render(<Demo/>, document.getElementById('app'));
39+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);
3940
console.log(Buffer.from("Hello World").toString('base64'));

example/index.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {Divider} from '../lib';
45
// keep the above unused import so tools script can understand this jsx
56

@@ -65,4 +66,4 @@ class App extends React.Component {
6566
}
6667
}
6768

68-
ReactDOM.render(<App/>, document.getElementById('app'));
69+
createRoot(document.getElementById("app")).render(<App/>);

example/new-window.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -70,4 +71,4 @@ class Demo extends React.Component {
7071
}
7172
}
7273

73-
ReactDOM.render(<Demo/>, document.getElementById('app'));
74+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/panel-extra.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout, DockContextType} from '../lib';
56

@@ -101,4 +102,4 @@ class Demo extends React.Component {
101102
}
102103
}
103104

104-
ReactDOM.render(<Demo/>, document.getElementById('app'));
105+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/panel-style.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {jsxTab, htmlTab} from './prism-tabs';
45
import {DockLayout} from '../lib';
56

@@ -119,4 +120,4 @@ class Demo extends React.Component {
119120
}
120121
}
121122

122-
ReactDOM.render(<Demo/>, document.getElementById('app'));
123+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/save-layout.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -89,4 +90,4 @@ class Demo extends React.Component {
8990
}
9091
}
9192

92-
ReactDOM.render(<Demo/>, document.getElementById('app'));
93+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/standalone-divider.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {jsxTab} from "./prism-tabs";
45
import {Divider} from '../lib';
56

@@ -53,4 +54,4 @@ class Demo extends React.Component {
5354
}
5455
}
5556

56-
ReactDOM.render(<Demo/>, document.getElementById('app'));
57+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/tab-cache.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -62,4 +63,4 @@ class Demo extends React.Component {
6263
}
6364
}
6465

65-
ReactDOM.render(<Demo/>, document.getElementById('app'));
66+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/tab-min-size.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {jsxTab, htmlTab} from './prism-tabs';
45
import {DockLayout} from '../lib';
56

@@ -51,4 +52,4 @@ class Demo extends React.Component {
5152
}
5253
}
5354

54-
ReactDOM.render(<Demo/>, document.getElementById('app'));
55+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

example/tab-update.jsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
3+
import { createRoot } from "react-dom/client";
34
import {htmlTab, jsxTab} from "./prism-tabs";
45
import {DockLayout} from '../lib';
56

@@ -60,4 +61,4 @@ class Demo extends React.Component {
6061
}
6162
}
6263

63-
ReactDOM.render(<Demo/>, document.getElementById('app'));
64+
createRoot(document.getElementById("app")).render(<React.StrictMode><Demo/></React.StrictMode>);

lib/DockDropLayer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class DockDropSquare extends React.PureComponent {
3535
targetElement = targetElement.parentElement;
3636
}
3737
if (panelData.group === DockData_1.placeHolderStyle && direction !== 'float') {
38-
// place holder panel should always have full size drop rect
38+
// placeholder panel should always have full size drop rect
3939
this.context.setDropRect(targetElement, 'middle', this, e);
4040
}
4141
else {

lib/DockLayout.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -340,9 +340,12 @@ class DockLayout extends DockPortalManager {
340340
let { dropRect } = this.state;
341341
if (dropRect) {
342342
if (direction === 'remove') {
343-
if (dropRect.source === source) {
344-
this.setState({ dropRect: null });
345-
}
343+
this.setState((oldStates) => {
344+
if (oldStates.dropRect.source === source) {
345+
return { dropRect: null };
346+
}
347+
return {};
348+
});
346349
return;
347350
}
348351
else if (dropRect.element === element && dropRect.direction === direction && direction !== 'float') {

lib/DockTabBar.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ interface DockTabBarProps extends TabNavListProps {
88
onDragEnd?: DragManager.DragHandler;
99
TabNavList: React.ComponentType<TabNavListProps>;
1010
}
11-
export declare function DockTabBar(props: DockTabBarProps): JSX.Element;
11+
export declare function DockTabBar(props: DockTabBarProps): React.JSX.Element;
1212
export {};

lib/DockTabPane.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default class DockTabPane extends React.PureComponent<DockTabPaneProps, a
1313
updateCache(): void;
1414
visited: boolean;
1515
_cache: TabPaneCache;
16-
render(): JSX.Element;
16+
render(): React.JSX.Element;
1717
componentDidMount(): void;
1818
componentDidUpdate(prevProps: Readonly<DockTabPaneProps>, prevState: Readonly<any>, snapshot?: any): void;
1919
componentWillUnmount(): void;

lib/DockTabs.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ export declare class DockTabs extends React.PureComponent<Props> {
3535
updateTabs(tabs: TabData[]): void;
3636
onMaximizeClick: (e: React.MouseEvent) => void;
3737
onNewWindowClick: () => void;
38-
addNewWindowMenu(element: React.ReactElement, showWithLeftClick: boolean): JSX.Element;
38+
addNewWindowMenu(element: React.ReactElement, showWithLeftClick: boolean): React.JSX.Element;
3939
onCloseAll: () => void;
40-
renderTabBar: (props: any, TabNavList: React.ComponentType) => JSX.Element;
40+
renderTabBar: (props: any, TabNavList: React.ComponentType) => React.JSX.Element;
4141
onTabChange: (activeId: string) => void;
4242
render(): React.ReactNode;
4343
}

package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@
4545
"@types/lodash": "^4.14.178",
4646
"@types/node": "^17.0.9",
4747
"@types/prismjs": "^1.16.6",
48-
"@types/react": "^18.0.21",
49-
"@types/react-dom": "^18.0.6",
48+
"@types/react": "^18.3.20",
49+
"@types/react-dom": "^18.3.6",
5050
"@types/shelljs": "^0.8.11",
5151
"less": "^4.1.2",
5252
"node-gyp": "^10.1.0",
5353
"parcel": "1.12.4",
5454
"prismjs": "^1.26.0",
55-
"react": "^17.0.2",
56-
"react-dom": "^17.0.2",
55+
"react": "^18.3.1",
56+
"react-dom": "^18.3.1",
5757
"shelljs": "^0.8.4",
5858
"ts-node": "^10.4.0",
5959
"tslint": "^6.1.3",

0 commit comments

Comments
 (0)