react-split-pane 0.1.83 → 0.1.84
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/dist/index.cjs.js +19 -7
- package/dist/index.esm.js +19 -7
- package/index.d.ts +34 -32
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -439,7 +439,12 @@ var SplitPane = function (_React$Component) {
|
|
|
439
439
|
active: false,
|
|
440
440
|
resized: false,
|
|
441
441
|
pane1Size: primary === 'first' ? initialSize : undefined,
|
|
442
|
-
pane2Size: primary === 'second' ? initialSize : undefined
|
|
442
|
+
pane2Size: primary === 'second' ? initialSize : undefined,
|
|
443
|
+
|
|
444
|
+
// these are props that are needed in static functions. ie: gDSFP
|
|
445
|
+
instanceProps: {
|
|
446
|
+
size: size
|
|
447
|
+
}
|
|
443
448
|
};
|
|
444
449
|
return _this;
|
|
445
450
|
}
|
|
@@ -450,7 +455,7 @@ var SplitPane = function (_React$Component) {
|
|
|
450
455
|
document.addEventListener('mouseup', this.onMouseUp);
|
|
451
456
|
document.addEventListener('mousemove', this.onMouseMove);
|
|
452
457
|
document.addEventListener('touchmove', this.onTouchMove);
|
|
453
|
-
this.setState(SplitPane.
|
|
458
|
+
this.setState(SplitPane.getSizeUpdate(this.props, this.state));
|
|
454
459
|
}
|
|
455
460
|
}, {
|
|
456
461
|
key: 'componentWillUnmount',
|
|
@@ -593,8 +598,7 @@ var SplitPane = function (_React$Component) {
|
|
|
593
598
|
}
|
|
594
599
|
}
|
|
595
600
|
|
|
596
|
-
//
|
|
597
|
-
// we have to check values since gDSFP is called on every render
|
|
601
|
+
// we have to check values since gDSFP is called on every render and more in StrictMode
|
|
598
602
|
|
|
599
603
|
}, {
|
|
600
604
|
key: 'render',
|
|
@@ -718,12 +722,18 @@ var SplitPane = function (_React$Component) {
|
|
|
718
722
|
}], [{
|
|
719
723
|
key: 'getDerivedStateFromProps',
|
|
720
724
|
value: function getDerivedStateFromProps(nextProps, prevState) {
|
|
721
|
-
return SplitPane.
|
|
725
|
+
return SplitPane.getSizeUpdate(nextProps, prevState);
|
|
722
726
|
}
|
|
723
727
|
}, {
|
|
724
|
-
key: '
|
|
725
|
-
value: function
|
|
728
|
+
key: 'getSizeUpdate',
|
|
729
|
+
value: function getSizeUpdate(props, state) {
|
|
726
730
|
var newState = {};
|
|
731
|
+
var instanceProps = state.instanceProps;
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
if (instanceProps.size === props.size && props.size !== undefined) {
|
|
735
|
+
return {};
|
|
736
|
+
}
|
|
727
737
|
|
|
728
738
|
var newSize = props.size !== undefined ? props.size : getDefaultSize(props.defaultSize, props.minSize, props.maxSize, state.draggedSize);
|
|
729
739
|
|
|
@@ -736,6 +746,8 @@ var SplitPane = function (_React$Component) {
|
|
|
736
746
|
newState[isPanel1Primary ? 'pane1Size' : 'pane2Size'] = newSize;
|
|
737
747
|
newState[isPanel1Primary ? 'pane2Size' : 'pane1Size'] = undefined;
|
|
738
748
|
|
|
749
|
+
newState.instanceProps = { size: props.size };
|
|
750
|
+
|
|
739
751
|
return newState;
|
|
740
752
|
}
|
|
741
753
|
}]);
|
package/dist/index.esm.js
CHANGED
|
@@ -435,7 +435,12 @@ var SplitPane = function (_React$Component) {
|
|
|
435
435
|
active: false,
|
|
436
436
|
resized: false,
|
|
437
437
|
pane1Size: primary === 'first' ? initialSize : undefined,
|
|
438
|
-
pane2Size: primary === 'second' ? initialSize : undefined
|
|
438
|
+
pane2Size: primary === 'second' ? initialSize : undefined,
|
|
439
|
+
|
|
440
|
+
// these are props that are needed in static functions. ie: gDSFP
|
|
441
|
+
instanceProps: {
|
|
442
|
+
size: size
|
|
443
|
+
}
|
|
439
444
|
};
|
|
440
445
|
return _this;
|
|
441
446
|
}
|
|
@@ -446,7 +451,7 @@ var SplitPane = function (_React$Component) {
|
|
|
446
451
|
document.addEventListener('mouseup', this.onMouseUp);
|
|
447
452
|
document.addEventListener('mousemove', this.onMouseMove);
|
|
448
453
|
document.addEventListener('touchmove', this.onTouchMove);
|
|
449
|
-
this.setState(SplitPane.
|
|
454
|
+
this.setState(SplitPane.getSizeUpdate(this.props, this.state));
|
|
450
455
|
}
|
|
451
456
|
}, {
|
|
452
457
|
key: 'componentWillUnmount',
|
|
@@ -589,8 +594,7 @@ var SplitPane = function (_React$Component) {
|
|
|
589
594
|
}
|
|
590
595
|
}
|
|
591
596
|
|
|
592
|
-
//
|
|
593
|
-
// we have to check values since gDSFP is called on every render
|
|
597
|
+
// we have to check values since gDSFP is called on every render and more in StrictMode
|
|
594
598
|
|
|
595
599
|
}, {
|
|
596
600
|
key: 'render',
|
|
@@ -714,12 +718,18 @@ var SplitPane = function (_React$Component) {
|
|
|
714
718
|
}], [{
|
|
715
719
|
key: 'getDerivedStateFromProps',
|
|
716
720
|
value: function getDerivedStateFromProps(nextProps, prevState) {
|
|
717
|
-
return SplitPane.
|
|
721
|
+
return SplitPane.getSizeUpdate(nextProps, prevState);
|
|
718
722
|
}
|
|
719
723
|
}, {
|
|
720
|
-
key: '
|
|
721
|
-
value: function
|
|
724
|
+
key: 'getSizeUpdate',
|
|
725
|
+
value: function getSizeUpdate(props, state) {
|
|
722
726
|
var newState = {};
|
|
727
|
+
var instanceProps = state.instanceProps;
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
if (instanceProps.size === props.size && props.size !== undefined) {
|
|
731
|
+
return {};
|
|
732
|
+
}
|
|
723
733
|
|
|
724
734
|
var newSize = props.size !== undefined ? props.size : getDefaultSize(props.defaultSize, props.minSize, props.maxSize, state.draggedSize);
|
|
725
735
|
|
|
@@ -732,6 +742,8 @@ var SplitPane = function (_React$Component) {
|
|
|
732
742
|
newState[isPanel1Primary ? 'pane1Size' : 'pane2Size'] = newSize;
|
|
733
743
|
newState[isPanel1Primary ? 'pane2Size' : 'pane1Size'] = undefined;
|
|
734
744
|
|
|
745
|
+
newState.instanceProps = { size: props.size };
|
|
746
|
+
|
|
735
747
|
return newState;
|
|
736
748
|
}
|
|
737
749
|
}]);
|
package/index.d.ts
CHANGED
|
@@ -3,51 +3,53 @@ import * as React from 'react';
|
|
|
3
3
|
|
|
4
4
|
export type Size = string | number;
|
|
5
5
|
|
|
6
|
+
type Partial<T> = { [P in keyof T]?: T[P] };
|
|
7
|
+
|
|
6
8
|
export interface Props {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
allowResize?: boolean;
|
|
10
|
+
className?: string;
|
|
11
|
+
primary?: 'first' | 'second';
|
|
12
|
+
minSize?: Size;
|
|
13
|
+
maxSize?: Size;
|
|
14
|
+
defaultSize?: Size;
|
|
15
|
+
size?: Size;
|
|
16
|
+
split?: 'vertical' | 'horizontal';
|
|
17
|
+
onDragStarted?: () => void;
|
|
18
|
+
onDragFinished?: (newSize: number) => void;
|
|
19
|
+
onChange?: (newSize: number) => void;
|
|
20
|
+
onResizerClick?: (event: MouseEvent) => void;
|
|
21
|
+
onResizerDoubleClick?: (event: MouseEvent) => void;
|
|
22
|
+
prefixer?: Prefixer;
|
|
23
|
+
style?: React.CSSProperties;
|
|
24
|
+
resizerStyle?: React.CSSProperties;
|
|
25
|
+
paneStyle?: React.CSSProperties;
|
|
26
|
+
pane1Style?: React.CSSProperties;
|
|
27
|
+
pane2Style?: React.CSSProperties;
|
|
28
|
+
resizerClassName?: string;
|
|
29
|
+
step?: number;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export interface State {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
active: boolean;
|
|
34
|
+
resized: boolean;
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
declare class SplitPane extends React.Component<Props, State> {
|
|
36
|
-
|
|
38
|
+
constructor();
|
|
39
|
+
|
|
40
|
+
onMouseDown(event: MouseEvent): void;
|
|
37
41
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
onTouchStart(event: TouchEvent): void;
|
|
42
|
+
onTouchStart(event: TouchEvent): void;
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
onMouseMove(event: MouseEvent): void;
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
onTouchMove(event: TouchEvent): void;
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
onMouseUp(): void;
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
static getSizeUpdate(props: Props, state: State): Partial<State>;
|
|
49
51
|
|
|
50
|
-
|
|
52
|
+
static defaultProps: Props;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
export default SplitPane;
|